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 | |
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')
-rw-r--r-- | fuel/build/patch-packages/Makefile | 2 | ||||
-rw-r--r-- | fuel/build/patch-packages/debootstrap/Makefile | 28 | ||||
-rw-r--r-- | fuel/build/patch-packages/debootstrap/debootstrap.patch | 12 | ||||
-rwxr-xr-x | fuel/build/patch-packages/tools/udeb_pack | 38 | ||||
-rwxr-xr-x | fuel/build/patch-packages/tools/udeb_unpack | 58 |
5 files changed, 137 insertions, 1 deletions
diff --git a/fuel/build/patch-packages/Makefile b/fuel/build/patch-packages/Makefile index 9eb22fe..bcaac36 100644 --- a/fuel/build/patch-packages/Makefile +++ b/fuel/build/patch-packages/Makefile @@ -8,7 +8,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -SUBDIRS := python-nova +SUBDIRS := python-nova debootstrap SUBCLEAN = $(addsuffix .clean,$(SUBDIRS)) .PHONY: $(SUBDIRS) $(SUBCLEAN) clean diff --git a/fuel/build/patch-packages/debootstrap/Makefile b/fuel/build/patch-packages/debootstrap/Makefile new file mode 100644 index 0000000..0109312 --- /dev/null +++ b/fuel/build/patch-packages/debootstrap/Makefile @@ -0,0 +1,28 @@ +############################################################################## +# 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 +############################################################################## + +TOP := $(shell pwd) + +.PHONY: all +all: + +.PHONY: clean +clean: + @rm -rf udebPackage + @rm -rf *.udeb + @rm -rf patch-replacements + @rm -rf .udebpackage + +.PHONY: release +release: + ../tools/udeb_unpack debootstrap-udeb_1.0.4*.udeb $(ORIGISO) + patch -s -p0 < debootstrap.patch + ../tools/udeb_pack $(REVSTATE) + @cp *.udeb $(UDEB_DEST) diff --git a/fuel/build/patch-packages/debootstrap/debootstrap.patch b/fuel/build/patch-packages/debootstrap/debootstrap.patch new file mode 100644 index 0000000..62342c9 --- /dev/null +++ b/fuel/build/patch-packages/debootstrap/debootstrap.patch @@ -0,0 +1,12 @@ +--- udebPackage/usr/share/debootstrap/scripts/gutsy.orig 2014-11-10 18:21:37.000000000 +0000 ++++ udebPackage/usr/share/debootstrap/scripts/gutsy 2015-04-15 09:28:44.290437000 +0000 +@@ -112,7 +112,8 @@ + + p; progress $baseprog $bases INSTCORE "Installing core packages" #2 + ln -sf mawk "$TARGET/usr/bin/awk" +- x_core_install base-files base-passwd ++ x_core_install base-passwd ++ x_core_install base-files + p; progress $baseprog $bases INSTCORE "Installing core packages" #3 + x_core_install dpkg + 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 |