[Pkg-voip-commits] r3590 - pwlib/trunk/debian

kilian at alioth.debian.org kilian at alioth.debian.org
Sun May 20 15:03:00 UTC 2007


Author: kilian
Date: 2007-05-20 15:03:00 +0000 (Sun, 20 May 2007)
New Revision: 3590

Modified:
   pwlib/trunk/debian/changelog
   pwlib/trunk/debian/control
   pwlib/trunk/debian/rules
Log:
add more verbose comment on why closing #424050.  Fix the conflicts cruft. The
plugins may need to be moved to a more versioned namespace still.


Modified: pwlib/trunk/debian/changelog
===================================================================
--- pwlib/trunk/debian/changelog	2007-05-20 14:27:17 UTC (rev 3589)
+++ pwlib/trunk/debian/changelog	2007-05-20 15:03:00 UTC (rev 3590)
@@ -2,10 +2,18 @@
 
   * NOT RELEASED YET
   * New upstream version.
-  * Update debian/rules to build also debug versions (with extra PTRACE code)
-    and install it to libpt-dbg.
+  * Update debian/rules to build also ptrace-enabled opt version and
+    ptrace-enabled debug version (with extra PTRACE code) as was often
+    requested by Ekiga developers.
+  * Add extra debug packages for new packages.
+  * Add symlinks for linking only in libpt-dev rather than each libpt package.
+    Backward compatibility links are still added to allow clean upgrade paths
+    without rebuild when build-version has been bumped. Upstream reckons the
+    API with stable OpenH323 releases (pwlib, opal, openh323) is supposed to
+    remain identical for all upsates with the same minor version number. 
+    (Closes: #424050)
 
- -- Kilian Krause <kilian at debian.org>  Thu,  4 Jan 2007 18:46:45 +0100
+ -- Kilian Krause <kilian at debian.org>  Sun, 20 May 2007 16:59:21 +0200
 
 pwlib (1.10.2-2) unstable; urgency=high
 

Modified: pwlib/trunk/debian/control
===================================================================
--- pwlib/trunk/debian/control	2007-05-20 14:27:17 UTC (rev 3589)
+++ pwlib/trunk/debian/control	2007-05-20 15:03:00 UTC (rev 3590)
@@ -5,7 +5,7 @@
 Uploaders: Kilian Krause <kilian at debian.org>, Jose Carlos Garcia Sogo <jsogo at debian.org>, Mark Purcell <msp at debian.org>, Santiago Garcia Mantinan <manty at debian.org>
 Build-Depends: debhelper (>=4.9.0), libdc1394-13-dev, bison, flex, libssl-dev, libldap2-dev, libsdl1.2-dev, libexpat1-dev, g++ (>=2.95), autotools-dev, dpatch (>=1.11), libasound2-dev, libavc1394-dev, libraw1394-dev, libdv-dev, libsasl2-dev, libkrb5-dev, doxygen, linux-kernel-headers, binutils (>= 2.14.90.0.7)
 Build-Depends-Indep: doxygen
-Build-Conflicts: libpt-1.10.0, libpt-1.8.7, libpt-1.8.3, libpt-1.8.3c2, libpt-1.8.3c2a, libpt-dev
+Build-Conflicts: libpt-1.10.0, libpt-1.10.0-ptrace, libpt-1.10.0-develop, libpt-1.8.7, libpt-1.8.3, libpt-1.8.3c2, libpt-1.8.3c2a, libpt-dev
 Standards-Version: 3.6.2
 XS-Vcs-Svn: svn://svn.debian.org/pkg-voip/
 XS-Vcs-Browser: http://svn.debian.org/wsvn/pkg-voip/
@@ -15,7 +15,7 @@
 Architecture: any
 Depends: ${shlibs:Depends}
 Replaces: libpt-1.8.7, libpt-1.8.3c2, libpt-1.8.3c2a
-Conflicts: libpt-1.8.7, libpt-1.8.3c2, libpt-1.8.3c2a, libpt-1.10.0-performance, libpt-1.10.0-develop
+Conflicts: libpt-1.10.0-ptrace, libpt-1.10.0-develop
 Description: Portable Windows Library
  This package contains the shared version of the library PWLib, which is
  a moderately large class library that has its genesis many years ago as
@@ -29,8 +29,7 @@
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}
-Replaces: libpt-1.8.7, libpt-1.8.3c2, libpt-1.8.3c2a
-Conflicts: libpt-1.8.7, libpt-1.8.3c2, libpt-1.8.3c2a, libpt-1.10.0, libpt-1.10.0-develop, libpt-plugins-v4l, libpt-plugins-v4l2, libpt-plugins-avc, libpt-plugins-dc, libpt-plugins-oss, libpt-plugins-alsa
+Conflicts: libpt-1.10.0, libpt-1.10.0-develop, libpt-plugins-v4l, libpt-plugins-v4l2, libpt-plugins-avc, libpt-plugins-dc, libpt-plugins-oss, libpt-plugins-alsa
 Description: Portable Windows Library - optimized version with extra ptrace code
  This package contains the shared version of the library PWLib, which is
  a moderately large class library that has its genesis many years ago as
@@ -50,8 +49,7 @@
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}
-Replaces: libpt-1.8.7, libpt-1.8.3c2, libpt-1.8.3c2a
-Conflicts: libpt-1.8.7, libpt-1.8.3c2, libpt-1.8.3c2a, libpt-1.10.0, libpt-1.10.0-ptrace, libpt-plugins-v4l, libpt-plugins-v4l2, libpt-plugins-avc, libpt-plugins-dc, libpt-plugins-oss, libpt-plugins-alsa
+Conflicts: libpt-1.10.0, libpt-1.10.0-ptrace, libpt-plugins-v4l, libpt-plugins-v4l2, libpt-plugins-avc, libpt-plugins-dc, libpt-plugins-oss, libpt-plugins-alsa
 Description: Portable Windows Library - binary developer version
  This package contains the shared version of the library PWLib, which is
  a moderately large class library that has its genesis many years ago as

Modified: pwlib/trunk/debian/rules
===================================================================
--- pwlib/trunk/debian/rules	2007-05-20 14:27:17 UTC (rev 3589)
+++ pwlib/trunk/debian/rules	2007-05-20 15:03:00 UTC (rev 3590)
@@ -10,6 +10,9 @@
 #PACKAGE=libpt-$(LIBPTCOMPAT)
 PACKAGE=libpt-1.10.0
 
+# excludes for the -ptrace and -develop version
+STRIP_EXCLUDES = -N$(PACKAGE) -Nlibpt-dbg -Nlibpt-dev -Nlibpt-plugins-alsa -Nlibpt-plugins-oss 
+STRIP_EXCLUDES += -Nlibpt-plugins-v4l -Nlibpt-plugins-v4l2 -Nlibpt-plugins-avc -Nlibpt-plugins-dc
 
 ifneq (,$(shell test -f version.h&&grep MAJOR_VERSION version.h))
 VER_MAJOR := $(shell awk '/MAJOR_VERSION/ { print $$3 }' version.h 2>/dev/null)
@@ -19,7 +22,7 @@
 
 SHLIBSVER := $(VER_MAJOR).$(VER_MINOR).$(VER_SUB)
 
-CFLAGS = -g -Wall
+CFLAGS = -g
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -O0
@@ -73,31 +76,75 @@
 	
 build-arch-stamp:
 	# first build static and shared...
-	$(MAKE) PWLIBDIR=$(CURDIR) bothshared bothnoshared
+	# ### internal settings and variables structure:
+	# make/ptlib.mak
+	# -> make/unix.mak
+	#  (P_SHAREDLIB = 0|1) - build shared library
+	#  (OBJ_SUFFIX = r|d)  - what object suffix will we use (removed with Debian patch)
+	#  (OBJDIR_SUFFIX = $(OBJ_SUFFIX)) - what the target namespace for all the objects will be
+	#  (LIB_TYPE = _s) # for static lib (P_SHAREDLIB = 0)
+	#  (PW_LIBDIR       = $(PWLIBDIR)/lib) - target where libpt.so.* will be built into
+	## PTLIB_BASE      = pt_$(PLATFORM_TYPE)_$(OBJ_SUFFIX)  --- this one is just "pt" for Debian
+	## PTLIB_FILE      = lib$(PTLIB_BASE)$(LIB_TYPE).$(LIB_SUFFIX)
+	## PT_OBJBASE      = obj_$(PLATFORM_TYPE)_$(OBJDIR_SUFFIX)
+	#  (if not debian-patched)
+	#  --> make/ptbuildopts.mak
+	# -> make/common.mak
+	#  PTLIB_BASE=pt
+	#  1. shared, high optimized: DEBUG=0 P_SHAREDLIB=1 OBJDIR_SUFFIX= optshared
+	#  2. static, high optimized: DEBUG=0 P_SHAREDLIB=0 OBJDIR_SUFFIX= optnoshared
+	#  CFLAGS += -DPTRACING=1
+	#    3. shared, with ptrace but opt: DEBUG=0 P_SHAREDLIB=1 OBJDIR_SUFFIX=r optshared
+	#    4. static, with ptrace but opt: DEBUG=0 P_SHAREDLIB=0 OBJDIR_SUFFIX=r optnoshared
+	#    5. shared, with debug and ptrace: DEBUG=1 P_SHAREDLIB=1 OBJDIR_SUFFIX=d debugshared
+	#    6. static, with debug and ptrace: DEBUG=1 P_SHAREDLIB=0 OBJDIR_SUFFIX=d debugnoshared
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS)" DEBUG= P_SHAREDLIB=1 OBJDIR_SUFFIX= PW_LIBDIR=$(CURDIR)/lib/highopt optshared
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS)" DEBUG= P_SHAREDLIB=0 OBJDIR_SUFFIX= PW_LIBDIR=$(CURDIR)/lib/highopt optnoshared
+	
+	# put CFLAGS to build with PTRACING code
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS) -DPTRACING=1" DEBUG= P_SHAREDLIB=1 OBJDIR_SUFFIX=r PW_LIBDIR=$(CURDIR)/lib/opt optshared
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS) -DPTRACING=1" DEBUG= P_SHAREDLIB=0 OBJDIR_SUFFIX=r PW_LIBDIR=$(CURDIR)/lib/opt optnoshared
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS) -DPTRACING=1" DEBUG=1 P_SHAREDLIB=1 OBJDIR_SUFFIX=d PW_LIBDIR=$(CURDIR)/lib/debug debugshared
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS) -DPTRACING=1" DEBUG=1 P_SHAREDLIB=0 OBJDIR_SUFFIX=d PW_LIBDIR=$(CURDIR)/lib/debug debugnoshared
+	
 	# then we ensure that the fresh build works with hello world.
 	# ...in static
 	-$(MAKE) PWLIBDIR=$(CURDIR) -C samples/hello_world/ clean
 	$(RM) -rf samples/hello_world/obj_*
-	$(MAKE) PWLIBDIR=$(CURDIR) -C samples/hello_world/ bothnoshared
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS)" -C samples/hello_world/ DEBUG= P_SHAREDLIB=0 OBJDIR_SUFFIX= PW_LIBDIR=$(CURDIR)/lib/highopt optnoshared
+	
+	# put CFLAGS to build with PTRACING code
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS) -DPTRACING=1" -C samples/hello_world/ DEBUG= P_SHAREDLIB=0 OBJDIR_SUFFIX=r PW_LIBDIR=$(CURDIR)/lib/opt optnoshared
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS) -DPTRACING=1" -C samples/hello_world/ DEBUG=1 P_SHAREDLIB=0 OBJDIR_SUFFIX=d PW_LIBDIR=$(CURDIR)/lib/debug debugnoshared
+	
+	samples/hello_world/obj_*_/hello
 	samples/hello_world/obj_*_d/hello
 	samples/hello_world/obj_*_r/hello
 	
 	# ...and in shared..
 	$(MAKE) PWLIBDIR=$(CURDIR) -C samples/hello_world/ clean
 	$(RM) -rf samples/hello_world/obj_*
-	$(MAKE) PWLIBDIR=$(CURDIR) -C samples/hello_world/ bothshared
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS)" -C samples/hello_world/ DEBUG= P_SHAREDLIB=1 OBJDIR_SUFFIX= PW_LIBDIR=$(CURDIR)/lib/highopt optshared
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS) -DPTRACING=1" -C samples/hello_world/ DEBUG= P_SHAREDLIB=1 OBJDIR_SUFFIX=r PW_LIBDIR=$(CURDIR)/lib/opt optshared
+	$(MAKE) PWLIBDIR=$(CURDIR) CFLAGS="$(CFLAGS) -DPTRACING=1" -C samples/hello_world/ DEBUG=1 P_SHAREDLIB=1 OBJDIR_SUFFIX=d PW_LIBDIR=$(CURDIR)/lib/debug debugshared
 	if (samples/hello_world/obj_*_d/hello 2>/dev/null);then \
 		echo debug hello_world sample incorrectly compiled static; false ; \
 	else \
 		echo debug hello_world sample correctly compiled non-static; \
 	fi
-	LD_LIBRARY_PATH=$(CURDIR)/lib samples/hello_world/obj_*_d/hello
+	LD_LIBRARY_PATH=$(CURDIR)/lib/debug/ samples/hello_world/obj_*_d/hello
 	if (samples/hello_world/obj_*_r/hello 2>/dev/null);then \
 		echo opt hello_world sample incorrectly compiled static; false ; \
 	else \
 		echo opt hello_world sample correctly compiled non-static; \
 	fi
-	LD_LIBRARY_PATH=$(CURDIR)/lib samples/hello_world/obj_*_r/hello
+	LD_LIBRARY_PATH=$(CURDIR)/lib/opt samples/hello_world/obj_*_r/hello
+	if (samples/hello_world/obj_*_/hello 2>/dev/null);then \
+		echo opt hello_world sample incorrectly compiled static; false ; \
+	else \
+		echo opt hello_world sample correctly compiled non-static; \
+	fi
+	LD_LIBRARY_PATH=$(CURDIR)/lib/highopt samples/hello_world/obj_*_/hello
 	# if this won't work, we needn't even try going any further...
 	# cleanup to make sure we don't install any of the samples we just compiled
 	$(MAKE) PWLIBDIR=$(CURDIR) -C samples/hello_world/ clean
@@ -124,7 +171,7 @@
 	-rm -f config.sub config.guess plugins/config.sub plugins/config.guess
 	-rm -rf lib
 	-rm -f make/ptbuildopts.mak make/ptlib-config
-	-rm -rf plugins/pwlib
+	-rm -rf plugins/pwlib*
 	-rm -f  plugins/Makefile plugins/config.status plugins/config.log
 	-rm -f `find . -name "*~"`
 	-rm -rf `find debian/* -type d -name "libpt-*"`
@@ -150,38 +197,46 @@
 	dh_installdirs -a
 
 	#INSTALL#
-	$(MAKE) -C src/ptlib/unix install PWLIBDIR=$(CURDIR) INSTALL_DIR=$(CURDIR)/debian/$(PACKAGE)/usr
+	install -d -m 755 $(CURDIR)/debian/$(PACKAGE)/usr/lib \
+	  $(CURDIR)/debian/$(PACKAGE)-ptrace/usr/lib \
+	  $(CURDIR)/debian/$(PACKAGE)-develop/usr/lib
+	install -m 755 lib/highopt/libpt.so.*.*.* $(CURDIR)/debian/$(PACKAGE)/usr/lib
+	install -m 755 lib/opt/libpt.so.*.*.* $(CURDIR)/debian/$(PACKAGE)-ptrace/usr/lib
+	install -m 755 lib/debug/libpt.so.*.*.* $(CURDIR)/debian/$(PACKAGE)-develop/usr/lib
 ifneq ($(SHLIBSVER),$(LIBPTCOMPAT))
+	for suffix in "" "-ptrace" "-develop";do \
 	ln -s libpt.so.$(SHLIBSVER) \
-	    debian/$(PACKAGE)/usr/lib/libpt.so.$(LIBPTCOMPAT)
+	    debian/$(PACKAGE)$$suffix/usr/lib/libpt.so.$(LIBPTCOMPAT); \
+	done
 endif
 ifneq ($(SHLIBSVER),$(LIBPTCOMPAT2))
+	for suffix in "" "-ptrace" "-develop";do \
 	ln -s libpt.so.$(SHLIBSVER) \
-	    debian/$(PACKAGE)/usr/lib/libpt.so.$(LIBPTCOMPAT2)
+	    debian/$(PACKAGE)$$suffix/usr/lib/libpt.so.$(LIBPTCOMPAT2); \
+	done
 endif
 ifneq ($(SHLIBSVER),$(LIBPTCOMPAT3))
+	for suffix in "" "-ptrace" "-develop";do \
 	ln -s libpt.so.$(SHLIBSVER) \
-	    debian/$(PACKAGE)/usr/lib/libpt.so.$(LIBPTCOMPAT3)
+	    debian/$(PACKAGE)$$suffix/usr/lib/libpt.so.$(LIBPTCOMPAT3); \
+	done
 endif
 
-#	libpt-dbg
-	cp lib/libpt_d_s.a debian/libpt-dbg/usr/lib
-	$(MAKE) -C src/ptlib/unix install PWLIBDIR=$(CURDIR) DEBUG=1 INSTALL_DIR=$(CURDIR)/debian/libpt-dbg/usr
+#	libpt-dbg (will be filled by dh_strip)
 
 #	libpt-dev
-	dh_movefiles -plibpt-dev --sourcedir=debian/$(PACKAGE) usr/lib/libpt.so
-	dh_movefiles -plibpt-dev --sourcedir=debian/libpt-dbg usr/lib/libpt_d.so
-	-rm -f debian/$(PACKAGE)/usr/lib/libpt.so.? \
-	   debian/$(PACKAGE)/usr/lib/libpt.so.?.?
+	ln -s libpt.so.$(SHLIBSVER) debian/libpt-dev/usr/lib/libpt.so
+	ln -s libpt.so.$(SHLIBSVER) debian/libpt-dev/usr/lib/libpt.so.$(VER_MAJOR).$(VER_MINOR)
+	ln -s libpt.so.$(SHLIBSVER) debian/libpt-dev/usr/lib/libpt.so.$(VER_MAJOR)
 
 	cp -vr include/pt* debian/libpt-dev/usr/include
 	cp -vr make `pwd`/debian/libpt-dev/usr/share/pwlib
-	-rm -f `pwd`/debian/libpt-dev/usr/share/pwlib/make/unix.mak*
-	sed -e 's/$$(PWLIBDIR)\/include\/ptlib\/unix/\/usr\/include\/ptlib\/unix/g' \
-	    -e 's/$$(PWLIBDIR)\/lib/\/usr\/lib/g' \
-	    make/unix.mak > debian/libpt-dev/usr/share/pwlib/make/unix.mak
+	sed -i -e 's#$$(PWLIBDIR)/include/ptlib/unix#/usr/include/ptlib/unix#g' \
+	    -e 's#$$(PWLIBDIR)/lib#/usr/lib#g' debian/libpt-dev/usr/share/pwlib/make/unix.mak
 	# copy static opt version to libpt-dev
-	cp lib/libpt_s.a debian/libpt-dev/usr/lib
+	install -m 755 lib/highopt/libpt_s.a debian/libpt-dev/usr/lib
+	install -m 755 lib/opt/libpt_s.a debian/libpt-dev/usr/lib/pwlib-ptrace
+	install -m 755 lib/debug/libpt_s.a debian/libpt-dev/usr/lib/pwlib-develop
 	find debian/libpt-dev/usr/include -type f -exec chmod 644 {} \;
 	# ptlib-config in libpt-dev
 	# changing build/machine dependent data in ptlib-config
@@ -235,6 +290,27 @@
 	#libpt-plugins-alsa
 	cp plugins/pwlib/device/sound/alsa_pwplugin.so \
 		debian/libpt-plugins-alsa/usr/lib/pwlib/device/sound/
+	
+	install -d -m 755 debian/$(PACKAGE)-ptrace/usr/lib/pwlib/device/videoinput/
+	install -d -m 755 debian/$(PACKAGE)-ptrace/usr/lib/pwlib/device/sound/
+	install -d -m 755 debian/$(PACKAGE)-develop/usr/lib/pwlib/device/videoinput/
+	install -d -m 755 debian/$(PACKAGE)-develop/usr/lib/pwlib/device/sound/
+	for video in v4l v4l2 avc dc;do \
+	  cp plugins/pwlibr/device/videoinput/$${video}_pwplugin.so \
+	    debian/$(PACKAGE)-ptrace/usr/lib/pwlib/device/videoinput/ ;\
+	done; \
+	for sound in oss alsa;do \
+	  cp plugins/pwlibr/device/sound/$${sound}_pwplugin.so \
+	    debian/$(PACKAGE)-ptrace/usr/lib/pwlib/device/sound/ ;\
+	done
+	for video in v4l v4l2 avc dc;do \
+	  cp plugins/pwlibd/device/videoinput/$${video}_pwplugin.so \
+	    debian/$(PACKAGE)-develop/usr/lib/pwlib/device/videoinput/ ;\
+	done; \
+	for sound in oss alsa;do \
+	  cp plugins/pwlibd/device/sound/$${sound}_pwplugin.so \
+	    debian/$(PACKAGE)-develop/usr/lib/pwlib/device/sound/; \
+	done
 
 	cp debian/libpt.docs debian/$(PACKAGE).docs
 
@@ -269,7 +345,10 @@
 	dh_testroot
 	
 ifneq (4,$(DH_COMPAT))
-	dh_strip --dbg-package=libpt-dbg
+	dh_strip -N$(PACKAGE)-dbg -N$(PACKAGE)-ptrace -N$(PACKAGE)-develop --dbg-package=libpt-dbg
+	# can't ship those in libpt-dbg due to namespace overlap
+	dh_strip -p$(PACKAGE)-ptrace $(STRIP_EXCLUDES) -N$(PACKAGE)-develop --dbg-package=libpt-dbg-ptrace
+	dh_strip -p$(PACKAGE)-develop $(STRIP_EXCLUDES) -N$(PACKAGE)-ptrace --dbg-package=libpt-dbg-develop
 else
 	# As dh_strip does not work fine for multiple binary package
 	# we need to workaround that manually
@@ -282,6 +361,10 @@
 		cp -af debian/$$pack/usr/lib/debug debian/libpt-dbg/usr/lib && \
 			rm -rf debian/$$pack/usr/lib/debug; \
 	done
+	for pack in -ptrace -develop;do \
+		cp -af debian/$(PACKAGE)$$pack/usr/lib/debug debian/libpt-dbg$$pack/usr/lib && \
+			rm -rf debian/$(PACKAGE)$$pack/usr/lib/debug; \
+	done
 endif
 
 # Build architecture independant packages using the common target.




More information about the Pkg-voip-commits mailing list