From e84b7be6c6e34b92d0dd2c65ce025c26b93257c5 Mon Sep 17 00:00:00 2001 From: Jozsef Makai Date: Mon, 7 Aug 2017 14:11:34 +0000 Subject: [PATCH 1/9] [BUILD] initial Debian build --- packaging/debian/compat | 1 + packaging/debian/control | 34 ++++++++++++++++++++ packaging/debian/copyright | 18 +++++++++++ packaging/debian/rules | 4 +++ packaging/debian/source/format | 1 + packaging/debian/xrootd-client-devel.install | 9 ++++++ packaging/debian/xrootd-client-libs.install | 8 +++++ packaging/debian/xrootd-client.install | 18 +++++++++++ packaging/debian/xrootd-devel.install | 15 +++++++++ packaging/debian/xrootd-libs.install | 9 ++++++ 10 files changed, 117 insertions(+) create mode 100644 packaging/debian/compat create mode 100644 packaging/debian/control create mode 100644 packaging/debian/copyright create mode 100644 packaging/debian/rules create mode 100644 packaging/debian/source/format create mode 100644 packaging/debian/xrootd-client-devel.install create mode 100644 packaging/debian/xrootd-client-libs.install create mode 100644 packaging/debian/xrootd-client.install create mode 100644 packaging/debian/xrootd-devel.install create mode 100644 packaging/debian/xrootd-libs.install diff --git a/packaging/debian/compat b/packaging/debian/compat new file mode 100644 index 00000000000..f599e28b8ab --- /dev/null +++ b/packaging/debian/compat @@ -0,0 +1 @@ +10 diff --git a/packaging/debian/control b/packaging/debian/control new file mode 100644 index 00000000000..72eff72bede --- /dev/null +++ b/packaging/debian/control @@ -0,0 +1,34 @@ +Source: xrootd +Maintainer: Jozsef Makai +Section: misc +Priority: optional +Standards-Version: 3.9.3 +Build-Depends: debhelper (>= 10), cmake (>=3.3.0), libfuse-dev, zlib1g-dev, libfuse-dev, python-dev, libssl-dev, libxml2-dev, ncurses-dev, libkrb5-dev, libreadline-dev, libsystemd-dev, selinux-policy-dev, systemd +Homepage: https://github.com/xrootd/xrootd +Vcs-Git: https://github.com/xrootd/xrootd.git +Vcs-Browser: https://github.com/xrootd/xrootd + +Package: xrootd-libs +Architecture: any +Depends: systemd +Description: This package contains libraries used by the xrootd servers and clients. + +Package: xrootd-devel +Architecture: any +Depends: xrootd-libs, systemd +Description: This package contains header files and development libraries for xrootd development. + +Package: xrootd-client-libs +Architecture: any +Depends: xrootd-libs, systemd +Description: This package contains libraries used by xrootd clients. + +Package: xrootd-client-devel +Architecture: any +Depends: xrootd-devel, xrootd-client-libs, systemd +Description: This package contains header files and development libraries for xrootd client development. + +Package: xrootd-client +Architecture: any +Depends: xrootd-libs, xrootd-client-libs, systemd +Description: This package contains the command line tools used to communicate with xrootd servers. diff --git a/packaging/debian/copyright b/packaging/debian/copyright new file mode 100644 index 00000000000..8fd5621be2c --- /dev/null +++ b/packaging/debian/copyright @@ -0,0 +1,18 @@ +"Copyright (c) 2005-2012, Board of Trustees of the Leland Stanford, Jr. University.\n" +"Produced under contract DE-AC02-76-SF00515 with the US Department of Energy. \n" +"All rights reserved. The copyright holder's institutional names may not be used to\n" +"endorse or promote products derived from this software without specific prior \n" +"written permission.\n\n" +"This file is part of the XRootD software suite. \n\n" +"XRootD is free software: you can redistribute it and/or modify it under the terms \n" +"of the GNU Lesser General Public License as published by the Free Software \n" +"Foundation, either version 3 of the License, or (at your option) any later version.\n\n" +"XRootD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n" +"without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR \n" +"PURPOSE. See the GNU Lesser General Public License for more details. \nn" +"You should have received a copy of the GNU Lesser General Public License along \n" +"with XRootD in a file called COPYING.LESSER (LGPL license) and file COPYING (GPL \n" +"license). If not, see .\n\n" +"Prior to September 2nd, 2012 the XRootD software suite was licensed under a\n" +"modified BSD license (see file COPYING.BSD). This applies to all code that\n" +"was in the XRootD git repository prior to that date.\n" diff --git a/packaging/debian/rules b/packaging/debian/rules new file mode 100644 index 00000000000..2d33f6ac899 --- /dev/null +++ b/packaging/debian/rules @@ -0,0 +1,4 @@ +#!/usr/bin/make -f + +%: + dh $@ diff --git a/packaging/debian/source/format b/packaging/debian/source/format new file mode 100644 index 00000000000..163aaf8d82b --- /dev/null +++ b/packaging/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/packaging/debian/xrootd-client-devel.install b/packaging/debian/xrootd-client-devel.install new file mode 100644 index 00000000000..03abee908f2 --- /dev/null +++ b/packaging/debian/xrootd-client-devel.install @@ -0,0 +1,9 @@ +usr/bin/xrdgsitest +usr/lib/libXrdCl.so +usr/lib/libXrdClient.so +usr/lib/libXrdFfs.so +usr/libs/libXrdPosix.so +usr/share/man/man1/xrdgsitest.1* +usr/include/xrootd/XrdCl +usr/include/xrootd/XrdClient +usr/include/xrootd/XrdPosix diff --git a/packaging/debian/xrootd-client-libs.install b/packaging/debian/xrootd-client-libs.install new file mode 100644 index 00000000000..d79c9125e67 --- /dev/null +++ b/packaging/debian/xrootd-client-libs.install @@ -0,0 +1,8 @@ +usr/lib/libXrdCl.so.2* +usr/lib/libXrdClient.so.2* +usr/lib/libXrdFfs.so.2* +usr/lib/libXrdPosix.so.2* +usr/lib/libXrdPosixPreload.so.1* +usr/lib/libXrdPosixPreload.so +etc/sysconfig/xrootd/client.plugins.d/client-plugin.conf.example +etc/sysconfig/xrootd/client.conf diff --git a/packaging/debian/xrootd-client.install b/packaging/debian/xrootd-client.install new file mode 100644 index 00000000000..d4ca23ae269 --- /dev/null +++ b/packaging/debian/xrootd-client.install @@ -0,0 +1,18 @@ +usr/bin/xprep +usr/bin/xrd +usr/bin/xrdadler32 +usr/bin/xrdcopy +usr/bin/xrdcp +usr/bin/xrdcp-old +usr/bin/xrdfs +usr/bin/xrdgsiproxy +usr/bin/xrdstagetool +usr/share/man/man1/xprep.1* +usr/share/man/man1/xrd.1* +usr/share/man/man1/xrdadler32.1* +usr/share/man/man1/xrdcopy.1* +usr/share/man/man1/xrdcp.1* +usr/share/man/man1/xrdcp-old.1* +usr/share/man/man1/xrdfs.1* +usr/share/man/man1/xrdgsiproxy.1* +usr/share/man/man1/xrdstagetool.1* diff --git a/packaging/debian/xrootd-devel.install b/packaging/debian/xrootd-devel.install new file mode 100644 index 00000000000..4229915610a --- /dev/null +++ b/packaging/debian/xrootd-devel.install @@ -0,0 +1,15 @@ +usr/bin/xrootd-config +usr/include/xrootd/XProtocol +usr/include/xrootd/Xrd +usr/include/xrootd/XrdCks +usr/include/xrootd/XrdNet +usr/include/xrootd/XrdOuc +usr/include/xrootd/XrdSec +usr/include/xrootd/XrdSys +usr/include/xrootd/XrdVersion.hh +usr/include/xrootd/XrdXml/XrdXmlReader.hh +usr/lib/libXrdAppUtils.so +usr/lib/libXrdCrypto.so +usr/lib/libXrdCryptoLite.so +usr/lib/libXrdUtils.so +usr/lib/libXrdXml.so diff --git a/packaging/debian/xrootd-libs.install b/packaging/debian/xrootd-libs.install new file mode 100644 index 00000000000..dda96e3b054 --- /dev/null +++ b/packaging/debian/xrootd-libs.install @@ -0,0 +1,9 @@ +usr/lib/libXrdAppUtils.so.1* +usr/lib/libXrdClProxyPlugin-4.so +usr/lib/libXrdCks*-4.so +usr/lib/libXrdCrypto.so.1* +usr/lib/libXrdCryptoLite.so.1* +usr/lib/libXrdCryptossl-4.so +usr/lib/libXrdSec*-4.so +usr/lib/libXrdUtils.so.* +usr/lib/libXrdXml.so.* From 13bdaaaef2263628ba6ddc9dddbb687b57fa326d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zsef=20Makai?= Date: Tue, 8 Aug 2017 09:39:42 +0200 Subject: [PATCH 2/9] [BUILD] fix lib path in debian client-devel package --- packaging/debian/xrootd-client-devel.install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/debian/xrootd-client-devel.install b/packaging/debian/xrootd-client-devel.install index 03abee908f2..866b9be987a 100644 --- a/packaging/debian/xrootd-client-devel.install +++ b/packaging/debian/xrootd-client-devel.install @@ -2,7 +2,7 @@ usr/bin/xrdgsitest usr/lib/libXrdCl.so usr/lib/libXrdClient.so usr/lib/libXrdFfs.so -usr/libs/libXrdPosix.so +usr/lib/libXrdPosix.so usr/share/man/man1/xrdgsitest.1* usr/include/xrootd/XrdCl usr/include/xrootd/XrdClient From 6a0dbaa578547f9067c5d7ef962e29319318738c Mon Sep 17 00:00:00 2001 From: Jozsef Makai Date: Tue, 8 Aug 2017 08:32:47 +0000 Subject: [PATCH 3/9] [BUILD] debian rules makefile has to be executable --- packaging/debian/rules | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 packaging/debian/rules diff --git a/packaging/debian/rules b/packaging/debian/rules old mode 100644 new mode 100755 From 12e0ca960dbc0b4f070bf98354d51ed084a20855 Mon Sep 17 00:00:00 2001 From: Jozsef Date: Tue, 8 Aug 2017 14:37:13 +0000 Subject: [PATCH 4/9] [BUILD] server-devel debian packages --- packaging/debian/control | 25 +++++++++++++++---- packaging/debian/rules | 5 +++- packaging/debian/xrootd-client-libs.install | 4 +-- packaging/debian/xrootd-private-devel.install | 3 +++ packaging/debian/xrootd-server-devel.install | 8 ++++++ packaging/debian/xrootd-server-libs.install | 14 +++++++++++ 6 files changed, 51 insertions(+), 8 deletions(-) create mode 100644 packaging/debian/xrootd-private-devel.install create mode 100644 packaging/debian/xrootd-server-devel.install create mode 100644 packaging/debian/xrootd-server-libs.install diff --git a/packaging/debian/control b/packaging/debian/control index 72eff72bede..a12b64de400 100644 --- a/packaging/debian/control +++ b/packaging/debian/control @@ -10,25 +10,40 @@ Vcs-Browser: https://github.com/xrootd/xrootd Package: xrootd-libs Architecture: any -Depends: systemd +Depends: ${shlibs:Depends} Description: This package contains libraries used by the xrootd servers and clients. Package: xrootd-devel Architecture: any -Depends: xrootd-libs, systemd +Depends: ${shlibs:Depends}, xrootd-libs (=${binary:Version}) Description: This package contains header files and development libraries for xrootd development. Package: xrootd-client-libs Architecture: any -Depends: xrootd-libs, systemd +Depends: ${shlibs:Depends}, xrootd-libs (=${binary:Version}) Description: This package contains libraries used by xrootd clients. Package: xrootd-client-devel Architecture: any -Depends: xrootd-devel, xrootd-client-libs, systemd +Depends: ${shlibs:Depends}, xrootd-devel (=${binary:Version}), xrootd-client-libs (=${binary:Version}) Description: This package contains header files and development libraries for xrootd client development. Package: xrootd-client Architecture: any -Depends: xrootd-libs, xrootd-client-libs, systemd +Depends: ${shlibs:Depends}, xrootd-libs (=${binary:Version}), xrootd-client-libs (=${binary:Version}) Description: This package contains the command line tools used to communicate with xrootd servers. + +Package: xrootd-private-devel +Architecture: any +Depends: ${shlibs:Depends}, xrootd-libs (=${binary:Version}) +Description: This package contains some private xrootd headers. The use of these headers is strongly discouraged. Backward compatibility between versions is not guaranteed for these headers. + +Package: xrootd-server-libs +Architecture: any +Depends: ${shlibs:Depends}, xrootd-libs (=${binary:Version}), xrootd-client-libs (=${binary:Version}) +Description: This package contains libraries used by xrootd servers. + +Package: xrootd-server-devel +Architecture: any +Depends: ${shlibs:Depends}, xrootd-devel (=${binary:Version}), xrootd-client-devel (=${binary:Version}), xrootd-server-libs (=${binary:Version}) +Description: This package contains header files and development libraries for xrootd server development. diff --git a/packaging/debian/rules b/packaging/debian/rules index 2d33f6ac899..2d28799976e 100755 --- a/packaging/debian/rules +++ b/packaging/debian/rules @@ -1,4 +1,7 @@ #!/usr/bin/make -f %: - dh $@ + dh $@ --builddirectory=build --destdir=deb_packages + +override_dh_install: + dh_install --sourcedir=deb_packages diff --git a/packaging/debian/xrootd-client-libs.install b/packaging/debian/xrootd-client-libs.install index d79c9125e67..8dd151ac0f0 100644 --- a/packaging/debian/xrootd-client-libs.install +++ b/packaging/debian/xrootd-client-libs.install @@ -4,5 +4,5 @@ usr/lib/libXrdFfs.so.2* usr/lib/libXrdPosix.so.2* usr/lib/libXrdPosixPreload.so.1* usr/lib/libXrdPosixPreload.so -etc/sysconfig/xrootd/client.plugins.d/client-plugin.conf.example -etc/sysconfig/xrootd/client.conf +etc/xrootd/client.plugins.d/client-plugin.conf.example +etc/xrootd/client.conf diff --git a/packaging/debian/xrootd-private-devel.install b/packaging/debian/xrootd-private-devel.install new file mode 100644 index 00000000000..78d6c929f62 --- /dev/null +++ b/packaging/debian/xrootd-private-devel.install @@ -0,0 +1,3 @@ +usr/include/xrootd/private +usr/lib/libXrdSsiLib.so +usr/lib/libXrdSsiShMap.so diff --git a/packaging/debian/xrootd-server-devel.install b/packaging/debian/xrootd-server-devel.install new file mode 100644 index 00000000000..46038fcc7ec --- /dev/null +++ b/packaging/debian/xrootd-server-devel.install @@ -0,0 +1,8 @@ +usr/include/xrootd/XrdAcc +usr/include/xrootd/XrdCms +usr/include/xrootd/XrdFileCache +usr/include/xrootd/XrdOss +usr/include/xrootd/XrdSfs +usr/include/xrootd/XrdXrootd +usr/include/xrootd/XrdHttp +usr/lib/libXrdServer.so diff --git a/packaging/debian/xrootd-server-libs.install b/packaging/debian/xrootd-server-libs.install new file mode 100644 index 00000000000..51379ed2ac8 --- /dev/null +++ b/packaging/debian/xrootd-server-libs.install @@ -0,0 +1,14 @@ +usr/lib/libXrdBwm-4.so +usr/lib/libXrdPss-4.so +usr/lib/libXrdXrootd-4.so +usr/lib/libXrdFileCache-4.so +usr/lib/libXrdBlacklistDecision-4.so +usr/lib/libXrdHttp-4.so +usr/lib/libXrdN2No2p-4.so +usr/lib/libXrdOssSIgpfsT-4.so +usr/lib/libXrdServer.so.* +usr/lib/libXrdSsi-4.so +usr/lib/libXrdSsiLib.so.* +usr/lib/libXrdSsiLog-4.so +usr/lib/libXrdSsiShMap.so.* +usr/lib/libXrdThrottle-4.so From 3adc3fb066ac0025c38eab6a2ca4e49cd40b093e Mon Sep 17 00:00:00 2001 From: Jozsef Date: Tue, 8 Aug 2017 21:19:33 +0000 Subject: [PATCH 5/9] [BUILD] debian config file installs --- packaging/debian/rules | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packaging/debian/rules b/packaging/debian/rules index 2d28799976e..e6bcbab9b7f 100755 --- a/packaging/debian/rules +++ b/packaging/debian/rules @@ -4,4 +4,6 @@ dh $@ --builddirectory=build --destdir=deb_packages override_dh_install: + install -D -m 644 packaging/common/client.conf deb_packages/etc/xrootd/client.conf + install -D -m 644 packaging/common/client-plugin.conf.example deb_packages/etc/xrootd/client.plugins.d/client-plugin.conf.example dh_install --sourcedir=deb_packages From 6f95c01b9e58e8b8b8330d3ec0348a4e0a4a143b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zsef=20Makai?= Date: Wed, 9 Aug 2017 09:12:47 +0200 Subject: [PATCH 6/9] [BUILD] libfuse build dependency for debian was twice --- packaging/debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/debian/control b/packaging/debian/control index a12b64de400..0cf320f4b68 100644 --- a/packaging/debian/control +++ b/packaging/debian/control @@ -3,7 +3,7 @@ Maintainer: Jozsef Makai Section: misc Priority: optional Standards-Version: 3.9.3 -Build-Depends: debhelper (>= 10), cmake (>=3.3.0), libfuse-dev, zlib1g-dev, libfuse-dev, python-dev, libssl-dev, libxml2-dev, ncurses-dev, libkrb5-dev, libreadline-dev, libsystemd-dev, selinux-policy-dev, systemd +Build-Depends: debhelper (>= 10), cmake (>=3.3.0), zlib1g-dev, libfuse-dev, python-dev, libssl-dev, libxml2-dev, ncurses-dev, libkrb5-dev, libreadline-dev, libsystemd-dev, selinux-policy-dev, systemd Homepage: https://github.com/xrootd/xrootd Vcs-Git: https://github.com/xrootd/xrootd.git Vcs-Browser: https://github.com/xrootd/xrootd From 6bbcd974dbfd8a6ab16d7dba6ef684c355f4af7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zsef=20Makai?= Date: Wed, 9 Aug 2017 10:49:22 +0200 Subject: [PATCH 7/9] [BUILD] shlibs dependencies caused some troubles for libs package --- packaging/debian/control | 1 - 1 file changed, 1 deletion(-) diff --git a/packaging/debian/control b/packaging/debian/control index 0cf320f4b68..6aa1f635d60 100644 --- a/packaging/debian/control +++ b/packaging/debian/control @@ -10,7 +10,6 @@ Vcs-Browser: https://github.com/xrootd/xrootd Package: xrootd-libs Architecture: any -Depends: ${shlibs:Depends} Description: This package contains libraries used by the xrootd servers and clients. Package: xrootd-devel From 7e5055115d868222cfd8dfee9766879266db1737 Mon Sep 17 00:00:00 2001 From: Jozsef Makai Date: Wed, 9 Aug 2017 13:01:58 +0000 Subject: [PATCH 8/9] [BUILD] debian install scripts --- packaging/debian/xrootd-client-libs.postinst | 3 +++ packaging/debian/xrootd-client-libs.postrm | 3 +++ packaging/debian/xrootd-libs.postint | 3 +++ packaging/debian/xrootd-libs.postrm | 3 +++ packaging/debian/xrootd-server-libs.postinst | 3 +++ packaging/debian/xrootd-server-libs.postrm | 3 +++ 6 files changed, 18 insertions(+) create mode 100644 packaging/debian/xrootd-client-libs.postinst create mode 100644 packaging/debian/xrootd-client-libs.postrm create mode 100644 packaging/debian/xrootd-libs.postint create mode 100644 packaging/debian/xrootd-libs.postrm create mode 100644 packaging/debian/xrootd-server-libs.postinst create mode 100644 packaging/debian/xrootd-server-libs.postrm diff --git a/packaging/debian/xrootd-client-libs.postinst b/packaging/debian/xrootd-client-libs.postinst new file mode 100644 index 00000000000..2983b531b1f --- /dev/null +++ b/packaging/debian/xrootd-client-libs.postinst @@ -0,0 +1,3 @@ +#!/bin/bash + +ldconfig diff --git a/packaging/debian/xrootd-client-libs.postrm b/packaging/debian/xrootd-client-libs.postrm new file mode 100644 index 00000000000..2983b531b1f --- /dev/null +++ b/packaging/debian/xrootd-client-libs.postrm @@ -0,0 +1,3 @@ +#!/bin/bash + +ldconfig diff --git a/packaging/debian/xrootd-libs.postint b/packaging/debian/xrootd-libs.postint new file mode 100644 index 00000000000..2983b531b1f --- /dev/null +++ b/packaging/debian/xrootd-libs.postint @@ -0,0 +1,3 @@ +#!/bin/bash + +ldconfig diff --git a/packaging/debian/xrootd-libs.postrm b/packaging/debian/xrootd-libs.postrm new file mode 100644 index 00000000000..2983b531b1f --- /dev/null +++ b/packaging/debian/xrootd-libs.postrm @@ -0,0 +1,3 @@ +#!/bin/bash + +ldconfig diff --git a/packaging/debian/xrootd-server-libs.postinst b/packaging/debian/xrootd-server-libs.postinst new file mode 100644 index 00000000000..2983b531b1f --- /dev/null +++ b/packaging/debian/xrootd-server-libs.postinst @@ -0,0 +1,3 @@ +#!/bin/bash + +ldconfig diff --git a/packaging/debian/xrootd-server-libs.postrm b/packaging/debian/xrootd-server-libs.postrm new file mode 100644 index 00000000000..2983b531b1f --- /dev/null +++ b/packaging/debian/xrootd-server-libs.postrm @@ -0,0 +1,3 @@ +#!/bin/bash + +ldconfig From 3b1466560225331e84da5b92c20e1a1e9f8bf377 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zsef=20Makai?= Date: Wed, 9 Aug 2017 18:22:46 +0200 Subject: [PATCH 9/9] [CI] ubuntu artful CI job --- .gitlab-ci.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2e464f4aada..b589501d441 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -166,6 +166,33 @@ xrootd_rpm_fc24: except: - tags - schedules + +xrootd_deb_ubuntu_artful: + stage: build:rpm + image: ubuntu:artful + script: + - apt-get update + - apt-get install -y git cmake g++ debhelper devscripts equivs gdebi-core + - cp -R packaging/debian/ . + - mk-build-deps --build-dep debian/control + - gdebi -n xrootd-build-deps-depends*.deb + - version=`./genversion.sh --print-only` + - dch --create -v `echo $version | sed 's/^v\(.*\)/\1/'` --package xrootd --urgency low --distribution artful -M "This package is built and released automatically. For important notices and releases subscribe to our maling lists or visit our website." + - dpkg-buildpackage -b -us -uc -tc --buildinfo-option="-udeb_packages" --changes-option="-udeb_packages" + - mkdir ubuntu-artful + - cp deb_packages/*.deb ubuntu-artful + artifacts: + expire_in: 1 day + paths: + - ubuntu-artful/ + tags: + - docker-ubuntu + only: + - master + - /^stable-.*$/ + - tags + except: + - schedules xrootd_tgz_macosx: stage: build:rpm