diff --git a/mk.sh b/mk.sh index 9cfe556..4fbfa5e 100755 --- a/mk.sh +++ b/mk.sh @@ -34,6 +34,11 @@ mkdir -p "$TCDIR/$TARGET" CMAKETCFILE="$TCDIR/toolchain.cmake" +pushd "$SCRIPTDIR" > /dev/null +OS_NAME="Pygos" +OS_RELEASE=$(git describe --always --tags --broken --dirty) +popd > /dev/null + ############################# include utilities ############################## source "$SCRIPTDIR/util/depends.sh" source "$SCRIPTDIR/util/download.sh" diff --git a/pkg/linux-rpi3/build b/pkg/linux-rpi3/build index 70a79c7..5c17e59 100755 --- a/pkg/linux-rpi3/build +++ b/pkg/linux-rpi3/build @@ -26,6 +26,7 @@ build() { sed -i "$OUTPUT/.config" -e 's,^CONFIG_CROSS_COMPILE=.*,CONFIG_CROSS_COMPILE="'$TARGET'-",' sed -i "$OUTPUT/.config" -e 's,^CONFIG_INITRAMFS_SOURCE=.*,CONFIG_INITRAMFS_SOURCE="'$INITRDLIST'",' + sed -i "$OUTPUT/.config" -e 's,^CONFIG_LOCALVERSION=.*,CONFIG_LOCALVERSION="-'${OS_NAME}-${OS_RELEASE}'",' make -C "$INPUT" O="$OUTPUT" ARCH="arm" CROSS_COMPILE="${TARGET}-" -j $NUMJOBS zImage dtbs } diff --git a/pkg/linux/build b/pkg/linux/build index 2059fe6..91a5f18 100755 --- a/pkg/linux/build +++ b/pkg/linux/build @@ -28,6 +28,7 @@ build() { make -C "$INPUT" O="$OUTPUT" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" oldconfig sed -i "$OUTPUT/.config" -e 's,^CONFIG_CROSS_COMPILE=.*,CONFIG_CROSS_COMPILE="'$TARGET'-",' sed -i "$OUTPUT/.config" -e 's,^CONFIG_INITRAMFS_SOURCE=.*,CONFIG_INITRAMFS_SOURCE="'$INITRDLIST'",' + sed -i "$OUTPUT/.config" -e 's,^CONFIG_LOCALVERSION=.*,CONFIG_LOCALVERSION="-'${OS_NAME}-${OS_RELEASE}'",' make -C "$INPUT" O="$OUTPUT" ARCH="$LINUX_CPU" CROSS_COMPILE="${TARGET}-" -j $NUMJOBS $LINUX_TGT } @@ -37,6 +38,6 @@ deploy() { local DEPLOY="$3" pushd $BUILD - install -m 755 "arch/$LINUX_CPU/boot/$LINUX_TGT" "$DEPLOY/vmlinuz-$VERSION" + install -m 755 "arch/$LINUX_CPU/boot/$LINUX_TGT" "$DEPLOY/vmlinuz" popd } diff --git a/pkg/openrc/build b/pkg/openrc/build index a1e02f4..66bc426 100755 --- a/pkg/openrc/build +++ b/pkg/openrc/build @@ -14,6 +14,8 @@ build() { local BUILD="$2" local DEPLOY="$3" + local distroname="${OS_NAME}-${OS_RELEASE}" + cp -R ${SOURCE}/* ${BUILD} apply_patches @@ -21,7 +23,7 @@ build() { make CC=${TARGET}-gcc AR=${TARGET}-ar RANLIB=${TARGET}-ranlib \ LD=${TARGET}-ld LIBTERMCAP="-lncursesw" \ SBINDIR="/bin" INCDIR="/include" LIBNAME="lib" \ - DESTDIR="$DEPLOY" OS=Linux BRANDING="distroname" \ + DESTDIR="$DEPLOY" OS=Linux BRANDING="$distroname" \ MKNET=no MKSELINUX=no MKSTATICLIBS=no MKSYSVINIT=yes \ MKTERMCAP=ncurses UPREFIX="" \ -j $NUMJOBS @@ -33,8 +35,10 @@ deploy() { local DEPLOY="$3" local DEVDEPLOY="$4" + local distroname="${OS_NAME}-${OS_RELEASE}" + make SBINDIR="/bin" INCDIR="/include" LIBNAME="lib" \ - DESTDIR="$DEPLOY" OS=Linux BRANDING="distroname" UPREFIX="" \ + DESTDIR="$DEPLOY" OS=Linux BRANDING="$distroname" UPREFIX="" \ install split_dev_deploy "$DEPLOY" "$DEVDEPLOY" diff --git a/pkg/release-alix/build b/pkg/release-alix/build index 6e768a4..c0a8462 100755 --- a/pkg/release-alix/build +++ b/pkg/release-alix/build @@ -5,24 +5,27 @@ build() { local BUILD="$2" local DEPLOY="$3" + mkdir -p "$BUILD/$OS_RELEASE" + # copy output of immediate dependencies for pkgname in $DEPENDS; do if [ -e "$PKGDEPLOYDIR/$pkgname" ]; then - cp -ru ${PKGDEPLOYDIR}/${pkgname}/* "$BUILD" + cp -ru ${PKGDEPLOYDIR}/${pkgname}/* "$BUILD/$OS_RELEASE" fi done # copy additional files from this package, subsitute filenames - local linux_image=$(basename $BUILD/vmlinuz*) - local rootfs_image="rootfs.img" + local linux_image="$OS_RELEASE/vmlinuz" + local rootfs_image="$OS_RELEASE/rootfs.img" cp "/usr/share/syslinux/mbr.bin" "$BUILD" for script in install.sh genimage.sh syslinux.cfg; do cp "$SCRIPTDIR/$PKGDIR/$PKGNAME/$script" "$BUILD" - sed -i 's/ROOTFSFILE/'$rootfs_image'/g' "$BUILD/$script" - sed -i 's/KERNELFILE/'$linux_image'/g' "$BUILD/$script" + sed -i 's#ROOTFSFILE#'$rootfs_image'#g' "$BUILD/$script" + sed -i 's#KERNELFILE#'$linux_image'#g' "$BUILD/$script" + sed -i 's#VERSIONDIR#'$OS_RELEASE'#g' "$BUILD/$script" done } diff --git a/pkg/release-alix/genimage.sh b/pkg/release-alix/genimage.sh index 762d17c..dff1ced 100755 --- a/pkg/release-alix/genimage.sh +++ b/pkg/release-alix/genimage.sh @@ -37,8 +37,7 @@ MOUNTED=1 syslinux --install ${LODEV}p1 cp syslinux.cfg /tmp/mnt.$$/syslinux.cfg -cp ROOTFSFILE /tmp/mnt.$$/ -cp KERNELFILE /tmp/mnt.$$/ +cp -r VERSIONDIR /tmp/mnt.$$/ umount /tmp/mnt.$$ MOUNTED=0 diff --git a/pkg/release-alix/install.sh b/pkg/release-alix/install.sh index c657700..0a9d150 100755 --- a/pkg/release-alix/install.sh +++ b/pkg/release-alix/install.sh @@ -47,8 +47,7 @@ MOUNTED=1 syslinux --install ${DEVICE}1 cp syslinux.cfg /tmp/mnt.$$/syslinux.cfg -cp ROOTFSFILE /tmp/mnt.$$/ -cp KERNELFILE /tmp/mnt.$$/ +cp -r VERSIONDIR /tmp/mnt.$$/ umount /tmp/mnt.$$ MOUNTED=0 diff --git a/pkg/rootfs/build b/pkg/rootfs/build index 52d30cb..bfc88ad 100755 --- a/pkg/rootfs/build +++ b/pkg/rootfs/build @@ -30,6 +30,11 @@ build() { cp -ru --remove-destination ${PKGDEPLOYDIR}/${pkgname}/* "$BUILD" done < "$BUILD/etc/packages" + # version info + local fname=$(echo "${OS_NAME}-release" | tr '[:upper:]' '[:lower:]') + + echo $OS_RELEASE > $BUILD/etc/$fname + # setup root home directory cp -r "$BUILD/etc/skel" "$BUILD/root" chmod 750 "$BUILD/root"