diff options
author | Michal Skalski <mskalski@mirantis.com> | 2015-04-16 13:40:09 +0000 |
---|---|---|
committer | Michal Skalski <mskalski@mirantis.com> | 2015-04-16 20:33:28 +0000 |
commit | 3db8c36ade39c5996632cb7019336cedb1936913 (patch) | |
tree | b5baacf6180370164d2f5090afa68e04d24aa0ac /fuel/build/patch-packages/tools | |
parent | 4b5977c92d16d1f4af9293fc874645e671674c22 (diff) |
Fix debootstrap package
This commit provide scripts to patch debootstrap package.
This should fix problems that can occur during ubuntu 12.04 installation.
More detail can be found here:
* https://bugs.launchpad.net/ubuntu/+source/debootstrap/+bug/1001131
* https://wiki.debian.org/DebianInstaller/Modify/CD#Workaround_bug_in_deboostrap
Change-Id: I881191a37ba22d336c61623ae506f7e75dcc7540
JIRA:
Signed-off-by: Michal Skalski <mskalski@mirantis.com>
Diffstat (limited to 'fuel/build/patch-packages/tools')
-rwxr-xr-x | fuel/build/patch-packages/tools/udeb_pack | 38 | ||||
-rwxr-xr-x | fuel/build/patch-packages/tools/udeb_unpack | 58 |
2 files changed, 96 insertions, 0 deletions
diff --git a/fuel/build/patch-packages/tools/udeb_pack b/fuel/build/patch-packages/tools/udeb_pack new file mode 100755 index 0000000..e961a73 --- /dev/null +++ b/fuel/build/patch-packages/tools/udeb_pack @@ -0,0 +1,38 @@ +#!/bin/bash -e +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# stefan.k.berg@ericsson.com +# jonas.bjurel@ericsson.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + + +my_exit() { + + if [ -d "$ISOROOT" ]; then + fusermount -u $ISOROOT + fi +} + +ME=$(basename $0) + +trap my_exit EXIT + +if [ ! -d udebPackage ]; then + echo "$ME: Error - package directory does not exist" + exit 1 +fi + +echo "Stepping revision number to $REV" + + +fakeroot dpkg-deb --build -Zgzip udebPackage +PKGNAME=`grep "^Package: " udebPackage/DEBIAN/control | awk '{ print $2 }'` +PKGREV=`grep "^Version: " udebPackage/DEBIAN/control | awk '{ print $2 }'` +ARCH=`grep "^Architecture: " udebPackage/DEBIAN/control | awk '{ print $2 }'` +mv udebPackage.deb ${PKGNAME}_${PKGREV}_${ARCH}.udeb + +ORIGPKG=`cat .udebpackage` diff --git a/fuel/build/patch-packages/tools/udeb_unpack b/fuel/build/patch-packages/tools/udeb_unpack new file mode 100755 index 0000000..ed9cd21 --- /dev/null +++ b/fuel/build/patch-packages/tools/udeb_unpack @@ -0,0 +1,58 @@ +#!/bin/bash -e +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# stefan.k.berg@ericsson.com +# jonas.bjurel@ericsson.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + + +my_exit() { + + if [ -d "$ISOROOT" ]; then + fusermount -u $ISOROOT + fi +} + +ME=$(basename $0) + +trap my_exit EXIT + + +if [ -z "$1" ]; then + echo "$ME: Error - No package specified" + exit 1 +fi + +if [ -z "$2" ]; then + echo "$ME: Error - No ISO path specified" + exit 1 +fi + +DEB=$1 +ORIGISO=$2 +DEST=udebPackage + +if [ -e $DEST -o -d $DEST ]; then + echo "$ME: Error - $DEST already exists" + exit 1 +fi + +ISOROOT=`mktemp -d /tmp/XXXXXXX` +fuseiso -p $ORIGISO $ISOROOT +sleep 1 + +if [ ! -f $ISOROOT/ubuntu/pool/debian-installer/$DEB ];then + echo "Could not find package $DEB in source ISO!" +fi + +mkdir -p $DEST +dpkg -x $ISOROOT/ubuntu/pool/debian-installer/$DEB $DEST + +mkdir -p $DEST/DEBIAN +dpkg -e $ISOROOT/ubuntu/pool/debian-installer/$DEB $DEST/DEBIAN + +echo $DEB > .udebpackage |