noobs: add support for PROJECT based multiple noobs builds

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2015-02-08 15:29:24 +01:00
parent ce98d04bfa
commit d6744daa2d
3 changed files with 41 additions and 35 deletions

View File

@ -1,5 +1,5 @@
{ {
"name": "@DISTRONAME@", "name": "@DISTRONAME@_@PROJECT@",
"version": "@OPENELEC_VERSION@", "version": "@OPENELEC_VERSION@",
"release_date": "@RELEASE_DATE@", "release_date": "@RELEASE_DATE@",
"kernel": "@KERNEL_VERSION@", "kernel": "@KERNEL_VERSION@",

View File

@ -1,7 +1,7 @@
{ {
"partitions": [ "partitions": [
{ {
"label": "@DISTRONAME@System", "label": "@DISTRONAME@_@PROJECT@_System",
"filesystem_type": "FAT", "filesystem_type": "FAT",
"partition_size_nominal": 160, "partition_size_nominal": 160,
"want_maximised": false, "want_maximised": false,
@ -9,7 +9,7 @@
"mkfs_options": "" "mkfs_options": ""
}, },
{ {
"label": "@DISTRONAME@Storage", "label": "@DISTRONAME@_@PROJECT@_Storage",
"filesystem_type": "ext4", "filesystem_type": "ext4",
"partition_size_nominal": 864, "partition_size_nominal": 864,
"want_maximised": true, "want_maximised": true,

View File

@ -324,76 +324,82 @@ IMAGE_NAME="$DISTRONAME-$TARGET_VERSION"
rm -rf $RELEASE_DIR rm -rf $RELEASE_DIR
# create release dir # create release dir
mkdir -p $RELEASE_DIR mkdir -p $RELEASE_DIR/${DISTRONAME}_${PROJECT}
cp -PR $ROOT/config/$1/* $RELEASE_DIR cp -PR $ROOT/config/$1/* $RELEASE_DIR/${DISTRONAME}_${PROJECT}
cp $ROOT/README* $RELEASE_DIR cp $ROOT/README* $RELEASE_DIR/${DISTRONAME}_${PROJECT}
cp $ROOT/CHANGELOG $RELEASE_DIR/release_notes.txt cp $ROOT/CHANGELOG $RELEASE_DIR/${DISTRONAME}_${PROJECT}/release_notes.txt
sed -e "s%@DISTRONAME@%$DISTRONAME%g" \ sed -e "s%@DISTRONAME@%$DISTRONAME%g" \
-e "s%@PROJECT@%$PROJECT%g" \
-e "s%@OPENELEC_VERSION@%$OPENELEC_VERSION%g" \ -e "s%@OPENELEC_VERSION@%$OPENELEC_VERSION%g" \
-e "s%@RELEASE_DATE@%$(date +%F)%g" \ -e "s%@RELEASE_DATE@%$(date +%F)%g" \
-e "s%@KERNEL_VERSION@%$(kernel_version)%g" \ -e "s%@KERNEL_VERSION@%$(kernel_version)%g" \
-e "s%@DESCRIPTION@%$DESCRIPTION%g" \ -e "s%@DESCRIPTION@%$DESCRIPTION%g" \
-i $RELEASE_DIR/os.json -i $RELEASE_DIR/${DISTRONAME}_${PROJECT}/os.json
sed -e "s%@DISTRONAME@%$DISTRONAME%g" \ sed -e "s%@DISTRONAME@%$DISTRONAME%g" \
-i $RELEASE_DIR/partitions.json -e "s%@PROJECT@%$PROJECT%g" \
-i $RELEASE_DIR/${DISTRONAME}_${PROJECT}/partitions.json
# create System dir # create System dir
mkdir -p $RELEASE_DIR/System mkdir -p $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System
BOOTLOADER_DIR=`find $PACKAGES -type d -name $BOOTLOADER 2>/dev/null` BOOTLOADER_DIR=`find $PACKAGES -type d -name $BOOTLOADER 2>/dev/null`
if [ -d "$BOOTLOADER_DIR"/files/3rdparty/bootloader/ ]; then if [ -d "$BOOTLOADER_DIR"/files/3rdparty/bootloader/ ]; then
cp -PR $BOOTLOADER_DIR/files/3rdparty/bootloader/* $RELEASE_DIR/System cp -PR $BOOTLOADER_DIR/files/3rdparty/bootloader/* $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System
fi fi
# copy Bootloader # copy Bootloader
cp -PR $BUILD/bcm2835-bootloader-*/LICENCE* $RELEASE_DIR/System/ cp -PR $BUILD/bcm2835-bootloader-*/LICENCE* $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/
cp -PR $BUILD/bcm2835-bootloader-*/bootcode.bin $RELEASE_DIR/System/ cp -PR $BUILD/bcm2835-bootloader-*/bootcode.bin $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/
cp -PR $BUILD/bcm2835-bootloader-*/fixup_x.dat $RELEASE_DIR/System/fixup.dat cp -PR $BUILD/bcm2835-bootloader-*/fixup_x.dat $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/fixup.dat
cp -PR $BUILD/bcm2835-bootloader-*/start_x.elf $RELEASE_DIR/System/start.elf cp -PR $BUILD/bcm2835-bootloader-*/start_x.elf $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/start.elf
# copy system files # copy system files
cp $TARGET_IMG/$IMAGE_NAME.system $RELEASE_DIR/System/SYSTEM cp $TARGET_IMG/$IMAGE_NAME.system $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/SYSTEM
cp $TARGET_IMG/$IMAGE_NAME.kernel $RELEASE_DIR/System/kernel.img cp $TARGET_IMG/$IMAGE_NAME.kernel $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/kernel.img
if [ -f $INSTALL/usr/share/bootloader/*.dtb ]; then for dtb in $INSTALL/usr/share/bootloader/*.dtb ; do
cp -PR $INSTALL/usr/share/bootloader/*.dtb $RELEASE_DIR/System if [ -f $dtb ]; then
fi cp -PR $dtb $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System
fi
done
if [ -f $INSTALL/usr/share/bootloader/overlays/* ]; then for overlay in $INSTALL/usr/share/bootloader/overlays/* ; do
mkdir -p $RELEASE_DIR/System/overlays if [ -f $overlay ]; then
cp -PR $INSTALL/usr/share/bootloader/overlays/* $RELEASE_DIR/System/overlays mkdir -p $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/overlays
fi cp -PR $overlay $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/overlays
fi
done
# create md5sum's # create md5sum's
( cd $RELEASE_DIR/System; ( cd $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System;
md5sum -t SYSTEM > SYSTEM.md5; md5sum -t SYSTEM > SYSTEM.md5;
md5sum -t kernel.img > kernel.img.md5; md5sum -t kernel.img > kernel.img.md5;
) )
# copy additional files # copy additional files
cp -R $CONFIG/release/openelec.ico $RELEASE_DIR/System cp -R $CONFIG/release/openelec.ico $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System
mkdir -p $RELEASE_DIR/System/licenses mkdir -p $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/licenses
cp $ROOT/licenses/* $RELEASE_DIR/System/licenses cp $ROOT/licenses/* $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/licenses
# create Storage dir # create Storage dir
mkdir -p $RELEASE_DIR/Storage mkdir -p $RELEASE_DIR/${DISTRONAME}_${PROJECT}/Storage
# remove an previous created release tarball # remove an previous created release tarball
rm -rf $RELEASE_DIR/${DISTRONAME}System.tar.xz rm -rf $RELEASE_DIR/${DISTRONAME}_${PROJECT}/${DISTRONAME}_${PROJECT}_System.tar.xz
rm -rf $RELEASE_DIR/${DISTRONAME}Storage.tar.xz rm -rf $RELEASE_DIR/${DISTRONAME}_${PROJECT}/${DISTRONAME}_${PROJECT}_Storage.tar.xz
# create filesystem tarballs # create filesystem tarballs
tar cJf $RELEASE_DIR/${DISTRONAME}System.tar.xz -C $RELEASE_DIR/System/ . tar cJf $RELEASE_DIR/${DISTRONAME}_${PROJECT}/${DISTRONAME}_${PROJECT}_System.tar.xz -C $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System/ .
tar cJf $RELEASE_DIR/${DISTRONAME}Storage.tar.xz -C $RELEASE_DIR/Storage/ . tar cJf $RELEASE_DIR/${DISTRONAME}_${PROJECT}/${DISTRONAME}_${PROJECT}_Storage.tar.xz -C $RELEASE_DIR/${DISTRONAME}_${PROJECT}/Storage/ .
# remove an filesystem dirs # remove an filesystem dirs
rm -rf $RELEASE_DIR/System rm -rf $RELEASE_DIR/${DISTRONAME}_${PROJECT}/System
rm -rf $RELEASE_DIR/Storage rm -rf $RELEASE_DIR/${DISTRONAME}_${PROJECT}/Storage
# remove an previous created release tarball # remove an previous created release tarball
rm -rf $TARGET_IMG/${IMAGE_NAME}-$1.tar rm -rf $TARGET_IMG/${IMAGE_NAME}-$1.tar