Slight problem with make actual-package-depends with ports

Alexander Leidinger Alexander at
Thu Jul 19 07:18:24 UTC 2007

Quoting Stephen Montgomery-Smith <stephen at> (Wed, 18 Jul 2007 10:11:47 -0500):

> Alexander Leidinger wrote:
> > Quoting Stephen Montgomery-Smith <stephen at> (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).

I think the old version of getting the package dependency should fail
in a similar way if you don't issue "make package" before installing
other ports (where you change the options in a way that the dependency
list changes).

> >> 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."

It may be good to compare the way you do the package creation by hand
with the way is doing it. Maybe something can be improved...


You can search for documentation on a keyword by typing

	apropos keyword  Alexander @ PGP ID = B0063FE7     netchild @  : PGP ID = 72077137

More information about the freebsd-ports mailing list