summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2011-04-30 10:11:43 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-04-30 16:34:38 (GMT)
commitd81d2608c35bef14ba1fd024b0ec4d48de03dfcc (patch)
treea733ba5174e1fca46c6396c6f3ed0d182841e4c9
parenta10cc927d11bf5a2ef30c07e168922b192a52561 (diff)
downloadswift-contrib-d81d2608c35bef14ba1fd024b0ec4d48de03dfcc.zip
swift-contrib-d81d2608c35bef14ba1fd024b0ec4d48de03dfcc.tar.bz2
Split off libswiften package.
-rwxr-xr-xBuildTools/GetBuildVersion.py18
-rw-r--r--Swift/Packaging/Debian/.gitignore1
-rw-r--r--Swift/Packaging/Debian/debian/control.in (renamed from Swift/Packaging/Debian/debian/control)18
-rw-r--r--Swift/Packaging/Debian/debian/libswiften-dev.install4
-rw-r--r--Swift/Packaging/Debian/debian/libswiften.install1
-rw-r--r--Swift/Packaging/Debian/debian/shlibs.in1
-rw-r--r--Swift/Packaging/Debian/debian/swift-im.install1
-rwxr-xr-xSwift/Packaging/Debian/package.sh6
-rw-r--r--Swiften/SConscript40
9 files changed, 67 insertions, 23 deletions
diff --git a/BuildTools/GetBuildVersion.py b/BuildTools/GetBuildVersion.py
index a362574..007fec8 100755
--- a/BuildTools/GetBuildVersion.py
+++ b/BuildTools/GetBuildVersion.py
@@ -1,9 +1,21 @@
#!/usr/bin/env python
-import sys
+import sys, re
sys.path.append("SCons")
import Version, os.path
-assert(len(sys.argv) == 2)
+assert(len(sys.argv) >= 2)
-print Version.getBuildVersion(os.path.dirname(sys.argv[0] + "/.."), sys.argv[1])
+only_major = False
+if "--major" in sys.argv :
+ only_major = True
+
+if only_major :
+ v = Version.getBuildVersion(os.path.dirname(sys.argv[0] + "/.."), sys.argv[1])
+ version_match = re.match("(\d+)\.(\d+).*", v)
+ if version_match :
+ print version_match.group(1)
+ else :
+ print "0"
+else :
+ print Version.getBuildVersion(os.path.dirname(sys.argv[0] + "/.."), sys.argv[1])
diff --git a/Swift/Packaging/Debian/.gitignore b/Swift/Packaging/Debian/.gitignore
index d67fb54..5401ae0 100644
--- a/Swift/Packaging/Debian/.gitignore
+++ b/Swift/Packaging/Debian/.gitignore
@@ -1,2 +1,3 @@
/swift-*
/swift_*
+/libswiften*
diff --git a/Swift/Packaging/Debian/debian/control b/Swift/Packaging/Debian/debian/control.in
index ec4bb29..56428d4 100644
--- a/Swift/Packaging/Debian/debian/control
+++ b/Swift/Packaging/Debian/debian/control.in
@@ -1,22 +1,38 @@
Source: swift-im
Section: net
Priority: optional
Maintainer: Swift Package Maintainer <packages@swift.im>
Build-Depends: debhelper (>= 7), scons (>= 1.2.0), libssl-dev (>= 0.9.8g), libqt4-dev (>= 4.5.0), libexpat1-dev (>= 2.0.1), lintian (>= 2.2.5), libxss-dev (>= 1.2.0), libboost-dev (>= 1.34.1), libboost-filesystem-dev (>= 1.34.1), libboost-program-options-dev (>= 1.34.1), libboost-regex-dev (>= 1.34.1), libboost-signals-dev (>= 1.34.1), libboost-system-dev (>= 1.34.1), libboost-thread-dev (>= 1.34.1), libboost-date-time-dev (>= 1.34.1), libidn11-dev (>= 1.10), docbook-xsl (>= 1.75.0), docbook-xml (>= 4.5), xsltproc, libxml2-utils
Standards-Version: 3.8.4
Homepage: http://swift.im
-Package: swift-im
+Package: libswiften%SWIFTEN_SOVERSION%
Architecture: any
Section: net
Priority: optional
Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: XMPP Library.
+ The Swiften XMPP library.
+
+Package: libswiften%SWIFTEN_SOVERSION%-dev
+Architecture: any
+Section: libdevel
+Priority: optional
+Depends: libswiften%SWIFTEN_SOVERSION% (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: XMPP Library.
+ The Swiften XMPP library.
+
+Package: swift-im
+Architecture: any
+Section: net
+Priority: optional
+Depends: libswiften%SWIFTEN_SOVERSION% (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: XMPP Client.
The Swift IM client.
Package: swift-im-dbg
Architecture: any
Section: debug
Priority: optional
Depends: swift-im (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: Debugging symbols for swift-im.
diff --git a/Swift/Packaging/Debian/debian/libswiften-dev.install b/Swift/Packaging/Debian/debian/libswiften-dev.install
new file mode 100644
index 0000000..84e0d21
--- /dev/null
+++ b/Swift/Packaging/Debian/debian/libswiften-dev.install
@@ -0,0 +1,4 @@
+usr/lib/libSwiften.so
+usr/lib/libSwiften.so.?.*
+usr/include
+usr/bin/swiften-config
diff --git a/Swift/Packaging/Debian/debian/libswiften.install b/Swift/Packaging/Debian/debian/libswiften.install
new file mode 100644
index 0000000..04f6608
--- /dev/null
+++ b/Swift/Packaging/Debian/debian/libswiften.install
@@ -0,0 +1 @@
+usr/lib/libSwiften.so.?
diff --git a/Swift/Packaging/Debian/debian/shlibs.in b/Swift/Packaging/Debian/debian/shlibs.in
new file mode 100644
index 0000000..9e80b9b
--- /dev/null
+++ b/Swift/Packaging/Debian/debian/shlibs.in
@@ -0,0 +1 @@
+libSwiften %SWIFTEN_SOVERSION% libswiften%SWIFTEN_SOVERSION%
diff --git a/Swift/Packaging/Debian/debian/swift-im.install b/Swift/Packaging/Debian/debian/swift-im.install
index d4cf441..3144192 100644
--- a/Swift/Packaging/Debian/debian/swift-im.install
+++ b/Swift/Packaging/Debian/debian/swift-im.install
@@ -1,3 +1,2 @@
usr/bin/swift
usr/share
-usr/lib/libSwiften.so.?
diff --git a/Swift/Packaging/Debian/package.sh b/Swift/Packaging/Debian/package.sh
index a7017c5..0cbc886 100755
--- a/Swift/Packaging/Debian/package.sh
+++ b/Swift/Packaging/Debian/package.sh
@@ -1,36 +1,42 @@
#!/bin/sh
set -e -x
export PYTHONPATH=../../../BuildTools/SCons
VERSION=`../../../BuildTools/GetBuildVersion.py swift`
DEBIAN_VERSION=`../../../BuildTools/DebianizeVersion.py $VERSION`
DIRNAME=swift-im-$DEBIAN_VERSION
+SWIFTEN_SOVERSION=`../../../BuildTools/GetBuildVersion.py swift --major`
if [ -z "$DEBIAN_VERSION" ]; then
echo "Unable to determine version"
exit -1
fi
echo "Cleaning up old packages ..."
rm -f swift-im_*
+rm -f libswiften*
rm -rf swift-im-*
echo "Checking out a fresh copy ..."
rm -rf $DIRNAME
git clone ../../../.git $DIRNAME
find $DIRNAME/3rdParty/Boost/src -type f | grep -v uuid | xargs rm -f
find $DIRNAME/3rdParty/SCons -delete
find $DIRNAME/3rdParty/DocBook -delete
# FIXME: This shouldn't be necessary, but SCons isn't picking up the generated headers for compilation
mkdir -p $DIRNAME/3rdParty/Boost/uuid/boost
cp -r $DIRNAME/3rdParty/Boost/src/boost/uuid $DIRNAME/3rdParty/Boost/uuid/boost
ln -s Swift/Packaging/Debian/debian $DIRNAME/debian
../../../BuildTools/UpdateDebianChangelog.py $DIRNAME/debian/changelog $DEBIAN_VERSION
+cat $DIRNAME/debian/control.in | sed -e "s/%SWIFTEN_SOVERSION%/$SWIFTEN_SOVERSION/g" > $DIRNAME/debian/control
+cat $DIRNAME/debian/shlibs.in | sed -e "s/%SWIFTEN_SOVERSION%/$SWIFTEN_SOVERSION/g" > $DIRNAME/debian/shlibs
+mv $DIRNAME/debian/libswiften.install $DIRNAME/debian/libswiften$SWIFTEN_SOVERSION.install
+mv $DIRNAME/debian/libswiften-dev.install $DIRNAME/debian/libswiften$SWIFTEN_SOVERSION-dev.install
echo "Building ..."
cd $DIRNAME
set +e
dpkg-buildpackage -S -rfakeroot -i -I
dpkg-buildpackage -b -rfakeroot -i -I
diff --git a/Swiften/SConscript b/Swiften/SConscript
index 641aadc..803ed8b 100644
--- a/Swiften/SConscript
+++ b/Swiften/SConscript
@@ -329,37 +329,41 @@ if env["SCONS_STAGE"] == "build" :
File("TLS/UnitTest/ServerIdentityVerifierTest.cpp"),
File("TLS/UnitTest/CertificateTest.cpp"),
File("VCards/UnitTest/VCardManagerTest.cpp"),
])
# Generate the Swiften header
swiften_header = "#pragma once\n"
swiften_includes = []
top_path = env.Dir("..").abspath
- public_dirs = ["Avatars", "Base", "Chat", "Client", "Component", "Disco", "Entity", "Elements", "JID", "MUC", "Network", "Parser", "Presence", "Queries", "Roster", "Serializer", "StringCodecs", "TLS", "VCards"]
- for public_dir in public_dirs :
- for root, dirs, files in os.walk(env.Dir(public_dir).abspath) :
- if root.endswith("UnitTest") :
+ for root, dirs, files in os.walk(env.Dir(".").abspath) :
+ if root.endswith("UnitTest") :
+ continue
+ for file in files :
+ if not file.endswith(".h") :
continue
- for file in files :
- if not file.endswith(".h") :
- continue
- include = os.path.relpath(os.path.join(root, file), top_path)
- swiften_includes.append(include)
- if root.endswith("OpenSSL") :
- continue
- if file.startswith("CAres") or file.startswith("LibXML") or file.startswith("Expat") :
- continue
- swiften_header += "#include <" + include + ">\n"
- swiften_includes.append(include)
- for file in ["EventLoop/SimpleEventLoop.h"] :
- swiften_header += "#include <Swiften/" + file + ">\n"
- swiften_includes.append("Swiften/" + file)
+ include = os.path.relpath(os.path.join(root, file), top_path)
+ swiften_includes.append(include)
+ # Private modules
+ if root.endswith("Config") or root.endswith("Compress") :
+ continue
+
+ # Library-specfifc private modules
+ if root.endswith("OpenSSL") or root.endswith("Cocoa") or root.endswith("Qt") or root.endswith("IDN") or root.endswith("Avahi") or root.endswith("Bonjour") :
+ continue
+
+ # Library-specific files
+ if file.startswith("CAres") or file.startswith("LibXML") or file.startswith("Expat") :
+ continue
+ if file == "Swiften.h" :
+ continue
+ swiften_header += "#include <" + include + ">\n"
+ swiften_includes.append(include)
swiften_env.WriteVal("Swiften.h", swiften_env.Value(swiften_header))
swiften_includes.append("Swiften/Swiften.h")
version_header = "#pragma once\n\n"
version_header += "#define SWIFTEN_VERSION 0x%02X%02X%02X\n" % (swiften_env["SWIFTEN_VERSION_MAJOR"], swiften_env["SWIFTEN_VERSION_MINOR"], swiften_env["SWIFTEN_VERSION_PATCH"])
swiften_env.WriteVal("Version.h", swiften_env.Value(version_header))
swiften_includes.append("Swiften/Version.h")
# Install swiften