Re: emdebian-tools 1.4.3 - RC fix - freeze exception request
Neil Williams wrote:
> On Thu, 2008-08-21 at 10:03 +0200, Marc 'HE' Brockschmidt wrote:
>> Neil Williams <email@example.com> writes:
>>> * two suite scripts force installation of conflicting packages
>>> (Closes: #494622) fix by dropping sysv-rc. Therefore complete the
>>> implementation of the replacement for the perl update-rc.d script
>>> from sysv-rc in shell across all suite scripts: r4711. Ensure
>>> /etc/rc.d/ exists for shell update-rc.d support: r4699. Implement
>>> shell replacement for update-rc.d: r4677 (this was the commit that
>>> omitted to make the change across all suite scripts, requiring r4711).
>> I'm not exactly sure where this shell-version is used, could you please
>> explain a bit about that?
> Only in an Emdebian installation and only if the developer does not
> provide a better alternative. Any Emdebian installation can be
> customised by adding a custom package that drops in replacements for
> such files during the generation of the root filesystem. Emdebian has a
> list of "basic files" that can be used as fallbacks if no package
> creates them - the various files can be added or removed by using
> customised suite scripts.
>> It's fairly incomplete, and some of the
>> standard constructs of the perl version aren't supported (specifying
>> stop before start, it doesn't implements safeguards against adding the
>> same script with several sequence numbers, ...)
> Let's be honest here, it is very incomplete - skeletal is the intention
> here, every Kb matters. ;-)
> ("small is good, tiny is better, absolute-bare-bones is ideal")
> So, yes, that is deliberate - the safeguards are dropped for reasons of
> speed of processing and code simplicity. In the end, Emdebian just does
> not need the extra code - the more rigorous testing within Debian means
> that any Emdebian default can afford to be simpler, whenever the full
> Debian version cannot be supported. Phil Hands and I worked on it at
> DebConf8 with the deliberate intention of making it as small and
> feature-poor as possible without breaking the packages we actually use.
> All I need from the shell replacement is the ability to create some
> symlinks that approximate to what might happen if Debian was to be
> created without runlevel support. I'll have to see whether stop before
> start is relevant to an embedded device - and actually deployed in any
> packages that Emdebian cares about - but thanks for the tip.
> This bug was about providing a replacement for the perl script because
> the perl code simply cannot be run on an Emdebian device so
> installations would break completely. We experimented with a no-op shell
> script and manually specified symlinks (those are the symlink_rcS
> subroutine calls removed from the suite scripts in the same revisions)
> but in the end the solution was to have the absolute minimum number of
> features from the perl version so that we could still use the maintainer
> scripts of the packages we actually use (700 binaries out of the 20,000
> in Debian) but coerce them into working with a single runlevel and
> minimal update-rc.d (and invoke-rc.d) support. Simply removing the
> sysv-rc conflict was not a solution because the installation would
> simply break. Trying to implement the safeguards of the perl script
> within the shell replacement was impractical and largely pointless for
> the package subset that we actually use.
> There is no intention to implement the shell version outside Emdebian or
> try to include it in any non-embedded installation.