Package: devscripts Version: 2.13.2 Severity: wishlist File: /usr/bin/dch Tags: patch
Hi there! It would be nice if dch configs could be overriden from the environment as per attached patch. This would likely be useful in more than my specfic use case, but here's why I'd like this feature: I work on Debian, Linaro and Ubuntu packages with Debian, Ubuntu, Linaro and other hats and from various environments. I have my shell config to set my git/bzr/dch name and email address as follow: alias debian='EMAIL="lool-nospam-debian.org" BZR_EMAIL="Loïc Minier <$EMAIL>"' alias linaro='EMAIL="loic.minier-nospam-linaro.org" BZR_EMAIL="Loïc Minier <$EMAIL>"' alias ubuntu='EMAIL="loic.minier-nospam-ubuntu.com" BZR_EMAIL="Loïc Minier <$EMAIL>"' export NAME="Loïc Minier" export EMAIL="lool-nospam-dooz.org" (inserted nospam in place of @) This alllows me to work with my Debian hat by prefixing commands with debian: debian dch -a debian debcommit or to switch my shell config to my Linaro hat with: linaro dch -a debcommit etc. I'd like to do the same with the DEBCHANGE_VENDOR which is used for version number heuristics, but currently devscripts only read from command-line or config files; hence the attached patch to read from the environment. Cheers, -- Loïc Minier
>From 87df467c805c156486e69a4e94e2fc35f3161245 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Minier?= <loic.min...@ubuntu.com> Date: Thu, 6 Jun 2013 16:06:09 +0200 Subject: [PATCH] debchange: Allow config overrides in environment --- scripts/debchange.pl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/debchange.pl b/scripts/debchange.pl index 98acd63..684e5b8 100755 --- a/scripts/debchange.pl +++ b/scripts/debchange.pl @@ -314,6 +314,11 @@ if (@ARGV and $ARGV[0] =~ /^--no-?conf$/) { my $shell_out = `/bin/bash -c '$shell_cmd'`; @config_vars{keys %config_vars} = split /\n/, $shell_out, -1; + # Allow overrides in the environment + foreach my $var (keys %config_vars) { + $config_vars{$var} = $ENV{$var} if $ENV{$var}; + } + # Check validity $config_vars{'DEBCHANGE_PRESERVE'} =~ /^(yes|no)$/ or $config_vars{'DEBCHANGE_PRESERVE'}='no'; -- 1.8.3