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

Re: dependencies



In message <199711281258.NAA23673@jagor.srce.hr>, borko.jandras@public.srce.hr writes:
[I moved this from seul-dev-distrib to seul-project in hopes of sparking
more discussion all around.]
>
>Hello!
>
>I have some ideas concerning how should our packaging system manage
>dependencies....or how to call them...more than 1 package using the
>same file(s). I don't know how RedHat and Debian manages them. So...if
>I'm reinventing the wheel here, sorry.

[Disclaimer: I too haven't looked at anything more than the behavior
of rpm. I've not used the debian manager, and haven't looked at source
of either of them.]

>So...let's say we have a file, maybe in /var/log, that stores entryes

Something in the /usr/lib hierarchy would be more appropriate, but this
is a very small point.

>in the form:
>
><file> <usage-count>
>
>When new package is being installed, packager first checks if some file
>is already on the system, and if it is, usage count is increased by one
>for that particular file instead of file being copied to disk. If the file
>does not exist, it copies it to disk and adds new entry, setting it's usage
>count to 1.
>
>When package is deinstalled, packager decreases usage count on files it
>shoud "deinstall" by 1. Then, if some files have count equal to 0,
>they are deleted.
>
>ok....think on this.
>
>-- 
>Borko Jandras   <bjandras@jagor.srce.hr>

This would make sense, except different packages would contain different
versions of the file. And just blindly installing the new version might
break the other packages that use that file, whereas not installing the
new version (because our file-counter says we already have it) would break
the new package (in an ideal case, the package manager would somehow
set things up such that both versions could exist in parallel, so both
packages would work. Or is this the package manager's job at all?).
Dependencies are more than just which packages own which files -- we also
have to keep track of which packages need which version of each file.
RPM does this more broadly by keeping track of which packages need which
version of which other packages. I think it's a good idea to record
things like this (by groups-of-files rather than by each file), because
it's cleaner organizationally.

Surely there are people out there who've looked through rpm and debian's
packagemanager source, and/or used one of them extensively , and know
the pro's and con's of each. Could we get a guru of each to do an
analysis of what each contains and what each is missing? It would be
good to decide

a) if we need a new package manager or if we can use an existing one.

b) if we can use an existing one, how (and if) we'll want to modify it
for seul's purposes. This includes the question of what seul needs out of
a package manager.

--Roger