Add support for building classic images using makefile-based gadget trees.

sil2100/raspi-wpasupplicant
Łukasz 'sil2100' Zemczak 6 years ago
parent 41b4130759
commit f8529c9038

4
debian/control vendored

@ -23,6 +23,7 @@ Depends: ${misc:Depends},
live-build (>= 3.0~a57-1ubuntu31~), live-build (>= 3.0~a57-1ubuntu31~),
lsb-release, lsb-release,
lzma, lzma,
make,
parted, parted,
procps, procps,
python-minimal | python, python-minimal | python,
@ -32,7 +33,8 @@ Depends: ${misc:Depends},
rsync, rsync,
snapd, snapd,
squashfs-tools (>= 1:3.3-1), squashfs-tools (>= 1:3.3-1),
sudo, sudo
u-boot-tools [armhf arm64],
ubuntu-image, ubuntu-image,
vmdk-stream-converter [amd64 i386], vmdk-stream-converter [amd64 i386],
xz-utils, xz-utils,

@ -23,12 +23,26 @@ PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
if [ "${IMAGEFORMAT:-}" = "ubuntu-image" ]; then if [ "${IMAGEFORMAT:-}" = "ubuntu-image" ]; then
# Use ubuntu-image instead of live-build # Use ubuntu-image instead of live-build
CHANNEL="${CHANNEL:-edge}" if [ "$PROJECT" = "ubuntu-core"]; then
env SNAPPY_STORE_NO_CDN=1 \ CHANNEL="${CHANNEL:-edge}"
ubuntu-image -c "$CHANNEL" $UBUNTU_IMAGE_ARGS \ env SNAPPY_STORE_NO_CDN=1 \
-o "$PREFIX".img "$PREFIX".model-assertion ubuntu-image snap -c "$CHANNEL" $UBUNTU_IMAGE_ARGS \
xz -0 -T4 "$PREFIX".img -o "$PREFIX".img "$PREFIX".model-assertion
mv seed.manifest "$PREFIX".manifest xz -0 -T4 "$PREFIX".img
mv seed.manifest "$PREFIX".manifest
else
# First we need to build the gadget tree
(
cd config/$PREFIX-gadget
make && make install
)
ubuntu-image classic $UBUNTU_IMAGE_ARGS \
-p $PROJECT -a $ARCH --subarch $SUBARCH \
-o "$PREFIX".img config/$PREFIX-gadget/install
xz -0 -T4 "$PREFIX".img
mv filesystem.manifest "$PREFIX".manifest
fi
exit 0 exit 0
fi fi

@ -179,28 +179,50 @@ case $IMAGEFORMAT in
exit 1 exit 1
;; ;;
esac esac
case $MODEL in
pc-amd64|pc-i386)
UBUNTU_IMAGE_ARGS="--image-size 3700M" ;;
*)
UBUNTU_IMAGE_ARGS="" ;;
esac
case $SUITE in
xenial)
# Ubuntu Core 16
;;
*)
# Ubuntu Core 18
MODEL="ubuntu-core-18-${MODEL#pc-}" ;;
esac
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common if [ $PROJECT = "ubuntu-core" ]; then
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common # snap-based core images
# Store model assertion in top dir to get it picked up later as a build artifact
env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 model="$MODEL" brand-id=canonical > "$PREFIX".model-assertion case $SUITE in
echo "Configured ubuntu-image for the following model assertion:" xenial)
cat "$PREFIX".model-assertion # Ubuntu Core 16
echo "----------------------------------------------------------" ;;
*)
# Ubuntu Core 18
MODEL="ubuntu-core-18-${MODEL#pc-}" ;;
esac
case $MODEL in
pc-amd64|pc-i386)
UBUNTU_IMAGE_ARGS="--image-size 3700M" ;;
*)
UBUNTU_IMAGE_ARGS="" ;;
esac
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common
# Store model assertion in top dir to get it picked up later as a build artifact
env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 model="$MODEL" brand-id=canonical > "$PREFIX".model-assertion
echo "Configured ubuntu-image for the following model assertion:"
cat "$PREFIX".model-assertion
echo "----------------------------------------------------------"
else
# classic images
UBUNTU_IMAGE_ARGS=""
if [ "$PROPOSED" ]; then
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --with-proposed"
fi
if [ "$EXTRA_PPAS" ]; then
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --extra-ppas \"$EXTRA_PPAS\""
fi
git clone lp:~canonical-foundations/snap-$MODEL/+git/github-mirror -b classic config/$PREFIX-gadget
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common
echo "Configured ubuntu-image for the following gadget model: $MODEL"
fi
# Fake finished configuration for lb build # Fake finished configuration for lb build
mkdir -p .build mkdir -p .build
touch .build/config touch .build/config

Loading…
Cancel
Save