[maemo-developers] busybox symlinks discussion

From: Eero Tamminen eero.tamminen at nokia.com
Date: Mon Dec 15 19:11:43 EET 2008
Hi,

ext David Horn wrote:
>>> Since rm and tar will disappear as part of dpkg removing diablo
>>> busybox prior to installing my new busybox (as already discussed, this
>>> {temporary rm/tar} is a one-time need, as future busybox should track
>>> upstream)
>> If rm/tar symlinks are in separate package, temporary links
>> are going to be always needed for upgrades.
> 
> I'm not certain I understand (or perhaps I am missing the point).

This was scenario where the symlink thing has exact version dependency
to Busybox i.e. that goes away when Busybox goes away, but actually
with your setup the dependency wouldn't need to be versioned as it
would work also with different Busybox configurations.


 > If rm/tar symlinks ARE in the same busybox package as /bin/buybox, any
 > busybox package replacement  will break dpkg, and require temporary
 > links as a solution.

If both old and new busybox packages are providing them, it should work
fine. (Debian has had to handle these kind of things much earlier than
Maemo)


[...]
>> After having tested these things a bit and briefly discussing with
>> the dpkg maintainer, I had come to a conclusion that trying to support
>> replacement of distribution essentials isn't a completely sane goal...
> 
> I'm right there with you!  Lack of sanity never stopped anyone before however ;)

The main point is that without fixed essentials you wouldn't have
a stable base on which to build things upon and test them against.
Debian policy also states that packages shouldn't declare dependencies
to essentials (to prevent dependency loops that can prevent updates)
so it would be nice forcing them except for something like SSUs.


>> So, I changed the approach a bit so that all symlinks corresponding to
>> essential Debian utilities (utilities in Debian packages marked as
>> essential), would be still included into the busybox package itself.
>> We just should try to make those in Busybox as compatible to GNU ones as
>> possible by enabling relevant BB configuration options etc.[1]
>>
>> Only utilities corresponding to non-essential Debian packages would
>> be in separate symlinks packages (there are a lot of those still).
>> However, getting back to a known, tested configuration could then be
>> more of a hit-and-miss.  You would need to do it manually by removing
>> any replacement packages you've installed and then re-running the
>> Busybox symlink creation script.
[...]
> Getting back to known, tested configuration always requires removing
> replacement packages by it's nature.

With always correct package Provides/Conflicts/Replaces this would
be done automatically by the package management.

Attached is how the busybox packaging created by my script would
currently look like for a Diablo compatible configuration.

Updating non-essentials to their real variants and back works fine.


>> You script is much simpler than mine though. :-)
> 
> If simpler == easier to maintain down the road for new Maemo releases,
> then this is a good thing.   If not, then probably not ;)


	- Eero

-------------- next part --------------
A non-text attachment was scrubbed...
Name: bb-packaging.tar.gz
Type: application/x-gzip
Size: 2375 bytes
Desc: not available
Url : http://lists.maemo.org/pipermail/maemo-developers/attachments/20081215/1ee7dcd2/attachment.bin 
More information about the maemo-developers mailing list