From 7ef68165b100f7c58c099dea646e72d33235e252 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Dec 09 2020 20:05:38 +0000 Subject: Add spec-file for the distribution --- diff --git a/SPECS/libpsl.spec b/SPECS/libpsl.spec new file mode 100644 index 0000000..69ea346 --- /dev/null +++ b/SPECS/libpsl.spec @@ -0,0 +1,266 @@ +Name: libpsl +Version: 0.20.2 +Release: 6%{?dist} +Summary: C library for the Publix Suffix List +License: MIT +URL: https://rockdaboot.github.io/libpsl +Source0: https://github.com/rockdaboot/libpsl/releases/download/libpsl-%{version}/libpsl-%{version}.tar.gz +BuildRequires: gcc +BuildRequires: gettext-devel +BuildRequires: glib2-devel +BuildRequires: gtk-doc +BuildRequires: libicu-devel +BuildRequires: libidn2-devel +BuildRequires: libunistring-devel +BuildRequires: libxslt +BuildRequires: publicsuffix-list +BuildRequires: python3-devel +Requires: publicsuffix-list-dafsa + +%description +libpsl is a C library to handle the Public Suffix List. A "public suffix" is a +domain name under which Internet users can directly register own names. + +Browsers and other web clients can use it to + +- Avoid privacy-leaking "supercookies"; +- Avoid privacy-leaking "super domain" certificates; +- Domain highlighting parts of the domain in a user interface; +- Sorting domain lists by site; + +Libpsl... + +- has built-in PSL data for fast access; +- allows to load PSL data from files; +- checks if a given domain is a "public suffix"; +- provides immediate cookie domain verification; +- finds the longest public part of a given domain; +- finds the shortest private part of a given domain; +- works with international domains (UTF-8 and IDNA2008 Punycode); +- is thread-safe; +- handles IDNA2008 UTS#46; + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: publicsuffix-list + +%description devel +This package contains libraries and header files for +developing applications that use %{name}. + +%package -n psl +Summary: Commandline utility to explore the Public Suffix List + +%description -n psl +This package contains a commandline utility to explore the Public Suffix List, +for example it checks if domains are public suffixes, checks if cookie-domain +is acceptable for domains and so on. + +%package -n psl-make-dafsa +Summary: Compiles the Public Suffix List into DAFSA form + +%description -n psl-make-dafsa +This script produces C/C++ code or an architecture-independent binary object +which represents a Deterministic Acyclic Finite State Automaton (DAFSA) +from a plain text Public Suffix List. + + +%prep +%setup -q +rm -frv list +sed -i -e "1s|#!.*|#!%{__python3}|" src/psl-make-dafsa + +%build +# Tarballs from github have 2 versions, one is raw files from repo, and +# the other one from CDN contains pre-generated autotools files. +# But makefile hack is not upstreamed yet so we continue reconfiguring these. +# [ -f configure ] || autoreconf -fiv +# autoreconf -fiv + +# libicu does allow support for a newer IDN specification (IDN 2008) than +# libidn 1.x (IDN 2003). However, libpsl mostly relies on an internally +# compiled list, which is generated at buildtime and the testsuite thereof +# requires either libidn or libicu only at buildtime; the runtime +# requirement is only for loading external lists, which IIUC neither curl +# nor wget support. libidn2 supports IDN 2008 as well, and is *much* smaller +# than libicu. +# +# curl (as of 7.51.0-1.fc25) and wget (as of 1.19-1.fc26) now depend on libidn2. +# Therefore, we use libidn2 at runtime to help minimize core dependencies. +%configure --disable-silent-rules \ + --disable-static \ + --enable-man \ + --enable-gtk-doc \ + --enable-builtin=libicu \ + --enable-runtime=libidn2 \ + --with-psl-distfile=%{_datadir}/publicsuffix/public_suffix_list.dafsa \ + --with-psl-file=%{_datadir}/publicsuffix/effective_tld_names.dat \ + --with-psl-testfile=%{_datadir}/publicsuffix/test_psl.txt + +# avoid using rpath +sed -i libtool \ + -e 's|^\(runpath_var=\).*$|\1|' \ + -e 's|^\(hardcode_libdir_flag_spec=\).*$|\1|' + +%make_build + +%install +%make_install + +# the script is noinst but the manpage is installed +install -m0755 src/psl-make-dafsa %{buildroot}%{_bindir}/ + +find %{buildroot} -name '*.la' -delete -print + +%check +make check || cat tests/test-suite.log + +%ldconfig_scriptlets + +%files +%license COPYING +%{_libdir}/libpsl.so.5 +%{_libdir}/libpsl.so.5.* + +%files devel +%doc AUTHORS NEWS +%{_datadir}/gtk-doc/html/libpsl/ +%{_includedir}/libpsl.h +%{_libdir}/libpsl.so +%{_libdir}/pkgconfig/libpsl.pc +%{_mandir}/man3/libpsl.3* + +%files -n psl +%doc AUTHORS NEWS +%license COPYING +%{_bindir}/psl +%{_mandir}/man1/psl.1* + +%files -n psl-make-dafsa +%license COPYING +%{_bindir}/psl-make-dafsa +%{_mandir}/man1/psl-make-dafsa.1* + +%changelog +* Thu Jun 04 2020 Kamil Dudka - 0.20.2-6 +- increase release number (#1764048) + +* Fri Jul 27 2018 Kamil Dudka - 0.20.2-5 +- avoid using rpath in the psl executable (#1533448) + +* Fri Jul 13 2018 Fedora Release Engineering - 0.20.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 0.20.2-3 +- Rebuilt for Python 3.7 + +* Tue May 22 2018 Yaakov Selkowitz - 0.20.2-2 +- Rebuilt for publicsuffix-list 20180514 + +* Tue May 01 2018 Yaakov Selkowitz - 0.20.2-1 +- Update to 0.20.2 (#1572887) + +* Wed Feb 28 2018 Yaakov Selkowitz - 0.20.1-1 +- Update to 0.20.1 (#1548604) + +* Wed Feb 07 2018 Fedora Release Engineering - 0.19.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 0.19.1-2 +- Switch to %%ldconfig_scriptlets + +* Tue Nov 14 2017 Yaakov Selkowitz - 0.19.1-1 +- new version (#1511463) + +* Fri Aug 11 2017 Yaakov Selkowitz - 0.18.0-1 +- new version (#1473465) + +* Thu Aug 03 2017 Fedora Release Engineering - 0.17.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.17.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.17.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 17 2017 Yaakov Selkowitz - 0.17.0-1 +- new version (#1413791) + +* Thu Jan 5 2017 Yaakov Selkowitz - 0.16.1-1 +- new version (#1403620) + +* Tue Nov 15 2016 Yaakov Selkowitz - 0.15.0-1 +- new version (#1394761) + +* Fri Nov 04 2016 Yaakov Selkowitz - 0.14.0-2 +- Switch to libidn2 at runtime +- Rebuilt with publicsuffix-list-20161028 + +* Mon Aug 15 2016 Yaakov Selkowitz - 0.14.0-1 +- new version (#1361781) + +* Thu Mar 31 2016 Yaakov Selkowitz - 0.13.0-1 +- new version (#1313825) +- Use libidn at runtime, libicu only at buildtime (#1305701) + +* Thu Feb 04 2016 Fedora Release Engineering - 0.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 22 2016 Christopher Meng - 0.12.0-1 +- Update to 0.12.0 + +* Wed Oct 28 2015 David Tardon - 0.7.0-7 +- rebuild for ICU 56.1 + +* Tue Aug 04 2015 Christopher Meng - 0.7.0-6 +- Rebuild for publicsuffix-list-20150731 + +* Wed Jun 17 2015 Fedora Release Engineering - 0.7.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Feb 28 2015 Christopher Meng - 0.7.0-4 +- Rebuild for publicsuffix-list-20150226 + +* Fri Feb 20 2015 Christopher Meng - 0.7.0-3 +- Rebuild for publicsuffix-list-20150217 + +* Sun Feb 15 2015 Christopher Meng - 0.7.0-2 +- Correct the dependency + +* Mon Feb 02 2015 Christopher Meng - 0.7.0-1 +- Update to 0.7.0 + +* Mon Jan 26 2015 David Tardon - 0.6.2-2 +- rebuild for ICU 54.1 + +* Thu Nov 20 2014 Christopher Meng - 0.6.2-1 +- Update to 0.6.2 + +* Tue Aug 26 2014 David Tardon - 0.5.1-3 +- rebuild for ICU 53.1 + +* Sun Aug 17 2014 Fedora Release Engineering - 0.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Aug 04 2014 Christopher Meng - 0.5.1-1 +- Update to 0.5.1 +- Drop patch merged upstream + +* Sat Aug 02 2014 Christopher Meng - 0.5.0-3 +- Add a patch from Jakub Čajka to complete the tests on non-x86 arch. + +* Thu Jul 24 2014 Christopher Meng - 0.5.0-2 +- Drop useless test data +- Add missing gettext-devel +- psl is now separately packaged recommended by the upstream + +* Fri Jul 04 2014 Christopher Meng - 0.5.0-1 +- Update to 0.5.0 + +* Tue Jul 01 2014 Christopher Meng - 0.4.0-1 +- Update to 0.4.0 + +* Tue Apr 08 2014 Christopher Meng - 0.2-1 +- Initial Package.