ports/106790: [patch] sysutils/cfengine conflicts with devel/publib and doesn't build when Berkeley DB > 4.1 is installed
Nick Barkas
snb at threerings.net
Fri Dec 15 21:01:11 UTC 2006
>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 at 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:
More information about the freebsd-ports-bugs
mailing list