Date: Wed, 18 Jul 2007 10:11:47 -0500 From: Stephen Montgomery-Smith <stephen@math.missouri.edu> To: Alexander Leidinger <Alexander@leidinger.net> Cc: ports@freebsd.org, freebsd-hackers@freebsd.org Subject: Re: Slight problem with make actual-package-depends with ports Message-ID: <469E2DB3.8080605@math.missouri.edu> In-Reply-To: <20070718111920.43c198e3@deskjail> References: <469D62D3.70908@math.missouri.edu> <20070718111920.43c198e3@deskjail>
next in thread | previous in thread | raw e-mail | index | archive | help
Alexander Leidinger wrote: > Quoting Stephen Montgomery-Smith <stephen@math.missouri.edu> (Tue, 17 Jul 2007 19:46:11 -0500): > >> I appreciate that most people won't have this problem, but it has bitten me. >> >> After you have made and installed a port, but don't clean it, and then >> made a bunch of other ports, if you go back to the original port and >> then do "make package", then +CONTENTS can be a bit messed up for the >> package. This is because the creation of other ports might disturb > > Can you please give an example what "messed up" means in this context, > e.g. post a diff between a good an a bad contents file? And what > actions you did to get this difference? > >> _LIB_RUN_DEPENDS and might put in some extra entries in +CONTENTS. > > You mean that if you create a leaf package and then rebuild a package > which is in the middle of the dependency tree with options which change > the dependency graph of the leaf package you get problems? > > If yes: this has to be expected. You need to rebuild the packages in > the right order. In other words, you have to perform the "make package" right after the "make install" before you install any other ports. Otherwise you have to use "pkg_create -b" (which I have recently started doing). > >> This happens to me because I make all my ports on one machine and then >> copy them as packages to other machines. Then on the other machines, >> the structure of /var/db/pkg gets a bit messed up and pkg_delete -r >> malfunctions. > > I have a lot of jails where I use the packages build in other jails. I > haven't seen a problem there. The package install doesn't change the > +CONTENTS files, so /var/db/pkg should be messed up on the build > machine too... > >> It seems to me that the cure is to slightly change "make >> actual-package-depends" so that if the port is already installed, it >> just uses +CONTENTS. > > This is wrong. What if you have a port installed and you want to > rebuild the same version with other OPTIONS which changes the +CONTENTS > file? If I read your patch right, it will use the wrong contents... The other option (to allow the users to do "make package" much later than "make install") would be to have two different actual-package-depends, one for "make install", and the other for "make package." However if this is perceived to be a non-problem by everyone else, I am going to withdraw my suggestion. I'll just leave a note here in case anyone else has this problem (as indeed it seems at least one other person did), that you must do the "make package" right after the "make install." (I did file a PR - committers should close it if they feel it is not an issue. But I leave it with them.) Best regards, Stephen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?469E2DB3.8080605>