[SM-Discuss] Adding gnupg to every spell
afrayedknot at thefrayedknot.armory.com
Wed Feb 8 22:26:12 EST 2006
On Wed, Feb 08, 2006 at 08:32:05PM -0600, Jeremy Blosser (emrys) wrote:
> On Feb 08, Sergey A. Lipnevich [sergey at sourcemage.org] wrote:
> > Eric,
> > Instead of adding gnupg to every spell, can't we make it part of the
> > base system? If sorcery needs it, it must be in the basesystem anyway.
> > And we can avoid those tons of changes in p4.
> > Same is probably true for smgl-fhs, although I know little about this one.
> The problem as I understand it is that even with it in basesystem, there's
> no ordering of the basesystem spells themselves without explicit
> dependencies. So everything in basesystem theoretically needs to depend on
> gnupg/smgl-fhs/etc. to make sure they're there first.
> I'm still not all that comfortable with this solution, as it seems bloated
> and not very clean or elegant. The basesystem spells do not depend on
> gnupg themselves, our process does. If our processes and systems requires
> a certain set of spells be cast first and in a specific order, even before
> the rest of basesystem is cast, should we consider a pre-basesystem spell
> or otherwise hardcoding that list in sorcery? Or making basesystem cast
> it's depends in listed order, or something? Andrew?
I think if we tried to actually explicitly list *all* the depends in
basesystem, it would become very circular and the ordering wouldn't
actually any better. So, continuing on this path is really a losing
proposition the more I think about it.
Right now we dont have a seperate notion of runtime depends vs build
dependencies. Gnupg, tar, gzip, bzip2 etc are build dependencies in this
context, we need them installed as per build process, but we dont need
them after that. On the other hand, things link to glibc, and some other
core libraries (as well as use the file system tree).
During chroot bootstrapping, the build-depends need to exist on the host
system, which right now is just assumed. Its actually assumed whenever you
run a sorcery command. But, the linking dependencies need to build in the
right order so (ideally) everything can link against their manifestations
in the chroot. A rebuild isn't really all that different. Once all the
core libraries are installed, the rest of basesystem can go in mostly
So, I think it would best to assume any basesystem *build* dependencies are
already installed, and only have actual listed depends on 'real'
depends. Gnupg is a build depends (so, sorry eric, that could probably
stand to be reverted...), smgl-fhs, glibc, and zlib (maybe some other
libs) are not, on the other hand.
Those need to be depended on somehow. Either explicitly adding each of
them to the base spells or using some indirection. Such as a meta-spell
(as suggested), or using a common file sourced in DEPENDS. The former is
simpler except it reduces sorcery's visibility into the dependency tree,
the later might be disagreeable to some.
| Andrew D. Stitt | acedit at armory.com | astitt at sourcemage.org |
| irc: afrayedknot | Sorcery Team Lead | ftp://t.armory.com/ |
| 1024D/D39B096C | 76E4 728A 04EE 62B2 A09A 96D7 4D9E 239B D39B 096C |
More information about the SM-Discuss