[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#688794: Circular dependancy after reboot when..



On Mon, 08 Oct 2012, maximilian attems wrote:
> "Variables set by the user must have a name consisting solely of alphabet‐
> ics, numerics, and underscores - the first of which must not be numeric."
> - dash.1
> 
> it seems the initramfs-tools manpage added the "dash" along
> the lines, which is wrong for this cornercase of /tmp noexec and
> no busybox.
> Then scripts are unfortunately variable names and thus should not
> have dash in their names.

Well, I don't mind changing the name of the initramfs-tools helper scripts
in the *-microcode packages, but this _really_ needs to be documented in the
initramfs-tools manpages, AND it needs to generate an warning on
update-initramfs time.  It is really non-obvious.

However, I do propose that instead of changing intel-microcode,
amd64-microcode, and any other packages present and future that might run
afoul of this restriction, the initramfs scripts should suitably transform
all valid script names so that they can be valid variable names.

Maybe it could internally replace all characters that are valid for package
names but not for variables with "_", or just skip any characters outside of
[a-zA-Z0-9_].  This has the advantage of being a central fix, and also
avoiding a very nasty breakage on a fallback mode of the initramfs that is
rarely exercised.

Also, I suggest that initramfs-tools should either provide tsort inside the
initramfs, or drop the code that conditionally uses it.  That codepath could
be hiding landmines as well.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh


Reply to: