diff options
author | dancer <dancer> | 2001-09-05 14:26:37 +0000 |
---|---|---|
committer | dancer <dancer> | 2001-09-05 14:26:37 +0000 |
commit | 8c758a6a66daea4559ee6e8910374927069e6d97 (patch) | |
tree | accdda6149ba1b52445a2b7b432b2120f6a59f2a | |
parent | 6f0812b851c22d5cef656cd005e2ad581e93cc36 (diff) | |
download | pbuilder-8c758a6a66daea4559ee6e8910374927069e6d97.tar pbuilder-8c758a6a66daea4559ee6e8910374927069e6d97.tar.gz |
fixing things and adding some support .. adding OR support in build-deps
-rw-r--r-- | debian/TODO | 6 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | debian/copyright | 2 | ||||
-rw-r--r-- | debian/docs | 1 | ||||
-rwxr-xr-x | pbuilder-buildpackage | 49 |
5 files changed, 40 insertions, 24 deletions
diff --git a/debian/TODO b/debian/TODO new file mode 100644 index 0000000..1a24687 --- /dev/null +++ b/debian/TODO @@ -0,0 +1,6 @@ +TODO: + * Make pbuilder build to abort on error, and give back an errorcode. + * Use both non-us and main archives. + * Build dependency handles |, but not when [] and | exist. + * Build conflicts do not handle versions at all. + diff --git a/debian/changelog b/debian/changelog index 6621702..14ae4e2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,11 +11,11 @@ pbuilder (0.3) unstable; urgency=low * added a clean target to pbuilder program to clean up cruft. * removed the debian-changelog-mode thing at the bottom of the changelog. * added login target to pbuilder, to allow for easy debugging. - * TODO: Make pbuilder build to abort on error, and give back an errorcode. - * TODO: Use both non-us and main archives. * fixed typo in apt-line generation + * added an or-sign for build-dependency internal checker, and moving + over fully to the internal checker. - -- Junichi Uekawa <dancer@debian.org> Sat, 1 Sep 2001 19:33:56 +0900 + -- Junichi Uekawa <dancer@debian.org> Wed, 5 Sep 2001 23:26:32 +0900 pbuilder (0.2) unstable; urgency=low diff --git a/debian/copyright b/debian/copyright index 48faa07..eda4b39 100644 --- a/debian/copyright +++ b/debian/copyright @@ -3,7 +3,7 @@ Sat, 28 Jul 2001 17:05:50 +0900. It was downloaded from http://mikilab.doshisha.ac.jp/~dancer/pbuilder -Upstream Author(s): Junichi Uekawa +Upstream Author: Junichi Uekawa <dancer@netfort.gr.jp> Copyright: diff --git a/debian/docs b/debian/docs index e845566..c2c3f51 100644 --- a/debian/docs +++ b/debian/docs @@ -1 +1,2 @@ README +debian/TODO diff --git a/pbuilder-buildpackage b/pbuilder-buildpackage index b670708..960ff23 100755 --- a/pbuilder-buildpackage +++ b/pbuilder-buildpackage @@ -18,34 +18,43 @@ function checkbuilddep_internal () { # fall back to this function if checkbuilddeps is not available. local ARCH=$(dpkg --print-architecture) echo " -> Attempting to parse the build-deps by myself" - for INSTALLPKG in $(grep "^Build-Depends\(-Indep\|\): " "$BUILDPLACE/"tmp/buildd/*/debian/control | \ + for INSTALLPKGMULTI in $(grep "^Build-Depends\(-Indep\|\): " "$BUILDPLACE/"tmp/buildd/*/debian/control | \ sed 's/^[^:]*: \(.*\)$/\1/' | \ awk 'BEGIN{RS=","} {print $1}'); do - echo " -> Considering $INSTALLPKG" - if echo "$INSTALLPKG" | grep '\[' > /dev/null ; then + echo " -> Considering $INSTALLPKGMULTI" + SATISFIED="no" + for INSTALLPKG in $(echo "$INSTALLPKGMULTI" | \ + awk 'BEGIN{RS="|"} {print}'); do + echo " -> Trying to install $INSTALLPKG" + if echo "$INSTALLPKG" | grep '\[' > /dev/null ; then # this package has arch-deps. - if echo "$INSTALLPKG" | sed 's/.*\(\[.*\]\)/\1/' | grep "[[ ]!$ARCH[] ]" > /dev/null; then - # don't install this on this arch - continue; - fi - if ! echo "$INSTALLPKG" | sed 's/.*\(\[.*\]\)/\1/' | grep "[[ ]$ARCH[] ]" > /dev/null; then - # this arch is not listed. - continue; - fi - fi - echo " -> Installing $INSTALLPKG" - $CHROOTEXEC usr/bin/apt-get -y install $(echo "$INSTALLPKG" | awk '{print $1}') || ( + if echo "$INSTALLPKG" | sed 's/.*\(\[.*\]\)/\1/' | grep "[[ ]!$ARCH[] ]" > /dev/null; then + # don't install this on this arch -- satisfied? maybe. FIXME + SATISFIED="yes" + continue; + fi + if ! echo "$INSTALLPKG" | sed 's/.*\(\[.*\]\)/\1/' | grep "[[ ]$ARCH[] ]" > /dev/null; then + # this arch is not listed. -- satisfied? maybe. FIXME + SATISFIED="yes" + continue; + fi + fi + echo " -> Installing $INSTALLPKG" + $CHROOTEXEC usr/bin/apt-get -y install $(echo "$INSTALLPKG" | awk '{print $1}') && \ + SATISFIED="yes" + done; + if [ "$SATISFIED" = "no" ]; then echo Could not satisfy build-dependency. abortingfunction exit 1 - ) + fi done; for INSTALLPKG in $(grep "^Build-Conflicts\(-Indep\|\): " "$BUILDPLACE/"tmp/buildd/*/debian/control | \ sed 's/^[^:]*: \(.*\)$/\1/' | \ awk 'BEGIN{RS=","} {print $1}'); do echo " -> Considering $INSTALLPKG" if echo "$INSTALLPKG" | grep '\[' > /dev/null ; then - # this package has arch-deps. + # this package has arch-conflicts. if echo "$INSTALLPKG" | sed 's/.*\(\[.*\]\)/\1/' | grep "[[ ]!$ARCH[] ]" > /dev/null; then # don't install this on this arch continue; @@ -82,11 +91,11 @@ function checkbuilddep_using_dpkgcheckbuilddeps () { } function checkbuilddep () { - if [ -x "$BUILDPLACE/usr/bin/dpkg-checkbuilddeps" ]; then - checkbuilddep_using_dpkgcheckbuilddeps; - else +# if [ -x "$BUILDPLACE/usr/bin/dpkg-checkbuilddeps" ]; then +# checkbuilddep_using_dpkgcheckbuilddeps; +# else checkbuilddep_internal; - fi +# fi } . /usr/lib/pbuilder/pbuilder-checkparams |