f5f857df48
There is no need now to use the envars file. Optimize support must be moved to an XSL-based code.
228 lines
4.3 KiB
Bash
228 lines
4.3 KiB
Bash
#!/bin/bash
|
|
|
|
# $Id$
|
|
|
|
#=== MAKEFILE HEADER ===
|
|
|
|
#----------------------------------#
|
|
wrt_Makefile_header() { #
|
|
#----------------------------------#
|
|
(
|
|
cat << EOF
|
|
# This file is automatically generated by jhalfs
|
|
# DO NOT EDIT THIS FILE MANUALLY
|
|
#
|
|
# Generated on `date "+%F %X %Z"`
|
|
|
|
|
|
SHELL = /bin/bash
|
|
|
|
SRC = /sources
|
|
MOUNT_PT = $BUILDDIR
|
|
PKG_LST = $PKG_LST
|
|
LUSER = $LUSER
|
|
LGROUP = $LGROUP
|
|
LHOME = $LHOME
|
|
SCRIPT_ROOT = $SCRIPT_ROOT
|
|
|
|
BASEDIR = \$(MOUNT_PT)
|
|
SRCSDIR = \$(BASEDIR)/sources
|
|
CMDSDIR = \$(BASEDIR)/\$(SCRIPT_ROOT)/$PROGNAME-commands
|
|
LOGDIR = \$(BASEDIR)/\$(SCRIPT_ROOT)/$LOGDIRBASE
|
|
TESTLOGDIR = \$(BASEDIR)/\$(SCRIPT_ROOT)/$TESTLOGDIRBASE
|
|
|
|
crCMDSDIR = /\$(SCRIPT_ROOT)/$PROGNAME-commands
|
|
crLOGDIR = /\$(SCRIPT_ROOT)/$LOGDIRBASE
|
|
crTESTLOGDIR = /\$(SCRIPT_ROOT)/$TESTLOGDIRBASE
|
|
crFILELOGDIR = /\$(SCRIPT_ROOT)/$FILELOGDIRBASE
|
|
|
|
SU_LUSER = su - \$(LUSER) -c
|
|
LUSER_HOME = \$(LHOME)/\$(LUSER)
|
|
|
|
ADD_REPORT = $REPORT
|
|
ADD_CUSTOM_TOOLS = $CUSTOM_TOOLS
|
|
ADD_BLFS_TOOLS = $BLFS_TOOL
|
|
|
|
|
|
export PATH := \${PATH}:/usr/sbin
|
|
|
|
include makefile-functions
|
|
|
|
EOF
|
|
) > $MKFILE
|
|
}
|
|
|
|
#=======================
|
|
|
|
|
|
#==== TARGET HEADER ====
|
|
|
|
#----------------------------------#
|
|
LUSER_wrt_target() { # Create target
|
|
#----------------------------------#
|
|
local i=$1
|
|
local PREV=$2
|
|
(
|
|
cat << EOF
|
|
|
|
$i: $PREV
|
|
@\$(call echo_message, Building)
|
|
@export BASHBIN=\$(SHELL) && \$(SHELL) progress_bar.sh \$@ \$\$PPID &
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#----------------------------------#
|
|
CHROOT_wrt_target() { #
|
|
#----------------------------------#
|
|
local i=$1
|
|
local PREV=$2
|
|
(
|
|
cat << EOF
|
|
|
|
$i: $PREV
|
|
@\$(call echo_message, Building)
|
|
@export BASHBIN=\$(SHELL) && \$(SHELL) progress_bar.sh \$@ \$\$PPID &
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#=======================
|
|
|
|
|
|
#======== RUN AS =======
|
|
|
|
#----------------------------------#
|
|
wrt_RunAsRoot() { # Some scripts must be run as root..
|
|
#----------------------------------#
|
|
local MOUNT_ENV
|
|
local file=$1
|
|
|
|
case ${PROGNAME} in
|
|
lfs ) MOUNT_ENV="LFS" ;;
|
|
clfs ) MOUNT_ENV="CLFS" ;;
|
|
clfs2 ) MOUNT_ENV="CLFS" ;;
|
|
clfs3 ) MOUNT_ENV="CLFS" ;;
|
|
hlfs ) MOUNT_ENV="HLFS" ;;
|
|
*) echo "undefined progname $PROGNAME"; exit 1 ;;
|
|
esac
|
|
|
|
(
|
|
cat << EOF
|
|
@export ${MOUNT_ENV}=\$(MOUNT_PT) && ${PROGNAME}-commands/`dirname $file`/\$@ > logs/\$@ 2>&1
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#----------------------------------#
|
|
LUSER_wrt_RunAsUser() { #
|
|
#----------------------------------#
|
|
local file=$1
|
|
|
|
(
|
|
cat << EOF
|
|
@\$(CMDSDIR)/`dirname $file`/\$@ > logs/\$@ 2>&1
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#----------------------------------#
|
|
CHROOT_wrt_RunAsRoot() { #
|
|
#----------------------------------#
|
|
local file=$1
|
|
(
|
|
cat << EOF
|
|
@\$(crCMDSDIR)/`dirname $file`/\$@ > logs/\$@ 2>&1
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
|
|
}
|
|
|
|
#=======================
|
|
|
|
|
|
#====== COPY FSTAB =====
|
|
|
|
#----------------------------------#
|
|
LUSER_wrt_CopyFstab() { #
|
|
#----------------------------------#
|
|
(
|
|
cat << EOF
|
|
@cp -v \$(MOUNT_PT)/sources/fstab \$(MOUNT_PT)/etc/fstab > logs/\$@ 2>&1
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#----------------------------------#
|
|
CHROOT_wrt_CopyFstab() { #
|
|
#----------------------------------#
|
|
(
|
|
cat << EOF
|
|
@cp -v /sources/fstab /etc/fstab > logs/\$@ 2>&1
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#=======================
|
|
|
|
|
|
#==== INSTALLED FILES LOGS ====
|
|
|
|
#----------------------------------#
|
|
LUSER_wrt_TouchTimestamp() { #
|
|
#----------------------------------#
|
|
(
|
|
cat << EOF
|
|
@\$(call touch_timestamp_LUSER)
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#----------------------------------#
|
|
CHROOT_wrt_TouchTimestamp() { #
|
|
#----------------------------------#
|
|
(
|
|
cat << EOF
|
|
@\$(call touch_timestamp)
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#----------------------------------#
|
|
LUSER_wrt_LogNewFiles() { #
|
|
#----------------------------------#
|
|
local name=$1
|
|
(
|
|
cat << EOF
|
|
@\$(call log_new_files_LUSER,$name)
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#----------------------------------#
|
|
CHROOT_wrt_LogNewFiles() { #
|
|
#----------------------------------#
|
|
local name=$1
|
|
(
|
|
cat << EOF
|
|
@\$(call log_new_files,$name)
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#=======================
|
|
|
|
|
|
#======== TOUCH ========
|
|
|
|
#----------------------------------#
|
|
wrt_touch() { #
|
|
#----------------------------------#
|
|
(
|
|
cat << EOF
|
|
@\$(call housekeeping)
|
|
EOF
|
|
) >> $MKFILE.tmp
|
|
}
|
|
|
|
#=======================
|