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

Mykola Nikishov mn at mn.com.ua
Thu Dec 3 14:01:10 CST 2015


Anton Shestakov <av6 at dwimlabs.net> writes:

> # 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.

Just for the record: Debian drops all the LSB compatibility packages
besides lsb-release and lsb-base, [1], [2]

[1] http://metadata.ftp-master.debian.org/changelogs/main/l/lsb/lsb_9.20150917_changelog
[2] https://lists.debian.org/debian-lsb/2015/11/msg00000.html

> 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"
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel



More information about the Mercurial-devel mailing list