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,srv,mnt,opt} 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 cp -r "$PKGBUILDDIR/etc/skel" "$PKGBUILDDIR/root" chmod 750 "$PKGBUILDDIR/root" # move configuration to preserve directory mv ${PKGBUILDDIR}/etc ${PKGBUILDDIR}/cfg/preserve mkdir -p ${PKGBUILDDIR}/etc mv ${PKGBUILDDIR}/var/lib ${PKGBUILDDIR}/cfg/preserve/var_lib mv ${PKGBUILDDIR}/root ${PKGBUILDDIR}/cfg/preserve mkdir -p ${PKGBUILDDIR}/root chmod 750 ${PKGBUILDDIR}/root chmod 750 ${PKGBUILDDIR}/cfg/preserve/root } deploy() { local SOURCE="$1" local DEPLOY="$2" mksquashfs "$PKGBUILDDIR" "$DEPLOY/rootfs.img" -comp xz \ -all-root -no-progress -no-xattrs }