aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordancer <dancer>2001-09-05 14:26:37 +0000
committerdancer <dancer>2001-09-05 14:26:37 +0000
commit8c758a6a66daea4559ee6e8910374927069e6d97 (patch)
treeaccdda6149ba1b52445a2b7b432b2120f6a59f2a
parent6f0812b851c22d5cef656cd005e2ad581e93cc36 (diff)
downloadpbuilder-8c758a6a66daea4559ee6e8910374927069e6d97.tar
pbuilder-8c758a6a66daea4559ee6e8910374927069e6d97.tar.gz
fixing things and adding some support .. adding OR support in build-deps
-rw-r--r--debian/TODO6
-rw-r--r--debian/changelog6
-rw-r--r--debian/copyright2
-rw-r--r--debian/docs1
-rwxr-xr-xpbuilder-buildpackage49
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