From 1f51cfed6609f7c5defb8e0c6b7b0bc3920991b3 Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Fri, 19 Apr 2013 11:25:42 +0300 Subject: Debian packaging WIP --- debian/TODO.Debian | 4 ++ debian/changelog | 5 ++ debian/clean | 15 +++++ debian/compat | 1 + debian/control | 112 ++++++++++++++++++++++++++++++++++++ debian/copyright | 26 +++++++++ debian/libpj2.install | 1 + debian/libpjlib-util2.install | 1 + debian/libpjmedia-audiodev2.install | 1 + debian/libpjmedia-codec2.install | 1 + debian/libpjmedia-videodev2.install | 1 + debian/libpjmedia2.install | 1 + debian/libpjnath2.install | 1 + debian/libpjproject-dev.install | 4 ++ debian/libpjsip-simple2.install | 1 + debian/libpjsip-ua2.install | 1 + debian/libpjsip2.install | 1 + debian/libpjsua2.install | 1 + debian/patches/milenage.patch | 48 ++++++++++++++++ debian/patches/series | 2 + debian/patches/soname.patch | 26 +++++++++ debian/rules | 15 +++++ debian/source/format | 1 + 23 files changed, 270 insertions(+) create mode 100644 debian/TODO.Debian create mode 100644 debian/changelog create mode 100644 debian/clean create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/libpj2.install create mode 100644 debian/libpjlib-util2.install create mode 100644 debian/libpjmedia-audiodev2.install create mode 100644 debian/libpjmedia-codec2.install create mode 100644 debian/libpjmedia-videodev2.install create mode 100644 debian/libpjmedia2.install create mode 100644 debian/libpjnath2.install create mode 100644 debian/libpjproject-dev.install create mode 100644 debian/libpjsip-simple2.install create mode 100644 debian/libpjsip-ua2.install create mode 100644 debian/libpjsip2.install create mode 100644 debian/libpjsua2.install create mode 100644 debian/patches/milenage.patch create mode 100644 debian/patches/series create mode 100644 debian/patches/soname.patch create mode 100755 debian/rules create mode 100644 debian/source/format diff --git a/debian/TODO.Debian b/debian/TODO.Debian new file mode 100644 index 0000000..9cb44c3 --- /dev/null +++ b/debian/TODO.Debian @@ -0,0 +1,4 @@ +FIXME: +* APPS_APP_LDLIBS in build.mak has some extra libraries (LIBS from + autoconf) that add useless dependencies. +* ossible-gpl-code-linked-with-openssl diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..a3b62b2 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +pjproject (2.1.0.0.ast20130312-1) UNRELEASED; urgency=low + + * Initial release. (Closes: #XXXXXX) + + -- Tzafrir Cohen Sun, 07 Apr 2013 22:41:37 +0300 diff --git a/debian/clean b/debian/clean new file mode 100644 index 0000000..451a41f --- /dev/null +++ b/debian/clean @@ -0,0 +1,15 @@ +build.mak +build/cc-auto.mak +build/os-auto.mak +config.log +config.status +pjlib-util/build/os-auto.mak +pjlib/build/os-auto.mak +pjlib/include/pj/compat/m_auto.h +pjlib/include/pj/compat/os_auto.h +pjmedia/build/os-auto.mak +pjmedia/include/pjmedia-codec/config_auto.h +pjmedia/include/pjmedia/config_auto.h +pjsip/include/pjsip/sip_autoconf.h +third_party/build/os-auto.mak +third_party/build/portaudio/os-auto.mak diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +8 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..cd7561d --- /dev/null +++ b/debian/control @@ -0,0 +1,112 @@ +Source: pjproject +Section: comm +Priority: optional +Maintainer: Tzafrir Cohen +Build-Depends: debhelper (>= 8), + libspeex-dev, libspeexdsp-dev, + libgsm1-dev, + libsrtp0-dev, + libpulse-dev +Standards-Version: 3.9.3 +#Homepage: http://www.reviewboard.org/ +#Vcs-Git: git://anonscm.debian.org/collab-maint/rbtools.git +#Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/rbtools.git + + +Package: libpjlib-util2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library - helper utilities + Helper utilities for the PJ Project libraries. + . + Part of the PJ Project. + +Package: libpjmedia-audiodev2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library - Audio devices + Audio devices handling library. + . + Part of the PJ Project. + + +Package: libpjmedia-codec2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library - Multimedia codecs handling + Multimedia codecs handling library. + . + Part of the PJ Project. + +Package: libpjmedia-videodev2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library - video devices + Video devices handling library. + . + Part of the PJ Project. + +Package: libpjmedia2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library - VoIP media + VoIP media handling library. + . + Part of the PJ Project. + +Package: libpjnath2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library - nath + SIP handling library - nath (FIXME: what is it?) + . + Part of the PJ Project. + +Package: libpjsip-simple2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library - SIP SIMPLE instant messaging + SIP SIMPLE Instant Messaging library. + . + Part of the PJ Project. + +Package: libpjsip-ua2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library - SIP UA + SIP handling library - SIP UA handling + . + Part of the PJ Project. + +Package: libpjsip2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library + SIP handling library + . + Part of the PJ Project. + +Package: libpjsua2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library + UA basic libraries (?) + . + Part of the PJ Project. + +Package: libpj2 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library - PJProject core + PJ Project core libraries. + . + Part of the PJ Project. + +Package: libpjproject-dev +Architecture: any +Section: libdevel +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: SIP handling library - development headers + SIP handling library + . + This library includes the development headers. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..e119d83 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,26 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: PJPROJECT +Source: https://github.com/asterisk/pjproject +Comment: Currently packaging the Asterisk fork of PJProject, as it supports + shared libraries. + +Files: * +Copyright: + 2008-2011 Teluu Inc. (http://www.teluu.com) + 2003-2008 Benny Prijono +License: GPL-2+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + On Debian systems you should find a copy of GPL v. 2 on + /usr/share/common-licenses/GPL-2 . +Comment: + Probably not complete. Specifically does not apply to the thirdparty/ + subtree. diff --git a/debian/libpj2.install b/debian/libpj2.install new file mode 100644 index 0000000..f038740 --- /dev/null +++ b/debian/libpj2.install @@ -0,0 +1 @@ +usr/lib/libpj.so.2* diff --git a/debian/libpjlib-util2.install b/debian/libpjlib-util2.install new file mode 100644 index 0000000..ab4946e --- /dev/null +++ b/debian/libpjlib-util2.install @@ -0,0 +1 @@ +usr/lib/libpjlib-util.so.2* diff --git a/debian/libpjmedia-audiodev2.install b/debian/libpjmedia-audiodev2.install new file mode 100644 index 0000000..1a8c509 --- /dev/null +++ b/debian/libpjmedia-audiodev2.install @@ -0,0 +1 @@ +usr/lib/libpjmedia-audiodev.so.2* diff --git a/debian/libpjmedia-codec2.install b/debian/libpjmedia-codec2.install new file mode 100644 index 0000000..8ea01e7 --- /dev/null +++ b/debian/libpjmedia-codec2.install @@ -0,0 +1 @@ +usr/lib/libpjmedia-codec.so.2* diff --git a/debian/libpjmedia-videodev2.install b/debian/libpjmedia-videodev2.install new file mode 100644 index 0000000..7e1e32b --- /dev/null +++ b/debian/libpjmedia-videodev2.install @@ -0,0 +1 @@ +usr/lib/libpjmedia-videodev.so.2* diff --git a/debian/libpjmedia2.install b/debian/libpjmedia2.install new file mode 100644 index 0000000..69d04cb --- /dev/null +++ b/debian/libpjmedia2.install @@ -0,0 +1 @@ +usr/lib/libpjmedia.so.2* diff --git a/debian/libpjnath2.install b/debian/libpjnath2.install new file mode 100644 index 0000000..d090e9d --- /dev/null +++ b/debian/libpjnath2.install @@ -0,0 +1 @@ +usr/lib/libpjnath.so.2* diff --git a/debian/libpjproject-dev.install b/debian/libpjproject-dev.install new file mode 100644 index 0000000..a638ce5 --- /dev/null +++ b/debian/libpjproject-dev.install @@ -0,0 +1,4 @@ +usr/include/pj* +usr/lib/libpj*.so +usr/lib/libpj*.a +usr/lib/pkgconfig/libpjproject.pc diff --git a/debian/libpjsip-simple2.install b/debian/libpjsip-simple2.install new file mode 100644 index 0000000..d54747e --- /dev/null +++ b/debian/libpjsip-simple2.install @@ -0,0 +1 @@ +usr/lib/libpjsip-simple.so.2* diff --git a/debian/libpjsip-ua2.install b/debian/libpjsip-ua2.install new file mode 100644 index 0000000..94996a9 --- /dev/null +++ b/debian/libpjsip-ua2.install @@ -0,0 +1 @@ +usr/lib/libpjsip-ua.so.2* diff --git a/debian/libpjsip2.install b/debian/libpjsip2.install new file mode 100644 index 0000000..d0d4095 --- /dev/null +++ b/debian/libpjsip2.install @@ -0,0 +1 @@ +usr/lib/libpjsip.so.2* diff --git a/debian/libpjsua2.install b/debian/libpjsua2.install new file mode 100644 index 0000000..426410a --- /dev/null +++ b/debian/libpjsua2.install @@ -0,0 +1 @@ +usr/lib/libpjsua.so.2* diff --git a/debian/patches/milenage.patch b/debian/patches/milenage.patch new file mode 100644 index 0000000..f477ad3 --- /dev/null +++ b/debian/patches/milenage.patch @@ -0,0 +1,48 @@ +From e9ec7f11712aa0f8a10285722cfec2f51e05d230 Mon Sep 17 00:00:00 2001 +From: Tzafrir Cohen +Date: Fri, 19 Apr 2013 12:58:47 +0300 +Subject: [PATCH] remove unused libmilenage + +Milenage is a 3GPP authentication algorithm. +libmilenage was linked in but was not actually used. Just remove it for +now. +--- + build.mak.in | 8 +------- + pjsip/src/pjsip/sip_auth_aka.c | 2 -- + 2 files changed, 1 insertion(+), 9 deletions(-) + +diff --git a/build.mak.in b/build.mak.in +index 476c23d..7a8a2e2 100644 +--- a/build.mak.in ++++ b/build.mak.in +@@ -23,13 +23,7 @@ endif + # Determine which party libraries to use + export APP_THIRD_PARTY_EXT := + export APP_THIRD_PARTY_LIBS := +-export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libmilenage-$(LIB_SUFFIX) +-ifeq ($(PJ_SHARED_LIBRARIES),) +-APP_THIRD_PARTY_LIBS += -lmilenage-$(TARGET_NAME) +-else +-APP_THIRD_PARTY_LIBS += -lmilenage +-APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libmilenage.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libmilenage.$(SHLIB_SUFFIX) +-endif ++export APP_THIRD_PARTY_LIB_FILES := + + ifeq (@ac_external_srtp@,1) + # External SRTP library +diff --git a/pjsip/src/pjsip/sip_auth_aka.c b/pjsip/src/pjsip/sip_auth_aka.c +index b3c2dde..6ca7fc4 100644 +--- a/pjsip/src/pjsip/sip_auth_aka.c ++++ b/pjsip/src/pjsip/sip_auth_aka.c +@@ -29,8 +29,6 @@ + + #if PJSIP_HAS_DIGEST_AKA_AUTH + +-#include "../../third_party/milenage/milenage.h" +- + /* + * Create MD5-AKA1 digest response. + */ +-- +1.7.10.4 + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..f196bae --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +soname.patch +milenage.patch diff --git a/debian/patches/soname.patch b/debian/patches/soname.patch new file mode 100644 index 0000000..109fc1f --- /dev/null +++ b/debian/patches/soname.patch @@ -0,0 +1,26 @@ +From c6bccac54f80dda499f057235b2ebedad2ddc177 Mon Sep 17 00:00:00 2001 +From: Tzafrir Cohen +Date: Fri, 19 Apr 2013 12:03:55 +0300 +Subject: [PATCH] Include version number in SONAME + +The SONAME should include the version number. +--- + build/rules.mak | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/rules.mak b/build/rules.mak +index dc74f52..47bc28b 100644 +--- a/build/rules.mak ++++ b/build/rules.mak +@@ -13,7 +13,7 @@ SHLIB = $($(APP)_SHLIB) + SONAME = $($(APP)_SONAME) + + ifeq ($(SHLIB_SUFFIX),so) +-SHLIB_OPT := -shared -Wl,-soname,$(SONAME) ++SHLIB_OPT := -shared -Wl,-soname,$(SHLIB) + else + SHLIB_OPT := + endif +-- +1.7.10.4 + diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..6f1d31d --- /dev/null +++ b/debian/rules @@ -0,0 +1,15 @@ +#!/usr/bin/make -f + +export CFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS; dpkg-buildflags --get CFLAGS) +# export _CXXFLAGS includes $(_CFLAGS) +#CXXFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS; dpkg-buildflags --get CXXFLAGS) +export LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) + +%: + dh $@ + +override_dh_auto_configure: + dh_auto_configure -- --enable-shared \ + --disable-g7221-codec --disable-ilbc-codec --disable-resample \ + --with-external-gsm --with-external-speex --with-external-pa \ + --with-external-srtp diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) -- cgit v1.2.3