[Debian-iot-packaging] [alljoyn-services-1509] 02/02: Imported Debian patch 15.09-1
Thorsten Alteholz
alteholz at moszumanska.debian.org
Mon Jun 27 18:01:50 UTC 2016
This is an automated email from the git hooks/post-receive script.
alteholz pushed a commit to branch master
in repository alljoyn-services-1509.
commit 042ca6faf51c5347adaa95b4e0a44a67d4c378f7
Author: Thorsten Alteholz <debian at alteholz.de>
Date: Sat Jun 25 14:28:32 2016 +0200
Imported Debian patch 15.09-1
---
debian/README.Debian | 16 ++++
debian/alljoyn-services-1509.install | 21 +++++
debian/changelog | 5 ++
debian/clean | 1 +
debian/compat | 1 +
debian/control | 70 ++++++++++++++++
debian/copyright | 18 ++++
debian/liballjoynservices-dev-1509.install | 16 ++++
debian/liballjoynservices1509.install | 7 ++
debian/liballjoynservices1509.lintian-overrides | 2 +
debian/patches/add-linux-pthread.patch | 41 ++++++++++
debian/patches/hardening.patch | 92 +++++++++++++++++++++
debian/patches/no-bsymbolic.patch | 77 ++++++++++++++++++
debian/patches/series | 6 ++
debian/patches/soname.patch | 62 ++++++++++++++
debian/patches/spelling.patch | 67 +++++++++++++++
debian/patches/use-global-build_core.patch | 80 ++++++++++++++++++
debian/rules | 104 ++++++++++++++++++++++++
debian/source/format | 1 +
debian/watch | 5 ++
20 files changed, 692 insertions(+)
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..85e2fe4
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,16 @@
+Alljoyn for Debian
+
+This is the base services package of Alljoyn.
+
+There are several parts of the Alljoyn framework which are developed by
+different Workgroup. As all workgroups develop with varying speeds,
+several versions of the core library are needed to be able to use all
+parts of the framework.
+
+At the moment following versions of the base services are needed:
+ 15.04 -> alljoyn-services-1504
+ 15.09 -> alljoyn-services-1509
+ 16.04 -> alljoyn-services-1604
+
+ -- Thorsten Alteholz <debian at alteholz.de> Tue, 31 May 2016 18:28:32 +0200
+
diff --git a/debian/alljoyn-services-1509.install b/debian/alljoyn-services-1509.install
new file mode 100644
index 0000000..b15bbe4
--- /dev/null
+++ b/debian/alljoyn-services-1509.install
@@ -0,0 +1,21 @@
+onboarding/*/*/*/release/dist/onboarding/bin/OnboardingService.conf /etc/alljoyn
+onboarding/*/*/*/release/dist/onboarding/bin/OnboardingClient /usr/bin
+onboarding/*/*/*/release/dist/onboarding/bin/onboarding-daemon /usr/bin
+onboarding/*/*/*/release/dist/onboarding/bin/FactoryOnboardingService.conf /etc/alljoyn
+config/*/*/*/release/dist/config/bin/FactoryConfigService.conf /etc/alljoyn
+config/*/*/*/release/dist/config/bin/ConfigClient /usr/bin
+config/*/*/*/release/dist/config/bin/ConfigService.conf /etc/alljoyn
+config/*/*/*/release/dist/config/bin/ConfigService /usr/bin
+notification/*/*/*/release/dist/notification/bin/TestService /usr/bin
+notification/*/*/*/release/dist/notification/bin/ProducerService /usr/bin
+notification/*/*/*/release/dist/notification/bin/ProducerBasic /usr/bin
+notification/*/*/*/release/dist/notification/bin/ConsumerService /usr/bin
+controlpanel/*/*/*/release/dist/controlpanel/bin/ControlPanelController /usr/bin
+controlpanel/*/*/*/release/dist/controlpanel/bin/ControlPanelProducer /usr/bin
+controlpanel/*/*/*/release/dist/controlpanel/bin/ControlPanelSample /usr/bin
+#sample_apps/*/*/*/release/dist/sample_apps/bin/ACServerSample /usr/bin
+#sample_apps/*/*/*/release/dist/sample_apps/bin/ServerSample.conf /etc/alljoyn
+#sample_apps/*/*/*/release/dist/sample_apps/bin/FactoryServerSample.conf /etc/alljoyn
+#sample_apps/*/*/*/release/dist/sample_apps/bin/ACServerSample.conf /etc/alljoyn
+#sample_apps/*/*/*/release/dist/sample_apps/bin/ServerSample /usr/bin
+#sample_apps/*/*/*/release/dist/sample_apps/bin/FactoryACServerSample.conf /etc/alljoyn
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..a9fc3b2
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+alljoyn-services-1509 (15.09-1) unstable; urgency=medium
+
+ * Initial release (Closes: #828134)
+
+ -- Thorsten Alteholz <debian at alteholz.de> Sat, 25 Jun 2016 14:28:32 +0200
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..4a97dfa
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1 @@
+# You must remove unused comment lines for the released package.
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..f7f7ad8
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,70 @@
+Source: alljoyn-services-1509
+Section: net
+Priority: extra
+Maintainer: Thorsten Alteholz <debian at alteholz.de>
+Build-Depends: dh-exec (>=0.3)
+ , debhelper (>=9)
+ , liballjoyn-common-dev-1509
+ , liballjoyn-dev-1509
+ , scons
+ , libssl-dev
+ , libgtest-dev
+ , libxml2-dev
+# , javahelper
+# , junit
+# , libcsv-java
+# , libmatthew-debug-java
+# , libitext-java
+# , ant
+# , libcap-dev
+Standards-Version: 3.9.8
+Homepage: https://allseenalliance.org/framework
+Vcs-Browser: https://anonscm.debian.org/cgit/debian-iot/alljoyn-services-1509.git
+Vcs-Git: https://anonscm.debian.org/git/debian-iot/alljoyn-services-1509.git
+
+Package: liballjoynservices1509
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: AllJoyn base services library
+ AllJoyn is a collaborative open-source software framework that makes
+ it easy for developers to write applications that can discover nearby
+ devices, and communicate with each other directly regardless of
+ brands, categories, transports, and OSes without the need of the cloud.
+ .
+ The AllJoyn framework is extremely flexible with many features to help
+ make the vision of the Internet of Things come to life.
+ .
+ This package contains the libraries for the base services
+ in version 1509.
+
+Package: liballjoynservices-dev-1509
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ liballjoynservices1509 (= ${binary:Version}),
+ liballjoyn-common-dev-1509
+Section: libdevel
+Description: AllJoyn base services C++ development library
+ AllJoyn is a collaborative open-source software framework that makes
+ it easy for developers to write applications that can discover nearby
+ devices, and communicate with each other directly regardless of
+ brands, categories, transports, and OSes without the need of the cloud.
+ .
+ The AllJoyn framework is extremely flexible with many features to help
+ make the vision of the Internet of Things come to life.
+ .
+ This package contains the C++ development files for the base services.
+
+Package: alljoyn-services-1509
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: AllJoyn base services for 1509
+ AllJoyn is a collaborative open-source software framework that makes
+ it easy for developers to write applications that can discover nearby
+ devices, and communicate with each other directly regardless of
+ brands, categories, transports, and OSes without the need of the cloud.
+ .
+ The AllJoyn framework is extremely flexible with many features to help
+ make the vision of the Internet of Things come to life.
+ .
+ This package contains the software for the base services
+ in version 1509.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..16fb0f2
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,18 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: alljoyn
+Source: https://allseenalliance.org/framework
+
+Files: *
+Copyright: 2003-2016 AllSeen Alliance
+License: ISC
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/debian/liballjoynservices-dev-1509.install b/debian/liballjoynservices-dev-1509.install
new file mode 100755
index 0000000..9ee3a9f
--- /dev/null
+++ b/debian/liballjoynservices-dev-1509.install
@@ -0,0 +1,16 @@
+#! /usr/bin/dh-exec
+services_common/build/*/*/*/dist/services_common/inc/a* /usr/include/${DEB_HOST_MULTIARCH}
+onboarding/build/*/*/*/dist/onboarding/inc/a* /usr/include/${DEB_HOST_MULTIARCH}
+config/build/*/*/*/dist/config/inc/a* /usr/include/${DEB_HOST_MULTIARCH}
+notification/build/*/*/*/dist/notification/inc/a* /usr/include/${DEB_HOST_MULTIARCH}
+controlpanel/build/*/*/*/dist/controlpanel/inc/a* /usr/include/${DEB_HOST_MULTIARCH}
+services_common/build/*/*/*/obj/services/common/cpp/src/liballjoyn_services_common.so /usr/lib/${DEB_HOST_MULTIARCH}
+onboarding/build/*/*/*/obj/services/onboarding/cpp/src/liballjoyn_onboarding.so /usr/lib/${DEB_HOST_MULTIARCH}
+config/build/*/*/*/obj/services/config/cpp/src/liballjoyn_config.so /usr/lib/${DEB_HOST_MULTIARCH}
+notification/build/*/*/*/obj/services/notification/cpp/src/liballjoyn_notification.so /usr/lib/${DEB_HOST_MULTIARCH}
+controlpanel/build/*/*/*/obj/services/controlpanel/cpp/src/liballjoyn_controlpanel.so /usr/lib/${DEB_HOST_MULTIARCH}
+services_common/build/*/*/*/dist/services_common/lib/liballjoyn_services_common.a /usr/lib/${DEB_HOST_MULTIARCH}
+onboarding/build/*/*/*/dist/onboarding/lib/liballjoyn_onboarding.a /usr/lib/${DEB_HOST_MULTIARCH}
+config/build/*/*/*/dist/config/lib/liballjoyn_config.a /usr/lib/${DEB_HOST_MULTIARCH}
+notification/build/*/*/*/dist/notification/lib/liballjoyn_notification.a /usr/lib/${DEB_HOST_MULTIARCH}
+controlpanel/build/*/*/*/dist/controlpanel/lib/liballjoyn_controlpanel.a /usr/lib/${DEB_HOST_MULTIARCH}
diff --git a/debian/liballjoynservices1509.install b/debian/liballjoynservices1509.install
new file mode 100755
index 0000000..30ab97c
--- /dev/null
+++ b/debian/liballjoynservices1509.install
@@ -0,0 +1,7 @@
+#! /usr/bin/dh-exec
+#build/*/*/*/obj/alljoyn_core/liballjoyn.so.* /usr/lib/${DEB_HOST_MULTIARCH}
+#build/*/*/*/dist/cpp/lib/liballjoyn_about.so.* /usr/lib/${DEB_HOST_MULTIARCH}
+services_common/build/*/*/*/dist/services_common/lib/liballjoyn_services_common.so.* /usr/lib/${DEB_HOST_MULTIARCH}
+controlpanel/build/*/*/*/dist/controlpanel/lib/liballjoyn_controlpanel.so.* /usr/lib/${DEB_HOST_MULTIARCH}
+notification/build/*/*/*/dist/notification/lib/liballjoyn_notification.so.* /usr/lib/${DEB_HOST_MULTIARCH}
+onboarding/build/*/*/*/dist/onboarding/lib/liballjoyn_onboarding.so.* /usr/lib/${DEB_HOST_MULTIARCH}
diff --git a/debian/liballjoynservices1509.lintian-overrides b/debian/liballjoynservices1509.lintian-overrides
new file mode 100644
index 0000000..d48b1f8
--- /dev/null
+++ b/debian/liballjoynservices1509.lintian-overrides
@@ -0,0 +1,2 @@
+#library package contains several small libs
+liballjoynservices1509: package-name-doesnt-match-sonames
diff --git a/debian/patches/add-linux-pthread.patch b/debian/patches/add-linux-pthread.patch
new file mode 100644
index 0000000..c5bc9f0
--- /dev/null
+++ b/debian/patches/add-linux-pthread.patch
@@ -0,0 +1,41 @@
+Author: Thorsten Alteholz <debian at alteholz.de>
+Description: pthread is needed for linux stuff
+Index: alljoyn-services-1509/controlpanel/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/controlpanel/cpp/SConscript 2016-06-24 11:38:12.000000000 +0200
++++ alljoyn-services-1509/controlpanel/cpp/SConscript 2016-06-24 11:38:12.000000000 +0200
+@@ -20,6 +20,8 @@
+ cpsenv['ajrlib'] = 'ajrouter'
+ if cpsenv['OS'] == 'openwrt':
+ cpsenv.AppendUnique(LIBS = [ 'stdc++', 'pthread' ])
++ if cpsenv['OS'] == 'linux':
++ cpsenv.AppendUnique(LIBS = [ 'pthread' ])
+
+ cpsenv['CPS_DISTDIR'] = cpsenv['DISTDIR'] + '/controlpanel'
+
+Index: alljoyn-services-1509/notification/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/notification/cpp/SConscript 2016-06-24 11:38:12.000000000 +0200
++++ alljoyn-services-1509/notification/cpp/SConscript 2016-06-24 11:38:12.000000000 +0200
+@@ -20,6 +20,8 @@
+ nsenv['ajrlib'] = 'ajrouter'
+ if nsenv['OS'] == 'openwrt':
+ nsenv.AppendUnique(LIBS = [ 'stdc++', 'pthread' ])
++ if nsenv['OS'] == 'linux':
++ nsenv.AppendUnique(LIBS = [ 'pthread' ])
+
+ nsenv['NS_DISTDIR'] = nsenv['DISTDIR'] + '/notification'
+
+Index: alljoyn-services-1509/sample_apps/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/sample_apps/cpp/SConscript 2016-06-24 11:38:12.000000000 +0200
++++ alljoyn-services-1509/sample_apps/cpp/SConscript 2016-06-24 11:38:12.000000000 +0200
+@@ -21,6 +21,8 @@
+ server_sample_env['ajrlib'] = 'ajrouter'
+ if server_sample_env['OS'] == 'openwrt':
+ server_sample_env.AppendUnique(LIBS = [ 'stdc++', 'pthread' ])
++ if server_sample_env['OS'] == 'linux':
++ server_sample_env.AppendUnique(LIBS = [ 'pthread' ])
+
+ # Make serversample dist a sub-directory of the alljoyn dist. This avoids any conflicts with alljoyn dist targets.
+ server_sample_env['SAMPLE_APPS_DISTDIR'] = server_sample_env['DISTDIR'] + '/sample_apps'
diff --git a/debian/patches/hardening.patch b/debian/patches/hardening.patch
new file mode 100644
index 0000000..a1b88b1
--- /dev/null
+++ b/debian/patches/hardening.patch
@@ -0,0 +1,92 @@
+Author: Thorsten Alteholz <debian at alteholz.de>
+Description: add hardening flags to calm lintian
+Index: alljoyn-services-1509/config/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/config/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
++++ alljoyn-services-1509/config/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
+@@ -20,6 +20,11 @@
+ config_env['ajrlib'] = 'ajrouter'
+ if config_env['OS'] == 'openwrt':
+ config_env.AppendUnique(LIBS = [ 'stdc++', 'pthread' ])
++ if config_env['OS'] == 'linux':
++ config_env.AppendUnique(LIBS = [ 'pthread' ])
++ config_env.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
++ config_env.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ config_env.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+
+ # Make config dist a sub-directory of the alljoyn dist. This avoids any conflicts with alljoyn dist targets.
+ config_env['CONFIG_DISTDIR'] = config_env['DISTDIR'] + '/config'
+Index: alljoyn-services-1509/controlpanel/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/controlpanel/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
++++ alljoyn-services-1509/controlpanel/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
+@@ -22,6 +22,9 @@
+ cpsenv.AppendUnique(LIBS = [ 'stdc++', 'pthread' ])
+ if cpsenv['OS'] == 'linux':
+ cpsenv.AppendUnique(LIBS = [ 'pthread' ])
++ cpsenv.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
++ cpsenv.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ cpsenv.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+
+ cpsenv['CPS_DISTDIR'] = cpsenv['DISTDIR'] + '/controlpanel'
+
+Index: alljoyn-services-1509/notification/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/notification/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
++++ alljoyn-services-1509/notification/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
+@@ -22,6 +22,9 @@
+ nsenv.AppendUnique(LIBS = [ 'stdc++', 'pthread' ])
+ if nsenv['OS'] == 'linux':
+ nsenv.AppendUnique(LIBS = [ 'pthread' ])
++ nsenv.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
++ nsenv.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ nsenv.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+
+ nsenv['NS_DISTDIR'] = nsenv['DISTDIR'] + '/notification'
+
+Index: alljoyn-services-1509/onboarding/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/onboarding/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
++++ alljoyn-services-1509/onboarding/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
+@@ -23,6 +23,9 @@
+ onb_env.AppendUnique(LIBS = [ 'stdc++', 'pthread' ])
+ if onb_env['OS'] == 'linux':
+ onb_env.AppendUnique(LIBS = [ 'rt', 'pthread' ])
++ onb_env.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
++ onb_env.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ onb_env.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+
+ # Make onboarding dist a sub-directory of the alljoyn dist. This avoids any conflicts with alljoyn dist targets.
+ onb_env['ONBOARDING_DISTDIR'] = onb_env['DISTDIR'] + '/onboarding'
+Index: alljoyn-services-1509/services_common/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/services_common/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
++++ alljoyn-services-1509/services_common/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
+@@ -18,6 +18,12 @@
+ services_common_env.Append(LIBS = ['alljoyn'])
+ if services_common_env['OS'] == 'openwrt':
+ services_common_env.AppendUnique(LIBS = [ 'stdc++', 'pthread' ])
++ if services_common_env['OS'] == 'linux':
++ services_common_env.AppendUnique(LIBS = [ 'pthread' ])
++ services_common_env.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
++ services_common_env.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ services_common_env.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++
+
+ services_common_env['SC_DISTDIR'] = services_common_env['DISTDIR'] + '/services_common'
+
+Index: alljoyn-services-1509/sample_apps/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/sample_apps/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
++++ alljoyn-services-1509/sample_apps/cpp/SConscript 2016-06-24 11:38:22.000000000 +0200
+@@ -23,6 +23,10 @@
+ server_sample_env.AppendUnique(LIBS = [ 'stdc++', 'pthread' ])
+ if server_sample_env['OS'] == 'linux':
+ server_sample_env.AppendUnique(LIBS = [ 'pthread' ])
++ server_sample_env.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
++ server_sample_env.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ server_sample_env.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++
+
+ # Make serversample dist a sub-directory of the alljoyn dist. This avoids any conflicts with alljoyn dist targets.
+ server_sample_env['SAMPLE_APPS_DISTDIR'] = server_sample_env['DISTDIR'] + '/sample_apps'
diff --git a/debian/patches/no-bsymbolic.patch b/debian/patches/no-bsymbolic.patch
new file mode 100644
index 0000000..11c2432
--- /dev/null
+++ b/debian/patches/no-bsymbolic.patch
@@ -0,0 +1,77 @@
+Author: Thorsten Alteholz <debian at alteholz.de>
+Description: scons automatically add '-Wl,-Bsymbolic' which results in
+ segmentation faults for Debug-calls
+ so better don't use that linker option
+Index: alljoyn-services-1509/config/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/config/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
++++ alljoyn-services-1509/config/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
+@@ -25,6 +25,7 @@
+ config_env.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
+ config_env.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+ config_env.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ config_env['SHLIBVERSIONFLAGS'] = " "
+
+ # Make config dist a sub-directory of the alljoyn dist. This avoids any conflicts with alljoyn dist targets.
+ config_env['CONFIG_DISTDIR'] = config_env['DISTDIR'] + '/config'
+Index: alljoyn-services-1509/controlpanel/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/controlpanel/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
++++ alljoyn-services-1509/controlpanel/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
+@@ -25,6 +25,7 @@
+ cpsenv.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
+ cpsenv.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+ cpsenv.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ cpsenv['SHLIBVERSIONFLAGS'] = " "
+
+ cpsenv['CPS_DISTDIR'] = cpsenv['DISTDIR'] + '/controlpanel'
+
+Index: alljoyn-services-1509/notification/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/notification/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
++++ alljoyn-services-1509/notification/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
+@@ -25,6 +25,7 @@
+ nsenv.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
+ nsenv.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+ nsenv.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ nsenv['SHLIBVERSIONFLAGS'] = " "
+
+ nsenv['NS_DISTDIR'] = nsenv['DISTDIR'] + '/notification'
+
+Index: alljoyn-services-1509/onboarding/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/onboarding/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
++++ alljoyn-services-1509/onboarding/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
+@@ -26,6 +26,7 @@
+ onb_env.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
+ onb_env.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+ onb_env.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ onb_env['SHLIBVERSIONFLAGS'] = " "
+
+ # Make onboarding dist a sub-directory of the alljoyn dist. This avoids any conflicts with alljoyn dist targets.
+ onb_env['ONBOARDING_DISTDIR'] = onb_env['DISTDIR'] + '/onboarding'
+Index: alljoyn-services-1509/sample_apps/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/sample_apps/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
++++ alljoyn-services-1509/sample_apps/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
+@@ -26,7 +26,7 @@
+ server_sample_env.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
+ server_sample_env.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+ server_sample_env.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+-
++ server_sample_env['SHLIBVERSIONFLAGS'] = " "
+
+ # Make serversample dist a sub-directory of the alljoyn dist. This avoids any conflicts with alljoyn dist targets.
+ server_sample_env['SAMPLE_APPS_DISTDIR'] = server_sample_env['DISTDIR'] + '/sample_apps'
+Index: alljoyn-services-1509/services_common/cpp/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/services_common/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
++++ alljoyn-services-1509/services_common/cpp/SConscript 2016-06-24 11:38:40.000000000 +0200
+@@ -23,6 +23,7 @@
+ services_common_env.Append(LINKFLAGS = ['-fPIE', '-pie', '-fPIC'])
+ services_common_env.Append(CFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
+ services_common_env.Append(CPPFLAGS = ['-fPIE', '-fPIC', '-D_FORTIFY_SOURCE=2'])
++ services_common_env['SHLIBVERSIONFLAGS'] = " "
+
+
+ services_common_env['SC_DISTDIR'] = services_common_env['DISTDIR'] + '/services_common'
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..78b7e3e
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,6 @@
+use-global-build_core.patch
+soname.patch
+add-linux-pthread.patch
+hardening.patch
+spelling.patch
+no-bsymbolic.patch
diff --git a/debian/patches/soname.patch b/debian/patches/soname.patch
new file mode 100644
index 0000000..9993843
--- /dev/null
+++ b/debian/patches/soname.patch
@@ -0,0 +1,62 @@
+Description: add SONAME to libraries
+Author: Thorsten Alteholz <debian at alteholz.de>
+Index: alljoyn-services-1509/config/cpp/src/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/config/cpp/src/SConscript 2016-06-24 11:38:03.000000000 +0200
++++ alljoyn-services-1509/config/cpp/src/SConscript 2016-06-24 11:38:03.000000000 +0200
+@@ -32,6 +32,6 @@
+ # Shared library
+ if config_env.get('LIBTYPE', 'static') != 'static':
+ shobjs = config_env.SharedObject(srcs)
+- libs.append(config_env.SharedLibrary('alljoyn_config', shobjs))
++ libs.append(config_env.SharedLibrary('alljoyn_config', shobjs, SHLIBVERSION='1509'))
+
+ Return('libs')
+Index: alljoyn-services-1509/controlpanel/cpp/src/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/controlpanel/cpp/src/SConscript 2016-06-24 11:38:03.000000000 +0200
++++ alljoyn-services-1509/controlpanel/cpp/src/SConscript 2016-06-24 11:38:03.000000000 +0200
+@@ -29,6 +29,6 @@
+ # Shared library
+ if cpsenv.get('LIBTYPE', 'static') != 'static':
+ shobjs = cpsenv.SharedObject(srcs)
+- libs.append(cpsenv.SharedLibrary('alljoyn_controlpanel', shobjs))
++ libs.append(cpsenv.SharedLibrary('alljoyn_controlpanel', shobjs, SHLIBVERSION='1509'))
+
+ Return('libs')
+Index: alljoyn-services-1509/notification/cpp/src/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/notification/cpp/src/SConscript 2016-06-24 11:38:03.000000000 +0200
++++ alljoyn-services-1509/notification/cpp/src/SConscript 2016-06-24 11:38:03.000000000 +0200
+@@ -27,6 +27,6 @@
+ # Shared library
+ if nsenv.get('LIBTYPE', 'static') != 'static':
+ shobjs = nsenv.SharedObject(srcs)
+- libs.append(nsenv.SharedLibrary('alljoyn_notification', shobjs))
++ libs.append(nsenv.SharedLibrary('alljoyn_notification', shobjs, SHLIBVERSION='1509'))
+
+ Return('libs')
+Index: alljoyn-services-1509/onboarding/cpp/src/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/onboarding/cpp/src/SConscript 2016-06-24 11:38:03.000000000 +0200
++++ alljoyn-services-1509/onboarding/cpp/src/SConscript 2016-06-24 11:38:03.000000000 +0200
+@@ -32,6 +32,6 @@
+ # Shared library
+ if onb_env.get('LIBTYPE', 'static') != 'static':
+ shobjs = onb_env.SharedObject(srcs)
+- libs.append(onb_env.SharedLibrary('alljoyn_onboarding', shobjs))
++ libs.append(onb_env.SharedLibrary('alljoyn_onboarding', shobjs, SHLIBVERSION='1509'))
+
+ Return ('libs')
+Index: alljoyn-services-1509/services_common/cpp/src/SConscript
+===================================================================
+--- alljoyn-services-1509.orig/services_common/cpp/src/SConscript 2016-06-24 11:38:03.000000000 +0200
++++ alljoyn-services-1509/services_common/cpp/src/SConscript 2016-06-24 11:38:03.000000000 +0200
+@@ -27,6 +27,6 @@
+ # Shared library
+ if services_common_env.get('LIBTYPE', 'static') != 'static':
+ shobjs = services_common_env.SharedObject(srcs)
+- libs.append(services_common_env.SharedLibrary('alljoyn_services_common', shobjs))
++ libs.append(services_common_env.SharedLibrary('alljoyn_services_common', shobjs, SHLIBVERSION='1509'))
+
+ Return('libs')
diff --git a/debian/patches/spelling.patch b/debian/patches/spelling.patch
new file mode 100644
index 0000000..0473b1c
--- /dev/null
+++ b/debian/patches/spelling.patch
@@ -0,0 +1,67 @@
+Author: Thorsten Alteholz <debian at alteholz.de>
+Description: fix spelling errors that lintian complained about (applied upstream)
+Index: alljoyn-services-1509/config/ios/samples/sampleApp/ConfigSetupViewController.m
+===================================================================
+--- alljoyn-services-1509.orig/config/ios/samples/sampleApp/ConfigSetupViewController.m 2016-06-24 11:38:30.000000000 +0200
++++ alljoyn-services-1509/config/ios/samples/sampleApp/ConfigSetupViewController.m 2016-06-24 11:38:30.000000000 +0200
+@@ -190,7 +190,7 @@
+ status = [self.configClient resetConfigurationsWithBus:self.annBusName languageTag:[self.clientInformation currLang] configNames:configNames sessionId:self.sessionId];
+
+ if (status != ER_OK) {
+- [[[UIAlertView alloc] initWithTitle:@"Reset Property Store Failed" message:[NSString stringWithFormat:@"Error occured:%@", [AJNStatus descriptionForStatusCode:status]] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
++ [[[UIAlertView alloc] initWithTitle:@"Reset Property Store Failed" message:[NSString stringWithFormat:@"Error occurred:%@", [AJNStatus descriptionForStatusCode:status]] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
+
+ [[[AJCFGConfigLogger sharedInstance] logger] errorTag:[[self class] description] text:[NSString stringWithFormat:@"Failed to reset Property Store for key '%@': %@", key, [AJNStatus descriptionForStatusCode:status]]];
+ }
+Index: alljoyn-services-1509/controlpanel/cpp/src/ControlPanelConstants.h
+===================================================================
+--- alljoyn-services-1509.orig/controlpanel/cpp/src/ControlPanelConstants.h 2016-06-24 11:38:30.000000000 +0200
++++ alljoyn-services-1509/controlpanel/cpp/src/ControlPanelConstants.h 2016-06-24 11:38:30.000000000 +0200
+@@ -96,7 +96,7 @@
+ static const qcc::String AJPARAM_DATE_OR_TIME = "(q(qqq))";
+
+ static const qcc::String AJ_ERROR_UNKNOWN = "Unknown Error";
+-static const qcc::String AJ_ERROR_UNKNOWN_MESSAGE = "An Unknown Error occured";
++static const qcc::String AJ_ERROR_UNKNOWN_MESSAGE = "An Unknown Error occurred";
+
+ enum OPT_PARAM_KEYS {
+ LABEL_KEY = 0,
+Index: alljoyn-services-1509/notification/java/NotificationService/src/org/alljoyn/ns/transport/DismissEmitter.java
+===================================================================
+--- alljoyn-services-1509.orig/notification/java/NotificationService/src/org/alljoyn/ns/transport/DismissEmitter.java 2016-06-24 11:38:30.000000000 +0200
++++ alljoyn-services-1509/notification/java/NotificationService/src/org/alljoyn/ns/transport/DismissEmitter.java 2016-06-24 11:38:30.000000000 +0200
+@@ -52,7 +52,7 @@
+ try {
+ logger = transport.getLogger();
+ } catch (NotificationServiceException nse) {
+- System.out.println(TAG + ": Unexpected error occured: " + nse.getMessage());
++ System.out.println(TAG + ": Unexpected error occurred: " + nse.getMessage());
+ return;
+ }
+
+Index: alljoyn-services-1509/notification/java/NotificationService/src/org/alljoyn/ns/transport/consumer/DismissConsumer.java
+===================================================================
+--- alljoyn-services-1509.orig/notification/java/NotificationService/src/org/alljoyn/ns/transport/consumer/DismissConsumer.java 2016-06-24 11:38:30.000000000 +0200
++++ alljoyn-services-1509/notification/java/NotificationService/src/org/alljoyn/ns/transport/consumer/DismissConsumer.java 2016-06-24 11:38:30.000000000 +0200
+@@ -48,7 +48,7 @@
+ logger = transport.getLogger();
+ }
+ catch(NotificationServiceException nse) {
+- System.out.println(TAG + ": Unexpected error occured: " + nse.getMessage());
++ System.out.println(TAG + ": Unexpected error occurred: " + nse.getMessage());
+ return;
+ }
+
+Index: alljoyn-services-1509/notification/java/NotificationService/src/org/alljoyn/ns/transport/consumer/NotificationTransportConsumer.java
+===================================================================
+--- alljoyn-services-1509.orig/notification/java/NotificationService/src/org/alljoyn/ns/transport/consumer/NotificationTransportConsumer.java 2016-06-24 11:38:30.000000000 +0200
++++ alljoyn-services-1509/notification/java/NotificationService/src/org/alljoyn/ns/transport/consumer/NotificationTransportConsumer.java 2016-06-24 11:38:30.000000000 +0200
+@@ -88,7 +88,7 @@
+ }
+ }
+ catch (NativePlatformFactoryException npfe) {
+- System.out.println(TAG + ": Unexpected error occured: " + npfe.getMessage());
++ System.out.println(TAG + ": Unexpected error occurred: " + npfe.getMessage());
+ }
+ }//notify
+
diff --git a/debian/patches/use-global-build_core.patch b/debian/patches/use-global-build_core.patch
new file mode 100644
index 0000000..4fe262c
--- /dev/null
+++ b/debian/patches/use-global-build_core.patch
@@ -0,0 +1,80 @@
+Description: do not use internal scons files but those from the common-package
+Author: Thorsten Alteholz <debian at alteholz.de>
+Index: alljoyn-services-1509/services_common/SConstruct
+===================================================================
+--- alljoyn-services-1509.orig/services_common/SConstruct 2016-06-24 11:37:49.000000000 +0200
++++ alljoyn-services-1509/services_common/SConstruct 2016-06-24 11:37:49.000000000 +0200
+@@ -14,7 +14,7 @@
+
+ import os
+
+-env = SConscript('../../../core/alljoyn/build_core/SConscript')
++env = SConscript('/usr/share/alljoyn/build_core/SConscript')
+
+ vars = Variables()
+ vars.Add('BINDINGS', 'Bindings to build (comma separated list): cpp, java', 'cpp,java')
+Index: alljoyn-services-1509/notification/SConstruct
+===================================================================
+--- alljoyn-services-1509.orig/notification/SConstruct 2016-06-24 11:37:49.000000000 +0200
++++ alljoyn-services-1509/notification/SConstruct 2016-06-24 11:37:49.000000000 +0200
+@@ -14,7 +14,7 @@
+
+ import os
+
+-env = SConscript('../../../core/alljoyn/build_core/SConscript')
++env = SConscript('/usr/share/alljoyn/build_core/SConscript')
+
+ vars = Variables()
+ vars.Add('BINDINGS', 'Bindings to build (comma separated list): cpp, java', 'cpp,java')
+Index: alljoyn-services-1509/config/SConstruct
+===================================================================
+--- alljoyn-services-1509.orig/config/SConstruct 2016-06-24 11:37:49.000000000 +0200
++++ alljoyn-services-1509/config/SConstruct 2016-06-24 11:37:49.000000000 +0200
+@@ -14,7 +14,7 @@
+
+ import os
+
+-env = SConscript('../../../core/alljoyn/build_core/SConscript')
++env = SConscript('/usr/share/alljoyn/build_core/SConscript')
+
+ vars = Variables()
+ vars.Add('BINDINGS', 'Bindings to build (comma separated list): cpp, java', 'cpp,java')
+Index: alljoyn-services-1509/controlpanel/SConstruct
+===================================================================
+--- alljoyn-services-1509.orig/controlpanel/SConstruct 2016-06-24 11:37:49.000000000 +0200
++++ alljoyn-services-1509/controlpanel/SConstruct 2016-06-24 11:37:49.000000000 +0200
+@@ -14,7 +14,7 @@
+
+ import os
+
+-env = SConscript('../../../core/alljoyn/build_core/SConscript')
++env = SConscript('/usr/share/alljoyn/build_core/SConscript')
+
+ vars = Variables()
+ vars.Add('BINDINGS', 'Bindings to build (comma separated list): cpp, java', 'cpp,java')
+Index: alljoyn-services-1509/onboarding/SConstruct
+===================================================================
+--- alljoyn-services-1509.orig/onboarding/SConstruct 2016-06-24 11:37:49.000000000 +0200
++++ alljoyn-services-1509/onboarding/SConstruct 2016-06-24 11:37:49.000000000 +0200
+@@ -14,7 +14,7 @@
+
+ import os
+
+-env = SConscript('../../../core/alljoyn/build_core/SConscript')
++env = SConscript('/usr/share/alljoyn/build_core/SConscript')
+
+ vars = Variables()
+ vars.Add('BINDINGS', 'Bindings to build (comma separated list): cpp, java', 'cpp,java')
+Index: alljoyn-services-1509/sample_apps/SConstruct
+===================================================================
+--- alljoyn-services-1509.orig/sample_apps/SConstruct 2016-06-24 11:37:49.000000000 +0200
++++ alljoyn-services-1509/sample_apps/SConstruct 2016-06-24 11:37:49.000000000 +0200
+@@ -14,7 +14,7 @@
+
+ import os
+
+-env = SConscript('../../../core/alljoyn/build_core/SConscript')
++env = SConscript('/usr/share/alljoyn/build_core/SConscript')
+
+ vars = Variables()
+ vars.Add('BINDINGS', 'Bindings to build (comma separated list): cpp, java', 'cpp,java')
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..3f291a8
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,104 @@
+#!/usr/bin/make -f
+# You must remove unused comment lines for the released package.
+#export DH_VERBOSE = 1
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
+export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+export JAVA_HOME=/usr/lib/jvm/default-java
+export CLASSPATH=/usr/share/java/csv.jar:/usr/share/java/debug-disable.jar:/usr/share/java/itext.jar
+export GTEST_DIR=/usr/src/gtest
+
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+# mapping all i.86 to x86 for Alljoyn
+CPU=$(shell dpkg-architecture -qDEB_HOST_GNU_CPU | sed -e 's/i.86/x86/')
+BUILDARCH=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
+OS=linux
+
+
+export VERSION := 15.09
+export SONAME := 1509
+export VARIANT := release
+export SCONS_ARGS := CPU=$(CPU) OS=$(OS) VARIANT=$(VARIANT) V=1 GTEST_DIR=$(GTEST_DIR)
+export BUILD_DIR := $(CURDIR)/build/$(OS)/$(CPU)/$(VARIANT)/dist
+export OBJ_DIR := $(CURDIR)/build/$(OS)/$(CPU)/$(VARIANT)/obj
+
+%:
+ dh $@
+
+override_dh_auto_build:
+ (cd sample_apps; \
+ scons BINDINGS=cpp $(SCONS_ARGS) \
+ WS=off BT=off ICE=off \
+ )
+# (cd time; \
+# scons BINDINGS=cpp $(SCONS_ARGS) \
+# WS=off BT=off ICE=off \
+# )
+ (cd config; \
+ scons BINDINGS=cpp $(SCONS_ARGS) \
+ WS=off BT=off ICE=off \
+ )
+ (cd services_common; \
+ scons BINDINGS=cpp $(SCONS_ARGS) \
+ WS=off BT=off ICE=off \
+ )
+ (cd controlpanel; \
+ scons BINDINGS=cpp $(SCONS_ARGS) \
+ WS=off BT=off ICE=off \
+ )
+ (cd onboarding; \
+ scons BINDINGS=cpp $(SCONS_ARGS) \
+ WS=off BT=off ICE=off \
+ )
+ (cd notification; \
+ scons BINDINGS=cpp $(SCONS_ARGS) \
+ WS=off BT=off ICE=off \
+ )
+
+ touch ./to-be.removed-now.md5
+ find ./* |grep '\.md5'|xargs rm
+
+ dh_auto_build
+
+override_dh_auto_clean:
+ # see explanation of -I for dpkg-source
+ # as this dir contains an {arch}, dpkg-source ignores it
+ # "arm" in Alljoyn world means openWRT+cross compiling
+ # so this is not needed for Debian
+ rm -rf build_core/conf/linux/arm
+ rm -f sample_apps/.sconsign.dblite
+ rm -rf sample_apps/.sconf_temp
+ rm -f services_common/.sconsign.dblite
+ rm -rf services_common/.sconf_temp
+ rm -f notification/.sconsign.dblite
+ rm -rf notification/.sconf_temp
+ rm -f onboarding/.sconsign.dblite
+ rm -rf onboarding/.sconf_temp
+ rm -f controlpanel/.sconsign.dblite
+ rm -rf controlpanel/.sconf_temp
+ rm -f time/.sconsign.dblite
+ rm -rf time/.sconf_temp
+ rm -f config/.sconsign.dblite
+ rm -rf config/.sconf_temp
+ touch ./to-be.removed-now.md5
+ find ./* |grep '\.md5'|xargs rm
+ rm -rf sample_apps/build
+ rm -rf services_common/build
+ rm -rf notification/build
+ rm -rf onboarding/build
+ rm -rf controlpanel/build
+ rm -rf time/build
+ rm -rf config/build
+ dh_auto_clean
+
+override_dh_install:
+ dh_install
+ # improve stuff
+ chmod 644 debian/alljoyn-services-1509/etc/alljoyn/*.conf
+
+override_dh_installchangelogs:
+ cat */ReleaseNotes.txt > ReleaseNotes.txt
+ dh_installchangelogs ReleaseNotes.txt
+ rm ReleaseNotes.txt
+ dh_installchangelogs
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)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..bfbd380
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,5 @@
+version=3
+opts="dversionmangle=s/base/alljoyn-services/" \
+https://git.allseenalliance.org/cgit/services/base.git/ /cgit/services/base.git/snapshot/base-(15\.09.*)\.tar\.gz
+
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-iot/alljoyn-services-1509.git
More information about the Debian-iot-packaging
mailing list