[PATCH 2 of 4] builddeb: add --distid option to specify Distributor ID

Anton Shestakov av6 at dwimlabs.net
Thu Dec 3 06:09:51 CST 2015


# HG changeset patch
# User Anton Shestakov <av6 at dwimlabs.net>
# Date 1448435703 -28800
#      Wed Nov 25 15:15:03 2015 +0800
# Node ID 0430482d6e4d5f474799f84bb1d91bf5811b4031
# Parent  a038414cc0ccbf0874c506765c4ca7e09358bb17
builddeb: add --distid option to specify Distributor ID

This allows builddeb to handle distributions that are not Debian.

Distributor ID is reported by lsb_release --id, and in case of builddeb it's
usually Debian or Ubuntu.

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -162,11 +162,11 @@ osx:
 
 deb:
 	mkdir -p packages/debian-unknown
-	contrib/builddeb --codename unknown
+	contrib/builddeb --distid debian --codename unknown
 
 docker-debian-jessie:
 	mkdir -p packages/debian-jessie
-	contrib/dockerdeb jessie
+	contrib/dockerdeb debian jessie
 
 fedora20:
 	mkdir -p packages/fedora20
diff --git a/contrib/builddeb b/contrib/builddeb
--- a/contrib/builddeb
+++ b/contrib/builddeb
@@ -8,9 +8,15 @@
 
 BUILD=1
 CLEANUP=1
+DISTID=debian
 CODENAME=jessie
 while [ "$1" ]; do
     case "$1" in
+    --distid )
+        shift
+        DISTID="$1"
+        shift
+        ;;
     --codename )
         shift
         CODENAME="$1"
@@ -82,7 +88,7 @@ if [ "$BUILD" ]; then
 fi
 if [ "$CLEANUP" ] ; then
     echo
-    OUTPUTDIR=${OUTPUTDIR:=packages/debian-$CODENAME}
+    OUTPUTDIR=${OUTPUTDIR:=packages/$DISTID-$CODENAME}
     find ../mercurial*.deb ../mercurial_*.build ../mercurial_*.changes \
           -type f -newer $control -print0 | \
       xargs -Inarf -0 mv narf "$OUTPUTDIR"
diff --git a/contrib/dockerdeb b/contrib/dockerdeb
--- a/contrib/dockerdeb
+++ b/contrib/dockerdeb
@@ -8,8 +8,9 @@ export ROOTDIR=$(cd $BUILDDIR/..; pwd)
 
 checkdocker
 
-CODENAME="$1"
-PLATFORM="debian-$1"
+DISTID="$1"
+CODENAME="$2"
+PLATFORM="$1-$2"
 shift # extra params are passed to build process
 
 OUTPUTDIR=${OUTPUTDIR:=$ROOTDIR/packages/$PLATFORM}
@@ -26,8 +27,8 @@ if [ $(uname) = "Darwin" ] ; then
             sh -c "cd /mnt/$dn && make clean && make local"
 fi
 $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \
-  sh -c "cd /mnt/$dn && DEB_BUILD_OPTIONS='${DEB_BUILD_OPTIONS:=}' contrib/builddeb --build --codename $CODENAME"
-contrib/builddeb --cleanup --codename $CODENAME
+  sh -c "cd /mnt/$dn && DEB_BUILD_OPTIONS='${DEB_BUILD_OPTIONS:=}' contrib/builddeb --build --distid $DISTID --codename $CODENAME"
+contrib/builddeb --cleanup --distid $DISTID --codename $CODENAME
 if [ $(uname) = "Darwin" ] ; then
     $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \
             sh -c "cd /mnt/$dn && make clean"


More information about the Mercurial-devel mailing list