Updating year in copyright notices to 2015.
[debian-live-build.git] / frontend / cli / lb
blob03ab043d3f53fa4a43d33cafac37ec48ddd24a13
1 #!/bin/sh
3 ## live-build(7) - System Build Scripts
4 ## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
5 ##
6 ## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
7 ## This is free software, and you are welcome to redistribute it
8 ## under certain conditions; see COPYING for details.
11 set -e
13 # Including common functions
14 [ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
16 # Setting static variables
17 DESCRIPTION="$(Echo 'utility to build live systems')"
18 HELP="FIXME"
19 USAGE="FIXME"
21 case "${1}" in
22 -h|--help)
23 if [ -x "$(which man 2>/dev/null)" ]
24 then
25 man lb
26 exit 0
27 else
28 ${0} --usage
29 exit 0
33 ""|-u|--usage)
34 Usage
37 -v|--version)
38 echo "${VERSION}"
39 exit 0
43 COMMAND="${1}"
44 shift
46 ENV=""
48 if [ "${COMMAND}" != "config" ]
49 then
50 # Checking user account
51 if [ "$(id -u)" -ne "0" ]
52 then
53 Echo_error "need root privileges"
54 exit 1
58 for _FILE in config/environment config/environment.binary
60 if [ -e "${_FILE}" ]
61 then
62 ENV="${ENV} $(grep -v '^#' ${_FILE})"
64 done
66 if [ -x "${LIVE_BUILD}/scripts/build/${COMMAND}" ]
67 then
68 # User has live-build copied locally in the system
69 SCRIPT="${LIVE_BUILD}/scripts/build/${COMMAND}"
70 elif [ -x "local/live-build/scripts/build/${COMMAND}" ]
71 then
72 # User has live-build copied locally in the config
73 SCRIPT="local/live-build/scripts/build/${COMMAND}"
74 elif [ -x /usr/lib/live/build/${COMMAND} ]
75 then
76 # User has live-build installed in the system
77 SCRIPT=/usr/lib/live/build/"${COMMAND}"
78 elif [ -x "$(which ${COMMAND} 2>/dev/null)" ]
79 then
80 # User has live-build commands in path
81 SCRIPT="${COMMAND}"
82 else
83 Echo_error "no such script: ${COMMAND}"
84 exit 1
87 Echo "[%s] %s" "$(date +'%F %T')" "lb ${COMMAND} $(echo ${@})"
88 ${ENV} exec "${SCRIPT}" "${@}"
90 esac