SHA256
8
0
forked from pool/voms
Files
voms/voms.spec
Dirk Mueller c59712e080 - version update to 2.1.2
* Make the build more robust against non-standard installations of some dependencies by @giacomini in #138
  * Fix compilation with GCC 15 (Fedora 42) by @ellert in #140
  * Remove an escaped slash during normalization of a DN by @giacomini in #144
  * Preserve the possible failure of AC verification in voms-proxy-info by @giacomini in #143
- deleted patches
  - voms-gcc14.patch (upstreamed)

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/voms?expand=0&rev=11
2025-07-14 10:27:15 +00:00

202 lines
6.8 KiB
RPMSpec

#
# spec file for package voms
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2015 mischa.salle@gmail.com
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: voms
Version: 2.1.2
Release: 0
Summary: The Virtual Organisation Membership Service
License: Apache-2.0
URL: https://wiki.italiangrid.it/VOMS
Source: https://github.com/italiangrid/voms/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
%description
The Virtual Organization Membership Service (VOMS) is an attribute authority
which serves as central repository for VO user authorization information,
providing support for sorting users into group hierarchies, keeping track of
their roles and other attributes in order to issue trusted attribute
certificates and SAML assertions used in the Grid environment for
authorization purposes.
%package -n libvomsapi1
Summary: The Virtual Organisation Membership Service C++ APIs
Group: System/Libraries
BuildRequires: gcc-c++
BuildRequires: bison
BuildRequires: docbook-xsl-stylesheets
BuildRequires: doxygen
BuildRequires: libexpat-devel
BuildRequires: libopenssl-devel
BuildRequires: libtool
BuildRequires: libxslt
BuildRequires: pkgconfig
# Needed for macro fdupes
BuildRequires: fdupes
%description -n libvomsapi1
The Virtual Organization Membership Service (VOMS) is an attribute authority
which serves as central repository for VO user authorization information,
providing support for sorting users into group hierarchies, keeping track of
their roles and other attributes in order to issue trusted attribute
certificates and SAML assertions used in the Grid environment for
authorization purposes.
This package provides libraries that applications using the VOMS functionality
will bind to.
%package devel
Summary: Virtual Organization Membership Service Development Files
Group: Development/Libraries/C and C++
Requires: automake
Requires: libopenssl-devel
Requires: libvomsapi1%{?_isa} = %{version}-%{release}
%description devel
The Virtual Organization Membership Service (VOMS) is an attribute authority
which serves as central repository for VO user authorization information,
providing support for sorting users into group hierarchies, keeping track of
their roles and other attributes in order to issue trusted attribute
certificates and SAML assertions used in the Grid environment for
authorization purposes.
This package provides header files for programming with the VOMS libraries.
%package doc
Summary: Virtual Organization Membership Service Documentation
Group: Documentation
BuildArch: noarch
%description doc
Documentation for the Virtual Organization Membership Service APIs.
%package clients
Summary: Virtual Organization Membership Service Clients
Group: Applications/Internet
Requires: libvomsapi1%{?_isa} = %{version}-%{release}
%description clients
The Virtual Organization Membership Service (VOMS) is an attribute authority
which serves as central repository for VO user authorization information,
providing support for sorting users into group hierarchies, keeping track of
their roles and other attributes in order to issue trusted attribute
certificates and SAML assertions used in the Grid environment for
authorization purposes.
This package provides command line applications to access the VOMS services.
%prep
%autosetup -p1
# Fix bad permissions (which otherwise end up in the debuginfo package)
find . '(' -name '*.h' -o -name '*.c' -o -name '*.cpp' -o \
-name '*.cc' -o -name '*.java' ')' -exec chmod a-x {} +
./autogen.sh
%build
%configure --without-server --disable-static --enable-docs --disable-parser-gen
%make_build
%install
%make_install
# Remove la files
rm %{buildroot}%{_libdir}/*.la
# Remove server specific files
rm \
%{buildroot}%{_datadir}/%{name}/mysql2oracle \
%{buildroot}%{_datadir}/%{name}/upgrade1to2 \
%{buildroot}%{_datadir}/%{name}/voms.data \
%{buildroot}%{_datadir}/%{name}/voms_install_db \
%{buildroot}%{_datadir}/%{name}/voms-ping
# Create custom dirs
mkdir -p %{buildroot}%{_sysconfdir}/grid-security/vomsdir
mkdir -p %{buildroot}%{_sysconfdir}/grid-security/%{name}
mkdir -p %{buildroot}%{_localstatedir}/log/%{name}
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
# Create documentation directory
mkdir -p %{buildroot}%{_docdir}/%{name}-%{version}
install -m 644 -p LICENSE AUTHORS %{buildroot}%{_docdir}/%{name}-%{version}
# move vomses.template to doc
mv %{buildroot}%{_datadir}/%{name}/vomses.template \
%{buildroot}%{_docdir}/%{name}-%{version}
## C API documentation
mkdir -p %{buildroot}%{_docdir}/%{name}-%{version}/VOMS_C_API
cp -pr doc/apidoc/api/VOMS_C_API/html \
%{buildroot}%{_docdir}/%{name}-%{version}/VOMS_C_API
rm -f %{buildroot}%{_docdir}/%{name}-%{version}/VOMS_C_API/html/installdox
mkdir -p %{buildroot}%{_docdir}/%{name}-%{version}/VOMS_CC_API
cp -pr doc/apidoc/api/VOMS_CC_API/html \
%{buildroot}%{_docdir}/%{name}-%{version}/VOMS_CC_API
rm -f %{buildroot}%{_docdir}/%{name}-%{version}/VOMS_CC_API/html/installdox
# Handle duplicate files
%fdupes %{buildroot}%{_docdir}
%check
make check
%ldconfig_scriptlets -n libvomsapi1
%posttrans
# Recover /etc/vomses...
if [ -r %{_sysconfdir}/vomses.rpmsave -a ! -r %{_sysconfdir}/vomses ] ; then
mv %{_sysconfdir}/vomses.rpmsave %{_sysconfdir}/vomses
fi
%files -n libvomsapi1
%{_libdir}/libvomsapi.so.1*
%dir %{_sysconfdir}/grid-security
%dir %{_sysconfdir}/grid-security/vomsdir
%doc %dir %{_docdir}/%{name}-%{version}
%doc %{_docdir}/%{name}-%{version}/vomses.template
%doc %{_docdir}/%{name}-%{version}/AUTHORS
%doc %{_docdir}/%{name}-%{version}/LICENSE
%files devel
%{_libdir}/libvomsapi.so
%{_includedir}/%{name}
%{_libdir}/pkgconfig/%{name}-2.0.pc
%{_datadir}/aclocal/%{name}.m4
%{_mandir}/man3/*
%files doc
%doc %{_docdir}/%{name}-%{version}/VOMS_C_API
%doc %{_docdir}/%{name}-%{version}/VOMS_CC_API
%files clients
%{_bindir}/voms-proxy-destroy
%{_bindir}/voms-proxy-fake
%{_bindir}/voms-proxy-info
%{_bindir}/voms-proxy-init
%{_bindir}/voms-proxy-list
%{_bindir}/voms-verify
%{_mandir}/man1/voms-proxy-destroy.1.gz
%{_mandir}/man1/voms-proxy-fake.1.gz
%{_mandir}/man1/voms-proxy-info.1.gz
%{_mandir}/man1/voms-proxy-init.1.gz
%{_mandir}/man1/voms-proxy-list.1.gz
%changelog