On 18/07/2007 5:44 PM, Garrett Cooper wrote:
Antony Mawer wrote:
On 18/07/2007 10:46 AM, Stephen Montgomery-Smith wrote:
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 _LIB_RUN_DEPENDS and might put in some extra entries in +CONTENTS.

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.

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.

I can't comment on the particular approach taken in your patch, but can certainly attest to experiencing the same problem and it being frustrating to identify what was going on. It was only after much hair-pulling that I discovered that doing a 'make clean' at the appropriate time before package building fixed the problem.

Otherwise I was winding up with plenty of seemingly OK packages that were missing critical files (in this instance, various PHP5 extension ports that were "installing" but missing the actual .so files!)

--Antony

Installing ports registers them on the machine as packages, by simulating a package install via stdin. Was that forgotten?
-Garrett

The packages were definitely installed, by working through and doing "make install" on the desired ports... I was aiming to uninstall existing PHP5 packages on deployed servers, and then install from a freshly updated set. The new ports were successfully installed, but for whatever reason some of the packages created were missing the .so files.

I removed all the installed packages, make clean'd everything, then started again and the next respin worked fine (without updating the ports tree). Unfortunately I can't recall the exact thing that solved it; I seem to recall a "make clean" was involved, but don't recall whether it was explicitly running one before or after a "make package", or whether it was *avoiding* running one...!

--Antony
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to