tags 374180 + patch tags 384494 + patch thanks Hi,
The attached interdiff output shows one possibility to build -gnutls packages for libneon26. It also adds SSL thread safety support. As thread safety support does not add a lot of overhead I think that it's not necessary to build additional binary packages to support it. As I basically did a complete rewrite of debian/rules I also attached the new rules file as it might be better readable than the diff output. HTH, Sebastian -- Sebastian "tokkee" Harl GnuPG-ID: 0x8501C7FC http://tokkee.org/
reverted:
--- neon26-0.26.1/neon.pc.in
+++ neon26-0.26.1.orig/neon.pc.in
@@ -6,6 +6,5 @@
Name: neon
Description: HTTP/WebDAV client library
Version: @NEON_VERSION@
+Libs: -L${libdir} -lneon @NEON_LIBS@
-Libs: -L${libdir} -lneon @NEON_LTLIBS@
-Libs.private: -L${libdir} @NEON_LIBS@
Cflags: -I${includedir}/neon @NEON_CFLAGS@
reverted:
--- neon26-0.26.1/neon-config.in
+++ neon26-0.26.1.orig/neon-config.in
@@ -73,7 +73,7 @@
;;
--libs)
+ LIBS="-lneon @NEON_LIBS@"
- LIBS="-lneon @NEON_LTLIBS@"
# Don't add standard library paths
if test "$prefix" != "/usr"; then
LIBS="-L${libdir} ${LIBS}"
diff -u neon26-0.26.1/debian/rules neon26-0.26.1/debian/rules
--- neon26-0.26.1/debian/rules
+++ neon26-0.26.1/debian/rules
@@ -1,86 +1,115 @@
#!/usr/bin/make -f
-package=libneon26
-upstream-version=$(shell head -n 1 debian/changelog | sed -e
's/.*(\(\([0-9]\+:\)\?\([^-]\+\).*\).*).*/\3/' )
+version = 26
+packages = libneon$(version) libneon$(version)-gnutls
+
+configure_options = \
+ --enable-shared \
+ --enable-static \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --infodir=/usr/share/info \
+ --mandir=/usr/share/man \
+ --enable-threadsafe-ssl=posix \
+ --with-gssapi \
+ --with-libxml2
+
+CFLAGS = -O2 -g
# export DH_VERBOSE=1
-build: build-stamp
-build-stamp:
- dh_testdir
- dh_clean
+debian/build:
+ mkdir ./debian/build/
- cp /usr/share/misc/config.guess \
- /usr/share/misc/config.sub \
- ./
- CFLAGS="-O2 -g" \
- ./configure \
- --enable-shared \
- --enable-static \
- --prefix=/usr \
- --sysconfdir=/etc \
- --infodir=/usr/share/info \
- --mandir=/usr/share/man \
- --with-ssl \
- --with-gssapi \
- --with-libxml2
+debian/build/libneon$(version)/config.status: debian/build
+ build_dir=./debian/build/libneon$(version)/ && \
+ ( [ -e $$build_dir ] || mkdir $$build_dir ) && \
+ cd $$build_dir && CFLAGS="$(CFLAGS)" ../../../configure \
+ $(configure_options) \
+ --with-ssl=openssl \
+ || false
+
+debian/build/libneon$(version)-gnutls/config.status: debian/build
+ build_dir=./debian/build/libneon$(version)-gnutls/ && \
+ ( [ -e $$build_dir ] || mkdir $$build_dir ) && \
+ cd $$build_dir && CFLAGS="$(CFLAGS)" ../../../configure \
+ $(configure_options) \
+ --with-ssl=gnutls \
+ || false
- $(MAKE)
+build: build-stamp
+build-stamp: debian/build/libneon$(version)/config.status \
+ debian/build/libneon$(version)-gnutls/config.status
+ dh_testdir
+ dh_clean
+
+ for pkg in $(packages); do \
+ ( cd ./debian/build/$$pkg/ \
+ && $(MAKE) ); \
+ done
+
touch build-stamp
-
clean:
dh_testdir
dh_testroot
-rm -f build-stamp install-stamp macros/changelog.m4
- -rm -f config.sub config.guess
- -$(MAKE) distclean
- -rm -rf Makefile src/Makefile test/Makefile config.h config.cache
config.log config.status
- -rm -rf libtool neon-config src/.libs src/*.o
+ -rm -rf ./debian/build/
dh_clean
-
install: install-stamp
+
install-stamp: build-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
- $(MAKE) install-lib install-headers install-config
DESTDIR=`pwd`/debian/$(package)
- dh_movefiles -p$(package)-dev --sourcedir=debian/$(package) \
- usr/bin/neon-config \
- usr/include/neon \
- usr/lib/libneon.a \
- usr/lib/libneon.la \
- usr/lib/libneon.so \
- usr/lib/pkgconfig
- dh_installman -p$(package)-dev debian/neon-config.1
- install -d debian/$(package)-dev/usr/share/aclocal
- cp macros/neon*.m4 \
- debian/$(package)-dev/usr/share/aclocal/
-
- rm -rf debian/$(package)/usr/include \
- debian/$(package)/usr/bin \
- debian/$(package)/usr/share/man
-
+
+ for pkg in $(packages); do \
+ ( cd ./debian/build/$$pkg/ \
+ && $(MAKE) install-lib install-headers install-config \
+ DESTDIR=$(CURDIR)/debian/$$pkg ); \
+ dh_movefiles -p$$pkg-dev --sourcedir=debian/$$pkg \
+ usr/bin/neon-config \
+ usr/include/neon \
+ usr/lib/libneon.a \
+ usr/lib/libneon.la \
+ usr/lib/libneon.so \
+ usr/lib/pkgconfig; \
+ dh_installman -p$$pkg-dev debian/neon-config.1; \
+ install -d debian/$$pkg-dev/usr/share/aclocal; \
+ cp macros/neon*.m4 \
+ debian/$$pkg-dev/usr/share/aclocal/; \
+ \
+ rm -rf debian/$$pkg/usr/include \
+ debian/$$pkg/usr/bin \
+ debian/$$pkg/usr/share/man; \
+ done
+
touch install-stamp
-
binary-indep: build install
# No arch indep packages generated
binary-arch: build install
dh_testdir -a
dh_testroot -a
-
+
cp macros/ChangeLog macros/changelog.m4
- dh_installdocs -p$(package)-dev macros/changelog.m4
-
+ for pkg in $(packages); do \
+ dh_installdocs -p$$pkg-dev macros/changelog.m4; \
+ done
+
dh_installchangelogs -a ChangeLog
dh_installdocs -a AUTHORS BUGS NEWS README THANKS TODO
dh_makeshlibs -V
- dh_strip -a --dbg-package=$(package)-dbg
+
+ for pkg in $(packages); do \
+ dh_strip -p$$pkg --dbg-package=$$pkg-dbg; \
+ done
+
+ dh_strip -a
dh_compress -a
dh_fixperms -a
dh_installdeb -a
@@ -92,3 +121,3 @@
-
binary: binary-indep binary-arch
.PHONY: binary clean binary-indep binary-arch binary install
+
diff -u neon26-0.26.1/debian/control neon26-0.26.1/debian/control
--- neon26-0.26.1/debian/control
+++ neon26-0.26.1/debian/control
@@ -2,12 +2,16 @@
Section: net
Priority: optional
Maintainer: Laszlo Boszormenyi (GCS) <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>= 5.0.0), libxml2-dev, libssl-dev (>= 0.9.8b-1),
libkrb5-dev, libz-dev, autotools-dev, binutils (>= 2.14.90.0.7)
+Build-Depends: debhelper (>= 5.0.0), libxml2-dev, libgnutls-dev,
+ libssl-dev (>= 0.9.8b-1), libkrb5-dev, libz-dev, autotools-dev,
+ binutils (>= 2.14.90.0.7)
Standards-Version: 3.7.2
Package: libneon26
Section: libs
Architecture: any
+Conflicts: libneon26-gnutls
+Replaces: libneon26-gnutls
Depends: ${shlibs:Depends}
Description: An HTTP and WebDAV client library
neon is an HTTP and WebDAV client library, with a C language API.
@@ -19,13 +23,14 @@
worry about the lower-level stuff.
.
Current features:
- * High-level interface to HTTP and WebDAV methods (PUT, GET, HEAD etc)
+ * High-level interface to HTTP and WebDAV methods (PUT, GET, HEAD etc.)
* Low-level interface to HTTP request handling, to allow implementing
new methods easily.
* persistent connections
* RFC2617 basic and digest authentication (including auth-int, md5-sess)
* Proxy support (including basic/digest authentication)
- * SSL/TLS support using OpenSSL (including client certificate support)
+ * SSL/TLS support using OpenSSL (including client certificate and thread
+ safety support)
* Generic WebDAV 207 XML response handling mechanism
* XML parsing using the expat or libxml parsers
* Easy generation of error messages from 207 error responses
@@ -38,10 +43,11 @@
Package: libneon26-dev
Section: libdevel
Architecture: any
-Conflicts: libneon-dev, libneon24-doc (<= 0.24.5-1)
+Conflicts: libneon-dev, libneon24-doc (<= 0.24.5-1), libneon26-gnutls-dev
Provides: libneon-dev
-Replaces: libneon-dev
-Depends: libneon26 (= ${Source-Version}), libssl-dev, libxml2-dev,
libkrb5-dev, pkg-config
+Replaces: libneon-dev, libneon26-gnutls-dev
+Depends: libneon26 (= ${Source-Version}), libssl-dev, libxml2-dev, libkrb5-dev,
+ pkg-config
Description: Header and static library files for libneon26
This package contains the headers and the static library for libneon26.
.
@@ -53,7 +59,7 @@
Section: libdevel
Priority: extra
Architecture: any
-Depends: libneon26 (= ${Source-Version}), ${shlibs:Depends}
+Depends: libneon26 (= ${Source-Version})
Description: Detached symbols for libneon26
This package contains the debugging symbols for libneon26, suitable for
debugging.
@@ -63,0 +70,63 @@
+
+Package: libneon26-gnutls
+Section: libs
+Architecture: any
+Conflicts: libneon26
+Replaces: libneon26
+Depends: ${shlibs:Depends}
+Description: An HTTP and WebDAV client library (GnuTLS enabled)
+ neon is an HTTP and WebDAV client library, with a C language API.
+ .
+ WARNING: THE NEON API IS NOT YET STABLE.
+ .
+ Provides lower-level interfaces to directly implement new HTTP
+ methods, and higher-level interfaces so that you don't have to
+ worry about the lower-level stuff.
+ .
+ Current features:
+ * High-level interface to HTTP and WebDAV methods (PUT, GET, HEAD, etc.)
+ * Low-level interface to HTTP request handling, to allow implementing
+ new methods easily.
+ * persistent connections
+ * RFC2617 basic and digest authentication (including auth-int, md5-sess)
+ * Proxy support (including basic/digest authentication)
+ * SSL/TLS support using GnuTLS (including client certificate and thread
+ safety support)
+ * Generic WebDAV 207 XML response handling mechanism
+ * XML parsing using the expat or libxml parsers
+ * Easy generation of error messages from 207 error responses
+ * WebDAV resource manipulation: MOVE, COPY, DELETE, MKCOL.
+ * WebDAV metadata support: set and remove properties, query any set ofi
+ properties (PROPPATCH/PROPFIND).
+ * autoconf macros supplied for easily embedding neon directly inside an
+ application source tree.
+
+Package: libneon26-gnutls-dev
+Section: libdevel
+Architecture: any
+Conflicts: libneon-dev, libneon24-doc (<= 0.24.5-1), libneon26-dev
+Provides: libneon-dev
+Replaces: libneon-dev, libneon26-dev
+Depends: libneon26-gnutls (= ${Source-Version}), libgnutls-dev, libxml2-dev,
+ libkrb5-dev, pkg-config
+Description: Header and static library files for libneon26 (GnuTLS enabled)
+ This package contains the headers and the static library for
+ libneon26-gnutls.
+ .
+ Neon provides lower-level interfaces to directly implement new HTTP
+ methods, and higher-level interfaces so that you don't have to
+ worry about the lower-level stuff.
+
+Package: libneon26-gnutls-dbg
+Section: libdevel
+Priority: extra
+Architecture: any
+Depends: libneon26-gnutls (= ${Source-Version})
+Description: Detached symbols for libneon26 (GnuTLS enabled)
+ This package contains the debugging symbols for libneon26-gnutls, suitable
+ for debugging.
+ .
+ Neon provides lower-level interfaces to directly implement new HTTP
+ methods, and higher-level interfaces so that you don't have to
+ worry about the lower-level stuff.
+
#!/usr/bin/make -f
version = 26
packages = libneon$(version) libneon$(version)-gnutls
configure_options = \
--enable-shared \
--enable-static \
--prefix=/usr \
--sysconfdir=/etc \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
--enable-threadsafe-ssl=posix \
--with-gssapi \
--with-libxml2
CFLAGS = -O2 -g
# export DH_VERBOSE=1
debian/build:
mkdir ./debian/build/
debian/build/libneon$(version)/config.status: debian/build
build_dir=./debian/build/libneon$(version)/ && \
( [ -e $$build_dir ] || mkdir $$build_dir ) && \
cd $$build_dir && CFLAGS="$(CFLAGS)" ../../../configure \
$(configure_options) \
--with-ssl=openssl \
|| false
debian/build/libneon$(version)-gnutls/config.status: debian/build
build_dir=./debian/build/libneon$(version)-gnutls/ && \
( [ -e $$build_dir ] || mkdir $$build_dir ) && \
cd $$build_dir && CFLAGS="$(CFLAGS)" ../../../configure \
$(configure_options) \
--with-ssl=gnutls \
|| false
build: build-stamp
build-stamp: debian/build/libneon$(version)/config.status \
debian/build/libneon$(version)-gnutls/config.status
dh_testdir
dh_clean
for pkg in $(packages); do \
( cd ./debian/build/$$pkg/ \
&& $(MAKE) ); \
done
touch build-stamp
clean:
dh_testdir
dh_testroot
-rm -f build-stamp install-stamp macros/changelog.m4
-rm -rf ./debian/build/
dh_clean
install: install-stamp
install-stamp: build-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
for pkg in $(packages); do \
( cd ./debian/build/$$pkg/ \
&& $(MAKE) install-lib install-headers install-config \
DESTDIR=$(CURDIR)/debian/$$pkg ); \
dh_movefiles -p$$pkg-dev --sourcedir=debian/$$pkg \
usr/bin/neon-config \
usr/include/neon \
usr/lib/libneon.a \
usr/lib/libneon.la \
usr/lib/libneon.so \
usr/lib/pkgconfig; \
dh_installman -p$$pkg-dev debian/neon-config.1; \
install -d debian/$$pkg-dev/usr/share/aclocal; \
cp macros/neon*.m4 \
debian/$$pkg-dev/usr/share/aclocal/; \
\
rm -rf debian/$$pkg/usr/include \
debian/$$pkg/usr/bin \
debian/$$pkg/usr/share/man; \
done
touch install-stamp
binary-indep: build install
# No arch indep packages generated
binary-arch: build install
dh_testdir -a
dh_testroot -a
cp macros/ChangeLog macros/changelog.m4
for pkg in $(packages); do \
dh_installdocs -p$$pkg-dev macros/changelog.m4; \
done
dh_installchangelogs -a ChangeLog
dh_installdocs -a AUTHORS BUGS NEWS README THANKS TODO
dh_makeshlibs -V
for pkg in $(packages); do \
dh_strip -p$$pkg --dbg-package=$$pkg-dbg; \
done
dh_strip -a
dh_compress -a
dh_fixperms -a
dh_installdeb -a
dh_shlibdeps -a
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: binary clean binary-indep binary-arch binary install
signature.asc
Description: Digital signature

