[maemo-developers] Busybox version
From: Eero Tamminen eero.tamminen at nokia.comDate: Thu Aug 14 19:10:50 EEST 2008
- Previous message: Busybox version
- Next message: Busybox version
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi, So far this is mostly just an idea, if you notice any holes in it, please shoot... ext Graham Cobb wrote: >> I think better solution would be to provide the Busybox symlinks in >> separate packages and the packages would be split so that they >> correspond to packages in Debian. For example the Busybox symlinks >> for utilities that in Debian are in the "coreutils" package would be >> e.g. in "busybox-symlinks-coreutils" package. > > Let me see if I understand how this could work. Let's take a few examples: ls > (part of coreutils in Debian), tar (its own package in Debian), pinky (part > of coreutils in Debian but not included in maemo), xyzzy (a fictitious > command that may be included in busybox in the future). > > ITOS would ship with a package called busybox-maemo which > installed /bin/busybox. It would be called just busybox. Note that the main issue that I though this would fix is being able to install the real tools without screwing up the system. (Personally I'm missing real tools from procps; proper top & ps, slabtop etc). > ITOS would also ship with busybox-symlinks-coreutils which depends on > busybox-maemo and links everything in the normal debain coreutils (including > pinky) to /bin/busybox. Note that at this point ls would work and pinky > would appear to exist but would not actually work. How I thought this would work is that: - the symlinks package would contain symlinks *only* to utilities included into the busybox binary[1] - the dependency from symlinks package to busybox would be versioned (exact version to guarantee that the list of included tools and their symlinks would match) [1] As the symlinks point to valid executable (busybox), it would be really bad to have them for utilities that the linked busybox binary doesn't provide. That would screw up all scripts that check for the existance of the tools they need > ITOS also ships with busybox-symlinks-tar which links tar to /bin/busybox. And Provides/Replaces/Conflicts with tar package. > Then the community creates a busybox-maemo-plus which has more options and > more commands (including, say pinky and xyzzy). It > Provides/Replaces/Conflicts busybox-maemo and installs /bin/busybox. > Anything which needs pinky can depend on busybox-maemo-plus. If you want to replace busybox, then also all the symlink packages would be removed because of the versioned dependency. The community Busybox would need to provide correct symlinks packages too. Maemo busybox replacement case isn't improved with this proposal, but I don't think this is really an issue that would need solving. > The community also create busybox-symlinks-xyzzy which depends on > busybox-maemo-plus and which links /usr/bin/xyzzy to /bin/busybox. If you want to: - replace a utility that's already provided by maemo busybox (e.g. because it doesn't have fixes or new features that are in newer busybox version) - install a utility that is not provided by maemo busybox, but belongs *in Debian* to a package that one of the symlinks packages claims to provide Then you would build a version of busybox that includes also all the other utilities linked by the symlinks package(s) you're going to replace. Hopefully there won't be that many of these additional busyboxes. :-) > And the community creates GNU tar. It Provides/Replaces/Conflicts > busybox-symlinks-tar and installs tar. Anything which needs gnu tar can > depend on tar and anything which doesn't care which tar it needs can depend > on busybox-symlinks-tar (which GNU tar still provides). Busybox utilities should be good enough replacements that in most cases its utilities work well enough and issues are exceptions. If something in Busybox doesn't work well enough for majority of the cases, either it should be fixed or replaced with the real thing^{tm}. So, the rare exceptions needing real GNU tar would depend on tar and conflict with busybox-symlinks-tar (if it's know that the problem is fixed in a newer busybox version, it could conflict with version smaller than the fixed upstream busybox version). All other packages needing just some tar, depend just on tar. > That could work but ONLY if Nokia allow busybox-maemo and busybox-symlinks-tar > to be replaced (and this works even through OS upgrades). That seems > unlikely to me. That would be a configuration that Nokia hasn't tested, so I don't see how we could support it in the consumer sense. As to "allowing" the replacement AFAIK only thing needed before replacing any of the pre-installed packages is that you remove the "lock" meta-package? I'm not really familiar with how the OS upgrades work though, so please correct me if I'm wrong and somebody else needs to answer (or test :-)) what happens when trying to OS upgrade a system that has been unlocked and where some of the system packages have been replaced. > Have I missed something in how this could work? Did I miss something? :-) - Eero
- Previous message: Busybox version
- Next message: Busybox version
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]