[arch-projects] [mkinitcpio] [PATCH] Add -p, --allpresets option

Dave Reisner d at falconindy.com
Mon Feb 4 20:08:26 EST 2013


On Tue, Feb 05, 2013 at 01:56:33AM +0100, Sébastien Luttringer wrote:
> On Mon, Feb 4, 2013 at 11:58 PM, Dave Reisner <dreisner at archlinux.org> wrote:
> > As a logical extension, allow the -p option to be specified multiple
> > times in order to process several presets at once.
> > ---
> > This is more along the lines of what I had in mind. Only lightly tested.
> >
> >  bash-completion      |  2 +-
> >  man/mkinitcpio.8.txt |  8 ++++++--
> >  mkinitcpio           | 28 +++++++++++++++++++---------
> >  3 files changed, 26 insertions(+), 12 deletions(-)
> >
> ...
> >  # use preset $_optpreset (exits after processing)
> > -[[ $_optpreset ]] && process_preset "$_optpreset"
> > +if (( ${#_optpreset[*]} )); then
> > +    map process_preset "${_optpreset[@]}"
> > +    exit
> > +fi
> >
> This is smaller but you don't have a clean bash context between preset
> files call. In my original patch I use a subshell to avoid this and
> this is why I doesn't use map function[1].

Fair point, but that's easily worked around by turning the entire
process_preset function into a subshell, or simply scoping the
ALL_* variables after sourcing the preset file.

> By example, the first preset file define ALL_options and a second file
> not. Without different context, second files execution will inherits
> of this var and result from 2 call with -p options.
> 
> Cheers,
> 
> [1] To be honnest, I doesn't knew that function exists :p
> 
> -- 
> Sébastien "Seblu" Luttringer
> https://www.seblu.net
> GPG: 0x2072D77A


More information about the arch-projects mailing list