From: Christian Hofstaedtler Date: Sun, 1 Jun 2014 19:30:30 +0000 (+0200) Subject: Replace libdir usage with pkglibdir X-Git-Tag: rec-3.6.0~18^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F1447%2Fhead;p=thirdparty%2Fpdns.git Replace libdir usage with pkglibdir pkglibdir is where package-only libs should go (plugins, etc.), but we were using libdir for this. Users on multiarch systems really want to override libdir, and they also don't want their multiarch libdir to end up as an rpath. --- diff --git a/configure.ac b/configure.ac index 819cf63a8f..84dec81523 100644 --- a/configure.ac +++ b/configure.ac @@ -35,6 +35,10 @@ LT_INIT AM_CONDITIONAL([RELEASE_BUILD], [test "$PACKAGE_VERSION" != "git"]) +# Define full_libdir to be the fully expanded (${exec_prefix}, etc.) +# "system" library path. +# We use this to search for other libraries. +eval full_libdir="\"$libdir\"" # detect pkg-config explicitly PKG_PROG_PKG_CONFIG diff --git a/debian-pdns/rules b/debian-pdns/rules index f64a34f20e..d0554c6557 100755 --- a/debian-pdns/rules +++ b/debian-pdns/rules @@ -46,7 +46,7 @@ build-static stamp-build-static: PKG_CONFIG_PATH=/opt/botan-1.10/lib/pkgconfig/ \ --prefix=/usr \ --libexecdir='$${prefix}/lib' \ - --libdir='$${prefix}/lib/powerdns' \ + --libdir='$${prefix}/lib' \ --sysconfdir=/etc/powerdns \ --infodir='$${datadir}/info' \ --mandir='$${datadir}/man' \ @@ -65,7 +65,7 @@ build stamp-build: configure ./configure \ --prefix=/usr \ --libexecdir='$${prefix}/lib' \ - --libdir='$${prefix}/lib/powerdns' \ + --libdir='$${prefix}/lib' \ --sysconfdir=/etc/powerdns \ --infodir='$${datadir}/info' \ --mandir='$${datadir}/man' \ diff --git a/debian/config/pdns.conf b/debian/config/pdns.conf index f27b56a4c8..6fb80f48ff 100644 --- a/debian/config/pdns.conf +++ b/debian/config/pdns.conf @@ -232,7 +232,7 @@ ################################# # module-dir Default directory for modules # -# module-dir=/usr/lib/powerdns +# module-dir=/usr/lib/pdns ################################# # negquery-cache-ttl Seconds to store negative query results in the QueryCache diff --git a/debian/rules b/debian/rules index 8cb3ae833e..1b987e45d1 100755 --- a/debian/rules +++ b/debian/rules @@ -20,7 +20,7 @@ ifdef STATIC --sysconfdir=/etc/powerdns \ --mandir=\$${prefix}/share/man \ --infodir=\$${prefix}/share/info \ - --libdir='$${prefix}/lib/powerdns' \ + --libdir='$${prefix}/lib' \ --libexecdir='$${prefix}/lib' \ --with-modules="$(backends)" \ --with-pgsql-includes=`pg_config --includedir` \ @@ -39,7 +39,7 @@ else --sysconfdir=/etc/powerdns \ --mandir=\$${prefix}/share/man \ --infodir=\$${prefix}/share/info \ - --libdir='$${prefix}/lib/powerdns' \ + --libdir='$${prefix}/lib' \ --libexecdir='$${prefix}/lib' \ --with-dynmodules="$(backends)" \ --with-modules="" \ diff --git a/m4/pdns_with_mysql.m4 b/m4/pdns_with_mysql.m4 index b4d106399f..a0ddb733da 100644 --- a/m4/pdns_with_mysql.m4 +++ b/m4/pdns_with_mysql.m4 @@ -9,7 +9,7 @@ AC_DEFUN([PDNS_WITH_MYSQL],[ [ MYSQL_lib_check="/usr/local/mysql/lib/mysql /usr/local/lib/mysql /opt/mysql/lib/mysql \ /usr/lib/mysql /usr/lib64/mysql /usr/local/mysql/lib /usr/local/lib /opt/mysql/lib /usr/lib \ - /usr/sfw/lib/ /usr/lib/x86_64-linux-gnu/" + /usr/sfw/lib/ $full_libdir" MYSQL_inc_check="/usr/local/mysql/include/mysql /usr/local/include/mysql \ /opt/mysql/include/mysql /opt/mysql/include /usr/include/mysql /usr/sfw/include/mysql" ] diff --git a/m4/pdns_with_postgresql.m4 b/m4/pdns_with_postgresql.m4 index 139f137c41..1192d0cd9d 100644 --- a/m4/pdns_with_postgresql.m4 +++ b/m4/pdns_with_postgresql.m4 @@ -6,7 +6,7 @@ AC_DEFUN([PDNS_WITH_POSTGRESQL],[ [PGSQL_lib_check="$withval/lib/pgsql $with_pgsql/lib" PGSQL_inc_check="$withval/include/pgsql" ], - [PGSQL_lib_check="/usr/local/pgsql/lib/pgsql /usr/local/lib/pgsql /opt/pgsql/lib/pgsql /usr/lib/pgsql /usr/local/pgsql/lib /usr/local/lib /opt/pgsql/lib /usr/lib /usr/lib64" + [PGSQL_lib_check="/usr/local/pgsql/lib/pgsql /usr/local/lib/pgsql /opt/pgsql/lib/pgsql /usr/lib/pgsql /usr/local/pgsql/lib /usr/local/lib /opt/pgsql/lib /usr/lib /usr/lib64 $full_libdir" PGSQL_inc_check="/usr/local/pgsql/include/pgsql /usr/include /usr/local/include/postgresql/ /usr/local/include /opt/pgsql/include/pgsql /opt/pgsql/include /usr/include/pgsql/ /usr/include/postgresql" ] ) @@ -43,6 +43,9 @@ AC_DEFUN([PDNS_WITH_POSTGRESQL],[ /usr/lib64) PGSQL_lib="" ;; + $full_libdir) + PGSQL_lib="" + ;; /*) PGSQL_lib="-L$PGSQL_libdir -Wl,-rpath,$PGSQL_libdir" LDFLAGS="$PGSQL_lib $LDFLAGS" diff --git a/modules/bindbackend/Makefile.am b/modules/bindbackend/Makefile.am index 9ba4ff1357..6cf2e5ef01 100644 --- a/modules/bindbackend/Makefile.am +++ b/modules/bindbackend/Makefile.am @@ -1,4 +1,4 @@ -lib_LTLIBRARIES = libbindbackend.la +pkglib_LTLIBRARIES = libbindbackend.la AM_CPPFLAGS=-I../../pdns $(BOOST_CPPFLAGS) $(POLARSSL_CFLAGS) @THREADFLAGS@ AM_LFLAGS = -i diff --git a/modules/db2backend/Makefile.am b/modules/db2backend/Makefile.am index f6e2f823d0..01e31d14e3 100644 --- a/modules/db2backend/Makefile.am +++ b/modules/db2backend/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS=@THREADFLAGS@ -lib_LTLIBRARIES = libdb2backend.la +pkglib_LTLIBRARIES = libdb2backend.la libdb2backend_la_SOURCES=DB2Backend.cc DB2Backend.hh DB2Exception.cc DB2Exception.hh libdb2backend_la_LDFLAGS=-module -avoid-version -ldb2 diff --git a/modules/geobackend/Makefile.am b/modules/geobackend/Makefile.am index f1541069b9..4fd6311315 100644 --- a/modules/geobackend/Makefile.am +++ b/modules/geobackend/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS=@THREADFLAGS@ $(BOOST_CPPFLAGS) EXTRA_DIST=OBJECTFILES OBJECTLIBS -lib_LTLIBRARIES = libgeobackend.la +pkglib_LTLIBRARIES = libgeobackend.la libgeobackend_la_SOURCES=geobackend.cc geobackend.hh ippreftree.cc ippreftree.hh libgeobackend_la_LDFLAGS=-module -avoid-version diff --git a/modules/gmysqlbackend/Makefile.am b/modules/gmysqlbackend/Makefile.am index 5a8dbf0071..4dff48244a 100644 --- a/modules/gmysqlbackend/Makefile.am +++ b/modules/gmysqlbackend/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS=@MYSQL_inc@ @THREADFLAGS@ $(BOOST_CPPFLAGS) -lib_LTLIBRARIES = libgmysqlbackend.la +pkglib_LTLIBRARIES = libgmysqlbackend.la EXTRA_DIST=OBJECTFILES OBJECTLIBS \ schema.mysql.sql nodnssec-3.x_to_3.4_schema.mysql.sql dnssec-3.x_to_3.4_schema.mysql.sql diff --git a/modules/goraclebackend/Makefile.am b/modules/goraclebackend/Makefile.am index bb10cfa88e..0b2ae22688 100644 --- a/modules/goraclebackend/Makefile.am +++ b/modules/goraclebackend/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS=$(ORACLE_CFLAGS) @THREADFLAGS@ -lib_LTLIBRARIES = libgoraclebackend.la +pkglib_LTLIBRARIES = libgoraclebackend.la EXTRA_DIST=OBJECTFILES OBJECTLIBS diff --git a/modules/gpgsqlbackend/Makefile.am b/modules/gpgsqlbackend/Makefile.am index 96cafb3c3a..105986ec61 100644 --- a/modules/gpgsqlbackend/Makefile.am +++ b/modules/gpgsqlbackend/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS=-I@PGSQL_incdir@ @THREADFLAGS@ -lib_LTLIBRARIES = libgpgsqlbackend.la +pkglib_LTLIBRARIES = libgpgsqlbackend.la EXTRA_DIST=OBJECTFILES OBJECTLIBS \ schema.pgsql.sql nodnssec-3.x_to_3.4_schema.pgsql.sql dnssec-3.x_to_3.4_schema.pgsql.sql diff --git a/modules/gsqlite3backend/Makefile.am b/modules/gsqlite3backend/Makefile.am index 02ea5e7f7b..c1e9b9ac20 100644 --- a/modules/gsqlite3backend/Makefile.am +++ b/modules/gsqlite3backend/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS=@THREADFLAGS@ $(BOOST_CPPFLAGS) -lib_LTLIBRARIES = libgsqlite3backend.la +pkglib_LTLIBRARIES = libgsqlite3backend.la EXTRA_DIST=OBJECTFILES OBJECTLIBS \ schema.sqlite3.sql nodnssec-3.x_to_3.4_schema.sqlite3.sql dnssec-3.x_to_3.4_schema.sqlite3.sql diff --git a/modules/ldapbackend/Makefile.am b/modules/ldapbackend/Makefile.am index 8709848bb9..8e9cb4a55f 100644 --- a/modules/ldapbackend/Makefile.am +++ b/modules/ldapbackend/Makefile.am @@ -2,7 +2,7 @@ AM_CPPFLAGS=@THREADFLAGS@ EXTRA_DIST = OBJECTFILES OBJECTLIBS -lib_LTLIBRARIES = libldapbackend.la +pkglib_LTLIBRARIES = libldapbackend.la libldapbackend_la_SOURCES = ldapbackend.cc ldapbackend.hh powerldap.hh powerldap.cc utils.hh libldapbackend_la_LDFLAGS =-module -avoid-version libldapbackend_la_LIBADD =-l@LIBLDAP@ diff --git a/modules/lmdbbackend/Makefile.am b/modules/lmdbbackend/Makefile.am index 2aac8f8d66..922822bb97 100644 --- a/modules/lmdbbackend/Makefile.am +++ b/modules/lmdbbackend/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS=@THREADFLAGS@ $(BOOST_CPPFLAGS) -lib_LTLIBRARIES = liblmdbbackend.la +pkglib_LTLIBRARIES = liblmdbbackend.la EXTRA_DIST=OBJECTFILES OBJECTLIBS diff --git a/modules/luabackend/Makefile.am b/modules/luabackend/Makefile.am index 2b220bdd57..22cd5900a5 100644 --- a/modules/luabackend/Makefile.am +++ b/modules/luabackend/Makefile.am @@ -3,7 +3,7 @@ AM_CPPFLAGS=$(LUA_CFLAGS) @THREADFLAGS@ EXTRA_DIST=OBJECTFILES OBJECTLIBS -lib_LTLIBRARIES = libluabackend.la +pkglib_LTLIBRARIES = libluabackend.la libluabackend_la_SOURCES=luabackend.cc luabackend.hh minimal.cc reload.cc lua_functions.cc master.cc private.cc slave.cc supermaster.cc dnssec.cc \ lua_functions.hh diff --git a/modules/mydnsbackend/Makefile.am b/modules/mydnsbackend/Makefile.am index 5b4ec1bf92..f16f220a5d 100644 --- a/modules/mydnsbackend/Makefile.am +++ b/modules/mydnsbackend/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS=@MYSQL_inc@ @THREADFLAGS@ -lib_LTLIBRARIES = libmydnsbackend.la +pkglib_LTLIBRARIES = libmydnsbackend.la EXTRA_DIST=OBJECTFILES OBJECTLIBS libmydnsbackend_la_SOURCES=mydnsbackend.cc mydnsbackend.hh libmydnsbackend_la_LDFLAGS=-module -avoid-version @MYSQL_lib@ diff --git a/modules/opendbxbackend/Makefile.am b/modules/opendbxbackend/Makefile.am index db3a964c5d..f58c0eefe7 100644 --- a/modules/opendbxbackend/Makefile.am +++ b/modules/opendbxbackend/Makefile.am @@ -2,7 +2,7 @@ AM_CPPFLAGS=@THREADFLAGS@ EXTRA_DIST = OBJECTFILES OBJECTLIBS -lib_LTLIBRARIES = libopendbxbackend.la +pkglib_LTLIBRARIES = libopendbxbackend.la libopendbxbackend_la_SOURCES = odbxbackend.hh odbxbackend.cc odbxprivate.cc libopendbxbackend_la_LDFLAGS =-module -avoid-version libopendbxbackend_la_LIBADD =-l@LIBOPENDBX@ diff --git a/modules/oraclebackend/Makefile.am b/modules/oraclebackend/Makefile.am index 7e5adcb28c..0d8978a955 100644 --- a/modules/oraclebackend/Makefile.am +++ b/modules/oraclebackend/Makefile.am @@ -1,6 +1,6 @@ AM_CPPFLAGS=$(ORACLE_CFLAGS) @THREADFLAGS@ -lib_LTLIBRARIES = liboraclebackend.la +pkglib_LTLIBRARIES = liboraclebackend.la EXTRA_DIST=OBJECTFILES OBJECTLIBS schema.sql dropschema.sql diff --git a/modules/pipebackend/Makefile.am b/modules/pipebackend/Makefile.am index 91a0403099..941af1f175 100644 --- a/modules/pipebackend/Makefile.am +++ b/modules/pipebackend/Makefile.am @@ -5,7 +5,7 @@ AM_CPPFLAGS=@THREADFLAGS@ $(BOOST_CPPFLAGS) #endif EXTRA_DIST=OBJECTFILES OBJECTLIBS backend.pl -lib_LTLIBRARIES = libpipebackend.la +pkglib_LTLIBRARIES = libpipebackend.la libpipebackend_la_SOURCES=pipebackend.cc pipebackend.hh coprocess.cc coprocess.hh libpipebackend_la_LDFLAGS=-module -avoid-version diff --git a/modules/randombackend/Makefile.am b/modules/randombackend/Makefile.am index 8c5d2cb961..b4112ad7e6 100644 --- a/modules/randombackend/Makefile.am +++ b/modules/randombackend/Makefile.am @@ -2,7 +2,7 @@ AM_CPPFLAGS=@THREADFLAGS@ $(BOOST_CPPFLAGS) EXTRA_DIST=OBJECTFILES OBJECTLIBS -lib_LTLIBRARIES = librandombackend.la +pkglib_LTLIBRARIES = librandombackend.la librandombackend_la_SOURCES=randombackend.cc librandombackend_la_LDFLAGS=-module -avoid-version diff --git a/modules/remotebackend/Makefile.am b/modules/remotebackend/Makefile.am index f6b74cc466..c0d90cdd6e 100644 --- a/modules/remotebackend/Makefile.am +++ b/modules/remotebackend/Makefile.am @@ -11,7 +11,7 @@ EXTRA_LTLIBRARIES=libtestremotebackend.la clean-local: rm -f $(EXTRA_PROGRAMS) -lib_LTLIBRARIES = libremotebackend.la +pkglib_LTLIBRARIES = libremotebackend.la libremotebackend_la_SOURCES=remotebackend.hh remotebackend.cc unixconnector.cc httpconnector.cc pipeconnector.cc zmqconnector.cc diff --git a/modules/tinydnsbackend/Makefile.am b/modules/tinydnsbackend/Makefile.am index 13654a0a6a..db853966a8 100644 --- a/modules/tinydnsbackend/Makefile.am +++ b/modules/tinydnsbackend/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS=@CDB_CFLAGS@ @THREADFLAGS@ -lib_LTLIBRARIES = libtinydnsbackend.la +pkglib_LTLIBRARIES = libtinydnsbackend.la EXTRA_DIST=OBJECTFILES OBJECTLIBS diff --git a/pdns/Makefile.am b/pdns/Makefile.am index 785f8e653d..64c518192e 100644 --- a/pdns/Makefile.am +++ b/pdns/Makefile.am @@ -1,4 +1,4 @@ -AM_CXXFLAGS=-DSYSCONFDIR=\"@sysconfdir@\" -DLIBDIR=\"@libdir@\" -DLOCALSTATEDIR=\"@socketdir@\" @THREADFLAGS@ $(LUA_CFLAGS) $(SQLITE3_CFLAGS) $(POLARSSL_CFLAGS) -Iext/rapidjson/include -Iext/yahttp +AM_CXXFLAGS=-DSYSCONFDIR=\"@sysconfdir@\" -DPKGLIBDIR=\"$(pkglibdir)\" -DLOCALSTATEDIR=\"@socketdir@\" @THREADFLAGS@ $(LUA_CFLAGS) $(SQLITE3_CFLAGS) $(POLARSSL_CFLAGS) -Iext/rapidjson/include -Iext/yahttp YAHTTP_LIBS = -Lext/yahttp/yahttp -lyahttp diff --git a/pdns/pdns.conf-dist b/pdns/pdns.conf-dist index 08c4758359..d525a71ef5 100644 --- a/pdns/pdns.conf-dist +++ b/pdns/pdns.conf-dist @@ -287,7 +287,7 @@ ################################# # module-dir Default directory for modules # -# module-dir=/usr/local/lib +# module-dir=/usr/local/lib/pdns ################################# # negquery-cache-ttl Seconds to store negative query results in the QueryCache diff --git a/pdns/pdnssec.cc b/pdns/pdnssec.cc index c32e8fa5f4..d3c7df5575 100644 --- a/pdns/pdnssec.cc +++ b/pdns/pdnssec.cc @@ -133,7 +133,7 @@ void loadMainConfig(const std::string& configdir) ::arg().set("default-zsk-algorithms","Default ZSK algorithms")="rsasha256"; ::arg().set("default-zsk-size","Default KSK size (0 means default)")="0"; ::arg().set("max-ent-entries", "Maximum number of empty non-terminals in a zone")="100000"; - ::arg().set("module-dir","Default directory for modules")=LIBDIR; + ::arg().set("module-dir","Default directory for modules")=PKGLIBDIR; ::arg().set("entropy-source", "If set, read entropy from this file")="/dev/urandom"; ::arg().setSwitch("direct-dnskey","Fetch DNSKEY RRs from backend during DNSKEY synthesis")="no"; diff --git a/pdns/receiver.cc b/pdns/receiver.cc index 5d5e8846b8..28fe649045 100644 --- a/pdns/receiver.cc +++ b/pdns/receiver.cc @@ -346,7 +346,7 @@ static void UNIX_declareArguments() ::arg().set("config-dir","Location of configuration directory (pdns.conf)")=SYSCONFDIR; ::arg().set("config-name","Name of this virtual configuration - will rename the binary image")=""; ::arg().set("socket-dir","Where the controlsocket will live")=LOCALSTATEDIR; - ::arg().set("module-dir","Default directory for modules")=LIBDIR; + ::arg().set("module-dir","Default directory for modules")=PKGLIBDIR; ::arg().set("chroot","If set, chroot to this directory for more security")=""; ::arg().set("logging-facility","Log under a specific facility")=""; ::arg().set("daemon","Operate as a daemon")="no";