Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • mika/sssd
  • guillem/debian-pkg-sssd
  • john.veitch/sssd
  • jgullberg/sssd
  • gioele/sssd
  • oktay454/sssd
  • sergiodj/sssd
  • 3v1n0/sssd
  • jfalk-guest/sssd
  • sathieu/sssd
  • dpward/sssd
  • sssd-team/sssd
  • ahasenack/sssd
  • jbicha/sssd
  • yrro-guest/sssd
15 results
Show changes
Commits on Source (209)
Showing with 189 additions and 472 deletions
......@@ -3,7 +3,7 @@ COMPONENT: Subject
Explanation
Resolves:
https://pagure.io/SSSD/sssd/issue/XXXX
https://github.com/SSSD/sssd/issues/XXXX
# Try to keep the subject line within 52 chars ----|
# Also please try to not exceed 72 characters of length for the body --|
The instructions on how to build the SSSD and contribute to the
project can be found here:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
https://docs.pagure.org/SSSD.sssd/developers/index.html
https://sssd.github.io/developers/index.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import hudson.AbortException
import org.jenkinsci.plugins.workflow.steps.FlowInterruptedException
/* Tests will be run on these systems.
* To add a new sytem simple extend this list.
*/
def systems = [
'fedora28',
'fedora29',
'fedora30',
'fedora31',
'fedora-rawhide',
'debian10',
]
/* Send notifications to Github.
* If it is an on-demand run then no notifications are sent.
*/
......@@ -257,6 +245,7 @@ class OnDemandTest extends Test {
}
}
def systems = []
def on_demand = params.ON_DEMAND ? true : false
def notification = new Notification(
this, 'sssd-ci',
......@@ -265,13 +254,35 @@ def notification = new Notification(
on_demand
)
if (params.SYSTEMS) {
if (params.SYSTEMS != 'all') {
systems = params.SYSTEMS.split()
try {
stage('Get system list') {
node('master') {
if (params.SYSTEMS && params.SYSTEMS != 'all') {
/* This is a parametrized custom build. System list is taken
* from provided parameter. */
systems = params.SYSTEMS.split()
} else {
/* This is automated build or custom build that requested
* tests on all systems (i.e. same systems as master branch) */
def branch = env.CHANGE_TARGET ? env.CHANGE_TARGET : 'master'
def config = "systems-${branch}"
echo "Using configuration: ${config}"
/* Configuration is read from Jenkins-managed configuration file.
* Path to the configuration is loaded into env.CONFIG_PATH */
configFileProvider([
configFile(fileId: config, variable: 'CONFIG_PATH')
]) {
def contents = readFile "${env.CONFIG_PATH}"
systems = contents.split()
}
}
echo 'Test will be done on following systems:'
echo systems.join(', ')
}
}
}
try {
/* Setup nice build description so pull request are easy to find. */
stage('Setup description') {
node('master') {
......@@ -298,6 +309,8 @@ try {
}
stage('Prepare systems') {
notification.notify('PENDING', 'Pending.')
/* Notify that all systems are pending. */
for (system in systems) {
notification.notify('PENDING', 'Awaiting executor', system)
......
......@@ -445,6 +445,7 @@ dist_noinst_SCRIPTS = \
$(EXTRA_SCRIPTS) \
src/config/setup.py \
src/config/SSSDConfig/ipachangeconf.py \
src/config/SSSDConfig/sssdoptions.py \
src/config/SSSDConfig/__init__.py \
src/config/SSSDConfigTest.py \
src/config/SSSDConfigTest.py2.sh \
......@@ -546,6 +547,8 @@ SSSD_CACHE_REQ_OBJ = \
src/responder/common/cache_req/plugins/cache_req_enum_users.c \
src/responder/common/cache_req/plugins/cache_req_enum_groups.c \
src/responder/common/cache_req/plugins/cache_req_enum_svc.c \
src/responder/common/cache_req/plugins/cache_req_enum_ip_hosts.c \
src/responder/common/cache_req/plugins/cache_req_enum_ip_networks.c \
src/responder/common/cache_req/plugins/cache_req_user_by_name.c \
src/responder/common/cache_req/plugins/cache_req_user_by_upn.c \
src/responder/common/cache_req/plugins/cache_req_user_by_id.c \
......@@ -562,10 +565,14 @@ SSSD_CACHE_REQ_OBJ = \
src/responder/common/cache_req/plugins/cache_req_svc_by_name.c \
src/responder/common/cache_req/plugins/cache_req_svc_by_port.c \
src/responder/common/cache_req/plugins/cache_req_netgroup_by_name.c \
src/responder/common/cache_req/plugins/cache_req_host_by_name.c \
src/responder/common/cache_req/plugins/cache_req_ssh_host_id_by_name.c \
src/responder/common/cache_req/plugins/cache_req_autofs_map_entries.c \
src/responder/common/cache_req/plugins/cache_req_autofs_map_by_name.c \
src/responder/common/cache_req/plugins/cache_req_autofs_entry_by_name.c \
src/responder/common/cache_req/plugins/cache_req_ip_host_by_name.c \
src/responder/common/cache_req/plugins/cache_req_ip_host_by_addr.c \
src/responder/common/cache_req/plugins/cache_req_ip_network_by_name.c \
src/responder/common/cache_req/plugins/cache_req_ip_network_by_addr.c \
$(NULL)
SSSD_RESPONDER_IFACE_OBJ = \
......@@ -781,6 +788,9 @@ dist_noinst_HEADERS = \
src/db/sysdb_services.h \
src/db/sysdb_ssh.h \
src/db/sysdb_domain_resolution_order.h \
src/db/sysdb_computer.h \
src/db/sysdb_iphosts.h \
src/db/sysdb_ipnetworks.h \
src/confdb/confdb.h \
src/confdb/confdb_private.h \
src/confdb/confdb_setup.h \
......@@ -825,7 +835,9 @@ dist_noinst_HEADERS = \
src/providers/ldap/sdap_users.h \
src/providers/ldap/sdap_dyndns.h \
src/providers/ldap/sdap_async_enum.h \
src/providers/ldap/sdap_async_resolver_enum.h \
src/providers/ldap/sdap_ops.h \
src/providers/ldap/ldap_resolver_enum.h \
src/providers/ipa/ipa_common.h \
src/providers/ipa/ipa_config.h \
src/providers/ipa/ipa_access.h \
......@@ -850,6 +862,7 @@ dist_noinst_HEADERS = \
src/providers/ad/ad_opts.h \
src/providers/ad/ad_domain_info.h \
src/providers/ad/ad_subdomains.h \
src/providers/ad/ad_resolver.h \
src/providers/proxy/proxy.h \
src/providers/files/files_private.h \
src/tools/tools_util.h \
......@@ -1246,7 +1259,10 @@ libsss_util_la_SOURCES = \
src/db/sysdb_gpo.c \
src/db/sysdb_certmap.c \
src/db/sysdb_domain_resolution_order.c \
src/db/sysdb_iphosts.c \
src/db/sysdb_ipnetworks.c \
src/util/sss_pam_data.c \
src/db/sysdb_computer.c \
src/util/util.c \
src/util/util_ext.c \
src/util/util_preauth.c \
......@@ -1579,6 +1595,8 @@ sssd_nss_SOURCES = \
src/responder/nss/nss_protocol_grent.c \
src/responder/nss/nss_protocol_netgr.c \
src/responder/nss/nss_protocol_svcent.c \
src/responder/nss/nss_protocol_hostent.c \
src/responder/nss/nss_protocol_netent.c \
src/responder/nss/nss_protocol_sid.c \
src/responder/nss/nss_utils.c \
src/responder/nss/nss_iface.c \
......@@ -1901,6 +1919,7 @@ sssd_be_SOURCES = \
src/providers/data_provider/dp_target_subdomains.c \
src/providers/data_provider/dp_target_id.c \
src/providers/data_provider/dp_target_auth.c \
src/providers/data_provider/dp_target_resolver.c \
src/util/session_recording.c \
$(SSSD_FAILOVER_OBJ)
sssd_be_LDADD = \
......@@ -2709,6 +2728,8 @@ nss_srv_tests_SOURCES = \
src/responder/nss/nss_protocol_grent.c \
src/responder/nss/nss_protocol_netgr.c \
src/responder/nss/nss_protocol_svcent.c \
src/responder/nss/nss_protocol_hostent.c \
src/responder/nss/nss_protocol_netent.c \
src/responder/nss/nss_protocol_sid.c \
src/responder/nss/nss_utils.c \
src/responder/nss/nsssrv_mmap_cache.c
......@@ -3052,6 +3073,7 @@ test_ipa_idmap_LDADD = \
test_utils_SOURCES = \
src/tests/cmocka/test_utils.c \
src/tests/cmocka/test_string_utils.c \
src/tests/cmocka/test_sss_ptr_hash.c \
src/p11_child/p11_child_common_utils.c \
$(NULL)
if BUILD_SSH
......@@ -4086,6 +4108,8 @@ libnss_sss_la_SOURCES = \
src/sss_client/nss_group.c \
src/sss_client/nss_netgroup.c \
src/sss_client/nss_services.c \
src/sss_client/nss_hosts.c \
src/sss_client/nss_ipnetworks.c \
src/sss_client/sss_cli.h \
src/sss_client/nss_compat.h \
src/sss_client/nss_common.h \
......@@ -4205,7 +4229,10 @@ pkglib_LTLIBRARIES += libsss_ldap_common.la
libsss_ldap_common_la_SOURCES = \
src/providers/ldap/ldap_id.c \
src/providers/ldap/ldap_id_enum.c \
src/providers/ldap/ldap_resolver_enum.c \
src/providers/ldap/ldap_resolver_cleanup.c \
src/providers/ldap/sdap_async_enum.c \
src/providers/ldap/sdap_async_resolver_enum.c \
src/providers/ldap/ldap_id_cleanup.c \
src/providers/ldap/ldap_id_netgroup.c \
src/providers/ldap/ldap_id_services.c \
......@@ -4214,6 +4241,8 @@ libsss_ldap_common_la_SOURCES = \
src/providers/ldap/ldap_options.c \
src/providers/ldap/ldap_opts.c \
src/providers/ldap/sdap_access.c \
src/providers/ldap/sdap_iphost.c \
src/providers/ldap/sdap_ipnetwork.c \
src/providers/ldap/sdap_async.c \
src/providers/ldap/sdap_async_users.c \
src/providers/ldap/sdap_async_groups.c \
......@@ -4225,6 +4254,8 @@ libsss_ldap_common_la_SOURCES = \
src/providers/ldap/sdap_async_netgroups.c \
src/providers/ldap/sdap_async_hosts.c \
src/providers/ldap/sdap_async_services.c \
src/providers/ldap/sdap_async_iphost.c \
src/providers/ldap/sdap_async_ipnetwork.c \
src/providers/ldap/sdap_online_check.c \
src/providers/ldap/sdap_ad_groups.c \
src/providers/ldap/sdap_child_helpers.c \
......@@ -4344,6 +4375,8 @@ libsss_proxy_la_SOURCES = \
src/providers/proxy/proxy_id.c \
src/providers/proxy/proxy_netgroup.c \
src/providers/proxy/proxy_services.c \
src/providers/proxy/proxy_hosts.c \
src/providers/proxy/proxy_ipnetworks.c \
src/providers/proxy/proxy_auth.c \
src//util/nss_dl_load.c \
$(NULL)
......@@ -4534,6 +4567,7 @@ libsss_ad_la_SOURCES = \
src/providers/ad/ad_subdomains.c \
src/providers/ad/ad_domain_info.c \
src/providers/ad/ad_refresh.c \
src/providers/ad/ad_resolver.c \
$(NULL)
......@@ -5296,8 +5330,12 @@ if BUILD_PYTHON_BINDINGS
$(abs_builddir)/src/config/SSSDConfig/ipachangeconf.py:
-cp $(srcdir)/src/config/SSSDConfig/ipachangeconf.py $(builddir)/src/config/SSSDConfig/
$(abs_builddir)/src/config/SSSDConfig/sssdoptions.py:
-cp $(srcdir)/src/config/SSSDConfig/sssdoptions.py $(builddir)/src/config/SSSDConfig/
SSSDCONFIG_MODULES = \
$(abs_builddir)/src/config/SSSDConfig/ipachangeconf.py
$(abs_builddir)/src/config/SSSDConfig/ipachangeconf.py \
$(abs_builddir)/src/config/SSSDConfig/sssdoptions.py
else
SSSSCONFIG_MODULES =
endif
......@@ -5418,6 +5456,10 @@ if BUILD_PYTHON2_BINDINGS
rm -f $(builddir)/src/config/SSSDConfig/ipachangeconf.py ; \
fi
if [ ! $(srcdir)/src/config/SSSDConfig/sssdoptions.py -ef $(builddir)/src/config/SSSDConfig/sssdoptions.py ]; then \
rm -f $(builddir)/src/config/SSSDConfig/sssdoptions.py ; \
fi
rm -f $(builddir)/src/config/SSSDConfig/*.pyc
cd $(builddir)/src/config; $(PYTHON2) setup.py build --build-base $(abs_builddir)/src/config clean --all
......@@ -5427,6 +5469,10 @@ if BUILD_PYTHON3_BINDINGS
rm -f $(builddir)/src/config/SSSDConfig/ipachangeconf.py ; \
fi
if [ ! $(srcdir)/src/config/SSSDConfig/sssdoptions.py -ef $(builddir)/src/config/SSSDConfig/sssdoptions.py ]; then \
rm -f $(builddir)/src/config/SSSDConfig/sssdoptions.py ; \
fi
rm -f $(builddir)/src/config/SSSDConfig/__pycache__/*.pyc
cd $(builddir)/src/config; $(PYTHON3) setup.py build --build-base $(abs_builddir)/src/config clean --all
......
......@@ -7,31 +7,31 @@ an NSS and PAM interface toward the system and a pluggable backend system
to connect to multiple different account sources.
More information about SSSD can be found on its project page -
https://pagure.io/SSSD/sssd/.
https://github.com/SSSD/sssd.
## Downloading SSSD
SSSD is shipped as a binary package by most Linux distributions. If you
want to obtain the latest source files, please navigate to the
[Releases folder on pagure](https://releases.pagure.org/SSSD/sssd/).
[Releases folder on GitHub](https://github.com/SSSD/sssd/releases).
## Releases
SSSD maintains two release streams - stable and LTM. Releases designated as
LTM are long-term maintenance releases and will see bugfixes and security
patches for a longer time than other releases.
The list of all releases is maintained together with [SSSD documentation](https://docs.pagure.org/SSSD.sssd/users/releases.html).
The list of all releases is maintained together with [SSSD documentation](https://sssd.github.io/users/releases.html).
## Building and installation from source
Please see the [our developer documentation](https://docs.pagure.org/SSSD.sssd/developers/).
Please see the [our developer documentation](https://sssd.github.io/developers/).
## Documentation
The most up-to-date documentation can be found at https://docs.pagure.org/SSSD.sssd/.
The most up-to-date documentation can be found at https://sssd.github.io.
Its source code is hosted at https://pagure.io/SSSD/docs.
Its source code is hosted at https://github.com/SSSD/sssd.github.io.
## Submitting bugs
Please file an issue in the [SSSD pagure instance](https://pagure.io/SSSD/sssd/issues).
Make sure to follow the [guide on reporting SSSD bugs](https://docs.pagure.org/SSSD.sssd/users/reporting_bugs.html).
Please file an issue in the [SSSD github instance](https://github.com/SSSD/sssd/issues).
Make sure to follow the [guide on reporting SSSD bugs](https://sssd.github.io/users/reporting_bugs.html).
## Licensing
Please see the file called [COPYING](COPYING).
......
......@@ -376,7 +376,7 @@ them please use argument --without-python3-bindings when running configure.])])
SSS_CLEAN_PYTHON_VARIABLES
fi
if test x$HAVE_PYTHON3_BINDINGS = xyes; then
if test x$HAVE_PYTHON3 = xyes; then
PYTHON_EXEC=$PYTHON3
else
PYTHON_EXEC=$PYTHON2
......@@ -465,7 +465,17 @@ AC_CACHE_CHECK(
[sss_cv_attribute_fallthrough],
[AC_COMPILE_IFELSE(
[AC_LANG_SOURCE(
[ __attribute__ ((fallthrough)); ])
[ void test_fun(int arg) {
switch (arg) {
case 1:
__attribute__ ((fallthrough));
case 2: ++arg;
break;
default: --arg;
break;
}
}
])
],[
sss_cv_attribute_fallthrough=yes
sss_cv_attribute_fallthrough_val="__attribute__ ((fallthrough))"
......
......@@ -160,53 +160,6 @@ function mock_privileged()
fi
}
# Execute mock_privileged with extra chroot configuration added.
# Args: chroot [mock_arg...]
# Input: extra configuration
function mock_privileged_conf()
{
declare -r chroot="$1"; shift
declare conf_dir
conf_dir=`mktemp --tmpdir --directory mock-config.XXXXXXXX`
trap 'trap - RETURN; rm -R "$conf_dir";' RETURN
# Preserve timestamps to avoid unnecessary cache rebuilds
cp -r --preserve=timestamps /etc/mock/* "$conf_dir"/
cat >> "${conf_dir}/${chroot}.cfg"
touch --reference="/etc/mock/${chroot}.cfg" "${conf_dir}/${chroot}.cfg"
mock_privileged --configdir="$conf_dir" --root="$chroot" "$@"
}
# Execute mock_privileged with dependency package source configuration added.
# Args: chroot [mock_arg...]
function mock_privileged_deps()
{
declare -r chroot_name="$1"; shift
declare -r config=$(basename $(readlink -f "/etc/mock/${chroot_name}.cfg"))
declare -r chroot="${config%.cfg}"
declare repo
if [[ "$chroot" == fedora-* ]]; then
repo='fedora-$releasever-$basearch'
elif [[ "$chroot" =~ epel-([0-9]+) ]]; then
repo="epel-${BASH_REMATCH[1]}-\$basearch"
else
echo "Unknown chroot config: $chroot" >&2
exit 1
fi
mock_privileged_conf "$chroot" "$@" <<<"
config_opts['yum.conf'] += '''
[sssd-deps]
name=Extra SSSD dependencies
baseurl=http://copr-be.cloud.fedoraproject.org/results/lslebodn/sssd-deps/$repo/
skip_if_unavailable=true
gpgcheck=0
enabled=1
'''
"
}
# Run debug build checks.
function build_debug()
{
......@@ -272,7 +225,7 @@ function build_debug()
if [[ "$DISTRO_BRANCH" == -redhat-* ]]; then
stage make-srpm env -u CFLAGS -- make srpm
stage mock-build mock_privileged_deps "default" \
stage mock-build mock_privileged \
--resultdir ci-mock-result \
rpmbuild/SRPMS/*.src.rpm
fi
......
......@@ -5,6 +5,8 @@
%global rhel6_minor %(%{__grep} -o "6\\.[0-9]*" /etc/redhat-release |%{__sed} -s 's/6.//')
%global rhel7_minor %(%{__grep} -o "7\\.[0-9]*" /etc/redhat-release |%{__sed} -s 's/7.//')
%global samba_package_version %(rpm -q samba-devel --queryformat %{version}-%{release})
%if 0%{?rhel} && 0%{?rhel} <= 6
%{!?__python2: %global __python2 /usr/bin/python2}
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
......@@ -154,7 +156,7 @@ Release: 0@PRERELEASE_VERSION@%{?dist}
Group: Applications/System
Summary: System Security Services Daemon
License: GPLv3+
URL: https://pagure.io/SSSD/sssd/
URL: https://github.com/SSSD/sssd
Source0: %{name}-%{version}.tar.gz
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
......@@ -173,6 +175,9 @@ Requires: python3-sssdconfig = %{version}-%{release}
%else
Requires: python2-sssdconfig = %{version}-%{release}
%endif
%if (0%{?fedora} >= 30 || 0%{?rhel} >= 8)
Recommends: logrotate
%endif
%global servicename sssd
%global sssdstatedir %{_localstatedir}/lib/sss
......@@ -272,7 +277,7 @@ BuildRequires: libnfsidmap-devel
BuildRequires: nfs-utils-lib-devel
%endif
BuildRequires: samba4-devel
BuildRequires: samba-devel
BuildRequires: libsmbclient-devel
%if (0%{?detect_idmap_version} == 1)
BuildRequires: samba-winbind
......@@ -335,6 +340,8 @@ subpackages such as sssd-ldap.
Summary: SSSD Client libraries for NSS and PAM
Group: Applications/System
License: LGPLv3+
Requires: libsss_nss_idmap = %{version}-%{release}
Requires: libsss_idmap = %{version}-%{release}
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
......@@ -365,6 +372,7 @@ Summary: Userspace tools for use with the SSSD
Group: Applications/System
License: GPLv3+
Requires: sssd-common = %{version}-%{release}
Requires: libsss_simpleifp = %{version}-%{release}
# required by sss_obfuscate
%if (0%{?with_python3} == 1)
Requires: python3-sss = %{version}-%{release}
......@@ -376,6 +384,9 @@ Requires: python2-sssdconfig = %{version}-%{release}
%if (0%{?use_systemd} == 0)
Requires: /sbin/service
%endif
%if (0%{?fedora} >= 30 || 0%{?rhel} >= 8)
Recommends: sssd-dbus
%endif
%description tools
Provides userspace tools for manipulating users, groups, and nested groups in
......@@ -474,6 +485,7 @@ License: GPLv3+
Conflicts: sssd < %{version}-%{release}
Requires: sssd-common = %{version}-%{release}
Requires: sssd-krb5-common = %{version}-%{release}
Requires: libsss_idmap = %{version}-%{release}
%description ldap
Provides the LDAP back end that the SSSD can utilize to fetch identity data
......@@ -508,6 +520,7 @@ Summary: Common files needed for supporting PAC processing
Group: Applications/System
License: GPLv3+
Requires: sssd-common = %{version}-%{release}
Requires: libsss_idmap = %{version}-%{release}
%description common-pac
Provides common files needed by SSSD providers such as IPA and Active Directory
......@@ -518,11 +531,13 @@ Summary: The IPA back end of the SSSD
Group: Applications/System
License: GPLv3+
Conflicts: sssd < %{version}-%{release}
Requires: samba-client-libs >= %{samba_package_version}
Requires: sssd-common = %{version}-%{release}
Requires: sssd-krb5-common = %{version}-%{release}
Requires: libipa_hbac = %{version}-%{release}
Requires: bind-utils
Requires: sssd-common-pac = %{version}-%{release}
Requires: libsss_idmap = %{version}-%{release}
%description ipa
Provides the IPA back end that the SSSD can utilize to fetch identity data
......@@ -533,9 +548,11 @@ Summary: The AD back end of the SSSD
Group: Applications/System
License: GPLv3+
Conflicts: sssd < %{version}-%{release}
Requires: samba-client-libs >= %{samba_package_version}
Requires: sssd-common = %{version}-%{release}
Requires: sssd-krb5-common = %{version}-%{release}
Requires: sssd-common-pac = %{version}-%{release}
Requires: libsss_idmap = %{version}-%{release}
Requires: bind-utils
%description ad
......@@ -715,6 +732,7 @@ Provides library that simplifies D-Bus API for the SSSD InfoPipe responder.
Summary: The SSSD libwbclient implementation
Group: Applications/System
License: GPLv3+ and LGPLv3+
Requires: libsss_nss_idmap = %{version}-%{release}
%description libwbclient
The SSSD libwbclient implementation.
......@@ -731,6 +749,8 @@ Development libraries for the SSSD libwbclient implementation.
Summary: SSSD's idmap_sss Backend for Winbind
Group: Applications/System
License: GPLv3+ and LGPLv3+
Requires: libsss_nss_idmap = %{version}-%{release}
Requires: libsss_idmap = %{version}-%{release}
%description winbind-idmap
The idmap_sss module provides a way for Winbind to call SSSD to map UIDs/GIDs
......@@ -799,6 +819,8 @@ autoreconf -ivf
--disable-static \
%if (0%{?use_openssl} == 1)
--with-crypto=libcrypto \
%else
--with-crypto=nss \
%endif
--disable-rpath \
%if %{with sssd_user}
......@@ -1061,13 +1083,11 @@ done
%dir %{_sysconfdir}/rwtab.d
%config(noreplace) %{_sysconfdir}/rwtab.d/sssd
%dir %{_datadir}/sssd
%{_sysconfdir}/pam.d/sssd-shadowutils
%config(noreplace) %{_sysconfdir}/pam.d/sssd-shadowutils
%dir %{_libdir}/%{name}/conf
%{_libdir}/%{name}/conf/sssd.conf
%{_datadir}/sssd/cfg_rules.ini
%{_datadir}/sssd/sssd.api.conf
%{_datadir}/sssd/sssd.api.d
%{_mandir}/man1/sss_ssh_authorizedkeys.1*
%{_mandir}/man1/sss_ssh_knownhostsproxy.1*
%{_mandir}/man5/sssd.conf.5*
......@@ -1232,6 +1252,9 @@ done
%defattr(-,root,root,-)
%dir %{python2_sitelib}/SSSDConfig
%{python2_sitelib}/SSSDConfig/*.py*
%dir %{_datadir}/sssd
%{_datadir}/sssd/sssd.api.conf
%{_datadir}/sssd/sssd.api.d
%endif
%if (0%{?with_python3} == 1)
......@@ -1241,6 +1264,9 @@ done
%{python3_sitelib}/SSSDConfig/*.py*
%dir %{python3_sitelib}/SSSDConfig/__pycache__
%{python3_sitelib}/SSSDConfig/__pycache__/*.py*
%dir %{_datadir}/sssd
%{_datadir}/sssd/sssd.api.conf
%{_datadir}/sssd/sssd.api.d
%endif
%if (0%{?with_python2} == 1)
......
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import *; import sys; sys.stdout.write(get_python_lib(1))")}
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import *; import sys; sys.stdout.write(get_python_lib())")}
Name: @PACKAGE_NAME@
Version: @PACKAGE_VERSION@
Release: 0@PRERELEASE_VERSION@%{?dist}
Group: Applications/System
Summary: System Security Services Daemon
# The entire source code is GPLv3+ except replace/ which is LGPLv3+
License: GPLv3+ and LGPLv3+
URL: https://pagure.io/SSSD/sssd/
Source0: %{name}-%{version}.tar.gz
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
%global dhash_version 0.4.0
### Patches ###
### Dependencies ###
Requires: libldb0 >= 0.9.3
Requires: libtdb1 >= 1.1.3
Requires: sssd-client = %{version}-%{release}
Requires: libdhash = %{dhash_version}-%{release}
Requires: cyrus-sasl-gssapi
Requires(post): python
Requires(preun): aaa_base procps filesystem
Requires(postun): /sbin/service
%global servicename sssd
%global sssdstatedir %{_localstatedir}/lib/sss
%global dbpath %{sssdstatedir}/db
%global pipepath %{sssdstatedir}/pipes
%global pubconfpath %{sssdstatedir}/pubconf
### Build Dependencies ###
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: m4
BuildRequires: popt-devel
BuildRequires: libtalloc-devel
BuildRequires: libtevent0-devel
BuildRequires: libtdb1-devel
BuildRequires: libldb0-devel
BuildRequires: libcares-devel
BuildRequires: dbus-1-devel
BuildRequires: dbus-1
BuildRequires: openldap2-devel
BuildRequires: pam-devel
BuildRequires: mozilla-nss-devel
BuildRequires: mozilla-nspr-devel
BuildRequires: pcre-devel
BuildRequires: libxslt
BuildRequires: libxml2
BuildRequires: docbook-xsl-stylesheets
BuildRequires: krb5-devel
BuildRequires: python-devel
%description
Provides a set of daemons to manage access to remote directories and
authentication mechanisms. It provides an NSS and PAM interface toward
the system and a pluggable backend system to connect to multiple different
account sources. It is also the basis to provide client auditing and policy
services for projects like FreeIPA.
%package client
Summary: SSSD Client libraries for NSS and PAM
Group: Applications/System
%description client
Provides the libraries needed by the PAM and NSS stacks to connect to the SSSD
service.
%package -n libdhash
Summary: Dynamic hash table
Group: Development/Libraries
Version: %{dhash_version}
License: LGPLv3+
%description -n libdhash
A hash table which will dynamically resize to achieve optimal storage & access
time properties
%package -n libdhash-devel
Summary: Development files for libdhash
Group: Development/Libraries
Version: %{dhash_version}
Requires: libdhash = %{dhash_version}-%{release}
License: LGPLv3+
%description -n libdhash-devel
A hash table which will dynamically resize to achieve optimal storage & access
time properties
%prep
%setup -q
%build
%configure \
--without-tests \
--with-db-path=%{dbpath} \
--with-pipe-path=%{pipepath} \
--with-pubconf-path=%{pubconfpath} \
--with-init-dir=%{_initrddir} \
--enable-nsslibdir=/%{_lib} \
--without-selinux \
--without-semanage \
--with-os=suse \
--disable-static
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
# Remove the example files from the output directory
# We will copy them directly from the source directory
# for packaging
rm -f \
$RPM_BUILD_ROOT/usr/share/doc/dhash/README \
$RPM_BUILD_ROOT/usr/share/doc/dhash/examples/dhash_example.c \
$RPM_BUILD_ROOT/usr/share/doc/dhash/examples/dhash_test.c
# Prepare language files
/usr/lib/rpm/find-lang.sh $RPM_BUILD_ROOT sss_daemon
/usr/lib/rpm/find-lang.sh $RPM_BUILD_ROOT sss_client
# Copy default sssd.conf file
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sssd
install -m600 server/examples/sssd.conf $RPM_BUILD_ROOT%{_sysconfdir}/sssd/sssd.conf
install -m400 server/config/etc/sssd.api.conf $RPM_BUILD_ROOT%{_sysconfdir}/sssd/sssd.api.conf
install -m400 server/config/etc/sssd.api.d/* $RPM_BUILD_ROOT%{_sysconfdir}/sssd/sssd.api.d/
# Remove .la files created by libtool
rm -f \
$RPM_BUILD_ROOT/%{_lib}/libnss_sss.la \
$RPM_BUILD_ROOT/%{_lib}/security/pam_sss.la \
$RPM_BUILD_ROOT/%{_libdir}/libdhash.la \
$RPM_BUILD_ROOT/%{_libdir}/ldb/memberof.la \
$RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_ldap.la \
$RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_proxy.la \
$RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_krb5.la \
$RPM_BUILD_ROOT/%{_libdir}/sssd/libsss_ipa.la \
$RPM_BUILD_ROOT/%{_libdir}/krb5/plugins/libkrb5/sssd_krb5_locator_plugin.la \
$RPM_BUILD_ROOT/%{python_sitearch}/pysss.la
if test -e $RPM_BUILD_ROOT/%{_libdir}/krb5/plugins/libkrb5/sssd_krb5_locator_plugin.so
then
# Apppend this file to the sss_daemon.lang
# Older versions of rpmbuild can only handle one -f option
echo %{_libdir}/krb5/plugins/libkrb5/sssd_krb5_locator_plugin.so >> sss_daemon.lang
fi
for file in `ls $RPM_BUILD_ROOT/%{python_sitelib}/*.egg-info 2> /dev/null`
do
echo %{python_sitelib}/`basename $file` >> sss_daemon.lang
done
%clean
rm -rf $RPM_BUILD_ROOT
%files -f sss_daemon.lang
%defattr(-,root,root,-)
%doc COPYING
%{_initrddir}/%{name}
%{_sbindir}/sssd
%{_sbindir}/sss_useradd
%{_sbindir}/sss_userdel
%{_sbindir}/sss_usermod
%{_sbindir}/sss_groupadd
%{_sbindir}/sss_groupdel
%{_sbindir}/sss_groupmod
%{_sbindir}/sss_groupshow
%{_sbindir}/sss_debuglevel
%{_libexecdir}/%{servicename}/
%{_libdir}/%{name}/
%{_libdir}/ldb/memberof.so
%dir %{sssdstatedir}
%attr(700,root,root) %dir %{dbpath}
%attr(755,root,root) %dir %{pipepath}
%attr(755,root,root) %dir %{pubconfpath}
%attr(700,root,root) %dir %{pipepath}/private
%attr(750,root,root) %dir %{_var}/log/%{name}
%attr(700,root,root) %dir %{_sysconfdir}/sssd
%config(noreplace) %{_sysconfdir}/sssd/sssd.conf
%config %{_sysconfdir}/sssd/sssd.api.conf
%attr(700,root,root) %dir %{_sysconfdir}/sssd/sssd.api.d
%config %{_sysconfdir}/sssd/sssd.api.d/
%{_mandir}/man5/sssd.conf.5*
%{_mandir}/man5/sssd-ipa.5*
%{_mandir}/man5/sssd-krb5.5*
%{_mandir}/man5/sssd-ldap.5*
%{_mandir}/man5/sssd-ldap-attributes.5*
%{_mandir}/man8/sssd.8*
%{_mandir}/man8/sss_groupadd.8*
%{_mandir}/man8/sss_groupdel.8*
%{_mandir}/man8/sss_groupmod.8*
%{_mandir}/man8/sss_groupshow.8*
%{_mandir}/man8/sss_useradd.8*
%{_mandir}/man8/sss_userdel.8*
%{_mandir}/man8/sss_usermod.8*
%{_mandir}/man8/sss_debuglevel.8*
%{_mandir}/man8/sssd_krb5_locator_plugin.8*
%{python_sitearch}/pysss.so
%{python_sitelib}/*.py*
%files client -f sss_client.lang
%defattr(-,root,root,-)
/%{_lib}/libnss_sss.so.2
/%{_lib}/security/pam_sss.so
%{_mandir}/man8/pam_sss.8*
%files -n libdhash
%defattr(-,root,root,-)
%doc common/dhash/COPYING
%doc common/dhash/COPYING.LESSER
%{_libdir}/libdhash.so.1
%{_libdir}/libdhash.so.1.0.0
%files -n libdhash-devel
%defattr(-,root,root,-)
%{_includedir}/dhash.h
%{_libdir}/libdhash.so
%{_libdir}/pkgconfig/dhash.pc
%doc common/dhash/README
%doc common/dhash/examples
%post
/sbin/ldconfig
/sbin/chkconfig --add %{servicename}
if [ $1 -ge 2 ] ; then
# a one-time upgrade from confdb v1 to v2, only if upgrading
python %{_libexecdir}/%{servicename}/upgrade_config.py
fi
%preun
if [ $1 = 0 ]; then
/sbin/service %{servicename} stop 2>&1 > /dev/null
/sbin/chkconfig --del %{servicename}
fi
%postun
/sbin/ldconfig
if [ $1 -ge 1 ] ; then
/sbin/service %{servicename} condrestart 2>&1 > /dev/null
fi
%post client -p /sbin/ldconfig
%postun client -p /sbin/ldconfig
%post -n libdhash -p /sbin/ldconfig
%postun -n libdhash -p /sbin/ldconfig
%changelog
* Mon Sep 28 2009 Sumit Bose <sbose@redhat.com> - 0.6.0-0
- New upstream release 0.6.0
* Fri Sep 25 2009 Simo Sorce <ssorce@redhat.com> - 0.5.0-1
- Split package into server and clients components
- Convert to new config file format
* Wed Sep 02 2009 Stephen Gallagher <sgallagh@redhat.com> - 0.5.0-0
- New upstream release 0.5.0
* Mon May 18 2009 Stephen Gallagher <sgallagh@redhat.com> - 0.4.0-1
- Convert build system to automake
* Mon Apr 20 2009 Jakub Hrozek <jhrozek@redhat.com> - 0.3.2-1
- bugfix release 0.3.2
* Mon Apr 13 2009 Simo Sorce <ssorce@redhat.com> - 0.3.1-1
- bugfix release
* Sun Apr 12 2009 Stephen Gallagher <sgallagh@redhat.com> - 0.3.0-2
- Remove InfoPipe from RPM build
* Sun Apr 12 2009 Stephen Gallagher <sgallagh@redhat.com> - 0.3.0-1
- Convert to using /etc/sssd/sssd.conf for configuration
* Tue Mar 10 2009 Simo Sorce <ssorce@redhat.com> - 0.2.1-1
- Bump up to version 0.2.1
* Fri Mar 06 2009 Jakub Hrozek <jhrozek@redhat.com> - 0.1.0-4
- fixed items found during review
- added initscript
* Thu Mar 05 2009 Sumit Bose <sbose@redhat.com> - 0.1.0-3
- added sss_client
* Mon Feb 23 2009 Jakub Hrozek <jhrozek@redhat.com> - 0.1.0-2
- Small cleanup and fixes in the spec file
* Thu Feb 12 2009 Stephen Gallagher <sgallagh@redhat.com> - 0.1.0-1
- Initial release (based on version 0.1.0 upstream code)
......@@ -8,4 +8,5 @@
- ci-*.log
- ci-build-debug/ci-*.log
- ci-build-debug/test-suite.log
- ci-build-debug/ci-mock-result/*.log
timeout: 6 hours
sssd (2.2.3-4) UNRELEASED; urgency=medium
sssd (2.3.0-1) unstable; urgency=medium
* New upstream release. (Closes: #964701, #964240)
* source: Migrate to 3.0 (quilt).
* source/local-options: Add files not found on upstream tarball to
extend-diff-ignore.
-- Timo Aaltonen <tjaalton@debian.org> Fri, 08 May 2020 19:24:20 +0300
* rules: Use journald for logging. (Closes: #960673)
* rules: Use /run for pid-path.
* sssd-common.sssd.default: Add DEBUG_LOGGER but commented out.
* watch: Update url to github.
* Add signing-key from Pavel Březina.
* fix-946847.diff, fix-python3.8-ftbfs.diff: Dropped, upstream.
* control: Use debhelper-compat.
* control, rules: Build with openssl.
* rules: Disable tests until a failing pam upn test is sorted out.
* control: Drop quilt from build-depends.
-- Timo Aaltonen <tjaalton@debian.org> Mon, 13 Jul 2020 11:35:33 +0300
sssd (2.2.3-3) unstable; urgency=medium
......
12
......@@ -8,7 +8,7 @@ Build-Depends:
autopoint,
check,
cifs-utils,
debhelper (>= 12),
debhelper-compat (= 12),
dh-apparmor,
dh-python,
dnsutils,
......@@ -35,9 +35,7 @@ Build-Depends:
libnfsidmap-dev,
libnl-3-dev [linux-any],
libnl-route-3-dev [linux-any],
libnspr4-dev,
libnss-wrapper,
libnss3-dev,
libp11-kit-dev,
libpam0g-dev | libpam-dev,
libpcre3-dev,
libpopt-dev,
......@@ -45,6 +43,7 @@ Build-Depends:
libselinux1-dev [linux-any],
libsemanage1-dev [linux-any],
libsmbclient-dev,
libssl-dev,
libsystemd-dev [linux-any],
libtalloc-dev,
libtdb-dev,
......@@ -54,7 +53,6 @@ Build-Depends:
lsb-release,
python3-dev,
python3-setuptools,
quilt,
samba-dev (>= 2:4.1.13),
systemd,
systemtap-sdt-dev,
......
Description: fix busy loop caused by watchdog SIGTERM not processed
Origin: https://pagure.io/SSSD/sssd/c/2c13d8b
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946847
Bug: https://pagure.io/SSSD/sssd/issue/4132
Bug: https://pagure.io/SSSD/sssd/issue/4089
Forwarded: not-needed
Author: Alexey Tikhonov
Reviewed-by: Sumit Bose <sbose@redhat.com>
Reviewed-by: mirabilos <tg@debian.org>
Applied-Upstream: 2.2.4, commit:2c13d8b
Applied-Upstream: 1.16.5, commit:0c62066
--- a/src/util/util_watchdog.c
+++ b/src/util/util_watchdog.c
@@ -54,9 +54,8 @@ static void watchdog_detect_timeshift(vo
if (write(watchdog_ctx.pipefd[1], "1", 1) != 1) {
if (getpid() == getpgrp()) {
kill(-getpgrp(), SIGTERM);
- } else {
- _exit(1);
}
+ _exit(1);
}
}
}
@@ -75,9 +74,8 @@ static void watchdog_handler(int sig)
if (__sync_add_and_fetch(&watchdog_ctx.ticks, 1) > WATCHDOG_MAX_TICKS) {
if (getpid() == getpgrp()) {
kill(-getpgrp(), SIGTERM);
- } else {
- _exit(1);
}
+ _exit(1);
}
}
commit 4dbfaae4379eda8b3b7debd37b338e8d384e2a77
Author: Andreas Hasenack <andreas@canonical.com>
Date: Wed Jan 29 09:43:47 2020 -0300
Fix another build failure with python 3.8
The parsing of python3-config --ldflags would break if multiple -L
path components were present. This change loops over these paths
until it finds the correct one.
Fixes https://pagure.io/SSSD/sssd/issue/4147
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
diff --git a/src/external/python.m4 b/src/external/python.m4
index c20054417..1738f9f8f 100644
--- a/src/external/python.m4
+++ b/src/external/python.m4
@@ -36,10 +36,13 @@ path. If you want to build sssd without $1 bindings then specify
if test $? -eq 0; then
PYTHON_DLOPEN_LIB="` $PYTHON_CONFIG --libs --embed | grep -o -- '-lpython@<:@^ @:>@*' |sed -e 's/^-l/lib/'`"
if test x"$PYTHON_DLOPEN_LIB" != x; then
- python_lib_path="` $PYTHON_CONFIG --ldflags | grep -o -- '-L/@<:@^ @:>@*' | sed -e 's/^-L//'`"
- if test x"$python_lib_path" != x; then
- PYTHON_DLOPEN_LIB=$python_lib_path"/"$PYTHON_DLOPEN_LIB
- fi
+ python_lib_paths="` $PYTHON_CONFIG --ldflags | grep -o -- '-L/@<:@^ @:>@*' | sed -e 's/^-L//'`"
+ for p in $python_lib_paths; do
+ if test -e $p"/"$PYTHON_DLOPEN_LIB; then
+ PYTHON_DLOPEN_LIB=$p"/"$PYTHON_DLOPEN_LIB
+ break
+ fi
+ done
PYTHON_DLOPEN_LIB=$PYTHON_DLOPEN_LIB".so"
AC_DEFINE_UNQUOTED([PYTHON_DLOPEN_LIB], ["$PYTHON_DLOPEN_LIB"], [The path of libpython for dlopen-tests])
fi
fix-python3.8-ftbfs.diff
fix-whitespace-test.diff
default-to-socket-activated-services.diff
fix-946847.diff
......@@ -34,17 +34,20 @@ override_dh_auto_configure:
--disable-static \
--disable-rpath \
--with-autofs \
--with-crypto=libcrypto \
--with-ssh \
--with-initscript=systemd \
--with-systemdunitdir=/lib/systemd/system \
--disable-files-domain \
--with-smb-idmap-interface-version=6 \
--without-python2-bindings \
--with-syslog=journald \
--with-pid-path=/run \
--with-sudo
override_dh_auto_test:
export CK_TIMEOUT_MULTIPLIER=10
dh_auto_test -- VERBOSE=yes
# dh_auto_test -- VERBOSE=yes
unset CK_TIMEOUT_MULTIPLIER
override_dh_auto_install:
......
# Defaults for sssd, installed at /etc/default/sssd by the maintainer scripts
# This is only used for /etc/init.d/sssd
# Additional options that are passed to the Daemon.
# This is only used for /etc/init.d/sssd
DAEMON_OPTS="-D -f"
# Where to direct debug output, valid options are 'files', 'journald', 'stderr'.
#DEBUG_LOGGER=--logger=journald
......@@ -68,3 +68,33 @@ lNT4kC9HBjnF40CC20Zm/JQ6jPRYpLfwmB6zvo6uAGXeCGbzI8SuHS4P38DunprJ
ksA8i38pWZ/R1kHo7w==
=02ao
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBF65FqQBCADQQUcPSux/eX7fpP05HOW1HE32tBPWs5MPktMdzErrG7DTOaUo
XxMhorPSHgt2Q5mX/LV4Yk2cRHk2uStWTtIVhtC62DPqstqfr0aC3TJ36LrsAr/s
YaG2ktD26xADA5j67oP4lHN4+rjSbKfRLiLpSsABb4fx85SS066MsDQOQFEs1bsG
UAqavdlRGUYXSA5uwwbJRRfI5ryeWyOpfpIIdJeyNDx6ZSuc8kgLm/PhNpwChiY2
h7Qs4nekVT1c9ujyPTUQ+x8lnGblP8Kwb+ZtOp+aWMWZlxk2ifwFr+u1pKTr8we5
DarQxMTjBwrRRuBk7RwYKXdj91jwMGSx6ZaRABEBAAG0JFBhdmVsIELFmWV6aW5h
IDxwYnJlemluYUByZWRoYXQuY29tPokBTgQTAQgAOBYhBBpB3GdQX4mjMIKLZq/+
dd3oUI4SBQJeuRakAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEK/+dd3o
UI4SupUH/RRKqwHSYSIf37pFz6tsE5+7ASiCdVVdtOPtaXu43sRNLrCSu4CjisBu
rdFPmd57jwQneyh5RUEXbY5jq4KK4nuHZppjlaGqs/8LIVl13x01zD+V/hlDZXfr
BEDaE2PjUtacP+NvJWtYO/tHlTqxfFssFh7btO9EOYSfc7IhQ+hReKkX9K1dNLJM
SYCDaDQRSxJeAnYX7E3mXoaIC7JXH0ZF1NS0a3SP/q7u+WsQ+j58Z0xMdP6lBd1M
7ntNQ+BHz4+jlEgN9GXRTn7PIucpvVCEwTYysklIKbWJHi7J+C6ZV+4nDnaA0Z6J
m+XGsbvc7/P1b4FpU9YAmBd7VqQG8Ve5AQ0EXrkWpAEIAKVIiPI6sZXhnrpKxYO0
nNAazIkA0WtqTVeSPE0AkNXAW4wtbhluwfBEsYr6wU8ieDGU/KdIpwZprsKf4x3r
kFgRRwnNpB9AhGNex4tzoHlNoAX601OOjhy44DaRrJKY1Zg+V2ljx6cySsX2zsQp
/pKA5uN7Y4mWfZMPmlpljqYRXMIAZWf7F0dJTdh+Vv646ZBYg7mBfaVs3E5AKRZ+
xNnxna7Se+OihyOcmMwtotMF8tlU8/yGyWTCoNu/86+eAVXWIpu358f1Q1Ez9bXI
/neav857DTCGTXY5NNigunscMPje5MLEp9T1ozZl0ZK3LUcfh7w8IMLCB2YK/7zF
NpcAEQEAAYkBNgQYAQgAIBYhBBpB3GdQX4mjMIKLZq/+dd3oUI4SBQJeuRakAhsM
AAoJEK/+dd3oUI4S8FAH/0bHCGi6+sWnJqOqYwJIHPeYR33zb3D09jQYXWzadNGX
F6nuGzNgqCUZ3+GK73hDXq/v9WyUhaLLvd7XGryQ5DGGO0ZkHD3Td+YMeoSdDVbQ
PiTZS3DyQB0qHp6pKgjvDlbMYeqSVoletsa6ruSvFtE2kb+W6fRn6K8QeTyMA8Rn
NIUOSaSwQjcETaexMuD2oyRmzDmdWTUOS/Q/Tn3HE7Yz8670CLM1yN70MfAHpeUt
dIkFm9g3ZPTING+gC98iylLAFR1QKqz4HRWd8ofmnHemPpzAPGMITztwnZsLIPDj
nZ/57dk9LQVekGFjWm5GYThUwrHWYRyzjGz/xOmjJoM=
=b5K7
-----END PGP PUBLIC KEY BLOCK-----
#git=https://github.com/SSSD/sssd
version=3
opts="uversionmangle=s/alpha/~alpha/;s/beta/~beta/,pgpsigurlmangle=s/$/.asc/" \
https://releases.pagure.org/SSSD/sssd/sssd-(.*)\.tar\.gz
https://github.com/SSSD/sssd/releases/ (?:.*?/)?sssd-@ANY_VERSION@\.tar\.gz