[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