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

Attachment: signature.asc
Description: Digital signature

Reply via email to