mirror of
				https://git.launchpad.net/livecd-rootfs
				synced 2025-10-25 05:54:16 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| # autopkgtest check: Build default rootfs for all supported project:subproject pairs
 | |
| # (C) 2017 Canonical Ltd.
 | |
| # Author: Balint Reczey <balint.reczey@canonical.com>
 | |
| 
 | |
| set -e
 | |
| 
 | |
| if [ -z "$SUITE" ]; then
 | |
|     SUITE=$(lsb_release -c -s)
 | |
| fi
 | |
| 
 | |
| # Known project:subproject:template combinations.
 | |
| # Listed subprojects can be combined with other projects as well,
 | |
| # but this list gives reasonable coverage.
 | |
| ALL_TRIPLETS="
 | |
|  edubuntu::
 | |
|  edubuntu-dvd::
 | |
|  kubuntu::
 | |
|  kubuntu-active::
 | |
|  kubuntu-dvd::
 | |
|  kubuntu-plasma5::
 | |
|  lubuntu::
 | |
|  mythbuntu::
 | |
|  ubuntu::
 | |
|  ubuntu:canary:
 | |
|  ubuntu-base::
 | |
|  ubuntu-base:buildd:
 | |
|  ubuntu-budgie::
 | |
|  ubuntu-budgie-desktop::
 | |
|  ubuntu-budgie-live::
 | |
|  ubuntu-core:system-image:ubuntu-core
 | |
|  ubuntu-cpc::ubuntu-cpc
 | |
|  ubuntu-cpc:minimized:ubuntu-cpc
 | |
|  ubuntu-dvd::
 | |
|  ubuntu-gnome::
 | |
|  ubuntukylin::
 | |
|  ubuntu-mate::
 | |
|  ubuntu-mate-core::
 | |
|  ubuntu-mate-desktop::
 | |
|  ubuntu-mate-live::
 | |
|  ubuntu-netbook::
 | |
|  ubuntu-server::
 | |
|  xubuntu::"
 | |
| 
 | |
| if [ -z "$SELECTED_TRIPLETS" ]; then
 | |
|     SELECTED_TRIPLETS="
 | |
|  ubuntu-base::
 | |
|  ubuntu-cpc::ubuntu-cpc
 | |
| "
 | |
| fi
 | |
| 
 | |
| live_build_rootfs() {
 | |
|     PROJECT=${1%%:*}
 | |
|     local SUBPROJECT_TMP=${1%:*}
 | |
|     SUBPROJECT=${SUBPROJECT_TMP#*:}
 | |
|     TEMPLATE=${1##*:}
 | |
|     ARCH=$(dpkg --print-architecture)
 | |
|     echo "Building rootfs for project: '$PROJECT' subproject: '$SUBPROJECT' template: '$TEMPLATE' in $PWD"
 | |
|     cp -a /usr/share/livecd-rootfs/live-build/auto .
 | |
|     if [ -n "$TEMPLATE" ]; then
 | |
|         cp -a /usr/share/livecd-rootfs/live-build/$TEMPLATE .
 | |
|     fi
 | |
|     env PROJECT=$PROJECT \
 | |
|          SUBPROJECT=$SUBPROJECT \
 | |
|          SUITE=$SUITE \
 | |
|          ARCH=$ARCH \
 | |
|          lb config
 | |
|     mkdir chroot
 | |
|     # this part needs root rights, but right now the whole script ran as root by autopkgtest
 | |
|     env PROJECT=$PROJECT \
 | |
|          SUBPROJECT=$SUBPROJECT \
 | |
|          ARCH=$ARCH \
 | |
|          lb build
 | |
|     echo "Build results for project: '$PROJECT' subproject: '$SUBPROJECT' template: '$TEMPLATE' in $PWD"
 | |
|     du -sh *
 | |
|     echo ""
 | |
| }
 | |
| 
 | |
| WORKDIR=$(mktemp -d)
 | |
| trap "RET=\$?; rm -rf $WORKDIR; exit \$RET" 0 INT QUIT ABRT PIPE TERM
 | |
| cd $WORKDIR
 | |
| 
 | |
| for i in $SELECTED_TRIPLETS; do
 | |
|     mkdir $i
 | |
|     (cd $i && live_build_rootfs $i)
 | |
|     # clean up after build to avoid filling the disk, needs root rights
 | |
|     rm -rf $i
 | |
| done
 | |
| 
 |