From 2e938e5d3bd1e325eda508861d238bf586ee3f13 Mon Sep 17 00:00:00 2001 From: Bert Hubert Date: Thu, 28 Nov 2002 13:52:49 +0000 Subject: [PATCH] juh git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@14 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- HACKING | 11 +++++++++++ README | 16 ++++++++++++++++ TODO | 28 ++++++++++++++++++++++++++++ WARNING | 9 +++++++++ modules/gmysqlbackend/Makefile | 31 ++++++++++++++++++++++++++----- modules/mysqlbackend/Makefile.am | 2 +- modules/pdnsbackend/Makefile.am | 1 + pdns/Makefile.am | 5 ++--- pdns/Makefile.in | 5 ++--- 9 files changed, 96 insertions(+), 12 deletions(-) create mode 100644 HACKING create mode 100644 README create mode 100644 TODO create mode 100644 WARNING diff --git a/HACKING b/HACKING new file mode 100644 index 000000000..07dde1d72 --- /dev/null +++ b/HACKING @@ -0,0 +1,11 @@ +$ export CVSROOT=:pserver:anon@outpost.ds9a.nl:/var/cvsroot +$ cvs login +CVS password: [enter 'cvs' (without 's)] +$ cvs co pdns +cvs server: Updating pdns +... + +Send any patches you may have to the mailinglist: + pdns-dev@mailman.powerdns.com + +Thanks! diff --git a/README b/README new file mode 100644 index 000000000..86ff75435 --- /dev/null +++ b/README @@ -0,0 +1,16 @@ +To compile a very basic version, use: + +$ ./configure --with-modules="" +$ make +# make install + +This generates a PowerDNS binary with no modules, except the bind backend, +built in. When ./configure is run without --with-modules, the mysql module +is built by default. + +To add multiple modules, try: + +$ ./configure --with-modules="mysql mypgsql" + +For postgresql, you will probably have to edit modules/mypgsql/Makefile.in - +see the TODO file \ No newline at end of file diff --git a/TODO b/TODO new file mode 100644 index 000000000..9110181dc --- /dev/null +++ b/TODO @@ -0,0 +1,28 @@ +Mostly polish on the build process: + + - make sure only Linux gets -D_GNU_SOURCE + - make PostgreSQL and MySQL include and library paths configurable + - compilation on FreeBSD is probably broken right now + - add support for building dynamic modules again + .so files that can be loaded at runtime and distributed + separately + + - in the CVS repository live far more backends: + - rebuild 'rpm' target, 'deb' target, FreeBSD 'port' + +$ export CVSROOT=:pserver:anon@outpost.ds9a.nl:/var/cvsroot +$ cvs login +CVS password: [enter 'cvs' (without 's)] +$ cvs co pdns +cvs server: Updating pdns +... + + - In ./modules you will find a number of exciting modules that need to + be tought to add themselves to the 'distdir', so they appear in + 'make dist', the PowerDNS distribution. + + +Real work: + - Solaris version + - Mac OS X version (has been done, partly) + - resurrect W2K version \ No newline at end of file diff --git a/WARNING b/WARNING new file mode 100644 index 000000000..f74831682 --- /dev/null +++ b/WARNING @@ -0,0 +1,9 @@ +Warning! + +This version is a regression on 2.8 for almost everybody except open source +developers. Please do not blindly install 2.9 over 2.8. + +2.9 is the first open source consolidation release, we expect things to +clear up after 2.9 and to fully stabilise at 3.0. + +Currently, only static modules are supported in the build process! \ No newline at end of file diff --git a/modules/gmysqlbackend/Makefile b/modules/gmysqlbackend/Makefile index e6792ca5e..02c76957d 100644 --- a/modules/gmysqlbackend/Makefile +++ b/modules/gmysqlbackend/Makefile @@ -1,3 +1,4 @@ +# Generated automatically from Makefile.in by configure. PDNS_HOME = ../../pdns PDNS_LIBDIR = /usr/lib/powerdns @@ -17,11 +18,29 @@ CPPFLAGS=-I$(PDNS_HOME) -I$(MYSQL_INCLUDES) -I$(POSTGRES_INCLUDES) LIBS= -L$(POSTGRES_LIBDIR) -L$(MYSQL_LIBDIR) $(MYSQL_LIBS) $(POSTGRES_LIBS) DIRNAME=pdns-gmypgsqlbackend-$(VERSION) -dist: - mkdir $(DIRNAME) - cp COPYING smysql.cc spgsql.cc gmysqlbackend.cc gmysqlbackend.hh smysql.hh ssql.hh spgsql.hh Makefile INSTALL $(DIRNAME) - tar cvzf $(DIRNAME).tar.gz $(DIRNAME) - rm -rf $(DIRNAME) +PACKAGE = pdns +VERSION = 2.9 +DISTFILES=*.cc *.hh Makefile.in OBJECTFILES OBJECTLIBS + +top_distdir = ../.. +distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) + +distdir: $(DISTFILES) + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + $(mkinstalldirs) "$(distdir)/$$dir"; \ + fi; \ + if test -d $$d/$$file; then \ + cp -pR $$d/$$file $(distdir) \ + || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done deps: g++ -M -g -c $(CXXFLAGS) $(CPPFLAGS) *.cc > deps @@ -35,6 +54,8 @@ libgmysqlbackend.so: gmysqlbackend.o smysql.o spgsql.o .cc.o: g++ -MD -g -c $(CXXFLAGS) $(CPPFLAGS) $< +distclean: clean + clean: rm -f *.o *.so *~ *.d deps diff --git a/modules/mysqlbackend/Makefile.am b/modules/mysqlbackend/Makefile.am index 83e0d6b0e..66fa12748 100644 --- a/modules/mysqlbackend/Makefile.am +++ b/modules/mysqlbackend/Makefile.am @@ -1,5 +1,5 @@ lib_LTLIBRARIES = libmysqlbackend.la - +EXTRA_DIST=OBJECTFILES OBJECTLIBS libmysqlbackend_la_SOURCES=mysqlcbackend.cc mysqlcbackend.hh libmysqlbackend_la_LDFLAGS=-lmysqlclient diff --git a/modules/pdnsbackend/Makefile.am b/modules/pdnsbackend/Makefile.am index ab54bd252..ca3e8a225 100644 --- a/modules/pdnsbackend/Makefile.am +++ b/modules/pdnsbackend/Makefile.am @@ -1,4 +1,5 @@ lib_LTLIBRARIES = libpdnsbackend.la +EXTRA_DIST=OBJECTFILES OBJECTLIBS libpdnsbackend_la_SOURCES=pdnsbackend.cc pdnsbackend.hh libpdnsbackend_la_LDFLAGS=-lmysqlclient diff --git a/pdns/Makefile.am b/pdns/Makefile.am index 7bd337f51..9860021d6 100644 --- a/pdns/Makefile.am +++ b/pdns/Makefile.am @@ -1,13 +1,12 @@ AM_CXXFLAGS=-D_GNU_SOURCE -DSYSCONFDIR=\"@sysconfdir@\" -DBINDIR=\"@bindir@\" -DLOCALSTATEDIR=\"@socketdir@\" -Ibackends/bind AM_CPPFLAGS=-Ibackends/bind -EXTRA_DIST = codedocs/Makefile codedocs/doxygen.conf sample docs/Makefile \ +EXTRA_DIST = codedocs/Makefile codedocs/doxygen.conf docs/Makefile \ docs/gslb-operations.sgml docs/powerdns-case.sgml docs/powerdns-install.sgml \ docs/powerdns-overview.sgml docs/powerdns-technical.sgml extra/Makefile \ extra/null.c pdns.spec release-scripts/ debian/changelog debian/conffiles \ debian/control debian/postinst debian/postrm debian/preinst \ -debian/prerm debian/rules installer \ -pathconfig.redhat pathconfig pathconfig.bsd pathconfig.debian docs/pdns.sgml \ +debian/prerm debian/rules docs/pdns.sgml \ LICENSE choosepaths mtasker.cc COPYING bin_SCRIPTS = pdns diff --git a/pdns/Makefile.in b/pdns/Makefile.in index 6311c8ebe..c77f478e6 100644 --- a/pdns/Makefile.in +++ b/pdns/Makefile.in @@ -89,13 +89,12 @@ socketdir = @socketdir@ AM_CXXFLAGS = -D_GNU_SOURCE -DSYSCONFDIR=\"@sysconfdir@\" -DBINDIR=\"@bindir@\" -DLOCALSTATEDIR=\"@socketdir@\" -Ibackends/bind AM_CPPFLAGS = -Ibackends/bind -EXTRA_DIST = codedocs/Makefile codedocs/doxygen.conf sample docs/Makefile \ +EXTRA_DIST = codedocs/Makefile codedocs/doxygen.conf docs/Makefile \ docs/gslb-operations.sgml docs/powerdns-case.sgml docs/powerdns-install.sgml \ docs/powerdns-overview.sgml docs/powerdns-technical.sgml extra/Makefile \ extra/null.c pdns.spec release-scripts/ debian/changelog debian/conffiles \ debian/control debian/postinst debian/postrm debian/preinst \ -debian/prerm debian/rules installer \ -pathconfig.redhat pathconfig pathconfig.bsd pathconfig.debian docs/pdns.sgml \ +debian/prerm debian/rules docs/pdns.sgml \ LICENSE choosepaths mtasker.cc COPYING -- 2.49.0