From 67b7bab0fdc9c9384a2b2ee1b10e706e10036543 Mon Sep 17 00:00:00 2001 From: Alejandro Alvarez Ayllon Date: Sep 04 2015 14:31:56 +0000 Subject: New upstream release 3.3.1 --- diff --git a/.gitignore b/.gitignore index f6a3a77..de52c18 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /*.tar.gz +/*.rpm diff --git a/fts-3.2.30-boost157.patch b/fts-3.2.30-boost157.patch deleted file mode 100644 index 92c352c..0000000 --- a/fts-3.2.30-boost157.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up fts-3.2.30/src/url-copy/main.cpp\~ fts-3.2.30/src/url-copy/main.cpp ---- fts-3.2.30/src/url-copy/main.cpp~ 2014-11-20 10:38:24.000000000 +0100 -+++ fts-3.2.30/src/url-copy/main.cpp 2015-01-29 02:10:40.570190787 +0100 -@@ -46,6 +46,7 @@ limitations under the License. */ - #include - #include - #include -+#include - #include "common/panic.h" - - using namespace std; - -Diff finished. Thu Jan 29 02:10:57 2015 diff --git a/fts-boost.patch b/fts-boost.patch new file mode 100644 index 0000000..2c13ae6 --- /dev/null +++ b/fts-boost.patch @@ -0,0 +1,12 @@ +diff --git a/src/url-copy/main.cpp b/src/url-copy/main.cpp +index f56ead2..d5e718b 100644 +--- a/src/url-copy/main.cpp ++++ b/src/url-copy/main.cpp +@@ -46,6 +46,7 @@ limitations under the License. */ + #include + #include + #include ++#include + #include "common/panic.h" + #include "version.h" + diff --git a/fts-jsonc.patch b/fts-jsonc.patch deleted file mode 100644 index 3d72d4d..0000000 --- a/fts-jsonc.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/modules/FindJSONC.cmake b/cmake/modules/FindJSONC.cmake -index 8ec2337..fb1498b 100644 ---- a/cmake/modules/FindJSONC.cmake -+++ b/cmake/modules/FindJSONC.cmake -@@ -8,7 +8,7 @@ find_library(JSONC_LIBRARIES - - find_path(JSONC_INCLUDE_DIRS - NAMES json.h -- HINTS /usr/include/json -+ HINTS /usr/include/json /usr/include/json-c - DOC "json-c headers" - ) - diff --git a/fts.spec b/fts.spec index d54546a..37b8111 100644 --- a/fts.spec +++ b/fts.spec @@ -1,60 +1,65 @@ +ExcludeArch: armv7hl + + +%bcond_with oracle + %global _hardened_build 1 %global __provides_exclude_from ^%{python_sitearch}/fts/.*\\.so$ %global selinux_policyver %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp || echo 0.0.0) %global selinux_variants mls targeted -Name: fts -Version: 3.2.32 -Release: 6%{?dist} -Summary: File Transfer Service V3 -Group: System Environment/Daemons -License: ASL 2.0 -URL: http://fts3-service.web.cern.ch/ +Name: fts +Version: 3.3.1 +Release: 1 +Summary: File Transfer Service V3 +Group: System Environment/Daemons +License: ASL 2.0 +URL: http://fts3-service.web.cern.ch/ # The source for this package was pulled from upstream's vcs. Use the # following commands to generate the tarball: -# svn export http://svn.cern.ch/guest/fts3/tags/fts3_3.2.32 fts-3.2.32 -# tar -czvf fts-3.2.32.tar.gz fts-3.2.32 -Source0: %{name}-%{version}.tar.gz -Source1: fts.te -Source2: fts.fc -Patch0: fts-3.2.30-boost157.patch -Patch1: fts-jsonc.patch +# git clone https://gitlab.cern.ch/fts/fts3.git -b master --depth=1 fts-3.3.1 +# cd fts-3.3.1 +# git submodule init && git submodule update +# cd .. +# tar --exclude-vcs -vczf fts-3.3.1.tar.gz fts-3.3.1 +Source0: %{name}-%{version}.tar.gz +Patch0: %{name}-boost.patch %if 0%{?el5} -BuildRequires: activemq-cpp-library +BuildRequires: activemq-cpp-library %else -BuildRequires: activemq-cpp-devel +BuildRequires: activemq-cpp-devel %endif -BuildRequires: boost-devel -BuildRequires: CGSI-gSOAP-devel +BuildRequires: boost-devel +BuildRequires: CGSI-gSOAP-devel %if %{?fedora}%{!?fedora:0} >= 18 || %{?rhel}%{!?rhel:0} >= 7 -BuildRequires: cmake +BuildRequires: cmake %else -BuildRequires: cmake28 +BuildRequires: cmake28 %endif -BuildRequires: doxygen +BuildRequires: doxygen %if 0%{?el5} -BuildRequires: e2fsprogs-devel +BuildRequires: e2fsprogs-devel %else -BuildRequires: libuuid-devel +BuildRequires: libuuid-devel %endif -BuildRequires: gfal2-devel >= 2.7.3 -BuildRequires: glib2-devel -BuildRequires: globus-gsi-credential-devel -BuildRequires: gridsite-devel -BuildRequires: gsoap-devel -BuildRequires: is-interface-devel -BuildRequires: json-c-devel -BuildRequires: libcurl-devel -BuildRequires: openldap-devel -BuildRequires: pugixml-devel -BuildRequires: python2-devel -BuildRequires: voms-devel -BuildRequires: checkpolicy, selinux-policy-devel, selinux-policy-doc - -Requires(pre): shadow-utils +BuildRequires: gfal2-devel >= 2.9.0 +BuildRequires: glib2-devel +BuildRequires: globus-gsi-credential-devel +BuildRequires: gridsite-devel +BuildRequires: gsoap-devel +BuildRequires: is-interface-devel +BuildRequires: json-c-devel +BuildRequires: libcurl-devel +BuildRequires: openldap-devel +BuildRequires: pugixml-devel +BuildRequires: python2-devel +BuildRequires: voms-devel +BuildRequires: checkpolicy, selinux-policy-devel, selinux-policy-doc + +Requires(pre): shadow-utils %description The File Transfer Service V3 is the successor of File Transfer Service V2. @@ -63,28 +68,30 @@ transfers, most importantly the aim of FTS3 is to transfer the data produced by CERN's LHC into the computing GRID. %package devel -Summary: Development files for File Transfer Service V3 -Group: Applications/Internet -Requires: fts-libs%{?_isa} = %{version}-%{release} +Summary: Development files for File Transfer Service V3 +Group: Applications/Internet +Requires: fts-libs%{?_isa} = %{version}-%{release} %description devel This package contains development files (e.g. header files) for File Transfer Service V3. %package server -Summary: File Transfer Service V3 server -Group: System Environment/Daemons - -Requires: fts-libs%{?_isa} = %{version}-%{release} -Requires: gfal2-plugin-gridftp%{?_isa} >= 2.7.3 -Requires: gfal2-plugin-http%{?_isa} >= 2.7.3 -Requires: gfal2-plugin-srm%{?_isa} >= 2.7.3 -#Requires: gfal2-plugin-xrootd%{?_isa} >= 0.2.2 -Requires: gridsite >= 1.7.25 -Requires(post): chkconfig -Requires(preun):chkconfig -Requires(postun):initscripts -Requires(preun): initscripts +Summary: File Transfer Service version 3 server +Group: System Environment/Daemons + +Requires: fts-libs%{?_isa} = %{version}-%{release} +Requires: gfal2%{?_isa} >= 2.9.0 +Requires: gfal2-plugin-gridftp%{?_isa} >= 2.9.0 +Requires: gfal2-plugin-http%{?_isa} >= 2.9.0 +Requires: gfal2-plugin-srm%{?_isa} >= 2.9.0 +#Requires: gfal2-plugin-xrootd%{?_isa} +Requires: gridsite >= 1.7.25 +Requires(post): chkconfig +Requires(preun): chkconfig +Requires(postun): initscripts +Requires(preun): initscripts + %description server The FTS server is a service which accepts transfer jobs, @@ -96,8 +103,11 @@ dynamically adjust transfer parameters for optimal bandwidth utilization and allows for configuring so called VO-shares. %package libs -Summary: File Transfer Service version 3 libraries -Group: System Environment/Libraries +Summary: File Transfer Service version 3 libraries +Group: System Environment/Libraries + +Obsoletes: fts-mysql-debuginfo < %{version} +Obsoletes: fts-oracle-debuginfo < %{version} %description libs FTS common libraries used across the client and @@ -106,40 +116,40 @@ parsing, logging and error-handling utilities, as well as, common definitions and interfaces %package infosys -Summary: File Transfer Service version 3 infosys integration -Group: System Environment/Daemons -Requires: bdii -Requires: fts-server%{?_isa} = %{version}-%{release} -Requires: glue-schema -Requires(post): chkconfig -Requires(preun):chkconfig -Requires(postun):initscripts -Requires(preun):initscripts +Summary: File Transfer Service version 3 infosys integration +Group: System Environment/Daemons +Requires: bdii +Requires: fts-server%{?_isa} = %{version}-%{release} +Requires: glue-schema +Requires(post): chkconfig +Requires(preun): chkconfig +Requires(postun): initscripts +Requires(preun): initscripts %description infosys FTS infosys integration %package msg -Summary: File Transfer Service version 3 messaging integration -Group: System Environment/Daemons -Requires: fts-server%{?_isa} = %{version}-%{release} +Summary: File Transfer Service version 3 messaging integration +Group: System Environment/Daemons +Requires: fts-server%{?_isa} = %{version}-%{release} %description msg FTS messaging integration %package python -Summary: File Transfer Service version 3 python bindings -Group: System Environment/Libraries -Requires: fts-libs%{?_isa} = %{version}-%{release} -Requires: python%{?_isa} +Summary: File Transfer Service version 3 python bindings +Group: System Environment/Libraries +Requires: fts-libs%{?_isa} = %{version}-%{release} +Requires: python%{?_isa} %description python FTS python bindings for client libraries and DB API %package client -Summary: File Transfer Service version 3 client -Group: Applications/Internet -Requires: fts-libs%{?_isa} = %{version}-%{release} +Summary: File Transfer Service version 3 client +Group: Applications/Internet +Requires: fts-libs%{?_isa} = %{version}-%{release} %description client A set of command line tools for submitting, querying @@ -148,26 +158,51 @@ there is a CLI that can be used for configuration and administering purposes. %package server-selinux -Summary: SELinux support for fts-server -Group: Applications/Internet -Requires: fts-server%{?_isa} = %{version}-%{release} +Summary: SELinux support for fts-server +Group: Applications/Internet +Requires: fts-server%{?_isa} = %{version}-%{release} %if "%{_selinux_policy_version}" != "" -Requires: selinux-policy >= %{_selinux_policy_version} +Requires: selinux-policy >= %{_selinux_policy_version} %else -Requires: selinux-policy >= %{selinux_policyver} +Requires: selinux-policy >= %{selinux_policyver} %endif -Requires(post): /usr/sbin/semodule, /sbin/restorecon, fts-server -Requires(postun):/usr/sbin/semodule, /sbin/restorecon, fts-server +Requires(post): /usr/sbin/semodule, /sbin/restorecon, fts-server +Requires(postun): /usr/sbin/semodule, /sbin/restorecon, fts-server %description server-selinux This package setup the SELinux policies for the FTS3 server. +%package mysql +Summary: File Transfer Service V3 mysql plug-in +Group: Applications/Internet + +BuildRequires: soci-mysql-devel +Requires: soci-mysql%{?_isa} +Requires: fts-server%{?_isa} + +%description mysql +The File Transfer Service V3 mysql plug-in + +%{?with_oracle:%package oracle +Summary: File Transfer Service V3 oracle plug-in +Group: Applications/Internet + +BuildRequires: soci-oracle-devel +BuildRequires: oracle-instantclient-devel +Requires: soci-oracle%{?_isa} +Requires: fts-server%{?_isa} + +AutoReq: no +AutoProv: yes + +%description oracle +The File Transfer Service V3 oracle plug-in +} + + %prep %setup -q %patch0 -p1 -%patch1 -p1 -mkdir SELinux -cp -p %{SOURCE1} %{SOURCE2} SELinux %build # Make sure the version in the spec file and the version used @@ -184,9 +219,17 @@ fi mkdir build cd build %if %{?fedora}%{!?fedora:0} >= 18 || %{?rhel}%{!?rhel:0} >= 7 - %cmake -DMAINBUILD=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX='' .. + %cmake -DSERVERBUILD=ON -DMYSQLBUILD=ON -DCLIENTBUILD=ON \ + -DORACLEBUILD=%{?with_oracle:ON}%{?!with_oracle:OFF} \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX='' \ + .. %else - %cmake28 -DMAINBUILD=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX='' .. + %cmake28 -DSERVERBUILD=ON -DMYSQLBUILD=ON -DCLIENTBUILD=ON \ + -DORACLEBUILD=%{?with_oracle:ON}%{?!with_oracle:OFF} \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX='' \ + .. %endif make %{?_smp_mflags} @@ -194,7 +237,7 @@ make %{?_smp_mflags} cd - # SELinux -cd SELinux +cd selinux for selinuxvariant in %{selinux_variants}; do make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile mv fts.pp fts.pp.${selinuxvariant} @@ -219,7 +262,7 @@ cd - # SELinux for selinuxvariant in %{selinux_variants}; do install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} - install -p -m 644 SELinux/fts.pp.${selinuxvariant} %{buildroot}%{_datadir}/selinux/${selinuxvariant}/fts.pp + install -p -m 644 selinux/fts.pp.${selinuxvariant} %{buildroot}%{_datadir}/selinux/${selinuxvariant}/fts.pp done # Server scriptlets @@ -308,16 +351,13 @@ exit 0 #SELinux scriptlets %post server-selinux - -# Reset the context set by fts-monitoring-selinux -if [ $1 -eq 1 ]; then - semanage fcontext -d -t httpd_sys_content_t "/var/log/fts3(/.*)?" &> /dev/null +if [ $1 -eq 1 ] ; then + for selinuxvariant in %{selinux_variants}; do + /usr/sbin/semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/fts.pp &> /dev/null || : + done + /sbin/restorecon -R %{_var}/log/fts3 || : fi - -for selinuxvariant in %{selinux_variants}; do - /usr/sbin/semodule -s ${selinuxvariant} -i %{_datadir}/selinux/${selinuxvariant}/fts.pp &> /dev/null || : -done -/sbin/restorecon -R %{_var}/log/fts3 || : +exit 0 %postun server-selinux if [ $1 -eq 0 ] ; then @@ -434,10 +474,23 @@ fi %files server-selinux %defattr(-,root,root,0755) -%doc SELinux/* +%doc selinux/* %{_datadir}/selinux/*/fts.pp +%files mysql +%{_libdir}/libfts_db_mysql.so.* +%{_datadir}/fts-mysql + +%{?with_oracle:%files oracle +%{_libdir}/libfts_db_oracle.so.* +%{_datadir}/fts-oracle +} + %changelog +* Fri Sep 04 2015 Alejandro Alvarez - 3.3.1-1 +- New upstream release +- fts-mysql integrated + * Thu Aug 27 2015 Jonathan Wakely - 3.2.32-6 - Rebuilt for Boost 1.59 @@ -513,3 +566,4 @@ fi - trailing white-spaces have been removed * Wed Apr 24 2013 Michal Simon - 3.0.0-1 - First EPEL release + diff --git a/sources b/sources index b43c0b4..013e4f2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e72732ecb3097e9403e1d60700a9bbb5 fts-3.2.32.tar.gz +ab1ede91171492484bbed0114afa03a9 fts-3.3.1.tar.gz