yumex and memory

Axel Thimm Axel.Thimm at ATrpms.net
Sun Oct 2 07:43:52 UTC 2005


On Sun, Oct 02, 2005 at 03:07:54AM +0200, Christoph Wickert wrote:
> Just an example what happens while playing with different
> config packages:
> 
> $ ls -l atrpms*
> insgesamt 40
> -rw-r--r--  1 root root 553 21. Aug 11:13 atrpms.list
> $ rpm -i
> --replacefiles /var/cache/yum/atrpms/packages/medley-package-config-102-1.rhfc4.at.i386.rpm
> Warnung: /etc/apt/sources.list.d/atrpms.list created
> as /etc/apt/sources.list.d/atrpms.list.rpmnew
> Warnung: /etc/apt/sources.list.d/livna.list created
> as /etc/apt/sources.list.d/livna.list.rpmnew
> Warnung: /etc/apt/sources.list.d/nrpms.list created
> as /etc/apt/sources.list.d/nrpms.list.rpmnew
> Warnung: /etc/sysconfig/rhn/sources created
> as /etc/sysconfig/rhn/sources.rpmnew
> Warnung: /etc/yum.repos.d/freshrpms.repo created
> as /etc/yum.repos.d/freshrpms.repo.rpmnew
> Warnung: /etc/yum.repos.d/livna.repo created
> as /etc/yum.repos.d/livna.repo.rpmnew
> Warnung: /etc/yum.repos.d/nrpms.repo created
> as /etc/yum.repos.d/nrpms.repo.rpmnew
> $ ls -l atrpms*
> insgesamt 156
> -rw-r--r--  1 root root 553 21. Aug 11:13 atrpms.list
> -rw-r--r--  1 root root 553 21. Aug 11:13 atrpms.list.rpmnew
> $ rpm -e --nodeps medley-package-config
> $ sources.list.d]# ls -l atrpms*
> insgesamt 48
> -rw-r--r--  1 root root 553 21. Aug 11:13 atrpms.list.rpmnew
> 
> As you can see my old customized atrpms file is gone, so are the others.

Isn't that what you asked rpm to do with --replacefiles? From rpm's
man page:
   --replacefiles
   Install the packages even if they replace files from other, already
   installed, packages.

I never use it, so I don't know what it *actually* does. I would
expect it to still honour %config(noreplace) tags in the specfile, but
it looks like it ignores them.

But that is not a problem/bug of the package's content then, but a bug
in rpm --replacefiles, either in code or in its description on the man
page.

> > They are as a set of packages (and that's how any repo should be
> > considered IMHO), you need to make a full upgrade.
> 
> IMHO a repo is a source for packages but one shouldn't be forced to
> upgrade against any repo if one doesn't want to.

In general I agree, but what about package subsets that are
intertwined like foo and foo-devel? Or more fine-grained packages, or
- as in this case - cooperating packages (e.g. packages coming from a
different srpm, but still depending on each other's structure).

So a repo is not just a sum of independent packages, there are various
levels of dependencies (explicit package dependencies, files
dependencies, implicit assumptions about other packages etc.) between
subsets of the repo, and if you break them, you get a buggy situation.

This is why setting priorities and weights or temporily enabling repos
is a bad thing, and why ATrpms doesn't enforce any such policy in
meldey-package-config anymore. It did some ages and a day ago, but it
was withdrawn due to politics (ATrpms wants to be friendly towards any
repo), and the above mentioned technical issues.

> > > (since it is part of a core install, maybe livna-release, too) or
> > > smart/apt from your repo should not depend on them.
> > 
> > They don't, try rpm -qR smart/apt, there is no trace of any
> > *-package-config. 
> 
> but smart depends on files provided by *-package-config
> $ rpm -qf `rpm -qR smart | grep distro`
> medley-package-config-102-1.rhfc4.at

No, smart depends on its config files, that can be provided by any
other package. ATrpms is offering two packages, one for using ATrpms'
mirrors for FC and ATrpms, and one for using all known repos. But you
can create your own tailored package, and so can any rpm repository
maintainer. The smart package itself is thus completely unaware what
repo has soldered it, it just asks for its config file(s).

> Ok, now I got it. I didn't realize that packages are sorted by their
> srpms. IMHO the name 3rd-party-package-config is misleading:
> A package named 3rd-party-* should not include config files for core and
> extras, for they are not 3rd party be definition.

Well, give me a better name :)

> What's the use of an empty 3rd-party-package-config.rpm - no files
> inside, no requires, nothing to provide? It might be better to remove it
> from your repo if possible?!

Yes, the issue is here more with the buildsystem, that examines with
rpm --specfile what packages should be generated, and I think
3rd-party-package-config is always returned, whether it has a %file
section or not.

> P.S.: Pls don't get me wrong: I really honor your work for the fedora
> community, although some of above statemenents might not sound that way.

Oh, no, I don't get you wrong, I like constructive critism. :)

As I said, this is not the perfect solution, and I wouldn't mind to
improve it. It is a good *working* solution and it works not only for
FC4, but for FC3 to FC1, RH9 to RH7.3 and RHEL4 and RHEL3 including
some clones like scientific linux.

Supporting all these distros and their different config mechanisms
(sometimes bundled with the depsolver, sometimes with *-release files
etc., sometimes there is no depsolver at all) is difficult, and any
change in deployment needs to take care not to introduce any
regression.
-- 
Axel.Thimm at ATrpms.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20051002/772a8e98/attachment-0001.sig>


More information about the fedora-list mailing list