mirror of
https://github.com/YunoHost/cd_build.git
synced 2024-09-03 20:06:24 +02:00
Building on stretch (#7)
* Cosmetics / try to avoid a few unecessary error message (rm without -f) * Use isohybrid to add MBR/EFI stuff such that the iso is bootable with dd/Etcher * Missing dependency cpio when running on stretch * On stretch, build-simple-cdd output is not ISO 9660 * Cosmetics / adjusment / fixes when running on stretch...
This commit is contained in:
parent
c3f7db27d7
commit
3b1e427272
4 changed files with 45 additions and 16 deletions
|
@ -13,7 +13,7 @@ Installation
|
|||
```
|
||||
git clone git://github.com/YunoHost/cd_build.git
|
||||
cd cd_build
|
||||
sudo apt-get install -f simple-cdd genisoimage qemu-kvm xorriso syslinux-utils
|
||||
sudo apt-get install -f simple-cdd genisoimage qemu-kvm xorriso syslinux-utils cpio
|
||||
```
|
||||
|
||||
Build an image
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
set -x
|
||||
|
||||
is_iso() {
|
||||
file "$1" | grep -q "ISO 9660"
|
||||
file "$1" | grep -q "ISO 9660\|DOS/MBR boot sector"
|
||||
}
|
||||
|
||||
is_initrd() {
|
||||
|
|
|
@ -28,23 +28,41 @@ function build
|
|||
sed -i "s#$REPO_URL jessie stable testing#$REPO_URL $DEB_DIST stable#" profiles/*.preseed
|
||||
sed -i "s#$REPO_URL stretch stable testing#$REPO_URL $DEB_DIST stable#" profiles/*.preseed
|
||||
fi
|
||||
|
||||
# Build a simple/regular debian CD image ?
|
||||
build-simple-cdd --dist $DEB_DIST --conf ./simple-cdd-$ARCH.conf
|
||||
|
||||
# Find the release version of debian
|
||||
local DEBNUM="$(grep "Version:" tmp/${DEB_DIST}_Release | awk '{print $2;}')"
|
||||
|
||||
# Find the release version of YunoHost
|
||||
wget ${REPO_URL}dists/${DEB_DIST}/${DIST}/binary-i386/Packages.gz
|
||||
info "Finding out current YunoHost's stable vesion number"
|
||||
wget -q ${REPO_URL}dists/${DEB_DIST}/${DIST}/binary-i386/Packages.gz
|
||||
gunzip Packages.gz
|
||||
YNH_VERSION=$(grep "^Package: yunohost$" --after-context=1 Packages | grep "Version" | awk '{print $2;}')
|
||||
rm -f Packages
|
||||
|
||||
rm -f images/yunohost-$DEB_DIST-$YNH_VERSION-$ARCH-$DIST.iso
|
||||
$(pwd)/add-firmware-to images/debian-$DEBNUM-$ARCH-CD-1.iso images/yunohost-$DEB_DIST-$YNH_VERSION-$ARCH-$DIST.iso $DEB_DIST
|
||||
rm -f images/debian-$DEBNUM-$ARCH-CD-1.iso
|
||||
rm -f images/debian-$DEBNUM-$ARCH-CD-1.list.gz
|
||||
success "The image should now be available in images/yunohost-$DEB_DIST-$YNH_VERSION-$ARCH-$DIST.iso"
|
||||
local CD_STUFF="images/debian-$DEBNUM-$ARCH-CD"
|
||||
|
||||
# build-simple-cdd is stupid and doesn't name its output correctly -.- ...
|
||||
mv images/debian-*-$ARCH-CD-1.iso $CD_STUFF.iso
|
||||
mv images/debian-*-$ARCH-CD-1.list.gz $CD_STUFF.list.gz
|
||||
|
||||
local OUTPUT="images/yunohost-$DEB_DIST-$YNH_VERSION-$ARCH-$DIST.iso"
|
||||
|
||||
[ -e "$CD_STUFF.iso" ] \
|
||||
|| critical "Expected to find $CD_STUFF.iso but it's not here ?"
|
||||
|
||||
rm -f $OUTPUT
|
||||
|
||||
$(pwd)/add-firmware-to $CD_STUFF.iso $OUTPUT $DEB_DIST
|
||||
|
||||
rm -f $CD_STUFF.iso
|
||||
rm -f $CD_STUFF.list.gz
|
||||
|
||||
[ -e $OUTPUT ] \
|
||||
&& success "The image should now be available in $OUTPUT" \
|
||||
|| critical "Something wrong happened when build the image :|"
|
||||
}
|
||||
|
||||
# Sign the new iso
|
||||
|
@ -57,6 +75,7 @@ function sign
|
|||
info "Signing image $NAME ..."
|
||||
|
||||
gpg --output $NAME.sig --detach-sig $NAME
|
||||
|
||||
sha256sum $NAME > $NAME.sum
|
||||
}
|
||||
|
||||
|
@ -64,7 +83,8 @@ function build_and_sign
|
|||
{
|
||||
local ARCH="$1"
|
||||
|
||||
rm -r $(pwd)/tmp
|
||||
rm -rf $(pwd)/tmp
|
||||
rm -rf $(pwd)/images/debian*
|
||||
build $ARCH
|
||||
sign $ARCH
|
||||
}
|
||||
|
|
21
common.sh
21
common.sh
|
@ -29,15 +29,24 @@ function info()
|
|||
function warn()
|
||||
{
|
||||
local msg=${1}
|
||||
echo " "
|
||||
echo "[${BOLD}${ORANGE}WARN${NORMAL}] ${msg}"
|
||||
echo " "
|
||||
echo " " 2>&1
|
||||
echo "[${BOLD}${ORANGE}WARN${NORMAL}] ${msg}" 2>&1
|
||||
echo " " 2>&1
|
||||
}
|
||||
|
||||
function error()
|
||||
{
|
||||
local msg=${1}
|
||||
echo " "
|
||||
echo "[${BOLD}${RED}FAIL${NORMAL}] ${msg}"
|
||||
echo " "
|
||||
echo " " 2>&1
|
||||
echo "[${BOLD}${RED}FAIL${NORMAL}] ${msg}" 2>&1
|
||||
echo " " 2>&1
|
||||
}
|
||||
|
||||
function critical()
|
||||
{
|
||||
local msg=${1}
|
||||
echo " " 2>&1
|
||||
echo "[${BOLD}${RED}CRIT${NORMAL}] ${msg}" 2>&1
|
||||
echo " " 2>&1
|
||||
exit 1
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue