2009-03-18 13:02:53 +01:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
|
|
. config/options
|
|
|
|
|
|
2010-01-19 16:07:31 +01:00
|
|
|
#PKG_DIR=`find $PACKAGES -type d -name $1`
|
2009-08-28 23:02:02 +02:00
|
|
|
|
2010-01-19 16:07:31 +01:00
|
|
|
if [ "$OPENELEC_VERSION" = devel -o "$OPENELEC_VERSION" = debug ]; then
|
|
|
|
|
BUILD_DATE=`date +%Y%m%d`
|
2010-06-17 05:49:36 +02:00
|
|
|
GIT_BUILD=`git log --pretty=format:'' | wc -l`
|
|
|
|
|
OPENELEC_VERSION=$OPENELEC_VERSION-$BUILD_DATE-r$GIT_BUILD
|
2010-01-19 16:07:31 +01:00
|
|
|
fi
|
2009-03-18 13:02:53 +01:00
|
|
|
|
2010-01-17 06:15:31 +01:00
|
|
|
TARGET_VERSION="$PROJECT.$TARGET_ARCH-$OPENELEC_VERSION"
|
2009-12-15 12:25:36 +01:00
|
|
|
|
2009-03-18 13:02:53 +01:00
|
|
|
case "$2" in
|
|
|
|
|
system)
|
|
|
|
|
|
|
|
|
|
$SCRIPTS/install squashfs
|
2009-11-22 14:53:21 +01:00
|
|
|
$SCRIPTS/build fakeroot
|
2009-12-05 19:31:03 +01:00
|
|
|
|
2009-03-18 13:02:53 +01:00
|
|
|
export INSTALL=$BUILD/$1/$2
|
|
|
|
|
|
2010-01-15 08:16:29 +01:00
|
|
|
rm -rf $FAKEROOT_SCRIPT # remove $FAKEROOT_SCRIPT if it exist
|
|
|
|
|
touch $FAKEROOT_SCRIPT # create an empty $FAKEROOT_SCRIPT
|
|
|
|
|
chmod +x $FAKEROOT_SCRIPT # make $FAKEROOT_SCRIPT executable
|
|
|
|
|
echo "chown -R 0:0 $INSTALL" >> $FAKEROOT_SCRIPT
|
2009-11-22 14:53:21 +01:00
|
|
|
|
2009-03-18 13:02:53 +01:00
|
|
|
rm -rf $INSTALL
|
|
|
|
|
mkdir -p $INSTALL
|
|
|
|
|
|
|
|
|
|
mkdir -p $INSTALL/bin
|
|
|
|
|
mkdir -p $INSTALL/etc
|
|
|
|
|
mkdir -p $INSTALL/lib
|
|
|
|
|
mkdir -p $INSTALL/sbin
|
|
|
|
|
mkdir -p $INSTALL/dev
|
|
|
|
|
mkdir -p $INSTALL/proc
|
|
|
|
|
mkdir -p $INSTALL/sys
|
|
|
|
|
mkdir -p $INSTALL/usr
|
|
|
|
|
mkdir -p $INSTALL/var
|
|
|
|
|
mkdir -p $INSTALL/flash
|
|
|
|
|
mkdir -p $INSTALL/storage
|
|
|
|
|
|
2009-11-22 14:53:21 +01:00
|
|
|
ln -sf /var $INSTALL/usr/var
|
|
|
|
|
ln -sf /var/tmp $INSTALL/tmp
|
|
|
|
|
ln -sf /var/media $INSTALL/media
|
|
|
|
|
|
2010-01-19 16:15:55 +01:00
|
|
|
if [ $TARGET_ARCH = x86_64 -o $TARGET_ARCH = powerpc64 ]; then
|
|
|
|
|
ln -s /lib $INSTALL/lib64
|
|
|
|
|
ln -s lib $INSTALL/usr/lib64
|
|
|
|
|
fi
|
|
|
|
|
|
2010-06-16 15:29:52 +02:00
|
|
|
# copy project related files to filesystem
|
|
|
|
|
if [ -d $PROJECT_DIR/$PROJECT/filesystem ]; then
|
|
|
|
|
cp -PR $PROJECT_DIR/$PROJECT/filesystem/* $INSTALL
|
|
|
|
|
fi
|
|
|
|
|
|
2009-03-18 13:02:53 +01:00
|
|
|
# Basissystem...
|
2009-12-19 17:47:50 +01:00
|
|
|
$SCRIPTS/install eglibc
|
2009-03-18 13:02:53 +01:00
|
|
|
$SCRIPTS/install gcc-final
|
2009-05-03 16:17:13 +02:00
|
|
|
$SCRIPTS/install linux $2
|
2009-10-06 09:54:50 +02:00
|
|
|
$SCRIPTS/install busybox
|
2009-11-29 05:53:05 +01:00
|
|
|
$SCRIPTS/install util-linux-ng
|
2010-05-02 16:23:28 +02:00
|
|
|
|
2010-04-12 22:00:01 +02:00
|
|
|
echo "OpenELEC" > $INSTALL/etc/distribution
|
|
|
|
|
echo "$PROJECT.$TARGET_ARCH" > $INSTALL/etc/arch
|
2009-10-27 03:21:53 +01:00
|
|
|
echo "$OPENELEC_VERSION" > $INSTALL/etc/version
|
|
|
|
|
echo "OpenELEC.tv - Date of build: $BUILD_DATE Build: $BZR_BUILD" > $INSTALL/etc/openelec-release
|
2009-03-18 13:02:53 +01:00
|
|
|
|
2009-09-21 06:15:23 +02:00
|
|
|
# Network support
|
|
|
|
|
[ "$NETWORK" = yes ] && $SCRIPTS/install network
|
2009-03-18 13:02:53 +01:00
|
|
|
|
2010-05-05 21:42:54 +02:00
|
|
|
# Transmission BitTorrent support
|
|
|
|
|
[ "$TRANSMISSION" = yes ] && $SCRIPTS/install transmission
|
|
|
|
|
|
2009-09-21 06:15:23 +02:00
|
|
|
# Graphic support
|
|
|
|
|
[ ! "$DISPLAYSERVER" = no ] && $SCRIPTS/install $DISPLAYSERVER
|
2009-03-18 13:02:53 +01:00
|
|
|
|
2009-09-21 06:15:23 +02:00
|
|
|
# Multimedia support
|
2009-10-27 03:21:53 +01:00
|
|
|
[ ! "$MEDIACENTER" = no ] && $SCRIPTS/install mediacenter
|
2009-09-19 22:05:13 +02:00
|
|
|
|
2010-06-10 22:25:00 +02:00
|
|
|
# Automounter support
|
|
|
|
|
[ "$UDISKS" = yes ] && $SCRIPTS/install udisks
|
|
|
|
|
|
|
|
|
|
# Powermanagement support
|
|
|
|
|
[ "$UPOWER" = yes ] && $SCRIPTS/install upower
|
|
|
|
|
[ "$UPOWER" = yes ] && $SCRIPTS/install ConsoleKit
|
|
|
|
|
|
|
|
|
|
# Remote support
|
|
|
|
|
[ "$REMOTE_SUPPORT" = yes ] && $SCRIPTS/install remote
|
|
|
|
|
|
|
|
|
|
# LCD support
|
|
|
|
|
[ ! "$LCD_DRIVER" = none ] && $SCRIPTS/install lcdproc
|
|
|
|
|
|
|
|
|
|
# Sensors support
|
|
|
|
|
[ "$SENSOR_SUPPORT" = yes ] && $SCRIPTS/install lm_sensors
|
|
|
|
|
|
|
|
|
|
# Update support
|
|
|
|
|
[ "$UPDATE_SUPPORT" = yes ] && $SCRIPTS/install autoupdate
|
|
|
|
|
|
2009-09-21 06:15:23 +02:00
|
|
|
# Games support
|
2009-11-06 15:45:55 +01:00
|
|
|
[ "$GAMES" = yes ] && $SCRIPTS/install games
|
|
|
|
|
[ "$EMULATORS" = yes ] && $SCRIPTS/install emulators
|
2009-09-21 06:15:23 +02:00
|
|
|
|
|
|
|
|
# Devtools... (not for Release)
|
2010-02-02 15:24:25 +01:00
|
|
|
[ "$TESTING" = yes ] && $SCRIPTS/install testing
|
2009-11-22 14:53:21 +01:00
|
|
|
[ "$DEVTOOLS" = yes ] && $SCRIPTS/install debug
|
2009-09-21 06:15:23 +02:00
|
|
|
|
2009-10-08 13:42:44 +02:00
|
|
|
# Devtools for Coreboot... (not for Release)
|
2009-11-22 14:53:21 +01:00
|
|
|
[ "$COREBOOT" = yes ] && $SCRIPTS/install superiotool
|
|
|
|
|
[ "$COREBOOT" = yes ] && $SCRIPTS/install flashrom
|
|
|
|
|
[ "$COREBOOT" = yes ] && $SCRIPTS/install getpir
|
2009-03-18 13:02:53 +01:00
|
|
|
|
2010-01-19 16:07:31 +01:00
|
|
|
# setting
|
|
|
|
|
echo $TARGET_VERSION > $INSTALL/etc/release
|
|
|
|
|
|
2010-02-11 00:26:44 +01:00
|
|
|
# strip kernel modules
|
|
|
|
|
for MOD in `find $INSTALL/lib/modules/ -name *.ko`; do
|
|
|
|
|
$STRIP --strip-debug $MOD
|
|
|
|
|
done
|
|
|
|
|
|
2009-11-22 14:53:21 +01:00
|
|
|
mkdir -p $ROOT/target
|
2009-12-15 12:25:36 +01:00
|
|
|
rm -rf $ROOT/target/OpenELEC-$TARGET_VERSION.kernel
|
|
|
|
|
cp -PR $BUILD/linux-*/arch/x86/boot/bzImage $ROOT/target/OpenELEC-$TARGET_VERSION.kernel
|
2009-03-18 13:02:53 +01:00
|
|
|
|
2010-01-15 08:16:29 +01:00
|
|
|
echo "rm -rf $ROOT/target/OpenELEC-$TARGET_VERSION.system" >> $FAKEROOT_SCRIPT
|
2010-05-30 23:00:42 +02:00
|
|
|
# echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $INSTALL $ROOT/target/OpenELEC-$TARGET_VERSION.system -noappend -comp lzma" >> $FAKEROOT_SCRIPT
|
|
|
|
|
echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $INSTALL $ROOT/target/OpenELEC-$TARGET_VERSION.system -noappend" >> $FAKEROOT_SCRIPT
|
2010-01-15 08:16:29 +01:00
|
|
|
$ROOT/$TOOLCHAIN/bin/fakeroot -- $FAKEROOT_SCRIPT
|
2009-12-15 12:25:36 +01:00
|
|
|
chmod 0644 $ROOT/target/OpenELEC-$TARGET_VERSION.system
|
2010-01-15 08:16:29 +01:00
|
|
|
rm -rf $FAKEROOT_SCRIPT
|
2009-03-18 13:02:53 +01:00
|
|
|
;;
|
|
|
|
|
|
2009-12-15 12:25:36 +01:00
|
|
|
release)
|
|
|
|
|
|
|
|
|
|
$SCRIPTS/install image system
|
|
|
|
|
|
2010-01-19 16:07:31 +01:00
|
|
|
# cleanup
|
|
|
|
|
rm -rf $BUILD/$2/OpenELEC-$TARGET_VERSION
|
2009-12-15 12:25:36 +01:00
|
|
|
|
2010-01-19 16:07:31 +01:00
|
|
|
mkdir -p $BUILD/$2/OpenELEC-$TARGET_VERSION
|
|
|
|
|
cp -R $CONFIG/release/* $BUILD/$2/OpenELEC-$TARGET_VERSION
|
|
|
|
|
echo "$TARGET_VERSION" > $BUILD/$2/OpenELEC-$TARGET_VERSION/RELEASE
|
|
|
|
|
cp $ROOT/CHANGELOG $BUILD/$2/OpenELEC-$TARGET_VERSION
|
|
|
|
|
|
|
|
|
|
mkdir -p $BUILD/$2/OpenELEC-$TARGET_VERSION/licenses
|
|
|
|
|
cp $ROOT/licenses/* $BUILD/$2/OpenELEC-$TARGET_VERSION/licenses
|
|
|
|
|
|
|
|
|
|
mkdir -p $BUILD/$2/OpenELEC-$TARGET_VERSION/target
|
|
|
|
|
cp $ROOT/target/OpenELEC-$TARGET_VERSION.system $BUILD/$2/OpenELEC-$TARGET_VERSION/target/SYSTEM
|
|
|
|
|
cp $ROOT/target/OpenELEC-$TARGET_VERSION.kernel $BUILD/$2/OpenELEC-$TARGET_VERSION/target/KERNEL
|
|
|
|
|
|
|
|
|
|
# create release directory
|
|
|
|
|
mkdir -p $ROOT/target
|
|
|
|
|
|
|
|
|
|
# remove an previous created release tarball
|
|
|
|
|
rm -rf $ROOT/target/OpenELEC-$TARGET_VERSION.tar.bz2
|
|
|
|
|
tar cjf $ROOT/target/OpenELEC-$TARGET_VERSION.tar.bz2 -C $BUILD/$2 OpenELEC-$TARGET_VERSION
|
2009-12-15 12:25:36 +01:00
|
|
|
;;
|
|
|
|
|
|
2009-04-05 23:10:05 +02:00
|
|
|
qemu)
|
|
|
|
|
|
|
|
|
|
$SCRIPTS/install image system
|
|
|
|
|
|
2009-04-01 00:29:02 +02:00
|
|
|
mkdir -p $ROOT/target
|
2009-12-15 12:25:36 +01:00
|
|
|
rm -rf $ROOT/target/OpenELEC-$TARGET_VERSION-qemu.flash
|
|
|
|
|
qemu-img create -f raw $ROOT/target/OpenELEC-$TARGET_VERSION-qemu.flash 128M
|
|
|
|
|
/sbin/mkfs.ext3 -L OpenELEC -F $ROOT/target/OpenELEC-$TARGET_VERSION-qemu.flash
|
2009-03-18 13:02:53 +01:00
|
|
|
|
|
|
|
|
mkdir -p $ROOT/.tmp
|
2009-12-15 12:25:36 +01:00
|
|
|
sudo mount -o loop $ROOT/target/OpenELEC-$TARGET_VERSION-qemu.flash $ROOT/.tmp
|
|
|
|
|
cp -R $ROOT/target/OpenELEC-$TARGET_VERSION.system $ROOT/.tmp/openelec.system
|
2009-04-03 23:14:18 +02:00
|
|
|
sudo umount $ROOT/.tmp
|
2009-03-18 13:02:53 +01:00
|
|
|
|
2009-12-15 12:25:36 +01:00
|
|
|
rm -rf $ROOT/target/OpenELEC-$TARGET_VERSION-qemu.store
|
|
|
|
|
qemu-img create -f raw $ROOT/target/OpenELEC-$TARGET_VERSION-qemu.store 40M
|
|
|
|
|
/sbin/mkfs.ext3 -L OpenELEC -F $ROOT/target/OpenELEC-$TARGET_VERSION-qemu.store
|
2010-01-19 16:07:31 +01:00
|
|
|
|
2009-03-18 13:02:53 +01:00
|
|
|
;;
|
|
|
|
|
|
2009-05-05 15:25:19 +02:00
|
|
|
esac
|