Stephen Montgomery-Smith wrote:
Robert Noland wrote:
On Wed, 2007-07-18 at 15:56 -0500, Stephen Montgomery-Smith wrote:
If you "pkg_delete -f" a package and then install the port again
(but after it has been bumped up a version), then the +CONTENTS of
ports that require the original port will be incorrect. This
apparently messes up programs like portmanager. There is a sense in
which one should never do "pkg_delete -f" and expect /var/db/pkg to
keep its integrety - on the other hand this is exactly what "make
deinstall" does.
My feeling is that the integrety of /var/db/pkg should be maintained
across a "make deinstall" and subsequent "make install" of a bumped
version of the port.
This is my suggestion. When a "pkg_delete -f" is executed, it looks
through +REQUIRED_BY of the port it is going to delete, and modifies
the +CONTENTS file of each of them, replacing lines like
@pkgdep xineramaproto-1.1.2
@comment DEPORIGIN:x11/xineramaproto
to maybe something like
@comment DELDEPORIGIN:x11/xineramaproto
("deleted dependency origin"). A subsequent "make install" of
x11/xineramaproto should look through the +CONTENTS of all entries
in /var/db/pkg and change these lines to something like
@pkgdep xineramaproto-1.1.3
@comment DEPORIGIN:x11/xineramaproto
Hrm, not quite what I had in mind... I don't want to misrepresent that
a port was built against a newer version of a dependency. What I was
hoping for would be that a port when reinstalled would not list both the
current version of a dependency as well as a previous version of the
same origin (which it aquired via the +CONTENTS of some other direct
dependency). It should only list the currently installed version of
that origin.
That way it is still possible to determine that the interim port was
built against an older version. I just want the +CONTENTS file to
accurately list the versions that a given port was built against.
I think I was not understanding your problem, nor how portmanager
works. Sorry about that.
In general, I do really like how the present "actual-package-depends"
works, and so I would rather see this kept, and portmanager modified
to accomodate, rather than the other way around.
Robert sent me some private emails about how "actual-package-depends"
was messing up portmanager. Probably he should send the problem
descriptions to the mailing lists, and maybe someone else could solve
them. I thought I had some ideas for quick fixes, but it seems I was
looking before I was leaping. I don't really have enough time right
now for long fixes, so someone else will have to figure it out. I
have to say that I simply don't use portmanager or portsinstall or
anything like that, so I don't know how they work. (Rather I use my
own home brew tools for doing the same thing, and since they are home
brew and only for my use, they don't need to get everything right
everytime, they can be simple, and they don't have to be at all
user-friendly.)
Best regards, Stephen
Stephen,
I admire your willingness to help, but I believe that Robert should
be the one detailing the problem not you. That way too much confusion
doesn't get aroused on the list(s).
I'm going to remove hackers@ from the CC list because this almost
exclusively pertains to [EMAIL PROTECTED]
-Garrett
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"