> > Confvar only unsets the variables matching the list (or regex)
> > expected by the devscript tool.
> > devscripts.conf(5) requires this behaviour.
> > Confvar does not modify HOME, or any unrelated setting.
> Hmm, I could have sworn environment was inherited before, perhaps I
> have broken it with my changes.

I was wrong. devscripts.conf does not require to ignore values from
the environment, but currently, scripts do.

> It looks like `compgen -A variable` or `compgen -v` can output the
> names of all bash variables, if you then loop through all the variables
> printing both the name and value (NUL separated) then you can just pass

I prefer to keep `set` because bashisms would break debsign.sh.

> out all variable names and values and then match them on the Perl side.

For the record, Confvar.pm was already doing this.  However, while
implementing your idea below, I have found that only outputting the
modified settings is more simple. The full list of shell variables is
only parsed when satisfying debuild and rmadison special requirements.

> This could even mean that the bash script can be converted to a static
> script file instead of a generated script embedded in Perl. Personally
> I quite dislike code where one language is embedded in another.

That is obviously a better design, thanks for the idea!
I have updated the pull request.

Reply via email to