up to 8.31 in testing in master plan
parent
1a360bed1a
commit
b9cc1a06bb
|
@ -1,5 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# move this to the makefile as a dedicated target
|
# move this to the makefile as a dedicated target
|
||||||
|
set -u
|
||||||
|
|
||||||
APPNAME="Offer Backup"
|
APPNAME="Offer Backup"
|
||||||
|
|
||||||
|
|
|
@ -1,216 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# desc:
|
|
||||||
# stages, builds, installs
|
|
||||||
# NOTE: requires autoreconf -- dont use
|
|
||||||
# make variables persist in subprocesses for logging function
|
|
||||||
set -a
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
# Configuration:
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
# the name of this application
|
|
||||||
APPNAME="cracklib"
|
|
||||||
|
|
||||||
# the version of this application
|
|
||||||
VERSION="2.9.8"
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
# Variables and functions sourced from Environment:
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
# assert_zero()
|
|
||||||
# Checks if $1 is 0. If non-0 value, halts the execution of the script.
|
|
||||||
#
|
|
||||||
# LOGS_ROOT
|
|
||||||
# The parent directory where logs from this project will go.
|
|
||||||
#
|
|
||||||
# TEMP_STAGE_DIR
|
|
||||||
# The parent directory of where source archives are extracted to.
|
|
||||||
|
|
||||||
# register mode selections
|
|
||||||
ARGUMENT_LIST=(
|
|
||||||
"stage"
|
|
||||||
"build"
|
|
||||||
"install"
|
|
||||||
"all"
|
|
||||||
"help"
|
|
||||||
)
|
|
||||||
|
|
||||||
# modes to associate with switches
|
|
||||||
# assumes you want nothing done unless you ask for it.
|
|
||||||
MODE_STAGE=false
|
|
||||||
MODE_BUILD=false
|
|
||||||
MODE_INSTALL=false
|
|
||||||
MODE_ALL=false
|
|
||||||
MODE_HELP=false
|
|
||||||
|
|
||||||
# the file to log to
|
|
||||||
LOGFILE="${APPNAME}.log"
|
|
||||||
|
|
||||||
# ISO 8601 variation
|
|
||||||
TIMESTAMP="$(date +%Y-%m-%d_%H:%M:%S)"
|
|
||||||
|
|
||||||
# the path where logs are written to
|
|
||||||
# note: LOGS_ROOT is sourced from environment
|
|
||||||
LOG_DIR="${LOGS_ROOT}/${APPNAME}-${TIMESTAMP}"
|
|
||||||
|
|
||||||
# the path where the source will be located when complete
|
|
||||||
# note: TEMP_STAGE_DIR is sourced from environment
|
|
||||||
T_SOURCE_DIR="${TEMP_STAGE_DIR}/${APPNAME}"
|
|
||||||
|
|
||||||
# read defined arguments
|
|
||||||
opts=$(getopt \
|
|
||||||
--longoptions "$(printf "%s," "${ARGUMENT_LIST[@]}")" \
|
|
||||||
--name "$APPNAME" \
|
|
||||||
--options "" \
|
|
||||||
-- "$@"
|
|
||||||
)
|
|
||||||
|
|
||||||
# process supplied arguments into flags that enable execution modes
|
|
||||||
eval set --$opts
|
|
||||||
while [[ $# -gt 0 ]]; do
|
|
||||||
case "$1" in
|
|
||||||
--stage)
|
|
||||||
MODE_STAGE=true
|
|
||||||
shift 1
|
|
||||||
;;
|
|
||||||
--build)
|
|
||||||
MODE_BUILD=true
|
|
||||||
shift 1
|
|
||||||
;;
|
|
||||||
--install)
|
|
||||||
MODE_INSTALL=true
|
|
||||||
shift 1
|
|
||||||
;;
|
|
||||||
--all)
|
|
||||||
MODE_ALL=true
|
|
||||||
shift 1
|
|
||||||
;;
|
|
||||||
--help)
|
|
||||||
MODE_HELP=true
|
|
||||||
shift 1
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# print to stdout, print to log
|
|
||||||
logprint() {
|
|
||||||
mkdir -p "${LOG_DIR}"
|
|
||||||
echo "[$(date +%Y-%m-%d_%H:%M:%S)] [${APPNAME}] $1" \
|
|
||||||
| tee -a "${LOG_DIR}/${LOGFILE}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Tell the user we're alive...
|
|
||||||
logprint "Initializing the ${APPNAME} utility..."
|
|
||||||
|
|
||||||
# when the stage mode is enabled, this will execute
|
|
||||||
mode_stage() {
|
|
||||||
logprint "Starting stage of ${APPNAME}..."
|
|
||||||
|
|
||||||
logprint "Removing any pre-existing staging for ${APPNAME}."
|
|
||||||
rm -Rf "${T_SOURCE_DIR}"*
|
|
||||||
|
|
||||||
logprint "Extracting ${APPNAME}-${VERSION} source archive to ${TEMP_STAGE_DIR}"
|
|
||||||
tar xf "${SOURCES_DIR}/${APPNAME}-${VERSION}.tar."* -C "${TEMP_STAGE_DIR}"
|
|
||||||
assert_zero $?
|
|
||||||
|
|
||||||
# conditionally rename if it needs it
|
|
||||||
stat "${T_SOURCE_DIR}-"* && mv "${T_SOURCE_DIR}-"* "${T_SOURCE_DIR}"
|
|
||||||
|
|
||||||
logprint "Staging operation complete."
|
|
||||||
}
|
|
||||||
|
|
||||||
# when the build_pass1 mode is enabled, this will execute
|
|
||||||
mode_build() {
|
|
||||||
|
|
||||||
# patch, configure and build
|
|
||||||
logprint "Starting build of ${APPNAME}..."
|
|
||||||
|
|
||||||
logprint "Entering build dir."
|
|
||||||
pushd "${T_SOURCE_DIR}"
|
|
||||||
assert_zero $?
|
|
||||||
|
|
||||||
logprint "Pre-work"
|
|
||||||
autoreconf -fiv
|
|
||||||
|
|
||||||
logprint "Configuring ${APPNAME}..."
|
|
||||||
CC=gcc ./configure \
|
|
||||||
--prefix=/usr \
|
|
||||||
-G \
|
|
||||||
-O3 \
|
|
||||||
-r
|
|
||||||
assert_zero $?
|
|
||||||
|
|
||||||
logprint "Compiling..."
|
|
||||||
make
|
|
||||||
assert_zero $?
|
|
||||||
|
|
||||||
logprint "Checking"
|
|
||||||
make test
|
|
||||||
logprint "Checks exited with '$?'. "
|
|
||||||
|
|
||||||
logprint "Build operation complete."
|
|
||||||
}
|
|
||||||
|
|
||||||
mode_install() {
|
|
||||||
logprint "Starting install of ${APPNAME}..."
|
|
||||||
pushd "${T_SOURCE_DIR}"
|
|
||||||
assert_zero $?
|
|
||||||
|
|
||||||
logprint "Installing..."
|
|
||||||
make install
|
|
||||||
assert_zero $?
|
|
||||||
|
|
||||||
logprint "Install operation complete."
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
mode_help() {
|
|
||||||
echo "${APPNAME} [ --stage ] [ --build_temp ] [ --install_temp ] [ --all_temp ] [ --help ]"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ "$MODE_ALL" = "true" ]; then
|
|
||||||
MODE_STAGE=true
|
|
||||||
MODE_BUILD=true
|
|
||||||
MODE_INSTALL=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
# if no options were selected, then show help and exit
|
|
||||||
if \
|
|
||||||
[ "$MODE_HELP" != "true" ] && \
|
|
||||||
[ "$MODE_STAGE" != "true" ] && \
|
|
||||||
[ "$MODE_BUILD" != "true" ] && \
|
|
||||||
[ "$MODE_INSTALL" != "true" ]
|
|
||||||
then
|
|
||||||
logprint "No option selected during execution."
|
|
||||||
mode_help
|
|
||||||
fi
|
|
||||||
|
|
||||||
# if help was supplied at all, show help and exit
|
|
||||||
if [ "$MODE_HELP" = "true" ]; then
|
|
||||||
logprint "Help option selected. Printing options and exiting."
|
|
||||||
mode_help
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$MODE_STAGE" = "true" ]; then
|
|
||||||
logprint "Staging option selected."
|
|
||||||
mode_stage
|
|
||||||
assert_zero $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$MODE_BUILD" = "true" ]; then
|
|
||||||
logprint "Build of ${APPNAME} selected."
|
|
||||||
mode_build
|
|
||||||
assert_zero $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$MODE_INSTALL" = "true" ]; then
|
|
||||||
logprint "Install of ${APPNAME} selected."
|
|
||||||
mode_install
|
|
||||||
assert_zero $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
logprint "Execution of ${APPNAME} completed."
|
|
|
@ -1,4 +1,6 @@
|
||||||
set -a
|
set -a
|
||||||
|
set -u
|
||||||
|
|
||||||
# We now do paths relative to / since we are INSIDE $T_SYSROOT
|
# We now do paths relative to / since we are INSIDE $T_SYSROOT
|
||||||
|
|
||||||
TERM=xterm-256color
|
TERM=xterm-256color
|
||||||
|
|
|
@ -5,6 +5,36 @@
|
||||||
"name": "welcome master",
|
"name": "welcome master",
|
||||||
"dependencies": [ null ],
|
"dependencies": [ null ],
|
||||||
"comment": "greet the user"
|
"comment": "greet the user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pkg-config",
|
||||||
|
"dependencies": [ null ],
|
||||||
|
"comment": "LFS 11.3-systemd-rc1 Ch. 8.27"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ncurses pass 2",
|
||||||
|
"dependencies": [ null ],
|
||||||
|
"comment": "LFS 11.3-systemd-rc1 Ch. 8.28"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name": "ncurses legacy",
|
||||||
|
"dependencies": [ null ],
|
||||||
|
"comment": "LFS 11.3-systemd-rc1 Ch. 8.28"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name": "sed pass 2",
|
||||||
|
"dependencies": [ null ],
|
||||||
|
"comment": "LFS 11.3-systemd-rc1 Ch. 8.29"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psmisc",
|
||||||
|
"dependencies": [ null ],
|
||||||
|
"comment": "LFS 11.3-systemd-rc1 Ch. 8.30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "gettext pass 2",
|
||||||
|
"dependencies": [ null ],
|
||||||
|
"comment": "LFS 11.3-systemd-rc1 Ch. 8.31"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,114 @@
|
||||||
"group": "root",
|
"group": "root",
|
||||||
"supply_environment": true,
|
"supply_environment": true,
|
||||||
"environment": "environments/stage4.env.bash"
|
"environment": "environments/stage4.env.bash"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pkg-config",
|
||||||
|
"target": "components/stage4/pkg-config.bash --all",
|
||||||
|
"is_shell_command": true,
|
||||||
|
"shell_definition": "bash",
|
||||||
|
"force_pty": true,
|
||||||
|
"set_working_directory": false,
|
||||||
|
"working_directory": "",
|
||||||
|
"rectify": false,
|
||||||
|
"rectifier": "",
|
||||||
|
"active": true,
|
||||||
|
"required": true,
|
||||||
|
"set_user_context": true,
|
||||||
|
"user": "root",
|
||||||
|
"group": "root",
|
||||||
|
"supply_environment": true,
|
||||||
|
"environment": "environments/stage4.env.bash"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ncurses pass 2",
|
||||||
|
"target": "components/stage4/ncurses.bash --all",
|
||||||
|
"is_shell_command": true,
|
||||||
|
"shell_definition": "bash",
|
||||||
|
"force_pty": true,
|
||||||
|
"set_working_directory": false,
|
||||||
|
"working_directory": "",
|
||||||
|
"rectify": false,
|
||||||
|
"rectifier": "",
|
||||||
|
"active": true,
|
||||||
|
"required": true,
|
||||||
|
"set_user_context": true,
|
||||||
|
"user": "root",
|
||||||
|
"group": "root",
|
||||||
|
"supply_environment": true,
|
||||||
|
"environment": "environments/stage4.env.bash"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ncurses legacy",
|
||||||
|
"target": "components/stage4/ncurses-legacy.bash --all",
|
||||||
|
"is_shell_command": true,
|
||||||
|
"shell_definition": "bash",
|
||||||
|
"force_pty": true,
|
||||||
|
"set_working_directory": false,
|
||||||
|
"working_directory": "",
|
||||||
|
"rectify": false,
|
||||||
|
"rectifier": "",
|
||||||
|
"active": true,
|
||||||
|
"required": true,
|
||||||
|
"set_user_context": true,
|
||||||
|
"user": "root",
|
||||||
|
"group": "root",
|
||||||
|
"supply_environment": true,
|
||||||
|
"environment": "environments/stage4.env.bash"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sed pass 2",
|
||||||
|
"target": "components/stage4/sed.bash --all",
|
||||||
|
"is_shell_command": true,
|
||||||
|
"shell_definition": "bash",
|
||||||
|
"force_pty": true,
|
||||||
|
"set_working_directory": false,
|
||||||
|
"working_directory": "",
|
||||||
|
"rectify": false,
|
||||||
|
"rectifier": "",
|
||||||
|
"active": true,
|
||||||
|
"required": true,
|
||||||
|
"set_user_context": true,
|
||||||
|
"user": "root",
|
||||||
|
"group": "root",
|
||||||
|
"supply_environment": true,
|
||||||
|
"environment": "environments/stage4.env.bash"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "psmisc",
|
||||||
|
"target": "components/stage4/psmisc.bash --all",
|
||||||
|
"is_shell_command": true,
|
||||||
|
"shell_definition": "bash",
|
||||||
|
"force_pty": true,
|
||||||
|
"set_working_directory": false,
|
||||||
|
"working_directory": "",
|
||||||
|
"rectify": false,
|
||||||
|
"rectifier": "",
|
||||||
|
"active": true,
|
||||||
|
"required": true,
|
||||||
|
"set_user_context": true,
|
||||||
|
"user": "root",
|
||||||
|
"group": "root",
|
||||||
|
"supply_environment": true,
|
||||||
|
"environment": "environments/stage4.env.bash"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "gettext pass 2",
|
||||||
|
"target": "components/stage4/gettext.bash --all",
|
||||||
|
"is_shell_command": true,
|
||||||
|
"shell_definition": "bash",
|
||||||
|
"force_pty": true,
|
||||||
|
"set_working_directory": false,
|
||||||
|
"working_directory": "",
|
||||||
|
"rectify": false,
|
||||||
|
"rectifier": "",
|
||||||
|
"active": true,
|
||||||
|
"required": true,
|
||||||
|
"set_user_context": true,
|
||||||
|
"user": "root",
|
||||||
|
"group": "root",
|
||||||
|
"supply_environment": true,
|
||||||
|
"environment": "environments/stage4.env.bash"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue