From 0dc3f0f47121860d1dc1c03b972b5a4390a22f5b Mon Sep 17 00:00:00 2001 From: dancer Date: Tue, 8 Apr 2003 14:07:01 +0000 Subject: 0.71 -- fix UML umount problem by not umounting at all --- ChangeLog | 17 +++++++++++++++++ Documentation/pbuilder-doc.xml | 32 +++++++++++++++++++++++--------- debian/TODO | 2 ++ debian/changelog | 8 ++++++++ pbuilder-checkparams | 12 +++++++++++- pbuilder-modules | 5 +++++ pbuilder-user-mode-linux | 5 ----- 7 files changed, 66 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9d4628a..c45bae0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2003-04-08 Junichi Uekawa + + * Documentation/pbuilder-doc.xml: update documentation a bit. + + * debian/TODO: update the TODO file wrt bind-mount/hostfs for UML. + + * pbuilder-user-mode-linux: Do not try to umount + the mountpoints. There is no point in doing that. + This works around the problem of non-upgradable UML. + + * pbuilder-modules (pbuilder-options): support IGNORE_UMOUNT + option, and do not umount. + + * pbuilder-checkparams (IGNORE_UMOUNT): split --no-targz and + --internal-build-uml. + new variable IGNORE_UMOUNT, for ignoring umount. + 2003-04-06 Junichi Uekawa * Documentation/pbuilder-doc.xml (EXTRAPACKAGES): document diff --git a/Documentation/pbuilder-doc.xml b/Documentation/pbuilder-doc.xml index a5680f3..ea58a1b 100644 --- a/Documentation/pbuilder-doc.xml +++ b/Documentation/pbuilder-doc.xml @@ -318,7 +318,11 @@ There are some people who use pbuilder to automatically back-port a subset of packages to the stable distribution. - Any URL? + + + I would like some information on how people are doing it, + I would appreciate any feedback or information on + how you are doing, or any examples. @@ -345,14 +349,16 @@ Using pbuilder for testing build with alternate compilers - Most packages are compiled with gcc or g++ + Most packages are compiled with gcc + or g++ and using the default compiler version, which was gcc 2.95 for Debian GNU/Linux 3.0 (i386). - However, Debian distributes other compilers, also, and provides - binaries such as gcc-3.2 for gcc compiler version 3.2. - It is therefore possible to try compiling packages against different + However, Debian 3.0 was distributed with other compilers, and provided + binaries such as gcc-3.2 for gcc compiler + version 3.2. + It was therefore possible to try compiling packages against different compiler versions. - pentium-builder provides an infrastructure for using different - compiler for building packages than the default gcc, by + pentium-builder provides an infrastructure for + using different compiler for building packages than the default gcc, by becoming a wrapper script called gcc, that calls the real gcc. To use pentium-builder in pbuilder, it is possible to set up the following in the configuration: @@ -386,6 +392,10 @@ export DEBIAN_BUILDGCCVER=3.2 past. Future prediction features may be added later when we can successfully handle the past. + + There are people who occasionally backport debootstrap to stable + versions, hunt for them. + Notes on usage of $TMPDIR @@ -662,7 +672,7 @@ read - + Using LVM LVM has snapshot function that features Copy-on-write images. @@ -671,8 +681,12 @@ read It may prove to be faster, but it is not implemented yet, and so no measurement has been made, yet. + + Since user-mode-linux port seems to be more interesting, + this is abandoned. + - + Using pbuilder without tar.gz diff --git a/debian/TODO b/debian/TODO index 07126a9..023983f 100644 --- a/debian/TODO +++ b/debian/TODO @@ -2,6 +2,8 @@ TODO and possible bugs: * BUG: Too many options! Creeping featurism!! +* Fix pbuilder-user-mode-linux bind-mount, it probably needs to be done via hostfs for better performance. + * Build dependency handles |, but not when [] and | exist. -- no package should be using it ? * Machine type specification in Build dependency should either have [!xxx !xxx !xxx ...] or [xxx xxx xxx ...] [!xxx xxx] formats are not parsed, and should really not exist. diff --git a/debian/changelog b/debian/changelog index b0e5d24..ffe8832 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +pbuilder (0.71) unstable; urgency=low + + * UML: Do not try to umount, it's going to kernel-panic anyway. + - this fixes the problem of 'cannot umount because daemons are using + /proc' + + -- Junichi Uekawa Tue, 8 Apr 2003 22:50:43 +0900 + pbuilder (0.70) unstable; urgency=low * Support bind-mount, patch from Sam Hartman, thanks. diff --git a/pbuilder-checkparams b/pbuilder-checkparams index 57617f2..31a99ee 100755 --- a/pbuilder-checkparams +++ b/pbuilder-checkparams @@ -29,6 +29,9 @@ PBUILDER_BUILD_LOGFILE= USE_PKGNAME_LOGFILE="" PRESERVE_BUILDPLACE="no" +#option for user-mode-linux only. +IGNORE_UMOUNT="" + while [ -n "$1" ]; do case "$1" in --basetgz) @@ -148,10 +151,17 @@ while [ -n "$1" ]; do CHROOTEXEC="$2" shift; shift; ;; - --internal-build-uml|--no-targz) + --no-targz) + # specify this option if I am running in no-targz mode + echo " -> Running in no-targz mode" + INTERNAL_BUILD_UML="yes" + shift; + ;; + --internal-build-uml) # specify this option if I am running inside UML. echo " -> Running in pbuilder-user-mode-linux mode" INTERNAL_BUILD_UML="yes" + IGNORE_UMOUNT="yes" shift; ;; diff --git a/pbuilder-modules b/pbuilder-modules index ad833d9..71fbfea 100644 --- a/pbuilder-modules +++ b/pbuilder-modules @@ -75,6 +75,11 @@ EOF } function umount_one () { + if [ "${IGNORE_UMOUNT}" = "yes" ]; then + # support ignore umount option. + echo " -> ignoring umount of $1 filesystem" + return + fi echo " -> unmounting $1 filesystem" if ! umount "$BUILDPLACE/$1"; then echo "W: Retrying to unmount $1" diff --git a/pbuilder-user-mode-linux b/pbuilder-user-mode-linux index 66b23fe..b474c4b 100755 --- a/pbuilder-user-mode-linux +++ b/pbuilder-user-mode-linux @@ -115,11 +115,6 @@ else fi pbuilder "$1" ${UML_EXTRAOPT} \${EXTRAOPT} --buildresult "\${BUILDRESULT}" --buildplace "${UML_CHROOT_MOUNTPOINT}" --internal-build-uml ${BUILDING_DSC_FILE} echo \$? > /proc/exitcode -echo "Umounting ${UML_CHROOT_MOUNTPOINT}" -umount ${UML_CHROOT_MOUNTPOINT} -if [ -n "${UML_BUILDRESULT}" ]; then - umount "${UML_CHROOT_BUILDRESULTMOUNTDIR}" -fi EOF chmod a+x ${INSIDE_PBUILDER} -- cgit v1.2.3