From ef2fd9a07ac059e799f3dd539f56de9382f85ef4 Mon Sep 17 00:00:00 2001 From: Ole Streicher Date: Thu, 10 Aug 2017 13:04:00 +0100 Subject: [PATCH] Import xpa_2.1.18-3.debian.tar.xz [dgit import tarball xpa 2.1.18-3 xpa_2.1.18-3.debian.tar.xz] --- changelog | 127 ++++++ clean | 5 + compat | 1 + control | 84 ++++ copyright | 46 +++ libxpa-dev.doc-base | 19 + libxpa-dev.docs | 2 + libxpa-dev.install | 43 ++ libxpa-dev.lintian-overrides | 5 + libxpa1.install | 2 + libxpa1.symbols | 139 +++++++ patches/Add-a-description-to-AC_DEFINEs.patch | 73 ++++ patches/Add-hardening-flags.patch | 39 ++ ...name-and-spellfixes-so-that-lintian-.patch | 382 ++++++++++++++++++ ...paths-for-a-chroot-build-and-for-FHS.patch | 78 ++++ ...face-to-usr-lib-tcltk-xpa-according-.patch | 100 +++++ .../Recognise-the-exit-status-of-mklibs.patch | 33 ++ patches/Sort-.o-files.patch | 31 ++ ...ke-mklib-work-with-cross-compilation.patch | 78 ++++ patches/series | 8 + rules | 30 ++ source/format | 1 + tcl-xpa.install | 3 + tests/control | 3 + tests/xpa-test-ci | 18 + tests/xpa_test_build | 20 + upstream/metadata | 11 + watch | 3 + xpa-tools.install | 12 + 29 files changed, 1396 insertions(+) create mode 100644 changelog create mode 100644 clean create mode 100644 compat create mode 100644 control create mode 100644 copyright create mode 100644 libxpa-dev.doc-base create mode 100644 libxpa-dev.docs create mode 100644 libxpa-dev.install create mode 100644 libxpa-dev.lintian-overrides create mode 100644 libxpa1.install create mode 100644 libxpa1.symbols create mode 100644 patches/Add-a-description-to-AC_DEFINEs.patch create mode 100644 patches/Add-hardening-flags.patch create mode 100644 patches/Fix-manpages-section-name-and-spellfixes-so-that-lintian-.patch create mode 100644 patches/Fix-the-paths-for-a-chroot-build-and-for-FHS.patch create mode 100644 patches/Install-the-tcl-interface-to-usr-lib-tcltk-xpa-according-.patch create mode 100644 patches/Recognise-the-exit-status-of-mklibs.patch create mode 100644 patches/Sort-.o-files.patch create mode 100644 patches/make-mklib-work-with-cross-compilation.patch create mode 100644 patches/series create mode 100755 rules create mode 100644 source/format create mode 100644 tcl-xpa.install create mode 100644 tests/control create mode 100755 tests/xpa-test-ci create mode 100755 tests/xpa_test_build create mode 100644 upstream/metadata create mode 100644 watch create mode 100644 xpa-tools.install diff --git a/changelog b/changelog new file mode 100644 index 0000000..4aab8db --- /dev/null +++ b/changelog @@ -0,0 +1,127 @@ +xpa (2.1.18-3) unstable; urgency=medium + + [ Helmut Grohne ] + * Support DEB_BUILD_OPTIONS=nocheck. Closes: #871635 + * make mklib work with cross compilation + + -- Ole Streicher Thu, 10 Aug 2017 14:04:00 +0200 + +xpa (2.1.18-2) unstable; urgency=medium + + * Recognise the exit status of mklibs (Closes: #871509) + * Push Standards-Version to 4.0.0. No changes required. + + -- Ole Streicher Wed, 09 Aug 2017 13:32:17 +0200 + +xpa (2.1.18-1) unstable; urgency=medium + + * New upstream version 2.1.18 + * Add Bug-Db and Repository to d/u/metadata + * Mark libxpa-dev as Multi-Arch: same as suggested by MultiArch hinter + + -- Ole Streicher Sat, 15 Oct 2016 14:54:17 +0200 + +xpa (2.1.17-6) unstable; urgency=low + + * Use autoreconf + * Use Tcl stubs + + -- Ole Streicher Mon, 06 Jun 2016 11:32:18 +0200 + +xpa (2.1.17-5) unstable; urgency=low + + * Allow stderr in CI tests + + -- Ole Streicher Wed, 27 Apr 2016 21:38:06 +0200 + +xpa (2.1.17-4) unstable; urgency=low + + * Fix another CI test dependency + + -- Ole Streicher Wed, 27 Apr 2016 07:24:19 +0200 + +xpa (2.1.17-3) unstable; urgency=low + + * Put under Debian Astro Team maintenance + * Fix CI test dependencies + + -- Ole Streicher Tue, 26 Apr 2016 20:26:09 +0200 + +xpa (2.1.17-2) unstable; urgency=low + + [ Alexis Bienvenüe ] + * Build libs with fixed order *.o files. Closes: #822561 + + [ Ole Streicher ] + * Add build time and CI tests + * Push Standards-Version to 3.9.8. Use https for Vcs fields. + + -- Ole Streicher Tue, 26 Apr 2016 15:00:14 +0200 + +xpa (2.1.17-1) unstable; urgency=low + + * New upstream version + * Install pkgconfig file for xpa + + -- Ole Streicher Tue, 20 Oct 2015 10:08:54 +0200 + +xpa (2.1.16-1) unstable; urgency=low + + * New upstream version + + -- Ole Streicher Mon, 19 Oct 2015 13:15:11 +0200 + +xpa (2.1.15-5) unstable; urgency=low + + * Convert to multi-arch + + -- Ole Streicher Wed, 22 Jul 2015 12:22:50 +0200 + +xpa (2.1.15-4) unstable; urgency=low + + * Update maintainers e-mail address + * Update standards version to 3.9.6. No changes needed. + * Change VCS location to debian-astro + * Remove conf.h include from xpa.h. Closes: #764406 + * Add symbols file + + -- Ole Streicher Thu, 25 Sep 2014 12:21:34 +0200 + +xpa (2.1.15-3) unstable; urgency=low + + * update config.{sub,guess} for the AArch64 port. Closes: #727523 + + -- Ole Streicher Sun, 27 Oct 2013 17:26:34 +0100 + +xpa (2.1.15-2) unstable; urgency=low + + * Fix FTBS on IA64 + + -- Ole Streicher Thu, 25 Jul 2013 17:29:25 +0200 + +xpa (2.1.15-1) unstable; urgency=low + + * New upstream version + * Change priority to optional + * Change compat to 9: fixes lintian warnings + * Push standards to 3.9.4: No changes needed + + -- Ole Streicher Thu, 25 Jul 2013 10:21:05 +0200 + +xpa (2.1.14-2) unstable; urgency=low + + * Install correct pkgIndex.tcl in tcl-xpa + + -- Ole Streicher Sat, 09 Jun 2012 10:12:51 +0200 + +xpa (2.1.14-1) unstable; urgency=low + + * New upstream version. + + -- Ole Streicher Fri, 08 Jun 2012 16:05:54 +0200 + +xpa (2.1.13-1) unstable; urgency=low + + * Initial release. (Closes: #655651) + + -- Ole Streicher Thu, 26 Jan 2012 09:20:00 +0100 diff --git a/clean b/clean new file mode 100644 index 0000000..7535867 --- /dev/null +++ b/clean @@ -0,0 +1,5 @@ +xpa.pc +conf.h +config.log +config.status.lineno + diff --git a/compat b/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +9 diff --git a/control b/control new file mode 100644 index 0000000..5b676b9 --- /dev/null +++ b/control @@ -0,0 +1,84 @@ +Source: xpa +Section: science +Priority: optional +Maintainer: Debian Astro Team +Uploaders: Ole Streicher +Build-Depends: autotools-dev, + debhelper (>= 9), + dh-autoreconf, + libxt-dev, + tcl-dev +Standards-Version: 4.0.0 +Homepage: http://hea-www.harvard.edu/RD/xpa/ +Vcs-Git: https://anonscm.debian.org/git/debian-astro/packages/xpa.git +Vcs-Browser: https://anonscm.debian.org/cgit/debian-astro/packages/xpa.git + +Package: libxpa1 +Section: libs +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Seamless communication between Unix programs (shared library) + The XPA messaging system provides seamless communication between many kinds + of Unix programs, including X programs and Tcl/Tk programs. It also provides + an easy way for users to communicate with these XPA-enabled programs by + executing XPA client commands in the shell or by utilizing such commands in + scripts. Because XPA works both at the programming level and the shell level, + it is a powerful tool for unifying any analysis environment: users and + programmers have great flexibility in choosing the best level or levels at + which to access XPA services, and client access can be extended or modified + easily at any time. + . + This package contains the shared library. + +Package: libxpa-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: libxpa1 (= ${binary:Version}), ${misc:Depends} +Description: Seamless communication between Unix programs (development files) + The XPA messaging system provides seamless communication between many kinds + of Unix programs, including X programs and Tcl/Tk programs. It also provides + an easy way for users to communicate with these XPA-enabled programs by + executing XPA client commands in the shell or by utilizing such commands in + scripts. Because XPA works both at the programming level and the shell level, + it is a powerful tool for unifying any analysis environment: users and + programmers have great flexibility in choosing the best level or levels at + which to access XPA services, and client access can be extended or modified + easily at any time. + . + This package contains the header files and the static library. + +Package: xpa-tools +Architecture: any +Depends: libxpa1 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} +Description: Tools for seamless communication between Unix programs + The XPA messaging system provides seamless communication between many kinds + of Unix programs, including X programs and Tcl/Tk programs. It also provides + an easy way for users to communicate with these XPA-enabled programs by + executing XPA client commands in the shell or by utilizing such commands in + scripts. Because XPA works both at the programming level and the shell level, + it is a powerful tool for unifying any analysis environment: users and + programmers have great flexibility in choosing the best level or levels at + which to access XPA services, and client access can be extended or modified + easily at any time. + . + This package contains the additional tools. + +Package: tcl-xpa +Architecture: any +Multi-Arch: same +Section: interpreters +Depends: libxpa1 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} +Description: Seamless communication between Unix programs (Tcl interface) + The XPA messaging system provides seamless communication between many kinds + of Unix programs, including X programs and Tcl/Tk programs. It also provides + an easy way for users to communicate with these XPA-enabled programs by + executing XPA client commands in the shell or by utilizing such commands in + scripts. Because XPA works both at the programming level and the shell level, + it is a powerful tool for unifying any analysis environment: users and + programmers have great flexibility in choosing the best level or levels at + which to access XPA services, and client access can be extended or modified + easily at any time. + . + This package contains the Tcl interface. diff --git a/copyright b/copyright new file mode 100644 index 0000000..480d975 --- /dev/null +++ b/copyright @@ -0,0 +1,46 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: XPA +Upstream-Author: Eric Mandel +Source: http://hea-www.harvard.edu/RD/xpa/ + +Files: * +Copyright: 1999-2003 Smithsonian Astrophysical Observatory, + 2014 Smithsonian Institution, + 1999-2006 Brian Paul +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + +Files: install-sh +Copyright: 1991 Massachusetts Institute of Technology +License: MIT/X11 + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation, and that the name of M.I.T. not be used in advertising or + publicity pertaining to distribution of the software without specific, + written prior permission. M.I.T. makes no representations about the + suitability of this software for any purpose. It is provided "as is" + without express or implied warranty. + +Files: debian/* +Copyright: not applicable +License: public-domain + Debian packaging by Ole Streicher diff --git a/libxpa-dev.doc-base b/libxpa-dev.doc-base new file mode 100644 index 0000000..30012f7 --- /dev/null +++ b/libxpa-dev.doc-base @@ -0,0 +1,19 @@ +Document: xpa +Title: XPA: Public Access to Data and Algorithms +Section: Programming +Abstract: The XPA messaging system provides seamless communication between + many kinds of Unix programs, including X programs and Tcl/Tk programs. It + also provides an easy way for users to communicate with XPA-enabled programs + by executing XPA client commands in the shell or by utilizing such commands + in scripts. Because XPA works both at the programming level and the shell + level, it is a powerful tool for unifying any analysis environment: users and + programmers have great flexibility in choosing the best level or levels at + which to access XPA services, and client access can be extended or modified + easily at any time. + +Format: PDF +Files: /usr/share/doc/libxpa-dev/xpa.pdf.gz + +Format: HTML +Index: /usr/share/doc/libxpa-dev/help.html +Files: /usr/share/doc/libxpa-dev/*.html diff --git a/libxpa-dev.docs b/libxpa-dev.docs new file mode 100644 index 0000000..fc2874e --- /dev/null +++ b/libxpa-dev.docs @@ -0,0 +1,2 @@ +doc/*.html +doc/xpa.pdf diff --git a/libxpa-dev.install b/libxpa-dev.install new file mode 100644 index 0000000..2233386 --- /dev/null +++ b/libxpa-dev.install @@ -0,0 +1,43 @@ +usr/include/prsetup.h +usr/include/xpa.h +usr/lib/*/libxpa.a +usr/lib/*/libxpa.so +usr/lib/*/pkgconfig/xpa.pc +usr/share/man/man3/xpaaccess.3 +usr/share/man/man3/xpaatexit.3 +usr/share/man/man3/xpacleanup.3 +usr/share/man/man3/xpaclient.3 +usr/share/man/man3/xpaclose.3 +usr/share/man/man3/xpacmdadd.3 +usr/share/man/man3/xpacmddel.3 +usr/share/man/man3/xpacmdnew.3 +usr/share/man/man3/xpafree.3 +usr/share/man/man3/xpaget.3 +usr/share/man/man3/xpagetfd.3 +usr/share/man/man3/xpainfo.3 +usr/share/man/man3/xpainfonew.3 +usr/share/man/man3/xpamacros.3 +usr/share/man/man3/xpamainloop.3 +usr/share/man/man3/xpanew.3 +usr/share/man/man3/xpanslookup.3 +usr/share/man/man3/xpaopen.3 +usr/share/man/man3/xpapoll.3 +usr/share/man/man3/xparace.3 +usr/share/man/man3/xpaserver.3 +usr/share/man/man3/xpaset.3 +usr/share/man/man3/xpasetfd.3 +usr/share/man/man7/xpa.7 +usr/share/man/man7/xpaacl.7 +usr/share/man/man7/xpachanges.7 +usr/share/man/man7/xpacode.7 +usr/share/man/man7/xpacommon.7 +usr/share/man/man7/xpaconvert.7 +usr/share/man/man7/xpaenv.7 +usr/share/man/man7/xpainet.7 +usr/share/man/man7/xpaintro.7 +usr/share/man/man7/xpamethod.7 +usr/share/man/man7/xpaname.7 +usr/share/man/man7/xpaoom.7 +usr/share/man/man7/xpatemplate.7 +usr/share/man/man7/xpausers.7 +usr/share/man/man7/xpaxt.7 diff --git a/libxpa-dev.lintian-overrides b/libxpa-dev.lintian-overrides new file mode 100644 index 0000000..b90d5f7 --- /dev/null +++ b/libxpa-dev.lintian-overrides @@ -0,0 +1,5 @@ +# We need the changelog.html uncompressed since it is linked in the +# upstream HTML documentation. Although this is a policy violation, +# we ignore Lintian here since the file will not grow infinite. +# See http://lists.debian.org/debian-mentors/2012/01/msg00400.html +changelog-file-not-compressed changelog.html diff --git a/libxpa1.install b/libxpa1.install new file mode 100644 index 0000000..f3dd4b1 --- /dev/null +++ b/libxpa1.install @@ -0,0 +1,2 @@ +usr/lib/*/libxpa.so.1 +usr/lib/*/libxpa.so.1.0 diff --git a/libxpa1.symbols b/libxpa1.symbols new file mode 100644 index 0000000..ae96b30 --- /dev/null +++ b/libxpa1.symbols @@ -0,0 +1,139 @@ +libxpa.so.1 libxpa1 #MINVER# + Access@Base 2.1.14 + ClipBoardFree@Base 2.1.14 + ExpandEnv@Base 2.1.14 + Find@Base 2.1.14 + Launch@Base 2.1.14 + LaunchPid@Base 2.1.14 + ResolvePath@Base 2.1.14 + XPAAccess@Base 2.1.14 + XPAAclAdd@Base 2.1.14 + XPAAclCheck@Base 2.1.14 + XPAAclDel@Base 2.1.14 + XPAAclEdit@Base 2.1.14 + XPAAclFree@Base 2.1.14 + XPAAclNew@Base 2.1.14 + XPAActive@Base 2.1.14 + XPAActiveFd@Base 2.1.14 + XPAAddSelect@Base 2.1.14 + XPAArgvParamlist@Base 2.1.14 + XPAAtExit@Base 2.1.14 + XPACleanup@Base 2.1.14 + XPAClientAddSelect@Base 2.1.14 + XPAClientProcessSelect@Base 2.1.14 + XPAClientValid@Base 2.1.14 + XPAClose@Base 2.1.14 + XPACloseData@Base 2.1.14 + XPACmdAdd@Base 2.1.14 + XPACmdDel@Base 2.1.14 + XPACmdInternalReceive@Base 2.1.14 + XPACmdInternalSend@Base 2.1.14 + XPACmdLookup@Base 2.1.14 + XPACmdLookupReserved@Base 2.1.14 + XPACmdNew@Base 2.1.14 + XPAEndian@Base 2.1.14 + XPAError@Base 2.1.14 + XPAFree@Base 2.1.14 + XPAFreeReserved@Base 2.1.14 + XPAGet@Base 2.1.14 + XPAGetBuf@Base 2.1.14 + XPAGetFd@Base 2.1.14 + XPAGetReserved@Base 2.1.14 + XPAGets@Base 2.1.14 + XPAHandler@Base 2.1.14 + XPAIOCallsXPA@Base 2.1.14 + XPAInfo@Base 2.1.14 + XPAInfoNew@Base 2.1.14 + XPAInitEnv@Base 2.1.14 + XPAInitReserved@Base 2.1.14 + XPALevelGet@Base 2.1.14 + XPALevelSet@Base 2.1.14 + XPALevelSpaces@Base 2.1.14 + XPAListAdd@Base 2.1.14 + XPAListDel@Base 2.1.14 + XPAListHead@Base 2.1.14 + XPALongTimeout@Base 2.1.14 + XPAMainLoop@Base 2.1.14 + XPAMessage@Base 2.1.14 + XPAMethod@Base 2.1.14 + XPAMode@Base 2.1.14 + XPAMtype@Base 2.1.14 + XPANSAdd@Base 2.1.14 + XPANSClose@Base 2.1.14 + XPANSDel@Base 2.1.14 + XPANSKeepAlive@Base 2.1.14 + XPANSLookup@Base 2.1.14 + XPANSMethod@Base 2.1.14 + XPANew@Base 2.1.14 + XPAOK@Base 2.1.14 + XPAOpen@Base 2.1.14 + XPAParseIpPort@Base 2.1.14 + XPAParseName@Base 2.1.14 + XPAParseUnixSocket@Base 2.1.14 + XPAPoll@Base 2.1.14 + XPAPort@Base 2.1.14 + XPAPortAdd@Base 2.1.14 + XPAPortDel@Base 2.1.14 + XPAPortFree@Base 2.1.14 + XPAPortNew@Base 2.1.14 + XPAProcessSelect@Base 2.1.14 + XPAPutBuf@Base 2.1.14 + XPAPuts@Base 2.1.14 + XPAReceiveAcl@Base 2.1.14 + XPAReceiveClipboard@Base 2.1.14 + XPAReceiveCommands@Base 2.1.14 + XPAReceiveLTimeout@Base 2.1.14 + XPAReceiveRemote@Base 2.1.14 + XPAReceiveSTimeout@Base 2.1.14 + XPARemote@Base 2.1.14 + XPASaveJmp@Base 2.1.14 + XPASendAcl@Base 2.1.14 + XPASendClipboard@Base 2.1.14 + XPASendCommands@Base 2.1.14 + XPASendLTimeout@Base 2.1.14 + XPASendRemote@Base 2.1.14 + XPASendSTimeout@Base 2.1.14 + XPASet@Base 2.1.14 + XPASetBuf@Base 2.1.14 + XPASetFd@Base 2.1.14 + XPASetFree@Base 2.1.14 + XPAShortTimeout@Base 2.1.14 + XPASigusr1@Base 2.1.14 + XPASleep@Base 2.1.14 + XPATimestamp@Base 2.1.14 + XPATmpdir@Base 2.1.14 + XPAValid@Base 2.1.14 + XPAVerbosity@Base 2.1.14 + XPAVersionCheck@Base 2.1.14 + XPAVersionWarn@Base 2.1.14 + _XPAValid@Base 2.1.14 + alrmconnect@Base 2.1.14 + cluc@Base 2.1.14 + culc@Base 2.1.14 + freedelim@Base 2.1.14 + freedtable@Base 2.1.14 + gethost@Base 2.1.14 + gethostip@Base 2.1.14 + getiphost@Base 2.1.14 + isfalse@Base 2.1.14 + istrue@Base 2.1.14 + keyword@Base 2.1.14 + lastdelim@Base 2.1.14 + macro@Base 2.1.14 + newdelim@Base 2.1.14 + newdtable@Base 2.1.14 + noblkconnect@Base 2.1.14 + nocr@Base 2.1.14 + nowhite@Base 2.1.14 + strtoul16@Base 2.1.14 + tmatch@Base 2.1.14 + use_localhost@Base 2.1.14 + word@Base 2.1.14 + xalloc_savejmp@Base 2.1.14 + xcalloc@Base 2.1.14 + xfree@Base 2.1.14 + xmalloc@Base 2.1.14 + xpaMessbuf@Base 2.1.14 + xpa_gtk@Base 2.1.14 + xrealloc@Base 2.1.14 + xstrdup@Base 2.1.14 diff --git a/patches/Add-a-description-to-AC_DEFINEs.patch b/patches/Add-a-description-to-AC_DEFINEs.patch new file mode 100644 index 0000000..88594ac --- /dev/null +++ b/patches/Add-a-description-to-AC_DEFINEs.patch @@ -0,0 +1,73 @@ +From: Ole Streicher +Date: Sat, 15 Oct 2016 14:49:02 +0200 +Subject: Add a description to AC_DEFINEs + +This is needed for modern autoheader call. +--- + configure.ac | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fb5aeb2..db97489 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -66,8 +66,8 @@ if test "$fun_ok" = "yes"; then + AC_MSG_RESULT($fun_ok) + AC_CHECK_LIB(pthread, pthread_create, have_pthread=yes) + if test x"${have_pthread}" = x"yes"; then +- AC_DEFINE(HAVE_LIBPTHREAD) +- AC_DEFINE(_REENTRANT) ++ AC_DEFINE(HAVE_LIBPTHREAD,1,[flagging PThread]) ++ AC_DEFINE(_REENTRANT,1,[flagging reentrancy]) + TLIB="-lpthread" + else + AC_MSG_ERROR([no threads found ... can't use enable-threaded-xpans], 1) +@@ -107,7 +107,7 @@ fi + + AC_PATH_XTRA + if test x"${have_x}" = "xyes"; then +- AC_DEFINE(HAVE_XT) ++ AC_DEFINE(HAVE_XT,1, [flagging XTRA]) + fi + + SC_PATH_TCLCONFIG +@@ -123,12 +123,12 @@ if test x"${no_tcl}" = x ; then + TCL_LIBS="$TCL_LIB_SPEC" + AC_MSG_RESULT([Tcl support will utilize library: $TCL_LIBS]) + fi +- AC_DEFINE(HAVE_TCL) ++ AC_DEFINE(HAVE_TCL,1, [Tcl support]) + else + if test x"${with_tclconfig}" != x ; then + TCL_CFLAGS="$TCL_INCLUDE_SPEC" + TCL_LIBS="$TCL_LIB_SPEC" +- AC_DEFINE(HAVE_TCL) ++ AC_DEFINE(HAVE_TCL,1, [Tcl support]) + AC_MSG_RESULT([warning: tcl.h not found with --with-tcl ... tcl build might fail]) + else + AC_MSG_RESULT([$TCL_PREFIX/include/tcl.h not found ... use --with-tcl to build tcl explicitly]) +@@ -155,7 +155,7 @@ if test x"$havelib" = x1 ; then + AC_MSG_RESULT(yes ($withval)) + GTK_CFLAGS="`pkg-config gtk+-2.0 --cflags` -DHAVE_GTK=1" + GTK_LIBS="`pkg-config gtk+-2.0 --libs`" +- AC_DEFINE(HAVE_GTK) ++ AC_DEFINE(HAVE_GTK, 1, [flagging GTK]) + else + GTK_CFLAGS="" + GTK_LIBS="" +@@ -170,13 +170,13 @@ LDFLAGS="$LDFLAGS $XLDFLAGS" + AC_MSG_CHECKING([$host_os configuration]) + case $host_os in + *cygwin*|*Cygwin* ) +- AC_DEFINE(HAVE_CYGWIN) ++ AC_DEFINE(HAVE_CYGWIN, 1, [flagging Cygwin]) + AC_MSG_RESULT([flagging Cygwin]) + ;; + *mingw32*|*Mingw32*) + CFLAGS="$CFLAGS -mconsole" + EXTRA_LIBS="$EXTRA_LIBS -lwsock32" +- AC_DEFINE(HAVE_MINGW32) ++ AC_DEFINE(HAVE_MINGW32, 1, [flagging MinGW]) + AC_MSG_RESULT([flagging MinGW]) + ;; + *darwin*|*Darwin*) diff --git a/patches/Add-hardening-flags.patch b/patches/Add-hardening-flags.patch new file mode 100644 index 0000000..00109da --- /dev/null +++ b/patches/Add-hardening-flags.patch @@ -0,0 +1,39 @@ +From: Ole Streicher +Date: Sat, 15 Oct 2016 14:49:02 +0200 +Subject: Add hardening flags + +--- + Makefile.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index ebc2abf..edcb82c 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -122,7 +122,7 @@ RM = rm -f + + CC = @CC@ + +-CC_SWITCHES = -I. ${CFLAGS} ${AC_FLAGS} ++CC_SWITCHES = -I. ${CFLAGS} ${CPPFLAGS} ${AC_FLAGS} + + DEPEND_SWITCHES = -I. ${CFLAGS} ${PKG_CFLAGS} ${AC_FLAGS} + +@@ -185,7 +185,7 @@ shlib: $(LIB) + rm -f lib$(PACKAGE).tmp/xt*.o; \ + rm -f lib$(PACKAGE).tmp/tcl*.o; \ + CC='$(CC)' CXX=$(CXX) \ +- ./mklib -o $(PACKAGE) lib$(PACKAGE).tmp/*.o; \ ++ ./mklib -ldflags "$(LDFLAGS)" -o $(PACKAGE) lib$(PACKAGE).tmp/*.o; \ + rm -rf lib$(PACKAGE).tmp) + + mingw-dll: $(LIBOBJS) +@@ -204,7 +204,7 @@ shtclxpa: tclxpa + @(rm -rf $(PACKAGE)tmp; mkdir $(PACKAGE)tmp; \ + (cd $(PACKAGE)tmp && ar x ../libtclxpa.a); \ + CC='$(CC)' CXX='$(CXX)' \ +- ./mklib -o tclxpa -L. -lxpa $(PACKAGE)tmp/*.o -ltclstub; \ ++ ./mklib -ldflags "$(LDFLAGS)" -o tclxpa -L. -lxpa $(PACKAGE)tmp/*.o -ltclstub; \ + rm -rf $(PACKAGE)tmp; ) + + diff: diff --git a/patches/Fix-manpages-section-name-and-spellfixes-so-that-lintian-.patch b/patches/Fix-manpages-section-name-and-spellfixes-so-that-lintian-.patch new file mode 100644 index 0000000..430435c --- /dev/null +++ b/patches/Fix-manpages-section-name-and-spellfixes-so-that-lintian-.patch @@ -0,0 +1,382 @@ +From: Ole Streicher +Date: Sat, 15 Oct 2016 14:49:02 +0200 +Subject: Fix manpages (section, name, + and spellfixes) so that lintian does not complain + +--- + man/man1/xpachanges.1 | 6 +++--- + man/man3/xpaaccess.3 | 3 +-- + man/man3/xpamacros.3 | 2 +- + man/man3/xparace.3 | 2 +- + man/mann/xpa.n | 24 ++++++++++++------------ + man/mann/xpaacl.n | 4 ++-- + man/mann/xpacode.n | 4 ++-- + man/mann/xpacommon.n | 4 ++-- + man/mann/xpaconvert.n | 4 ++-- + man/mann/xpaenv.n | 13 ++----------- + man/mann/xpainet.n | 4 ++-- + man/mann/xpaintro.n | 4 ++-- + man/mann/xpamethod.n | 4 ++-- + man/mann/xpaname.n | 4 ++-- + man/mann/xpaoom.n | 4 ++-- + man/mann/xpatcl.n | 4 ++-- + man/mann/xpatemplate.n | 4 ++-- + man/mann/xpausers.n | 4 ++-- + man/mann/xpaxt.n | 4 ++-- + 19 files changed, 46 insertions(+), 56 deletions(-) + +diff --git a/man/man1/xpachanges.1 b/man/man1/xpachanges.1 +index f910bbe..1232e0a 100644 +--- a/man/man1/xpachanges.1 ++++ b/man/man1/xpachanges.1 +@@ -123,14 +123,14 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpachanges 1" +-.TH xpachanges 1 "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpachanges 7" ++.TH xpachanges 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l + .nh + .SH "NAME" +-\&\fB\s-1XPA\s0 Changes: Changes For Users from \s-1XPA\s0 1.0 and 2.0\fR ++XPAChanges \- Changes For Users from XPA 1.0 and 2.0 + .SH "SYNOPSIS" + .IX Header "SYNOPSIS" + This document describes changes that will affect users who migrate +diff --git a/man/man3/xpaaccess.3 b/man/man3/xpaaccess.3 +index a7e25e8..5c22716 100644 +--- a/man/man3/xpaaccess.3 ++++ b/man/man3/xpaaccess.3 +@@ -130,8 +130,7 @@ + .if n .ad l + .nh + .SH "NAME" +-XPAAccess: return XPA access points matching +-template (XPA 2.1 and above) ++XPAAccess \- return XPA access points matching template (XPA 2.1 and above) + .SH "SYNOPSIS" + .IX Header "SYNOPSIS" + .Vb 1 +diff --git a/man/man3/xpamacros.3 b/man/man3/xpamacros.3 +index c9a6ab5..6089ba8 100644 +--- a/man/man3/xpamacros.3 ++++ b/man/man3/xpamacros.3 +@@ -130,7 +130,7 @@ + .if n .ad l + .nh + .SH "NAME" +-\&\fB\s-1XPA\s0 Server Callback Macros\fR ++XPAMacros \- Server Callback Macros + .SH "SYNOPSIS" + .IX Header "SYNOPSIS" + .Vb 1 +diff --git a/man/man3/xparace.3 b/man/man3/xparace.3 +index 6100196..716af78 100644 +--- a/man/man3/xparace.3 ++++ b/man/man3/xparace.3 +@@ -130,7 +130,7 @@ + .if n .ad l + .nh + .SH "NAME" +-\&\fB\s-1XPA\s0 Race Conditions\fR ++XPARace \- Race Conditions + .SH "SYNOPSIS" + .IX Header "SYNOPSIS" + Potential \s-1XPA\s0 race conditions and how to avoid them. +diff --git a/man/mann/xpa.n b/man/mann/xpa.n +index 189a601..aa340ce 100644 +--- a/man/mann/xpa.n ++++ b/man/mann/xpa.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpa n" +-.TH xpa n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpa 7" ++.TH xpa 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +@@ -169,22 +169,22 @@ the command line via a suite of high-level programs. + Choose from the following topics: + .IP "\(bu" 4 + Introduction to \s-1XPA\s0 +-[xpaintro(n)] ++[xpaintro(7)] + .IP "\(bu" 4 + Access Point Names and Templates +-[xpatemplate(n)] ++[xpatemplate(7)] + .IP "\(bu" 4 + Getting Common Information About Access Points +-[xpacommon(n)] ++[xpacommon(7)] + .IP "\(bu" 4 + Communication Methods +-[xpamethod(n)] ++[xpamethod(7)] + .IP "\(bu" 4 + Communication Between Hosts +-[xpainet(n)] ++[xpainet(7)] + .IP "\(bu" 4 + Distinguishing Users +-[xpausers(n)] ++[xpausers(7)] + .IP "\(bu" 4 + \&\s-1XPA\s0 User Programs + .RS 4 +@@ -283,10 +283,10 @@ XPAAccess: get access info + [\fIxpaaccess\fR\|(3)] + .IP "\(bu" 4 + The XPA/Xt Interface: Xt interface to \s-1XPA\s0 +-[xpaxt(n)] ++[xpaxt(7)] + .IP "\(bu" 4 + The XPA/Tcl Interface: Tcl interface to \s-1XPA\s0 +-[xpatcl(n)] ++[xpa(3tcl)] + .RE + .RS 4 + .RE +@@ -295,10 +295,10 @@ Tailoring the \s-1XPA\s0 Environment + .RS 4 + .IP "\(bu" 4 + Environment Variables +-[xpaenv(n)] ++[xpaenv(7)] + .IP "\(bu" 4 + Access Control +-[xpaacl(n)] ++[xpaacl(7)] + .RE + .RS 4 + .RE +diff --git a/man/mann/xpaacl.n b/man/mann/xpaacl.n +index d339c5d..0765938 100644 +--- a/man/mann/xpaacl.n ++++ b/man/mann/xpaacl.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpaacl n" +-.TH xpaacl n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpaacl 7" ++.TH xpaacl 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpacode.n b/man/mann/xpacode.n +index b13c7ae..5e24d84 100644 +--- a/man/mann/xpacode.n ++++ b/man/mann/xpacode.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpacode n" +-.TH xpacode n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpacode 7" ++.TH xpacode 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpacommon.n b/man/mann/xpacommon.n +index 1a456ed..5d23cb5 100644 +--- a/man/mann/xpacommon.n ++++ b/man/mann/xpacommon.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpacommon n" +-.TH xpacommon n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpacommon 7" ++.TH xpacommon 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpaconvert.n b/man/mann/xpaconvert.n +index 035ef0b..498fd74 100644 +--- a/man/mann/xpaconvert.n ++++ b/man/mann/xpaconvert.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpaconvert n" +-.TH xpaconvert n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpaconvert 7" ++.TH xpaconvert 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpaenv.n b/man/mann/xpaenv.n +index ead081c..65456ad 100644 +--- a/man/mann/xpaenv.n ++++ b/man/mann/xpaenv.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpaenv n" +-.TH xpaenv n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpaenv 7" ++.TH xpaenv 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +@@ -471,12 +471,3 @@ protocol changes. + .SH "SEE ALSO" + .IX Header "SEE ALSO" + See xpa(n) for a list of \s-1XPA\s0 help pages +-.SH "POD ERRORS" +-.IX Header "POD ERRORS" +-Hey! \fBThe above document had some coding errors, which are explained below:\fR +-.IP "Around line 458:" 4 +-.IX Item "Around line 458:" +-\&'=item' outside of any '=over' +-.IP "Around line 509:" 4 +-.IX Item "Around line 509:" +-You forgot a '=back' before '=head1' +diff --git a/man/mann/xpainet.n b/man/mann/xpainet.n +index 4847654..92370f3 100644 +--- a/man/mann/xpainet.n ++++ b/man/mann/xpainet.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpainet n" +-.TH xpainet n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpainet 7" ++.TH xpainet 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpaintro.n b/man/mann/xpaintro.n +index 2978e6b..100bc57 100644 +--- a/man/mann/xpaintro.n ++++ b/man/mann/xpaintro.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpaintro n" +-.TH xpaintro n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpaintro 7" ++.TH xpaintro 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpamethod.n b/man/mann/xpamethod.n +index faecd86..47f5380 100644 +--- a/man/mann/xpamethod.n ++++ b/man/mann/xpamethod.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpamethod n" +-.TH xpamethod n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpamethod 7" ++.TH xpamethod 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpaname.n b/man/mann/xpaname.n +index cdb6839..ab8b07c 100644 +--- a/man/mann/xpaname.n ++++ b/man/mann/xpaname.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpaname n" +-.TH xpaname n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpaname 7" ++.TH xpaname 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpaoom.n b/man/mann/xpaoom.n +index 9dfdc3f..aba3039 100644 +--- a/man/mann/xpaoom.n ++++ b/man/mann/xpaoom.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpaoom n" +-.TH xpaoom n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpaoom 7" ++.TH xpaoom 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpatcl.n b/man/mann/xpatcl.n +index 9156d5e..b9de257 100644 +--- a/man/mann/xpatcl.n ++++ b/man/mann/xpatcl.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpatcl n" +-.TH xpatcl n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpa 3tcl" ++.TH xpa 3tcl "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpatemplate.n b/man/mann/xpatemplate.n +index f8fc55a..c6887cd 100644 +--- a/man/mann/xpatemplate.n ++++ b/man/mann/xpatemplate.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpatemplate n" +-.TH xpatemplate n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpatemplate 7" ++.TH xpatemplate 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpausers.n b/man/mann/xpausers.n +index 2823e3d..567d343 100644 +--- a/man/mann/xpausers.n ++++ b/man/mann/xpausers.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpausers n" +-.TH xpausers n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpausers 7" ++.TH xpausers 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l +diff --git a/man/mann/xpaxt.n b/man/mann/xpaxt.n +index 8885dd4..c661c84 100644 +--- a/man/mann/xpaxt.n ++++ b/man/mann/xpaxt.n +@@ -123,8 +123,8 @@ + .rm #[ #] #H #V #F C + .\" ======================================================================== + .\" +-.IX Title "xpaxt n" +-.TH xpaxt n "July 23, 2013" "version 2.1.15" "SAORD Documentation" ++.IX Title "xpaxt 7" ++.TH xpaxt 7 "July 23, 2013" "version 2.1.15" "SAORD Documentation" + .\" For nroff, turn off justification. Always turn off hyphenation; it makes + .\" way too many mistakes in technical documents. + .if n .ad l diff --git a/patches/Fix-the-paths-for-a-chroot-build-and-for-FHS.patch b/patches/Fix-the-paths-for-a-chroot-build-and-for-FHS.patch new file mode 100644 index 0000000..8076a29 --- /dev/null +++ b/patches/Fix-the-paths-for-a-chroot-build-and-for-FHS.patch @@ -0,0 +1,78 @@ +From: Ole Streicher +Date: Sat, 15 Oct 2016 14:49:02 +0200 +Subject: Fix the paths for a chroot build and for FHS + +--- + Makefile.in | 24 +++++++++++++++++------- + 1 file changed, 17 insertions(+), 7 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 79c5fd9..59fe47b 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -34,10 +34,10 @@ exec_prefix = @exec_prefix@ + # to be different than those used for actually reference files at + # run-time. INSTALL_ROOT is prepended to $prefix and $exec_prefix + # when installing files. +-INSTALL_ROOT = ++INSTALL_ROOT = $(DESTDIR) + + # Directory in which to install the .a or .so binary for the XPA library: +-LIB_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/lib ++LIB_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/lib/${DEB_HOST_MULTIARCH} + + # Directory in which to install the program wish: + BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin +@@ -46,7 +46,7 @@ BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin + INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include + + # Top-level directory for manual entries: +-MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man ++MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/share/man + + # Top-level directory for share entries: + MAN_SHARE_DIR = $(INSTALL_ROOT)$(prefix)/share/xpa +@@ -275,7 +275,7 @@ install-binaries: $(LIB) $(PROGS) + do \ + if [ ! -d $$i ] ; then \ + echo "Making directory $$i"; \ +- mkdir $$i; \ ++ mkdir -p $$i; \ + chmod 755 $$i; \ + else true; \ + fi; \ +@@ -297,14 +297,22 @@ install-binaries: $(LIB) $(PROGS) + install-man: + @if [ ! -d $(MAN_INSTALL_DIR) ] ; then \ + echo "Making directory $(MAN_INSTALL_DIR)"; \ +- mkdir $(MAN_INSTALL_DIR); \ ++ mkdir -p $(MAN_INSTALL_DIR); \ + chmod 755 $(MAN_INSTALL_DIR); \ + else true; \ + fi; + @-(for i in `ls ./man/man?/*.?` ; \ + do \ +- B=`basename $$i`; \ +- E=`echo $$i | awk -F. '{print $$NF}'`; \ ++ B=`basename $$i | sed s/\\\\.n/.7/`; \ ++ E=`echo $$i | awk -F. '{print $$NF}' | sed s/n/7/`; \ ++ case $$B in \ ++ xpatcl.7) \ ++ B=xpa.3tcl; \ ++ E=3;; \ ++ xpachanges.1) \ ++ B=xpachanges.7; \ ++ E=7;; \ ++ esac; \ + M="$(MAN_INSTALL_DIR)/man$$E"; \ + if [ ! -d $$M ] ; then \ + echo "Making directory $$M"; \ +@@ -314,6 +322,8 @@ install-man: + fi; \ + echo "Installing $$B" ; \ + $(INSTALL_DATA) $$i $$M/$$B; \ ++ sed -i "s/^\\\&\\\fB\(.*\):\(.*\)\\\fR/\1 \- \2/g" $$M/$$B ; \ ++ sed -i "s/xpa(n)/xpa(7)/g" $$M/$$B ; \ + done;) + + install-share: diff --git a/patches/Install-the-tcl-interface-to-usr-lib-tcltk-xpa-according-.patch b/patches/Install-the-tcl-interface-to-usr-lib-tcltk-xpa-according-.patch new file mode 100644 index 0000000..6fb1039 --- /dev/null +++ b/patches/Install-the-tcl-interface-to-usr-lib-tcltk-xpa-according-.patch @@ -0,0 +1,100 @@ +From: Ole Streicher +Date: Sat, 15 Oct 2016 14:49:02 +0200 +Subject: Install the tcl interface to /usr/lib/tcltk/xpa according to Debians + policy. + +Also use Tcl stubs. +--- + Makefile.in | 35 +++++++++++++++++++++++------------ + 1 file changed, 23 insertions(+), 12 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 59fe47b..ebc2abf 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -38,6 +38,7 @@ INSTALL_ROOT = $(DESTDIR) + + # Directory in which to install the .a or .so binary for the XPA library: + LIB_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/lib/${DEB_HOST_MULTIARCH} ++TCL_LIB_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/lib/tcltk/${DEB_HOST_MULTIARCH}/xpa + + # Directory in which to install the program wish: + BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin +@@ -142,7 +143,7 @@ GTK_OBJS = gtkloop.o + INCL = xpa.h xpap.h + + # these are all the modules going into the "normal" xpa library +-LIBOBJS = ${BASE_OBJS} ${TCL_OBJS} ${XT_OBJS} ${GTK_OBJS} ++LIBOBJS = ${BASE_OBJS} ${XT_OBJS} ${GTK_OBJS} + LIB = libxpa.a + + # used in link line +@@ -169,6 +170,8 @@ install:: install-share + + install:: install-data + ++install:: tclxpa_install ++ + lib: $(LIB) $(DOSHARED) + + $(LIB): $(LIBOBJS) +@@ -192,14 +195,17 @@ mingw-dll: $(LIBOBJS) + -Wl,--output-def,libxpa.def,--out-implib,libxpa_dll.a,-no-undefined,--enable-runtime-pseudo-reloc -o libxpa.dll \ + -lwsock32 + +-tclxpa: $(LIB) +- @(rm -rf libtclxpa.tmp; mkdir libtclxpa.tmp; \ +- (cd libtclxpa.tmp && ar x ../lib$(PACKAGE).a); \ +- rm -f libtclxpa.tmp/xt*.o; \ +- CC='$(CC)' CXX=$(CXX) \ +- ./mklib -o tclxpa libtclxpa.tmp/*.o $(TCL_LIBS); \ +- test -r libtclxpa.dylib && cp -p libtclxpa.dylib libtclxpa.so && echo "copying libtclxpa.dylib to libtclxpa.so"; \ +- rm -rf libtclxpa.tmp) ++ ++tclxpa: $(TCL_OBJS) ++ ar cruv libtclxpa.a $(TCL_OBJS) ++ $(RANLIB) libtclxpa.a ++ ++shtclxpa: tclxpa ++ @(rm -rf $(PACKAGE)tmp; mkdir $(PACKAGE)tmp; \ ++ (cd $(PACKAGE)tmp && ar x ../libtclxpa.a); \ ++ CC='$(CC)' CXX='$(CXX)' \ ++ ./mklib -o tclxpa -L. -lxpa $(PACKAGE)tmp/*.o -ltclstub; \ ++ rm -rf $(PACKAGE)tmp; ) + + diff: + -(for f in `ls *.c`; \ +@@ -258,7 +264,7 @@ smoke: ctest stest + _install: + + shlib_install: +- @-(for i in `ls *.so* *.dylib *.sl 2>/dev/null` ; \ ++ @-(for i in `ls libxpa.so* *.dylib *.sl 2>/dev/null` ; \ + do \ + if [ -h $$i ] ; then \ + echo "Installing link $$i" ; \ +@@ -270,6 +276,11 @@ shlib_install: + fi; \ + done;) + ++tclxpa_install: shtclxpa ++ mkdir -p $(TCL_LIB_INSTALL_DIR) ++ $(INSTALL_DATA) libtclxpa.so $(TCL_LIB_INSTALL_DIR) ++ $(INSTALL_DATA) pkgIndex.tcl $(TCL_LIB_INSTALL_DIR) ++ + install-binaries: $(LIB) $(PROGS) + @for i in $(LIB_INSTALL_DIR) $(INCLUDE_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \ + do \ +@@ -398,10 +409,10 @@ port.o: port.c $(INCL) + $(CC) -c $(CC_SWITCHES) port.c + + tcl.o: tcl.c $(INCL) +- $(CC) -c $(CC_SWITCHES) $(TCL_CFLAGS) tcl.c ++ $(CC) -c $(CC_SWITCHES) $(TCL_CFLAGS) -DUSE_TCL_STUBS=1 tcl.c + + tclloop.o: tclloop.c $(INCL) +- $(CC) -c $(CC_SWITCHES) $(TCL_CFLAGS) tclloop.c ++ $(CC) -c $(CC_SWITCHES) $(TCL_CFLAGS) -DUSE_TCL_STUBS=1 tclloop.c + + gtkloop.o: gtkloop.c $(INCL) + $(CC) -c $(CC_SWITCHES) $(GTK_CFLAGS) gtkloop.c diff --git a/patches/Recognise-the-exit-status-of-mklibs.patch b/patches/Recognise-the-exit-status-of-mklibs.patch new file mode 100644 index 0000000..1a635ac --- /dev/null +++ b/patches/Recognise-the-exit-status-of-mklibs.patch @@ -0,0 +1,33 @@ +From: Ole Streicher +Date: Wed, 9 Aug 2017 13:29:31 +0200 +Subject: Recognise the exit status of mklibs + +This is required to correctly fail if mklibs exits with error. + +Closes: #871509 +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index edb1a91..8b599cb 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -185,7 +185,7 @@ shlib: $(LIB) + rm -f lib$(PACKAGE).tmp/xt*.o; \ + rm -f lib$(PACKAGE).tmp/tcl*.o; \ + CC='$(CC)' CXX=$(CXX) \ +- ./mklib -ldflags "$(LDFLAGS)" -o $(PACKAGE) `LC_ALL=C ls lib$(PACKAGE).tmp/*.o`; \ ++ ./mklib -ldflags "$(LDFLAGS)" -o $(PACKAGE) `LC_ALL=C ls lib$(PACKAGE).tmp/*.o` && \ + rm -rf lib$(PACKAGE).tmp) + + mingw-dll: $(LIBOBJS) +@@ -204,7 +204,7 @@ shtclxpa: tclxpa + @(rm -rf $(PACKAGE)tmp; mkdir $(PACKAGE)tmp; \ + (cd $(PACKAGE)tmp && ar x ../libtclxpa.a); \ + CC='$(CC)' CXX='$(CXX)' \ +- ./mklib -ldflags "$(LDFLAGS)" -o tclxpa -L. -lxpa `LC_ALL=C ls $(PACKAGE)tmp/*.o` -ltclstub; \ ++ ./mklib -ldflags "$(LDFLAGS)" -o tclxpa -L. -lxpa `LC_ALL=C ls $(PACKAGE)tmp/*.o` -ltclstub && \ + rm -rf $(PACKAGE)tmp; ) + + diff: diff --git a/patches/Sort-.o-files.patch b/patches/Sort-.o-files.patch new file mode 100644 index 0000000..709fa77 --- /dev/null +++ b/patches/Sort-.o-files.patch @@ -0,0 +1,31 @@ +From: =?utf-8?q?Alexis_Bienven=C3=BCe?= +Date: Sat, 15 Oct 2016 14:49:02 +0200 +Subject: Sort *.o files + +Build libs with fixed order *.o files, to ger reproducible build. +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index edcb82c..edb1a91 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -185,7 +185,7 @@ shlib: $(LIB) + rm -f lib$(PACKAGE).tmp/xt*.o; \ + rm -f lib$(PACKAGE).tmp/tcl*.o; \ + CC='$(CC)' CXX=$(CXX) \ +- ./mklib -ldflags "$(LDFLAGS)" -o $(PACKAGE) lib$(PACKAGE).tmp/*.o; \ ++ ./mklib -ldflags "$(LDFLAGS)" -o $(PACKAGE) `LC_ALL=C ls lib$(PACKAGE).tmp/*.o`; \ + rm -rf lib$(PACKAGE).tmp) + + mingw-dll: $(LIBOBJS) +@@ -204,7 +204,7 @@ shtclxpa: tclxpa + @(rm -rf $(PACKAGE)tmp; mkdir $(PACKAGE)tmp; \ + (cd $(PACKAGE)tmp && ar x ../libtclxpa.a); \ + CC='$(CC)' CXX='$(CXX)' \ +- ./mklib -ldflags "$(LDFLAGS)" -o tclxpa -L. -lxpa $(PACKAGE)tmp/*.o -ltclstub; \ ++ ./mklib -ldflags "$(LDFLAGS)" -o tclxpa -L. -lxpa `LC_ALL=C ls $(PACKAGE)tmp/*.o` -ltclstub; \ + rm -rf $(PACKAGE)tmp; ) + + diff: diff --git a/patches/make-mklib-work-with-cross-compilation.patch b/patches/make-mklib-work-with-cross-compilation.patch new file mode 100644 index 0000000..3b7992f --- /dev/null +++ b/patches/make-mklib-work-with-cross-compilation.patch @@ -0,0 +1,78 @@ +From: Helmut Grohne +Date: Thu, 10 Aug 2017 14:00:39 +0200 +Subject: make mklib work with cross compilation + +The first hunk makes it use the compiler discovered by ./configure and thus +will work with cross compilers. Since Makefile.in exports CC and CXX, it seems +like mklib should be picking these up and not doing so is an upstream bug. + +Then remove insertion of -m32, because this is not universally understood by +cross compilers. On Debian, the provided compiler will always choose the +correct ABI, so no -m32 or -m64 is necessary. This part likely is not +upstreamable. +--- + mklib | 29 +++-------------------------- + 1 file changed, 3 insertions(+), 26 deletions(-) + +diff --git a/mklib b/mklib +index c900b3e..bb070ac 100755 +--- a/mklib ++++ b/mklib +@@ -211,9 +211,9 @@ case $ARCH in + if [ "x$LINK" = "x" ] ; then + # -linker was not specified so set default link command now + if [ $CPLUSPLUS = 1 ] ; then +- LINK=g++ ++ LINK=${CXX:-g++} + else +- LINK=gcc ++ LINK=${CC:-gcc} + fi + fi + +@@ -228,14 +228,6 @@ case $ARCH in + ;; + esac + +- # Check if objects are 32-bit and we're running in 64-bit +- # environment. If so, pass -m32 flag to linker. +- set ${OBJECTS} +- ABI32=`file $1 | grep 32-bit` +- if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then +- OPTS="-m32 ${OPTS}" +- fi +- + if [ "${ALTOPTS}" ] ; then + OPTS=${ALTOPTS} + fi +@@ -281,13 +273,6 @@ case $ARCH in + # exptmp is removed below + fi + +- # Check if objects are 32-bit and we're running in 64-bit +- # environment. If so, pass -m32 flag to linker. +- set ${OBJECTS} +- ABI32=`file $1 | grep 32-bit` +- if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then +- OPTS="-m32 ${OPTS}" +- fi + if [ "${ALTOPTS}" ] ; then + OPTS=${ALTOPTS} + fi +@@ -355,15 +340,7 @@ case $ARCH in + OPTS="-G" + else + # gcc linker +- # Check if objects are 32-bit and we're running in 64-bit +- # environment. If so, pass -m32 flag to linker. +- set ${OBJECTS} +- ABI32=`file $1 | grep 32-bit` +- if [ "${ABI32}" ] ; then +- OPTS="-m32 -shared -Wl,-Bdynamic" +- else +- OPTS="-m64 -shared -Wl,-Bdynamic" +- fi ++ OPTS="-shared -Wl,-Bdynamic" + fi + + # Check if objects are SPARC v9 diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..bf7bd56 --- /dev/null +++ b/patches/series @@ -0,0 +1,8 @@ +Fix-the-paths-for-a-chroot-build-and-for-FHS.patch +Fix-manpages-section-name-and-spellfixes-so-that-lintian-.patch +Add-a-description-to-AC_DEFINEs.patch +Install-the-tcl-interface-to-usr-lib-tcltk-xpa-according-.patch +Add-hardening-flags.patch +Sort-.o-files.patch +Recognise-the-exit-status-of-mklibs.patch +make-mklib-work-with-cross-compilation.patch diff --git a/rules b/rules new file mode 100755 index 0000000..d0f1177 --- /dev/null +++ b/rules @@ -0,0 +1,30 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +%: + dh $@ --with autoreconf + +override_dh_auto_configure: + dh_auto_configure -- --enable-shared=link --with-threads --with-tclconfig=/usr/lib --with-tcl=/usr/include/tcl + +override_dh_auto_build: + dh_auto_build -- All tclxpa + +ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),) +override_dh_auto_test: + debian/tests/xpa_test_build +endif + +override_dh_installchangelogs: + dh_installchangelogs doc/changelog.html + for pkg in tcl-xpa libxpa1 xpa-tools ; do \ + rm -f debian/$$pkg/usr/share/doc/$$pkg/changelog.html; \ + done + +override_dh_compress: + dh_compress -Xchangelog.html + +override_dh_makeshlibs: + dh_makeshlibs -Xlibtclxpa.so diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tcl-xpa.install b/tcl-xpa.install new file mode 100644 index 0000000..2ce10a2 --- /dev/null +++ b/tcl-xpa.install @@ -0,0 +1,3 @@ +usr/lib/tcltk/*/xpa/libtclxpa.so +usr/lib/tcltk/*/xpa/pkgIndex.tcl +usr/share/man/man3/xpa.3tcl diff --git a/tests/control b/tests/control new file mode 100644 index 0000000..033321f --- /dev/null +++ b/tests/control @@ -0,0 +1,3 @@ +Tests: xpa-test-ci +Depends: libxpa-dev, gcc, libc6-dev, xpa-tools +Restrictions: allow-stderr diff --git a/tests/xpa-test-ci b/tests/xpa-test-ci new file mode 100755 index 0000000..374fba0 --- /dev/null +++ b/tests/xpa-test-ci @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +SRC=`pwd` +cd $ADTTMP +gcc -I$SRC $SRC/stest.c -lxpa -ostest +./stest > stest.log 2>&1 & +sleep 0.2 +FILE=$SRC/stest.c +cat $FILE | xpaset xpa + +xpaget xpa buf | diff -uw $FILE - + +xpaget xpa Exit + +cat stest.log + diff --git a/tests/xpa_test_build b/tests/xpa_test_build new file mode 100755 index 0000000..659eebd --- /dev/null +++ b/tests/xpa_test_build @@ -0,0 +1,20 @@ +#!/bin/sh + +set -e + +PATH=`pwd`:$PATH +LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH PATH + +stest > stest.log 2>&1 & +sleep 0.2 +FILE=tcp.h +cat $FILE | xpaset xpa + +xpaget xpa buf | diff -uw $FILE - + +xpaget xpa Exit + +cat stest.log +rm -f stest.log + diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 0000000..b5e35f2 --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,11 @@ +Bug-Database: https://github.com/ericmandel/xpa/issues +Name: XPA +Reference: + Author: Mandel, E. and Swick, R. + Title: "Public Access Programming: Opening The Black Box That Hides Internal Data" + Journal: Astronomical Data Analysis Software and Systems III + Year: 1994 + Volume: 61 + Pages: 507 + URL: http://adsabs.harvard.edu/abs/1994ASPC...61..507M +Repository: https://github.com/ericmandel/xpa diff --git a/watch b/watch new file mode 100644 index 0000000..a720722 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=3 +opts=filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/xpa-$1\.tar\.gz/ \ + https://github.com/ericmandel/xpa/tags .*/v?(\d\S*)\.tar\.gz diff --git a/xpa-tools.install b/xpa-tools.install new file mode 100644 index 0000000..403a203 --- /dev/null +++ b/xpa-tools.install @@ -0,0 +1,12 @@ +usr/bin/xpaaccess +usr/bin/xpaget +usr/bin/xpainfo +usr/bin/xpamb +usr/bin/xpans +usr/bin/xpaset +usr/share/man/man1/xpaaccess.1 +usr/share/man/man1/xpaget.1 +usr/share/man/man1/xpainfo.1 +usr/share/man/man1/xpamb.1 +usr/share/man/man1/xpans.1 +usr/share/man/man1/xpaset.1 -- 2.30.2