Date: Fri, 15 Dec 2006 12:57:05 -0800 (PST) From: Nick Barkas <snb@threerings.net> To: FreeBSD-gnats-submit@FreeBSD.org Cc: sergei@FreeBSD.org Subject: ports/106790: [patch] sysutils/cfengine conflicts with devel/publib and doesn't build when Berkeley DB > 4.1 is installed Message-ID: <20061215205705.A69D4172B7@maguro.moduli.net> Resent-Message-ID: <200612152100.kBFL0LJn078581@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 106790 >Category: ports >Synopsis: [patch] sysutils/cfengine conflicts with devel/publib and doesn't build when Berkeley DB > 4.1 is installed >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Dec 15 21:00:21 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Nick Barkas >Release: FreeBSD 6.1-RELEASE-p6 >Organization: Three Rings Design >Environment: FreeBSD lab1.earth.threerings.net 6.1-RELEASE-p6 FreeBSD 6.1-RELEASE-p6 #5: Wed Sep 13 17:45:32 PDT 2006 root@lab1.earth.threerings.net:/usr/obj/usr/src/sys/SMP i386 >Description: sysutils/cfengine fails to build on systems that have newer versions of Berkeley DB than 4.1 installed from ports. databases/db42, db43, and db44 all seem to install libraries as ${PREFIX}/lib/libdb-version.so without a lib/libdb.so symlink that is provided by BDB 4.1 (and probably earlier versions). Additionally, if devel/publib is installed, the linker will try to link against it rather than cfengine's included, and completely different, libpub.a. >How-To-Repeat: Install devel/publib, databases/db42, databases/db43, and/or databases/db44 and attempt to build sysutils/cfengine. >Fix: The following patch adds files/patch-configure to cause the configure script to set the appropriate -l options if the databases/db42, db43, or db44 ports are installed. It also changes linking options to explicitly link with libpub.a provided with cfengine, rather than the libpub.a which devel/publib may have installed in ${LOCALBASE}/lib. Also, this patch modifies files/patch-doc_Makefile.in so ${WRKSRC}/configure is not treated as a source for any documentation files. The cfengine tarball includes fully built documentation, and trying to rebuild it will fail on systems that don't have the appropriate TeX/texinfo tools installed (which this port does not build-depend on). An alternative fix would be to just add those tools to ${BUILD_DEPENDS}, but that isn't really necessary since there is no need to rebuild the documentation that is included with the cfengine source. --- cfengine.patch begins here --- diff -urN cfengine.orig/files/patch-configure cfengine/files/patch-configure --- cfengine.orig/files/patch-configure Wed Dec 31 16:00:00 1969 +++ cfengine/files/patch-configure Thu Dec 14 19:50:50 2006 @@ -0,0 +1,20 @@ +--- configure.orig Wed Sep 20 10:27:07 2006 ++++ configure Thu Dec 14 18:00:21 2006 +@@ -8539,7 +8539,7 @@ + done + + BERKELEY_DB_LIB="-ldb" +- for v in db4.4 db44 db41 db40 db4 db33 db32 db3 db; do ++ for v in db-4.4 db4.4 db44 db-4.3 db-4.2 db41 db40 db4 db33 db32 db3 db; do + if test -f "$BERKELEY_DB_DIR/lib/lib$v.so"; then + BERKELEY_DB_LIB="-l$v" + break +@@ -15998,7 +15998,7 @@ + + + +-LIBS="-L../pub -lpub $LIBS" ++LIBS="../pub/libpub.a $LIBS" + + + echo "$as_me:$LINENO: checking Checking for GCC Specific compile flags" >&5 diff -urN cfengine.orig/files/patch-doc_Makefile.in cfengine/files/patch-doc_Makefile.in --- cfengine.orig/files/patch-doc_Makefile.in Mon Oct 9 06:23:49 2006 +++ cfengine/files/patch-doc_Makefile.in Fri Dec 15 12:25:16 2006 @@ -1,5 +1,5 @@ ---- doc/Makefile.in.orig Sat Oct 1 16:32:08 2005 -+++ doc/Makefile.in Fri Oct 7 10:07:40 2005 +--- doc/Makefile.in.orig Wed Sep 20 10:27:06 2006 ++++ doc/Makefile.in Fri Dec 15 12:24:05 2006 @@ -52,8 +52,12 @@ CONFIG_CLEAN_FILES = SOURCES = @@ -39,6 +39,33 @@ # Make sure these get distributed with everything else. EXTRA_DIST = cfagent.8 cfenvd.8 cfenvgraph.8 cfexecd.8 cfkey.8 cfrun.8 cfservd.8 cfengine.8 cfshow.8 cfetoolcheck.8 cfetooldump.8 cfetoolimport.8 cfetoolupdate.8 cfetoolcreate.8 cfetoolgraph.8 cfetoolinfo.8 cfetoolcheck.8 cfetooldump.8 cfetoolimport.8 cfetoolupdate.8 cfetoolcreate.8 cfetoolgraph.8 cfetoolinfo.8 texinfo.tex $(htmlfiles) $(infofiles) $(psfiles) $(dvifiles) $(pdffiles) +@@ -316,7 +328,7 @@ + exit 1; \ + fi + $(srcdir)/version1.texi: $(srcdir)/stamp-vti +-$(srcdir)/stamp-vti: cfengine-Reference.texinfo $(top_srcdir)/configure ++$(srcdir)/stamp-vti: cfengine-Reference.texinfo + @(dir=.; test -f ./cfengine-Reference.texinfo || dir=$(srcdir); \ + set `$(SHELL) $(srcdir)/mdate-sh $$dir/cfengine-Reference.texinfo`; \ + echo "@set UPDATED $$1 $$2 $$3"; \ +@@ -375,7 +387,7 @@ + exit 1; \ + fi + $(srcdir)/version2.texi: $(srcdir)/stamp-1 +-$(srcdir)/stamp-1: cfengine-Tutorial.texinfo $(top_srcdir)/configure ++$(srcdir)/stamp-1: cfengine-Tutorial.texinfo + @(dir=.; test -f ./cfengine-Tutorial.texinfo || dir=$(srcdir); \ + set `$(SHELL) $(srcdir)/mdate-sh $$dir/cfengine-Tutorial.texinfo`; \ + echo "@set UPDATED $$1 $$2 $$3"; \ +@@ -434,7 +446,7 @@ + exit 1; \ + fi + $(srcdir)/version3.texi: $(srcdir)/stamp-2 +-$(srcdir)/stamp-2: cfengine-Anomalies.texinfo $(top_srcdir)/configure ++$(srcdir)/stamp-2: cfengine-Anomalies.texinfo + @(dir=.; test -f ./cfengine-Anomalies.texinfo || dir=$(srcdir); \ + set `$(SHELL) $(srcdir)/mdate-sh $$dir/cfengine-Anomalies.texinfo`; \ + echo "@set UPDATED $$1 $$2 $$3"; \ @@ -579,6 +591,7 @@ rm -f "$(DESTDIR)$(man8dir)/$$inst"; \ done --- cfengine.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061215205705.A69D4172B7>