MahiroOS-jhalfs/common/libs/func_wrt_Makefile

374 lines
7.5 KiB
Bash

#!/bin/bash
#=== 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)/$COMMANDS
LOGDIR = \$(BASEDIR)/\$(SCRIPT_ROOT)/$LOGDIRBASE
TESTLOGDIR = \$(BASEDIR)/\$(SCRIPT_ROOT)/$TESTLOGDIRBASE
crCMDSDIR = /\$(SCRIPT_ROOT)/$COMMANDS
crLOGDIR = /\$(SCRIPT_ROOT)/$LOGDIRBASE
crTESTLOGDIR = /\$(SCRIPT_ROOT)/$TESTLOGDIRBASE
crFILELOGDIR = /\$(SCRIPT_ROOT)/$FILELOGDIRBASE
SU_LUSER = sudo -H -u \$(LUSER) sh -c
LUSER_HOME = \$(LHOME)/\$(LUSER)
PRT_DU = echo -e "\nKB: \`du -skx --exclude=\$(SCRIPT_ROOT) --exclude=lost+found \$(MOUNT_PT) \`\n"
PRT_DU_CR = echo -e "\nKB: \`du -skx --exclude=\$(SCRIPT_ROOT) --exclude=lost+found --exclude /var/lib / \`\n"
ADD_REPORT = $REPORT
ADD_CUSTOM_TOOLS = $CUSTOM_TOOLS
ADD_BLFS_TOOLS = $BLFS_TOOL
PKGMNGT = $PKGMNGT
WRAP_INSTALL = $WRAP_INSTALL
export PATH := \${PATH}:/usr/sbin
include makefile-functions
EOF
) > $MKFILE
}
#=======================
#==== TARGET HEADER ====
#----------------------------------#
LUSER_wrt_target() { # Create target and initialize log file
#----------------------------------#
local i=$1
local PREV=$2
local version
if [ "$3" != "" ]; then
version=-$3
fi
(
cat << EOF
$i: $PREV
@\$(call echo_message, Building)
${NO_PROGRESS} @export BASHBIN=\$(SHELL) && \$(SHELL) progress_bar.sh \$@ \$\$PPID &
@echo "\$(nl_)\`date\`\$(nl_)" >logs/\$@$version
@ : > envars
EOF
) >> $MKFILE.tmp
}
#----------------------------------#
CHROOT_wrt_target() { # Create target and initialize log file
#----------------------------------#
local i=$1
local PREV=$2
local version
if [ "$3" != "" ]; then
version=-$3
fi
(
cat << EOF
$i: $PREV
@\$(call echo_message, Building)
${NO_PROGRESS} @export BASHBIN=\$(SHELL) && \$(SHELL) progress_bar.sh \$@ \$\$PPID &
@echo "\$(nl_)\`date\`\$(nl_)" >logs/\$@$version
@ : > envars
EOF
) >> $MKFILE.tmp
}
#=======================
#======== UNPACK =======
#----------------------------------#
LUSER_wrt_unpack() { # Unpack and set 'ROOT' var
#----------------------------------#
local FILE="$1"
local optSAVE_PREVIOUS="$2"
local version
if [ "$3" != "" ]; then
version=-"$3"
fi
if [[ "${optSAVE_PREVIOUS}" != "1" ]]; then
(
cat << EOF
@\$(call remove_existing_dirs,$FILE)
EOF
) >> $MKFILE.tmp
fi
(
cat << EOF
@\$(PRT_DU) >>logs/\$@$version
@\$(call unpack,$FILE)
@\$(call get_pkg_root_LUSER)
EOF
) >> $MKFILE.tmp
}
#----------------------------------#
CHROOT_Unpack() { #
#----------------------------------#
local FILE=$1
local optSAVE_PREVIOUS=$2
local version
if [ "$3" != "" ]; then
version=-"$3"
fi
if [ "${optSAVE_PREVIOUS}" != "1" ]; then
(
cat << EOF
@\$(call remove_existing_dirs2,$FILE)
EOF
) >> $MKFILE.tmp
fi
(
cat << EOF
@\$(PRT_DU_CR) >>logs/\$@$version
@\$(call unpack2,$FILE)
@\$(call get_pkg_root2)
EOF
) >> $MKFILE.tmp
}
#=======================
#===== TESTS LOGS ======
#----------------------------------#
LUSER_wrt_test_log() { # Initialize testsuite log file
#----------------------------------#
local version
if [ "$2" != "" ]; then
version=-$2
fi
local TESTLOGFILE=$1$version
(
cat << EOF
@echo "export TEST_LOG=\$(TESTLOGDIR)/$TESTLOGFILE" >> envars && \\
echo "\$(nl_)\`date\`\$(nl_)" >\$(TESTLOGDIR)/$TESTLOGFILE
EOF
) >> $MKFILE.tmp
}
#----------------------------------#
CHROOT_wrt_test_log() { #
#----------------------------------#
local version
if [ "$2" != "" ]; then
version=-$2
fi
local TESTLOGFILE=$1$version
(
cat << EOF
@echo "export TEST_LOG=\$(crTESTLOGDIR)/$TESTLOGFILE" >> envars && \\
echo "\$(nl_)\`date\`\$(nl_)" >\$(crTESTLOGDIR)/$TESTLOGFILE
EOF
) >> $MKFILE.tmp
}
#=======================
#======== RUN AS =======
#----------------------------------#
wrt_RunAsRoot() { # Some scripts must be run as root..
#----------------------------------#
local MOUNT_ENV
local version
if [ "$2" != "" ]; then
version=-$2
fi
local file=$1
(
cat << EOF
@export LFS=\$(MOUNT_PT) && \\
$COMMANDS/`dirname $file`/\$@ >>logs/\$@$version 2>&1
EOF
) >> $MKFILE.tmp
}
#----------------------------------#
LUSER_wrt_RunAsUser() { # Calculate time with perl, footer to log file
#----------------------------------#
local file=$1
local version
if [ "$2" != "" ]; then
version=-$2
fi
(
cat << EOF
@source ~/.bashrc && \\
\$(CMDSDIR)/`dirname $file`/\$@ >> \$(LOGDIR)/\$@$version 2>&1 && \\
if [ "${PROGNAME}" != lfs ]; then \$(PRT_DU) >>logs/\$@$version; fi
EOF
) >> $MKFILE.tmp
}
#----------------------------------#
CHROOT_wrt_RunAsRoot() { #
#----------------------------------#
local file=$1
local version
if [ "$2" != "" ]; then
version=-$2
fi
(
cat << EOF
@source envars && \\
\$(crCMDSDIR)/`dirname $file`/\$@ >>\$(crLOGDIR)/\$@$version 2>&1 && \\
if [ "${PROGNAME}" != lfs ]; then \$(PRT_DU_CR) >>logs/\$@$version; fi
EOF
) >> $MKFILE.tmp
}
#=======================
#====== COPY FSTAB =====
#----------------------------------#
LUSER_wrt_CopyFstab() { #
#----------------------------------#
(
cat << EOF
@cp -v \$(MOUNT_PT)/sources/fstab \$(MOUNT_PT)/etc/fstab >>logs/\$@ 2>&1 && \\
\$(PRT_DU) >>logs/\$@
EOF
) >> $MKFILE.tmp
}
#----------------------------------#
CHROOT_wrt_CopyFstab() { #
#----------------------------------#
(
cat << EOF
@cp -v /sources/fstab /etc/fstab >>logs/\$@ 2>&1 && \\
\$(PRT_DU_CR) >>logs/\$@
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() { #
#----------------------------------#
(
cat << EOF
@\$(call log_new_files_LUSER,$1)
EOF
) >> $MKFILE.tmp
}
#----------------------------------#
CHROOT_wrt_LogNewFiles() { #
#----------------------------------#
(
cat << EOF
@\$(call log_new_files,$1)
EOF
) >> $MKFILE.tmp
}
#=======================
#==== RM BUILD DIRS ====
#----------------------------------#
LUSER_RemoveBuildDirs() { #
#----------------------------------#
local name=`echo ${1} | sed 's/[0-9]-//'`
(
cat << EOF
@\$(call remove_build_dirs,$name)
EOF
) >> $MKFILE.tmp
}
#----------------------------------#
CHROOT_wrt_RemoveBuildDirs() { #
#----------------------------------#
local name=`echo ${1} | sed 's/[0-9]-//'`
(
cat << EOF
@\$(call remove_build_dirs2,$name)
EOF
) >> $MKFILE.tmp
}
#=======================
#======== TOUCH ========
#----------------------------------#
wrt_touch() { #
#----------------------------------#
(
cat << EOF
@\$(call housekeeping)
EOF
) >> $MKFILE.tmp
}
#=======================