compatibility, but this package's primary purpose is now to provide Ubuntu-specific configuration for live-build.ubuntu/precise
commit
bde83594ee
@ -1 +1,2 @@
|
|||||||
livecd.sh e2fs-zero.py usr/sbin
|
livecd.sh e2fs-zero.py usr/sbin
|
||||||
|
live-build usr/share/livecd-rootfs
|
||||||
|
@ -0,0 +1,105 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
export LC_ALL=C
|
||||||
|
|
||||||
|
. "${LB_BASE:-/usr/share/live/build}"/scripts/build.sh
|
||||||
|
|
||||||
|
Arguments "${@}"
|
||||||
|
|
||||||
|
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
|
||||||
|
Set_defaults
|
||||||
|
|
||||||
|
(
|
||||||
|
lb bootstrap "$@"
|
||||||
|
lb chroot "$@"
|
||||||
|
|
||||||
|
echo "===== Checking size of /usr/share/doc ====="
|
||||||
|
echo BEGIN docdirs
|
||||||
|
(cd chroot && find usr/share/doc -maxdepth 1 -type d | xargs du -s | sort -nr)
|
||||||
|
echo END docdirs
|
||||||
|
|
||||||
|
if which fdupes >/dev/null 2>&1; then
|
||||||
|
echo "===== Checking for duplicate files ====="
|
||||||
|
echo "first line: <total size for dupes> <different dupes> <all dupes>"
|
||||||
|
echo "data lines: <size for dupes> <number of dupes> <file size> <filename> [<filename> ...]"
|
||||||
|
echo BEGIN fdupes
|
||||||
|
(cd chroot \
|
||||||
|
&& fdupes --recurse --noempty --sameline --size --quiet usr \
|
||||||
|
| awk '/bytes each/ {s=$1} /^usr/ { n+=1; n2+=NF-1; sum+=s*(NF-1); print s*(NF-1), NF-1, s, $0 } END {print sum, n, n2}' \
|
||||||
|
| sort -nr
|
||||||
|
)
|
||||||
|
echo END fdupes
|
||||||
|
fi
|
||||||
|
|
||||||
|
lb binary "$@"
|
||||||
|
) 2>&1 | tee binary.log
|
||||||
|
|
||||||
|
# Link output files somewhere BuildLiveCD will be able to find them.
|
||||||
|
PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
|
||||||
|
|
||||||
|
case $LB_INITRAMFS in
|
||||||
|
casper)
|
||||||
|
INITFS="casper"
|
||||||
|
;;
|
||||||
|
|
||||||
|
live-boot)
|
||||||
|
INITFS="live"
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
INITFS="boot"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
for OUTPUT in ext2 ext3 manifest manifest-remove size squashfs; do
|
||||||
|
[ -e "binary/$INITFS/filesystem.$OUTPUT" ] || continue
|
||||||
|
ln "binary/$INITFS/filesystem.$OUTPUT" "$PREFIX.$OUTPUT"
|
||||||
|
chmod 644 "$PREFIX.$OUTPUT"
|
||||||
|
done
|
||||||
|
|
||||||
|
for FLAVOUR in $LB_LINUX_FLAVOURS; do
|
||||||
|
KVERS="$( (cd "binary/$INITFS"; ls vmlinu?-*) | sed -n "s/^vmlinu.-\\([^-]*-[^-]*-$FLAVOUR\\)/\\1/p" )"
|
||||||
|
if [ -z "$KVERS" ]; then
|
||||||
|
echo "No kernel output for $FLAVOUR!" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
NUMKVERS="$(set -- $KVERS; echo $#)"
|
||||||
|
if [ "$NUMKVERS" -gt 1 ]; then
|
||||||
|
echo "Cannot handle more than one kernel for $FLAVOUR ($KVERS)!" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
ln "binary/$INITFS/"vmlinu?-"$KVERS" "$PREFIX.kernel-$FLAVOUR"
|
||||||
|
chmod 644 "$PREFIX.kernel-$FLAVOUR"
|
||||||
|
if [ -e "binary/$INITFS/initrd.img-$KVERS" ]; then
|
||||||
|
ln "binary/$INITFS/initrd.img-$KVERS" "$PREFIX.initrd-$FLAVOUR"
|
||||||
|
chmod 644 "$PREFIX.initrd-$FLAVOUR"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
NUMFLAVOURS="$(set -- $LB_LINUX_FLAVOURS; echo $#)"
|
||||||
|
if [ "$NUMFLAVOURS" = 1 ]; then
|
||||||
|
# only one kernel flavour
|
||||||
|
ln -sf "$PREFIX.kernel-$LB_LINUX_FLAVOURS" "$PREFIX.kernel"
|
||||||
|
ln -sf "$PREFIX.initrd-$LB_LINUX_FLAVOURS" "$PREFIX.initrd"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# LTSP chroot building (only in 32bit and for Edubuntu (DVD))
|
||||||
|
case $PROJECT in
|
||||||
|
edubuntu-dvd)
|
||||||
|
if [ "$ARCH" = i386 ]; then
|
||||||
|
echo "Building LTSP chroot"
|
||||||
|
ltsp-build-client --base $(pwd) --mirror $LB_PARENT_MIRROR_BOOTSTRAP --arch $ARCH --dist $LB_PARENT_DISTRIBUTION --chroot ltsp-live --late-packages ldm-edubuntu-theme,plymouth-theme-edubuntu --purge-chroot --skipimage
|
||||||
|
mkdir -p images
|
||||||
|
mksquashfs ltsp-live images/ltsp-live.img -noF -noD -noI -no-exports -e cdrom
|
||||||
|
rm -Rf ltsp-live
|
||||||
|
if [ -f images/ltsp-live.img ]; then
|
||||||
|
mv images/ltsp-live.img livecd.$PROJECT-ltsp.squashfs
|
||||||
|
chmod 0644 livecd.$PROJECT-ltsp.squashfs
|
||||||
|
rmdir --ignore-fail-on-non-empty images
|
||||||
|
else
|
||||||
|
echo "LTSP: Unable to build the chroot, see above for details."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
@ -0,0 +1,8 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
lb clean noauto "$@"
|
||||||
|
|
||||||
|
rm -rf config
|
||||||
|
rm -f binary.manifest binary.manifest-desktop binary.log
|
||||||
|
rm -f livecd.*
|
@ -0,0 +1,172 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -z "$MIRROR" ]; then
|
||||||
|
case $(hostname --fqdn) in
|
||||||
|
bld-*.mmjgroup.com) ;;
|
||||||
|
*.mmjgroup.com)
|
||||||
|
case $ARCH in
|
||||||
|
i386|amd64) MIRROR=http://archive.mmjgroup.com/ubuntu/ ;;
|
||||||
|
*) MIRROR=http://archive.mmjgroup.com/ubuntu-ports/ ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*.0c3.net) MIRROR=http://ftp.iinet.net.au/linux/ubuntu/ ;;
|
||||||
|
*.ubuntu.com) MIRROR=http://ftpmaster.internal/ubuntu/ ;;
|
||||||
|
*.warthogs.hbd.com) MIRROR=http://ftpmaster.internal/ubuntu/ ;;
|
||||||
|
*.buildd) MIRROR=http://ftpmaster.internal/ubuntu/ ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p config/chroot_local-tasklists config/chroot_local-packagelists
|
||||||
|
rm -f config/chroot_local-tasklists/livecd-rootfs.list config/chroot_local-packagelists/livecd-rootfs.list
|
||||||
|
|
||||||
|
add_task ()
|
||||||
|
{
|
||||||
|
local pass="$1"
|
||||||
|
shift
|
||||||
|
local task
|
||||||
|
|
||||||
|
for task; do
|
||||||
|
echo "$task" >> "config/chroot_local-tasklists/livecd-rootfs.list.$pass"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
add_package ()
|
||||||
|
{
|
||||||
|
local pass="$1"
|
||||||
|
shift
|
||||||
|
local pkg
|
||||||
|
|
||||||
|
for pkg; do
|
||||||
|
echo "$pkg" >> "config/chroot_local-packagelists/livecd-rootfs.list.$pass"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
OPTS=
|
||||||
|
COMPONENTS=
|
||||||
|
BINARY_REMOVE_LINUX=true
|
||||||
|
|
||||||
|
case $IMAGEFORMAT in
|
||||||
|
ext2|ext3)
|
||||||
|
OPTS="${OPTS:+$OPTS }--initramfs none"
|
||||||
|
add_package live jasper
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
add_package live lupin-casper
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $PROJECT in
|
||||||
|
ubuntu|ubuntu-dvd)
|
||||||
|
add_task install minimal standard ubuntu-desktop
|
||||||
|
add_task live ubuntu-live
|
||||||
|
;;
|
||||||
|
|
||||||
|
kubuntu|kubuntu-dvd)
|
||||||
|
add_task install minimal standard kubuntu-desktop
|
||||||
|
add_task live kubuntu-live
|
||||||
|
;;
|
||||||
|
|
||||||
|
kubuntu-mobile)
|
||||||
|
add_task install minimal standard kubuntu-mobile
|
||||||
|
add_task live kubuntu-mobile-live
|
||||||
|
COMPONENTS='main restricted universe'
|
||||||
|
;;
|
||||||
|
|
||||||
|
edubuntu|edubuntu-dvd)
|
||||||
|
add_task install minimal standard edubuntu-desktop-gnome
|
||||||
|
add_task live edubuntu-live
|
||||||
|
COMPONENTS='main restricted universe'
|
||||||
|
;;
|
||||||
|
|
||||||
|
xubuntu)
|
||||||
|
add_task install minimal standard xubuntu-desktop
|
||||||
|
add_package install xterm
|
||||||
|
add_task live edubuntu-live
|
||||||
|
COMPONENTS='main restricted universe multiverse'
|
||||||
|
;;
|
||||||
|
|
||||||
|
ubuntu-netbook)
|
||||||
|
add_task install minimal standard ubuntu-netbook
|
||||||
|
add_task live netbook-live
|
||||||
|
;;
|
||||||
|
|
||||||
|
mythbuntu)
|
||||||
|
add_task install minimal standard mythbuntu-desktop
|
||||||
|
add_task live mythbuntu-live
|
||||||
|
COMPONENTS='main restricted universe multiverse'
|
||||||
|
;;
|
||||||
|
|
||||||
|
base)
|
||||||
|
add_task install minimal standard
|
||||||
|
;;
|
||||||
|
|
||||||
|
ubuntu-headless)
|
||||||
|
add_task install minimal standard
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "unknown project $PROJECT" >&2
|
||||||
|
exit 2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
case $PROJECT in
|
||||||
|
*-dvd)
|
||||||
|
add_task live "$PROJECT-live"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $ARCH in
|
||||||
|
armel)
|
||||||
|
KERNEL_FLAVOURS="$SUBARCH"
|
||||||
|
case $SUBARCH in
|
||||||
|
dove)
|
||||||
|
BINARY_REMOVE_LINUX=false
|
||||||
|
;;
|
||||||
|
omap)
|
||||||
|
add_package install x-loader-omap3-beagle u-boot-linaro-omap3-beagle
|
||||||
|
BINARY_REMOVE_LINUX=false
|
||||||
|
;;
|
||||||
|
omap4)
|
||||||
|
add_package install x-loader-omap4-panda u-boot-linaro-omap4-panda
|
||||||
|
BINARY_REMOVE_LINUX=false
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
lb config noauto \
|
||||||
|
--mode ubuntu \
|
||||||
|
--distribution "$SUITE" \
|
||||||
|
--bootstrap-keyring ubuntu-keyring \
|
||||||
|
--binary-images none \
|
||||||
|
--binary-remove-linux "$BINARY_REMOVE_LINUX" \
|
||||||
|
--memtest none \
|
||||||
|
--source false \
|
||||||
|
--build-with-chroot false \
|
||||||
|
${MIRROR:+--parent-mirror-bootstrap $MIRROR} \
|
||||||
|
${COMPONENTS:+--parent-archive-areas "$COMPONENTS"} \
|
||||||
|
--package-lists none \
|
||||||
|
--initsystem none \
|
||||||
|
--bootloader none \
|
||||||
|
--initramfs-compression lzma \
|
||||||
|
$OPTS
|
||||||
|
|
||||||
|
case $PROJECT in
|
||||||
|
kubuntu|kubuntu-mobile)
|
||||||
|
ln -s /usr/share/live/build/examples/hooks/kubuntu_chroot_icon-theme.sh config/chroot_local-hooks/
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $PROJECT in
|
||||||
|
*-dvd)
|
||||||
|
. config/bootstrap
|
||||||
|
|
||||||
|
cat > config/chroot_sources/dvd.binary << EOF
|
||||||
|
deb $LB_PARENT_MIRROR_BINARY $SUITE universe multiverse
|
||||||
|
deb $LB_PARENT_MIRROR_BINARY_SECURITY $SUITE-security universe multiverse
|
||||||
|
deb $LB_PARENT_MIRROR_BINARY_VOLATILE $SUITE-updates universe multiverse
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
esac
|
Loading…
Reference in new issue