DEPENDS=$(cat_file_merge "ROOTFS" | sort -u) build() { local SOURCE="$1" local DEPLOY="$2" # setup skeleton mkdir -pv ${PKGBUILDDIR}/{bin,lib,etc,dev,sys,proc,tmp,var,run} mkdir -pv ${PKGBUILDDIR}/{boot,usr,mnt} mkdir -pv ${PKGBUILDDIR}/cfg/{preserve,overlay} cp -r "$SCRIPTDIR/pkg/$PKGNAME/etc" "$PKGBUILDDIR" cp -r "$SCRIPTDIR/pkg/$PKGNAME/lib" "$PKGBUILDDIR" # install packages to rootfs dependencies | tsort | tac | \ grep -v "$PKGNAME" > "$PKGBUILDDIR/etc/packages" while read pkgname; do if [ ! -e "$PKGDEPLOYDIR/$pkgname" ]; then continue fi cp -ru --remove-destination ${PKGDEPLOYDIR}/${pkgname}/* \ "$PKGBUILDDIR" done < "$PKGBUILDDIR/etc/packages" # version info local fname=$(echo "${OS_NAME}-release" | tr '[:upper:]' '[:lower:]') echo $OS_RELEASE > $PKGBUILDDIR/etc/$fname # setup root home directory mkdir -p "$PKGBUILDDIR/cfg/preserve/usr" cp -r "$PKGBUILDDIR/etc/skel" "$PKGBUILDDIR/cfg/preserve/usr/root" chmod 750 "$PKGBUILDDIR/cfg/preserve/usr/root" # move configuration to preserve directory mv "$PKGBUILDDIR/etc" "$PKGBUILDDIR/cfg/preserve" mv "$PKGBUILDDIR/var/lib" "$PKGBUILDDIR/cfg/preserve/var_lib" rm -rf "$PKGBUILDDIR/var" mkdir -p ${PKGBUILDDIR}/{etc,var} } deploy() { local SOURCE="$1" local DEPLOY="$2" mksquashfs "$PKGBUILDDIR" "$DEPLOY/rootfs.img" -comp xz \ -all-root -no-progress -no-xattrs }