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
Attachment:
pgp9nPEH9tqKJ.pgp
Description: PGP signature