Bug#863118: devscripts needs proper configuration file parsing
Osamu Aoki
osamu.aoki at gmail.com
Sat Jun 3 09:09:21 UTC 2017
On Mon, May 22, 2017 at 09:36:37AM +0100, Adam D. Barratt wrote:
> On 2017-05-22 9:14, Adrian Bunk wrote:
> > devscripts.conf(5) says:
> >
> > The two configuration files are /etc/devscripts.conf for system-wide
> > defaults and ~/.devscripts for per-user settings. They are written
> > with bash(1) syntax, but should only have comments and simple variable
> > assignments in them; they are both sourced (if present) by many of the
> > devscripts scripts.
> >
> >
> > This is a hack, not a proper handling of the configuration.
>
> fwiw, the maintainers have been in violent agreement with this for years,
> but it needs someone with tuits to replace the current situation with a
> solution that's usable from all the languages included in devscripts and
> maintains the existing semantics (it's not just simple key=value pairs,
> users are actively relying on being able to use shell within the file in
> some cases, and that at least needs considering).
I see. The "yes" command is especially bad but we can think of many
other values causing problem: "true" "false" "exit" "kill" if space is
following "=".
key= value
By rejecting such line in ~/.devscripts should prevent such annoying
problem. If you really mean to write such line, we can write:
ENV_VAR="" command
So this kind of error prone line containing set up can be excluded by a
simple grep test:
egrep -e '[^\s#]*\w+=\s+[^#]"
Also "bash -n" test may be also interesting to catch syntax error.
Such restriction are reasonable.
Osamu
More information about the devscripts-devel
mailing list