1
0
Fork 0
mirror of https://github.com/pygos/build.git synced 2024-06-26 13:00:13 +02:00
build/pkg/rootfs/build

66 lines
1.8 KiB
Plaintext
Raw Normal View History

DEPENDS=$(cat "$SCRIPTDIR/cfg/$CFG/ROOTFS")
build() {
local SOURCE="$1"
local BUILD="$2"
local DEPLOY="$3"
# setup skeleton
mkdir -pv ${BUILD}/{bin,lib,etc,dev,sys,proc,tmp,var,run}
mkdir -pv ${BUILD}/{boot,usr,srv,mnt,opt,root}
mkdir -pv ${BUILD}/cfg/{preserve,overlay}
echo "/lib" > "$BUILD/etc/ld-musl-${MUSL_CPU}.path"
if [ -e "$SCRIPTDIR/cfg/$CFG/LDPATH" ]; then
cat "$SCRIPTDIR/cfg/$CFG/LDPATH" >> "$BUILD/etc/ld-musl-${MUSL_CPU}.path"
fi
chmod 750 "$BUILD/root"
cp "$SCRIPTDIR/pkg/$PKGNAME/bash_profile" "$BUILD/root/.bash_profile"
cp "$SCRIPTDIR/pkg/$PKGNAME/bashrc" "$BUILD/root/.bashrc"
mkdir -pv ${BUILD}/etc/skel
cp "$SCRIPTDIR/pkg/$PKGNAME/bash_profile" "$BUILD/etc/skel/.bash_profile"
cp "$SCRIPTDIR/pkg/$PKGNAME/bashrc" "$BUILD/etc/skel/.bashrc"
cp "$SCRIPTDIR/pkg/$PKGNAME/hostname" "$BUILD/etc/hostname"
cp "$SCRIPTDIR/pkg/$PKGNAME/hosts" "$BUILD/etc/hosts"
cp "$SCRIPTDIR/pkg/$PKGNAME/passwd" "$BUILD/etc/passwd"
cp "$SCRIPTDIR/pkg/$PKGNAME/shadow" "$BUILD/etc/shadow"
cp "$SCRIPTDIR/pkg/$PKGNAME/group" "$BUILD/etc/group"
ln -s /proc/self/mounts "$BUILD/etc/mtab"
# install packages to rootfs
dependencies | tsort | tac | grep -v "$PKGNAME" > "$BUILD/etc/packages"
echo "toolchain" >> "$BUILD/etc/packages"
while read pkgname; do
if [ ! -e "$PKGDEPLOYDIR/$pkgname" ]; then
continue
fi
cp -ru --remove-destination ${PKGDEPLOYDIR}/${pkgname}/* "$BUILD"
done < "$BUILD/etc/packages"
# move configuration to preserve directory
mv ${BUILD}/etc ${BUILD}/cfg/preserve
mkdir -p ${BUILD}/etc
mv ${BUILD}/var/lib ${BUILD}/cfg/preserve/var_lib
mv ${BUILD}/root ${BUILD}/cfg/preserve
mkdir -p ${BUILD}/root
chmod 750 ${BUILD}/root
chmod 750 ${BUILD}/cfg/preserve/root
}
deploy() {
local SOURCE="$1"
local BUILD="$2"
local DEPLOY="$3"
mksquashfs "$BUILD" "$DEPLOY/rootfs.img" -all-root -no-progress -no-xattrs
}