From aafd1ef83b881608e9cf28e0e9a54ff6a8fdfa07 Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sat, 16 Sep 2017 17:24:26 +0200 Subject: [PATCH 1/7] New graphite package, but does not work, pnp4nagios and kodi updated --- fedora/SPECS/graphite-web.spec | 135 ++++++++++++++++++++++++++++++ fedora/SPECS/kodi.spec | 7 +- fedora/SPECS/pnp4nagios.spec | 9 +- fedora/SPECS/python2-whisper.spec | 112 +++++++++++++++++++++++++ 4 files changed, 258 insertions(+), 5 deletions(-) create mode 100644 fedora/SPECS/graphite-web.spec create mode 100644 fedora/SPECS/python2-whisper.spec diff --git a/fedora/SPECS/graphite-web.spec b/fedora/SPECS/graphite-web.spec new file mode 100644 index 0000000..eb89ba4 --- /dev/null +++ b/fedora/SPECS/graphite-web.spec @@ -0,0 +1,135 @@ +Name: graphite-web +Version: 1.0.2 +Release: 3%{?dist} + +Summary: A Django web application for enterprise scalable realtime graphing +License: ASL 2.0 +URL: https://github.com/graphite-project/graphite-web + +%define pversion %{version} +Source0: %{name}-%{version}.tar.gz +Source1: graphite-web-vhost.conf +Source2: graphite-web-README.fedora +Source10: %{name}.logrotate +Patch0: 0_%{name}-%{pversion}-django-update.patch +Patch1: 1_%{name}-%{pversion}-Amend-default-filesystem-locations.patch +Patch2: 2_%{name}-%{pversion}-Disable-internal-log-rotation.patch +Patch3: 3_%{name}-%{pversion}-Static_url_example.patch +Patch4: 4_%{name}-%{pversion}-Fix-build-index.sh-variables.patch + +BuildArch: noarch +BuildRequires: python2-devel + +Requires: dejavu-sans-fonts +Requires: dejavu-serif-fonts +Requires: django-tagging +Requires: mod_wsgi +Requires: pycairo +Requires: pyparsing +Requires: python-simplejson +Requires: python2-carbon +Requires: python2-whisper >= %{version} +Requires: python2-whitenoise +Requires: python-memcached +Requires: pytz + +%if 0%{?fedora} || 0%{?rhel} >= 7 +Requires: python-django >= 1.3 +%else +Requires: Django >= 1.3 +%endif + +Obsoletes: %{name}-selinux < 0.9.12-7 + + +%description +Graphite consists of a storage backend and a web-based visualization frontend. +Client applications send streams of numeric time-series data to the Graphite +backend (called carbon), where it gets stored in fixed-size database files +similar in design to RRD. The web frontend provides user interfaces +for visualizing this data in graphs as well as a simple URL-based API for +direct graph generation. + +Graphite's design is focused on providing simple interfaces (both to users and +applications), real-time visualization, high-availability, and enterprise +scalability. + + +%prep +%setup -q -n graphite-web-%{version} +rm -rf webapp/graphite/thirdparty +find -type f -iname '*.swf' -delete + +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 + +install -m0644 %{SOURCE2} README.fedora + + +%build +%py2_build + + +%install +%py2_install \ + --install-lib=%{python2_sitelib} \ + --install-data=%{_datadir}/graphite \ + --install-scripts=%{_bindir} + +mkdir -p %{buildroot}%{_localstatedir}/lib/graphite-web +mkdir -p %{buildroot}%{_localstatedir}/log/graphite-web +mkdir -p %{buildroot}%{_sysconfdir}/graphite-web + +install -Dp -m0644 webapp/graphite/local_settings.py.example \ + %{buildroot}%{_sysconfdir}/graphite-web/local_settings.py +ln -s %{_sysconfdir}/graphite-web/local_settings.py \ + %{buildroot}%{python_sitelib}/graphite/local_settings.py +install -Dp -m0644 conf/dashboard.conf.example \ + %{buildroot}%{_sysconfdir}/graphite-web/dashboard.conf +install -Dp -m0644 %{SOURCE1} \ + %{buildroot}%{_sysconfdir}/httpd/conf.d/graphite-web.conf +install -Dp -m0644 conf/graphite.wsgi.example \ + %{buildroot}%{_datadir}/graphite/graphite-web.wsgi + +# Log rotation. +install -D -p -m0644 %{SOURCE10} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} + +# Remove unneeded binaries. +rm -f %{buildroot}%{_bindir}/run-graphite-devel-server.py + +# Rename build-index.sh. +mv %{buildroot}%{_bindir}/build-index %{buildroot}%{_bindir}/graphite-build-index +rm %{buildroot}%{_bindir}/build-index.sh + +# Fix permissions. +chmod 0644 conf/graphite.wsgi.example + +%clean +[ "%{buildroot}" != "/" ] && rm -rf %{buildroot} + +%files +%license LICENSE +%doc README.fedora conf/* examples/* + +%dir %{_sysconfdir}/graphite-web +%config(noreplace) %{_sysconfdir}/httpd/conf.d/graphite-web.conf +%config(noreplace) %{_sysconfdir}/graphite-web/dashboard.conf +%config(noreplace) %{_sysconfdir}/graphite-web/local_settings.py* +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} + +%{_bindir}/graphite-build-index +%{_datadir}/graphite +%attr(0755,apache,apache) %dir %{_localstatedir}/lib/graphite-web +%attr(0755,apache,apache) %dir %{_localstatedir}/log/graphite-web + +%{python_sitelib}/graphite/ +%{python_sitelib}/graphite_web-*-py?.?.egg-info + + +%changelog +* Sat Sep 16 2017 Daniel Steiner +- First build for Fedora 26 + diff --git a/fedora/SPECS/kodi.spec b/fedora/SPECS/kodi.spec index cc1c522..01dd85f 100644 --- a/fedora/SPECS/kodi.spec +++ b/fedora/SPECS/kodi.spec @@ -7,7 +7,7 @@ %global _with_dvd 0 Name: kodi -Version: 17.3 +Version: 17.4 Release: 1%{?dist} Summary: Media center @@ -268,7 +268,7 @@ cp -p %{SOURCE4} tools/depends/target/libdvdcss/libdvdcss-master.tar.gz %else %patch2 -p1 -b.libdvd %endif -%patch3 -p0 -b.ftpparse +#%patch3 -p0 -b.ftpparse %build @@ -427,6 +427,9 @@ fi %changelog +* Sat Sep 2 2017 Daniel Steiner - 17.4-1 +- Updated to Kodi 17.4 + * Tue Jul 18 2017 Daniel Steiner - 17.3-1 - Kodi 17.3 final for Fedora 26 diff --git a/fedora/SPECS/pnp4nagios.spec b/fedora/SPECS/pnp4nagios.spec index b2f7ff3..a482290 100644 --- a/fedora/SPECS/pnp4nagios.spec +++ b/fedora/SPECS/pnp4nagios.spec @@ -1,6 +1,6 @@ Name: pnp4nagios -Version: 0.6.25 -Release: 6%{?dist} +Version: 0.6.26 +Release: 1%{?dist} Summary: Nagios performance data analysis tool Group: Applications/System @@ -39,7 +39,7 @@ and stores them automatically into RRD-databases. %prep %setup -q %patch1 -p1 -%patch2 -p0 +#%patch2 -p0 autoreconf cp -p %{SOURCE3} README.fedora @@ -142,6 +142,9 @@ fi %{_datadir}/nagios/html/%{name}/kohana %changelog +* Sat Sep 2 2017 Daniel Steiner - 0.6.26-1 +- Update to new release 0.6.26. + * Sat Jul 22 2017 Daniel Steiner - 0.6.25-6 - Package requires now icinga2 instead of nagios. User/group changed to icinga diff --git a/fedora/SPECS/python2-whisper.spec b/fedora/SPECS/python2-whisper.spec new file mode 100644 index 0000000..f70f69c --- /dev/null +++ b/fedora/SPECS/python2-whisper.spec @@ -0,0 +1,112 @@ +%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())")} +%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} +%endif + +Name: python2-whisper +Version: 1.0.2 +Release: 1%{?dist} +Summary: Simple database library for storing time-series data + +Group: Development/Libraries +License: ASL 2.0 +URL: https://github.com/graphite-project + +Source0: whisper-%{version}.tar.gz +Source10: rrd2whisper.1 +Source11: whisper-create.1 +Source12: whisper-dump.1 +Source13: whisper-fetch.1 +Source14: whisper-info.1 +Source15: whisper-merge.1 +Source16: whisper-resize.1 +Source17: whisper-set-aggregation-method.1 +Source18: whisper-update.1 + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch +BuildRequires: python2-devel +BuildRequires: python2-setuptools + + +%description +Whisper is a fixed-size database, similar in design and purpose to RRD +(round-robin-database). It provides fast, reliable storage of numeric +data over time. Whisper allows for higher resolution (seconds per point) +of recent data to degrade into lower resolutions for long-term retention +of historical data. + + +%prep +%setup -q -n whisper-%{version} + + +%build +%{__python} setup.py build + + +%install +rm -rf $RPM_BUILD_ROOT +%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT + +# man pages +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +install -D -p -m0644 %{SOURCE10} $RPM_BUILD_ROOT%{_mandir}/man1 +install -D -p -m0644 %{SOURCE11} $RPM_BUILD_ROOT%{_mandir}/man1 +install -D -p -m0644 %{SOURCE12} $RPM_BUILD_ROOT%{_mandir}/man1 +install -D -p -m0644 %{SOURCE13} $RPM_BUILD_ROOT%{_mandir}/man1 +install -D -p -m0644 %{SOURCE14} $RPM_BUILD_ROOT%{_mandir}/man1 +install -D -p -m0644 %{SOURCE15} $RPM_BUILD_ROOT%{_mandir}/man1 +install -D -p -m0644 %{SOURCE16} $RPM_BUILD_ROOT%{_mandir}/man1 +install -D -p -m0644 %{SOURCE17} $RPM_BUILD_ROOT%{_mandir}/man1 +install -D -p -m0644 %{SOURCE18} $RPM_BUILD_ROOT%{_mandir}/man1 + +# remove .py suffix +for i in $RPM_BUILD_ROOT%{_bindir}/*.py; do + mv ${i} ${i%%.py} +done + + +%clean +[ "%{buildroot}" != "/" ] && rm -rf %{buildroot} + + +%files +%doc LICENSE +%{_bindir}/rrd2whisper +%{_bindir}/whisper-create +%{_bindir}/whisper-dump +%{_bindir}/whisper-fetch +%{_bindir}/whisper-fill +%{_bindir}/whisper-info +%{_bindir}/whisper-merge +%{_bindir}/whisper-resize +%{_bindir}/whisper-set-aggregation-method +%{_bindir}/whisper-update +%{_bindir}/find-corrupt-whisper-files +%{_bindir}/update-storage-times +%{_bindir}/whisper-auto-resize +%{_bindir}/whisper-auto-update +%{_bindir}/whisper-diff +%{_bindir}/whisper-set-xfilesfactor +%{_mandir}/man1/rrd2whisper.1* +%{_mandir}/man1/whisper-create.1* +%{_mandir}/man1/whisper-dump.1* +%{_mandir}/man1/whisper-fetch.1* +%{_mandir}/man1/whisper-info.1* +%{_mandir}/man1/whisper-merge.1* +%{_mandir}/man1/whisper-resize.1* +%{_mandir}/man1/whisper-set-aggregation-method.1* +%{_mandir}/man1/whisper-update.1* +%{python_sitelib}/whisper.py* + +%if 0%{?fedora} || 0%{?rhel} > 5 +%{python_sitelib}/whisper-*-py?.?.egg-info +%endif + + +%changelog +* Sat Sep 16 2017 Daniel Steiner +- First inital release for Fedora 26 + From dbca6da7c2bb19f89f849e5f354b8ebeb6f17463 Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sat, 7 Oct 2017 15:36:54 +0200 Subject: [PATCH 2/7] New percona monitor plugin package, new BackupPC packages --- fedora/SPECS/BackupPC-XS.spec | 59 ++++ fedora/SPECS/BackupPC.spec | 339 +++++++++++++++++++ fedora/SPECS/percona-monitoring-plugins.spec | 149 ++++++++ fedora/SPECS/rsync-bpc.spec | 61 ++++ 4 files changed, 608 insertions(+) create mode 100644 fedora/SPECS/BackupPC-XS.spec create mode 100644 fedora/SPECS/BackupPC.spec create mode 100644 fedora/SPECS/percona-monitoring-plugins.spec create mode 100644 fedora/SPECS/rsync-bpc.spec diff --git a/fedora/SPECS/BackupPC-XS.spec b/fedora/SPECS/BackupPC-XS.spec new file mode 100644 index 0000000..0c65fb4 --- /dev/null +++ b/fedora/SPECS/BackupPC-XS.spec @@ -0,0 +1,59 @@ +Name: BackupPC-XS +Version: 0.56 +Release: 3%{?dist} +Summary: Implementation of various BackupPC functions in a perl-callable module + +License: GPLv3+ and (GPL+ or Artistic) and zlib +URL: https://github.com/backuppc/backuppc-xs +Source0: https://github.com/backuppc/backuppc-xs/releases/download/%{version}/%{name}-%{version}.tar.gz + +BuildRequires: gcc +BuildRequires: perl-interpreter perl-devel +BuildRequires: perl-generators +BuildRequires: perl(constant) +BuildRequires: perl(Exporter) +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl(strict) +BuildRequires: perl(warnings) +BuildRequires: perl(XSLoader) +# Testing requirement +BuildRequires: perl(Test::More) + +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) + +Provides: bundled(zlib) = 1.2.3 + +%description +BackupPC::XS implements various BackupPC functions in a perl-callable +module. This module is required for BackupPC V4+. + + +%prep +%autosetup + + +%build +%{__perl} Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 +make + + +%install +make pure_install DESTDIR=%{buildroot} +%{_fixperms} %{buildroot} + + +%check +make test + + +%files +%doc Changes README +%{perl_vendorarch}/* +%exclude %dir %{perl_vendorarch}/auto/ +%{_mandir}/man3/BackupPC::XS.3pm* + + +%changelog +* Sat Oct 7 2017 Daniel Steiner - 4.1.3-2 +- Iniital build. + diff --git a/fedora/SPECS/BackupPC.spec b/fedora/SPECS/BackupPC.spec new file mode 100644 index 0000000..871ef8c --- /dev/null +++ b/fedora/SPECS/BackupPC.spec @@ -0,0 +1,339 @@ +%global _hardened_build 1 +%define backupdir /backup/%{name} +%define bpcuser backuppc + +# tmpfiles.d & systemd support in all supported Fedora now, but not RHEL < 7 +%if 0%{?fedora} || 0%{?rhel} >= 7 +%global _with_tmpfilesd 1 +%global _with_systemd 1 +%endif + +%global _updatedb_conf /etc/updatedb.conf + +%global ver_major 4 +%global ver_minor 1 +%global ver_patch 3 +%global ver_under %{ver_major}_%{ver_minor}_%{ver_patch} + +Name: BackupPC +Version: %{ver_major}.%{ver_minor}.%{ver_patch} +Release: 1%{?dist} +Summary: High-performance backup system + +License: GPLv2+ +URL: http://backuppc.github.io/backuppc/index.html +Source0: https://github.com/backuppc/backuppc/releases/download/%{version}/%{name}-%{version}.tar.gz +Source1: BackupPC.htaccess +Source2: BackupPC.logrotate +Source3: README.setup +#A C wrapper to use since perl-suidperl is no longer provided +Source4: BackupPC_Admin.c +Source5: backuppc.service +Source6: BackupPC.tmpfiles +Source7: README.RHEL + +Patch0: BackupPC-4.1.3-docfix.patch + +BuildRequires: perl-generators +BuildRequires: perl(BackupPC::XS) >= 0.53 +BuildRequires: perl(CGI) +BuildRequires: perl(Compress::Zlib) +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(Digest::MD5) +BuildRequires: perl(Encode) +BuildRequires: perl(File::Listing) +BuildRequires: perl(Pod::Usage) +BuildRequires: perl(version) +%if 0%{?_with_systemd} +BuildRequires: systemd +%endif +BuildRequires: httpd-tools + +# Unbundled libraries +Requires: perl(Net::FTP::AutoReconnect) +Requires: perl(Net::FTP::RetrHandle) + +Requires: bzip2 +Requires: httpd +Requires: iputils +Requires: openssh-clients +%if ! 0%{?el6} +Requires: par2cmdline +%endif +Requires: rrdtool +Requires: rsync-bpc >= 3.0.9.6 +Requires: perl(Archive::Zip) +Requires: perl(BackupPC::XS) >= 0.53 +Requires: perl(CGI) +Requires: perl(Compress::Zlib) +Requires: perl(Digest::MD5) +Requires: perl(Encode) +Requires: perl(File::Listing) +Requires: perl-Time-modules +Requires: perl(version) +Requires: perl(XML::RSS) +Requires: samba-client +Requires: %{_sbindir}/sendmail + +Requires(pre): shadow-utils +%if 0%{?_with_systemd} +Requires(preun): systemd +Requires(post): systemd shadow-utils +Requires(postun): systemd +%else +Requires(preun): initscripts chkconfig +Requires(post): initscripts chkconfig shadow-utils +Requires(postun): initscripts +%endif + +Requires: policycoreutils +BuildRequires: selinux-policy-devel checkpolicy +Provides: backuppc = %{version} + + +%description +BackupPC is a high-performance, enterprise-grade system for backing up Linux +and WinXX and Mac OS X PCs and laptops to a server's disk. BackupPC is highly +configurable and easy to install and maintain. + +NOTE: Proper configuration is required after install, see README.setup for more +information. + + +%prep +%autosetup -p1 + +for f in ChangeLog; do + iconv -f ISO-8859-1 -t UTF-8 $f > $f.utf && mv $f.utf $f +done + +cp %{SOURCE3} . +cp %{SOURCE7} . +cp %{SOURCE4} . + +mkdir selinux +pushd selinux + +cat >%{name}.te <%{name}.fc < /dev/null || : + +%preun +%if 0%{?_with_systemd} +%systemd_preun %{bpcuser}.service +%else +if [ $1 = 0 ]; then + # Package removal, not upgrade + service %{bpcuser} stop > /dev/null 2>&1 || : + chkconfig --del %{bpcuser} || : +fi +%endif + +%post +( + # Install/update Selinux policy + semodule -i %{_datadir}/selinux/packages/%{name}/%{name}.pp + # files created by app + restorecon -R %{_sysconfdir}/%{name} + restorecon -R %{_localstatedir}/log/%{name} +) &>/dev/null + +%if 0%{?_with_systemd} +%systemd_post %{bpcuser}.service +%else +if [ $1 -eq 1 ]; then + # initial installation + chkconfig --add %{bpcuser} || : +fi +%{_sbindir}/usermod -a -G %{bpcuser} apache || : +%endif + +# add BackupPC backup directories to PRUNEPATHS in locate database +if [ -w %{_updatedb_conf} ]; then + grep ^PRUNEPATHS %{_updatedb_conf} | grep %{_localstatedir}/lib/%{name} > /dev/null + if [ $? -eq 1 ]; then + sed -i '\@PRUNEPATHS@s@"$@ '%{_localstatedir}/lib/%{name}'"@' %{_updatedb_conf} + fi +fi +: + +%postun +# clear out any BackupPC configuration in apache +service httpd condrestart > /dev/null 2>&1 || : + +if [ $1 -eq 0 ]; then + # uninstall + # Remove the SElinux policy. + semodule -r %{name} &> /dev/null || : + # remove BackupPC backup directories from PRUNEPATHS in locate database + if [ -w %{_updatedb_conf} ]; then + sed -i '\@PRUNEPATHS@s@[ ]*'%{_localstatedir}/lib/%{name}'@@' %{_updatedb_conf} || : + fi +fi + +%systemd_postun_with_restart %{bpcuser}.service + + +%files +%doc README.md README.setup README.RHEL ChangeLog doc/* +%license LICENSE +%dir %attr(-,%{bpcuser},%{bpcuser}) %{_localstatedir}/log/%{name} +%dir %attr(-,%{bpcuser},%{bpcuser}) %{_sysconfdir}/%{name}/ +%config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf +%config(noreplace) %attr(0640,%{bpcuser},apache) %{_sysconfdir}/%{name}/config.pl +%config(noreplace) %attr(0640,%{bpcuser},apache) %{_sysconfdir}/%{name}/config.pl.sample +%config(noreplace) %attr(0640,%{bpcuser},apache) %{_sysconfdir}/%{name}/hosts.sample +%config(noreplace) %attr(0640,%{bpcuser},apache) %{_sysconfdir}/%{name}/hosts +%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/%{name}/apache.users +%dir %attr(0750,%{bpcuser},apache) %{_sysconfdir}/%{name}/pc +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/sbin +%{_datadir}/%{name}/[^s]* +%attr(750,%{bpcuser},apache) %{_datadir}/%{name}/sbin/BackupPC_Admin + +%if 0%{?_with_tmpfilesd} +%{_tmpfilesdir}/%{name}.conf +%endif +%dir %attr(0775,%{bpcuser},%{bpcuser}) %{_localstatedir}/run/%{name} + +%if 0%{?_with_systemd} +%{_unitdir}/%{bpcuser}.service +%else +%attr(0755,root,root) %{_initrddir}/%{bpcuser} +%endif + +%attr(4750,%{bpcuser},apache) %{_libexecdir}/%{name}/BackupPC_Admin +%attr(-,%{bpcuser},root) %{backupdir}/ +%{_datadir}/selinux/packages/%{name}/%{name}.pp + + +%changelog +* Sat Oct 7 2017 Daniel Steiner - 4.1.3-2 +- Iniital build. + diff --git a/fedora/SPECS/percona-monitoring-plugins.spec b/fedora/SPECS/percona-monitoring-plugins.spec new file mode 100644 index 0000000..1f114a4 --- /dev/null +++ b/fedora/SPECS/percona-monitoring-plugins.spec @@ -0,0 +1,149 @@ +Name: percona-monitoring-plugins +Summary: Percona Monitoring Plugins are high-quality components to add enterprise-class MySQL monitoring and graphing capabilities to your existing on-premise monitoring solutions. +Group: Applications/Databases +Version: 1.1.7 +Release: 1%{?dist} +Distribution: %{distro_description} +License: GPL +Source: percona-monitoring-plugins-%{version}.tar.gz +Patch0: percona-cacti.patch +URL: http://www.percona.com/software/percona-monitoring-plugins +Packager: Percona MySQL Development Team +Vendor: Percona +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: PyYAML +%if 0%{?rhel} > 6 +BuildRequires: perl-Digest-MD5 +%else +BuildRequires: perl-MD5 +%endif + + +%description +Summary: Percona Monitoring Plugins are high-quality components to add enterprise-class MySQL monitoring and graphing capabilities to your existing on-premise monitoring solutions. + + +############################################################################## +# Sub package definition +############################################################################## + + +%package -n percona-cacti-templates +Summary: Percona Monitoring Plugins for Cacti +Group: Applications/Databases +License: GPL +Requires: cacti >= 0.8.6 + +%description -n percona-cacti-templates +The Percona Monitoring Plugins are high-quality components to add enterprise- +grade MySQL monitoring and graphing capabilities to your existing in-house, +on-premises monitoring solutions. The components are designed to integrate +seamlessly with widely deployed solutions such as Nagios, Cacti and Zabbix, +and are delivered in the form of templates, plugins, and scripts. + + +%package -n percona-nagios-plugins +Summary: Percona Monitoring Plugins for Nagios +Group: Applications/Databases +License: GPL + +%description -n percona-nagios-plugins +The Percona Monitoring Plugins are high-quality components to add enterprise- +grade MySQL monitoring and graphing capabilities to your existing in-house, +on-premises monitoring solutions. The components are designed to integrate +seamlessly with widely deployed solutions such as Nagios, Cacti and Zabbix, +and are delivered in the form of templates, plugins, and scripts. + + +%package -n percona-zabbix-templates +Summary: Percona Monitoring Plugins for Zabbix +Group: Applications/Databases +License: GPL + +%description -n percona-zabbix-templates +The Percona Monitoring Plugins are high-quality components to add enterprise- +grade MySQL monitoring and graphing capabilities to your existing in-house, +on-premises monitoring solutions. The components are designed to integrate +seamlessly with widely deployed solutions such as Nagios, Cacti and Zabbix, +and are delivered in the form of templates, plugins, and scripts. + +############################################################################## + + +%prep +%setup -q +%patch0 + +%build +./make.sh nodocs + +%install + +#========ZABBIX======== +install -m 0755 -d $RPM_BUILD_ROOT/var/lib/zabbix/percona/scripts +install -m 0755 -d $RPM_BUILD_ROOT/var/lib/zabbix/percona/templates +install -m 0755 release/%{name}-%{version}/zabbix/scripts/* $RPM_BUILD_ROOT/var/lib/zabbix/percona/scripts +install -m 0644 release/%{name}-%{version}/zabbix/templates/* $RPM_BUILD_ROOT/var/lib/zabbix/percona/templates +#====================== + +#========NAGIOS======== +install -m 0755 -d $RPM_BUILD_ROOT%{_libdir}/nagios/plugins +install -m 0755 release/%{name}-%{version}/nagios/bin/pmp-* $RPM_BUILD_ROOT%{_libdir}/nagios/plugins +#====================== + +#========CACTI========= +install -m 0755 -d $RPM_BUILD_ROOT/usr/share/cacti/resource/percona/bin +install -m 0755 -d $RPM_BUILD_ROOT/usr/share/cacti/resource/percona/definitions +install -m 0755 -d $RPM_BUILD_ROOT/usr/share/cacti/resource/percona/misc +install -m 0755 -d $RPM_BUILD_ROOT/usr/share/cacti/resource/percona/templates +install -m 0755 -d $RPM_BUILD_ROOT/usr/share/cacti/scripts +install -m 0755 release/%{name}-%{version}/cacti/bin/* $RPM_BUILD_ROOT/usr/share/cacti/resource/percona/bin +install -m 0644 release/%{name}-%{version}/cacti/definitions/* $RPM_BUILD_ROOT/usr/share/cacti/resource/percona/definitions +install -m 0644 release/%{name}-%{version}/cacti/misc/* $RPM_BUILD_ROOT/usr/share/cacti/resource/percona/misc +install -m 0644 release/%{name}-%{version}/cacti/templates/* $RPM_BUILD_ROOT/usr/share/cacti/resource/percona/templates +install -m 0644 release/%{name}-%{version}/cacti/scripts/*.php $RPM_BUILD_ROOT/usr/share/cacti/scripts +install -m 0755 release/%{name}-%{version}/cacti/scripts/*.py $RPM_BUILD_ROOT/usr/share/cacti/scripts +#====================== + +# exit 0 disables running helpers which generates *.pyc, *.pyo files. +exit 0 + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -n percona-zabbix-templates +echo +echo "Scripts are installed to /var/lib/zabbix/percona/scripts" +echo "Templates are installed to /var/lib/zabbix/percona/templates" + + +%files -n percona-zabbix-templates +%dir /var/lib/zabbix/percona +/var/lib/zabbix/percona/* + + +%post -n percona-nagios-plugins +echo +echo "Plugins are installed to %{_libdir}/nagios/plugins" + + +%files -n percona-nagios-plugins +%{_libdir}/nagios/plugins/* + + +%post -n percona-cacti-templates +echo +echo "Scripts are installed to /usr/share/cacti/scripts" +echo "Templates are installed to /usr/share/cacti/resource/percona" + + +%files -n percona-cacti-templates +%dir /usr/share/cacti/resource/percona +/usr/share/cacti/resource/percona/* +/usr/share/cacti/scripts/* + + +%changelog +* Thu Dec 1 2016 1.1.7 +- Initial Package diff --git a/fedora/SPECS/rsync-bpc.spec b/fedora/SPECS/rsync-bpc.spec new file mode 100644 index 0000000..776b2b1 --- /dev/null +++ b/fedora/SPECS/rsync-bpc.spec @@ -0,0 +1,61 @@ +%global ver_major 3 +%global ver_minor 0 +%global ver_patch 9 +%global ver_tweak 6 +%global ver_under %{ver_major}_%{ver_minor}_%{ver_patch}_%{ver_tweak} + + +Name: rsync-bpc +Version: 3.0.9.8 +Release: 1%{?dist} +Summary: A customized version of rsync that is used as part of BackupPC + +License: GPLv3+ +URL: https://github.com/backuppc/rsync-bpc +Source0: https://github.com/backuppc/rsync-bpc/releases/download/%{version}/%{name}-%{version}.tar.gz + +BuildRequires: autoconf +BuildRequires: gcc +BuildRequires: libacl-devel +BuildRequires: libattr-devel +BuildRequires: popt-devel + + +%description +Rsync-bpc is a customized version of rsync that is used as part of +BackupPC, an open source backup system. + +The main change to rsync is adding a shim layer (in the subdirectory +backuppc, and in bpc_sysCalls.c) that emulates the system calls for +accessing the file system so that rsync can directly read/write files +in BackupPC's format. + +Rsync-bpc is fully line-compatible with vanilla rsync, so it can talk +to rsync servers and clients. + +Rsync-bpc serves no purpose outside of BackupPC. + + +%prep +%autosetup -n %{name}-%{version} + + +%build +%configure +%make_build + + +%install +%make_install + + +%files +%license COPYING +%doc NEWS README +%{_bindir}/rsync_bpc + + +%changelog +* Sat Oct 7 2017 Daniel Steiner - 4.1.3-2 +- Iniital build. + From 537f813f9505ea523b1c264b4fe05455c260bea7 Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sat, 7 Oct 2017 15:41:39 +0200 Subject: [PATCH 3/7] Cleanup section modified or added. --- fedora/SPECS/BackupPC-XS.spec | 4 ++++ fedora/SPECS/BackupPC.spec | 3 +++ fedora/SPECS/kodi.spec | 4 ++++ fedora/SPECS/rsync-bpc.spec | 4 ++++ 4 files changed, 15 insertions(+) diff --git a/fedora/SPECS/BackupPC-XS.spec b/fedora/SPECS/BackupPC-XS.spec index 0c65fb4..2c55c7e 100644 --- a/fedora/SPECS/BackupPC-XS.spec +++ b/fedora/SPECS/BackupPC-XS.spec @@ -46,6 +46,10 @@ make pure_install DESTDIR=%{buildroot} make test +%clean +[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} + + %files %doc Changes README %{perl_vendorarch}/* diff --git a/fedora/SPECS/BackupPC.spec b/fedora/SPECS/BackupPC.spec index 871ef8c..7490775 100644 --- a/fedora/SPECS/BackupPC.spec +++ b/fedora/SPECS/BackupPC.spec @@ -240,6 +240,9 @@ install -m 0644 selinux/%{name}.pp %{buildroot}%{_datadir}/selinux/packages/%{na # Create apache user auth file (backuppc/backuppc): /usr/bin/htpasswd -b -c %{buildroot}%{_sysconfdir}/%{name}/apache.users %{bpcuser} %{bpcuser} +%clean +[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} + %pre %{_sbindir}/useradd -d %{_localstatedir}/lib/%{name} -r -s /sbin/nologin %{bpcuser} 2> /dev/null || : diff --git a/fedora/SPECS/kodi.spec b/fedora/SPECS/kodi.spec index 01dd85f..7f6c735 100644 --- a/fedora/SPECS/kodi.spec +++ b/fedora/SPECS/kodi.spec @@ -352,6 +352,10 @@ mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/ mv docs/manpages ${RPM_BUILD_ROOT}%{_mandir}/man1/ +%clean +[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} + + %post /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : diff --git a/fedora/SPECS/rsync-bpc.spec b/fedora/SPECS/rsync-bpc.spec index 776b2b1..12e9264 100644 --- a/fedora/SPECS/rsync-bpc.spec +++ b/fedora/SPECS/rsync-bpc.spec @@ -49,6 +49,10 @@ Rsync-bpc serves no purpose outside of BackupPC. %make_install +%clean +[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot} + + %files %license COPYING %doc NEWS README From 01aa3d8e125dd1145ec6916d16263a27c30b873c Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sat, 9 Dec 2017 11:01:38 +0100 Subject: [PATCH 4/7] Kodi update --- fedora/SPECS/kodi.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fedora/SPECS/kodi.spec b/fedora/SPECS/kodi.spec index 7f6c735..f8cc591 100644 --- a/fedora/SPECS/kodi.spec +++ b/fedora/SPECS/kodi.spec @@ -7,7 +7,7 @@ %global _with_dvd 0 Name: kodi -Version: 17.4 +Version: 17.5 Release: 1%{?dist} Summary: Media center @@ -431,6 +431,9 @@ fi %changelog +* Wed Oct 25 2017 Daniel Steiner - 17.5-1 +- Updated to Kodi 17.5 + * Sat Sep 2 2017 Daniel Steiner - 17.4-1 - Updated to Kodi 17.4 From 3a3ad5d50c105b8fd1db5881fe2b4eefa6a1f733 Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sun, 10 Dec 2017 13:22:49 +0100 Subject: [PATCH 5/7] New builds for Fedora 27 --- fedora/SPECS/kodi.spec | 2 +- fedora/SPECS/libva-intel-driver.spec | 104 +--------------------- fedora/SPECS/libva.spec | 125 ++++----------------------- 3 files changed, 21 insertions(+), 210 deletions(-) diff --git a/fedora/SPECS/kodi.spec b/fedora/SPECS/kodi.spec index f8cc591..0335cb1 100644 --- a/fedora/SPECS/kodi.spec +++ b/fedora/SPECS/kodi.spec @@ -7,7 +7,7 @@ %global _with_dvd 0 Name: kodi -Version: 17.5 +Version: 17.6 Release: 1%{?dist} Summary: Media center diff --git a/fedora/SPECS/libva-intel-driver.spec b/fedora/SPECS/libva-intel-driver.spec index 3de7bd2..2f11cc4 100644 --- a/fedora/SPECS/libva-intel-driver.spec +++ b/fedora/SPECS/libva-intel-driver.spec @@ -1,7 +1,7 @@ #global _with_gen4asm 1 Name: libva-intel-driver -Version: 1.6.1 +Version: 1.7.3 Release: 1%{?dist} Summary: HW video decode support for Intel integrated graphics Group: System Environment/Libraries @@ -67,104 +67,6 @@ gendiff . .prebuilt %changelog -* Tue May 05 2015 Nicolas Chauvet - 1.5.1-1 -- Update to 1.5.1 +* Sat Dec 9 2017 Daniel Steiner - 1.7.3-1 +- Update to 1.7.3 -* Tue Oct 28 2014 Nicolas Chauvet - 1.4.1-1 -- Update to 1.4.1 - -* Mon Sep 01 2014 Sérgio Basto - 1.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Mon Jun 02 2014 Nicolas Chauvet - 1.3.1-1 -- Update to 1.3.1 - -* Sat Apr 12 2014 Nicolas Chauvet - 1.3.0-2 -- Add missing wayland-scanner BR - -* Sat Apr 12 2014 Nicolas Chauvet - 1.3.0-1 -- Update to 1.3.0 - -* Tue Mar 04 2014 Nicolas Chauvet - 1.2.2-2 -- Backport patch - rhbz#3193 - -* Mon Feb 17 2014 Nicolas Chauvet - 1.2.2-1 -- Update to 1.2.2 - -* Tue Oct 01 2013 Nicolas Chauvet - 1.2.1-1 -- Update to 1.2.1 - -* Wed Jun 26 2013 Nicolas Chauvet - 1.2.0-1 -- Update to 1.2.0 - -* Wed Mar 20 2013 Nicolas Chauvet - 1.0.20-1 -- Update to 1.0.20 -- Spec file clean-up - -* Fri Nov 09 2012 Nicolas Chauvet - 1.0.19-1 -- Update to 1.0.19 - -* Fri Aug 03 2012 Nicolas Chauvet - 1.0.18-4 -- Update to final 1.0.18 - -* Wed Jul 11 2012 Nicolas Chauvet - 1.0.18-3 -- Switch to pkgconfig(libudev) - -* Mon Jun 04 2012 Nicolas Chauvet - 1.0.18-1 -- Update to 1.0.18 - -* Sat May 26 2012 Nicolas Chauvet - 1.0.15-4 -- Introduce --with gen4asm - -* Tue Jan 03 2012 Nicolas Chauvet - 1.0.15-3 -- Add BR intel-gen4asm -- Move pre-built asm code -- Adjust license with EPL - -* Mon Jan 02 2012 Nicolas Chauvet - 1.0.15-2 -- Spec cleanup - -* Thu Nov 03 2011 Nicolas Chauvet - 1.0.15-1 -- Rename the package to libva-intel-driver - -* Sun Aug 07 2011 Nicolas Chauvet - 1.0.14-1 -- Update to 1.0.14 - -* Sat Jun 11 2011 Nicolas Chauvet - 1.0.13-2 -- Fix typo when building --with full -- Requires at least the same libva version. - -* Wed Jun 08 2011 Nicolas Chauvet - 1.0.13-1 -- Update to 1.0.13 - -* Sun Apr 10 2011 Nicolas Chauvet - 1.0.12-1 -- Update to 1.0.12 - -* Thu Mar 10 2011 Nicolas Chauvet - 1.0.10-1 -- Switch to additional package using the freedesktop version -- Add git rev from today as patch - -* Mon Feb 21 2011 Nicolas Chauvet - 1.0.10-1 -- Update to 1.0.10 - -* Tue Jan 25 2011 Adam Williamson - 1.0.8-1 -- bump to new version -- fix modded tarball to actually not have i965 dir -- merge with the other spec I seem to have lying around somewhere - -* Wed Nov 24 2010 Adam Williamson - 1.0.6-1 -- switch to upstream from sds branch (sds now isn't carrying any very - interesting changes according to gwenole) -- pull in the dont-install-test-programs patch from sds -- split out libva-utils again for multilib purposes -- drop -devel package obsolete/provides itself too - -* Tue Nov 23 2010 Adam Williamson - 0.31.1-3.sds4 -- drop obsoletes and provides of itself (hangover from freeworld) - -* Tue Nov 23 2010 Adam Williamson - 0.31.1-2.sds4 -- fix the tarball to actually remove the i965 code (duh) - -* Thu Oct 7 2010 Adam Williamson - 0.31.1-1.sds4 -- initial package (based on package from elsewhere by myself and Nic - Chauvet with i965 driver removed) diff --git a/fedora/SPECS/libva.spec b/fedora/SPECS/libva.spec index b285e10..9b65e2c 100644 --- a/fedora/SPECS/libva.spec +++ b/fedora/SPECS/libva.spec @@ -1,11 +1,12 @@ Name: libva -Version: 1.6.1 +Version: 1.8.2 Release: 1%{?dist} Summary: Video Acceleration (VA) API for Linux Group: System Environment/Libraries License: MIT URL: http://freedesktop.org/wiki/Software/vaapi Source0: http://www.freedesktop.org/software/vaapi/releases/libva/libva-%{version}.tar.bz2 +Source1: http://www.freedesktop.org/software/vaapi/releases/libva/libva-utils-%{version}.tar.bz2 BuildRequires: libudev-devel BuildRequires: libXext-devel @@ -49,23 +50,34 @@ of %{name}, including the vainfo tool for determining what (if any) %prep +%setup -q -b 1 -n libva-utils-%{version} %setup -q %build %configure --disable-static \ --enable-glx \ %{?_without_wayland:--disable-wayland} - # remove rpath from libtool sed -i.rpath 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i.rpath 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool - make %{?_smp_mflags} +pushd %{_builddir}/libva-utils-%{version} +%configure --disable-static \ + --enable-glx \ +%{?_without_wayland:--disable-wayland} +make %{?_smp_mflags} +popd + %install make install DESTDIR=%{buildroot} INSTALL="install -p" find %{buildroot} -regex ".*\.la$" | xargs rm -f -- +pushd %{_builddir}/libva-utils-%{version} +make install DESTDIR=%{buildroot} INSTALL="install -p" +find %{buildroot} -regex ".*\.la$" | xargs rm -f -- +popd + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -94,109 +106,6 @@ find %{buildroot} -regex ".*\.la$" | xargs rm -f -- %{!?_without_wayland:%{_bindir}/putsurface_wayland} %changelog -* Sun Apr 19 2015 Nicolas Chauvet - 1.5.1-1 -- Update to 1.5.1 +* Sat Dec 9 2017 Daniel Steiner +- Update to 1.8.2 -* Sat Oct 25 2014 Nicolas Chauvet - 1.4.1-1 -- Update to 1.4.1 - -* Wed Oct 8 2014 Simon Farnsworth - 1.4.0-1 -- Update to 1.4.0 - -* Sun Aug 17 2014 Fedora Release Engineering - 1.3.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Fri Jun 20 2014 Elad Alfassa - 1.3.1-3 -- Apply upstream patch to fix a firefox crash (rhbz #1105890) - -* Sat Jun 07 2014 Fedora Release Engineering - 1.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Tue May 13 2014 Nicolas Chauvet - 1.3.1-1 -- Update to 1.3.1 - -* Tue Apr 08 2014 Nicolas Chauvet - 1.3.0-1 -- Update to 1.3.0 -- Enable wayland by default - -* Sat Aug 03 2013 Fedora Release Engineering - 1.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Thu Jun 27 2013 Nicolas Chauvet - 1.2.1-1 -- Update to 1.2.1 -- Add mpeg2vaenc - -* Wed Jun 26 2013 Nicolas Chauvet - 1.2.0-1 -- Update to 1.2.0 -- Exclude mpeg2enc for now - namespace clash - -* Fri Apr 12 2013 Nicolas Chauvet - 1.1.1-2 -- Switch Requires to mesa-dri-filesystem - -* Wed Mar 20 2013 Nicolas Chauvet - 1.1.1-1 -- Update to 1.1.1 - -* Thu Feb 14 2013 Fedora Release Engineering - 1.1.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Tue Nov 20 2012 Nicolas Chauvet - 1.1.0-5 -- Drop wayland support - Lead to suspicious crash - to reintroduce later using alternates build for vainfo and libs. - -* Thu Nov 15 2012 Nicolas Chauvet - 1.1.0-4 -- Fix condition rhbz#877059 - -* Sat Oct 06 2012 Nicolas Chauvet - 1.1.0-3 -- Update to official 1.1.0 release -- Enable Wayland support on f18 - add subpackage -- Clean spec file - -* Thu Jul 19 2012 Fedora Release Engineering - 1.1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Fri Jun 01 2012 Nicolas Chauvet - 1.1.0-1 -- Update to 1.1.0 - VA-API version 0.33.0 - -* Fri Jan 13 2012 Fedora Release Engineering - 1.0.15-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Thu Nov 03 2011 Nicolas Chauvet - 1.0.15-1 -- Update to 1.0.15 -- Back to vanilla upstream sources - no backend are provided anymore - -* Sun Aug 07 2011 Nicolas Chauvet - 1.0.14-1 -- Update to 1.0.14 - -* Fri Jun 10 2011 Nicolas Chauvet - 1.0.13-2 -- Add versioned requirement between main/utils - -* Wed Jun 08 2011 Nicolas Chauvet - 1.0.13-1 -- Update to 1.0.13 - -* Fri Apr 08 2011 Nicolas Chauvet - 1.0.12-1 -- Update to 1.0.12 - -* Mon Feb 21 2011 Nicolas Chauvet - 1.0.10-1 -- Update to 1.0.10 - -* Tue Jan 25 2011 Adam Williamson - 1.0.8-1 -- bump to new version -- fix modded tarball to actually not have i965 dir -- merge with the other spec I seem to have lying around somewhere - -* Wed Nov 24 2010 Adam Williamson - 1.0.6-1 -- switch to upstream from sds branch (sds now isn't carrying any very - interesting changes according to gwenole) -- pull in the dont-install-test-programs patch from sds -- split out libva-utils again for multilib purposes -- drop -devel package obsolete/provides itself too - -* Tue Nov 23 2010 Adam Williamson - 0.31.1-3.sds4 -- drop obsoletes and provides of itself (hangover from freeworld) - -* Tue Nov 23 2010 Adam Williamson - 0.31.1-2.sds4 -- fix the tarball to actually remove the i965 code (duh) - -* Thu Oct 7 2010 Adam Williamson - 0.31.1-1.sds4 -- initial package (based on package from elsewhere by myself and Nic - Chauvet with i965 driver removed) From 7b8af531db1803af9004fa606d536d23d6051acb Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Fri, 5 Jan 2018 12:24:47 +0100 Subject: [PATCH 6/7] Update to newest version 1.10.8 --- fedora/SPECS/makemkv.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fedora/SPECS/makemkv.spec b/fedora/SPECS/makemkv.spec index 958e01b..0870db9 100644 --- a/fedora/SPECS/makemkv.spec +++ b/fedora/SPECS/makemkv.spec @@ -3,7 +3,7 @@ # Name: makemkv -Version: 1.10.5 +Version: 1.10.8 Release: 0%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: One click DVD and Blu-ray converter @@ -83,5 +83,8 @@ popd %{_datarootdir}/MakeMKV/* %changelog +* Fri Jan 5 2018 Daniel Steiner +- Update to 1.10.8. + * Tue Jan 3 2017 Daniel Steiner - Initial setup. From 4b4fce5ceb212091e091c25ad80d06e4e63f24c9 Mon Sep 17 00:00:00 2001 From: Daniel Steiner Date: Sun, 21 Jan 2018 13:43:16 +0100 Subject: [PATCH 7/7] Two now package, but, not working for the upgrade --- fedora/SPECS/certbot.spec | 225 ++++++++++++++++++++++++++++++++++ fedora/SPECS/python-acme.spec | 201 ++++++++++++++++++++++++++++++ 2 files changed, 426 insertions(+) create mode 100644 fedora/SPECS/certbot.spec create mode 100644 fedora/SPECS/python-acme.spec diff --git a/fedora/SPECS/certbot.spec b/fedora/SPECS/certbot.spec new file mode 100644 index 0000000..b64318e --- /dev/null +++ b/fedora/SPECS/certbot.spec @@ -0,0 +1,225 @@ +%global oldpkg letsencrypt + +# On fedora use python3 for certbot +%if 0%{?fedora} +%bcond_without python3 +%else +%bcond_with python3 +%endif + + +Name: certbot +Version: 0.21.0 +Release: 1%{?dist} +Summary: A free, automated certificate authority client + +License: ASL 2.0 +URL: https://pypi.python.org/pypi/certbot +Source0: https://files.pythonhosted.org/packages/source/c/%{name}/%{name}-%{version}.tar.gz + +Source10: certbot-renew-systemd.service +Source11: certbot-renew-systemd.timer +Source12: certbot-sysconfig-certbot +Source13: certbot-README.fedora + +%if 0%{?rhel} +Patch0: allow-old-setuptools.patch +%endif + +BuildArch: noarch + +%if %{with python3} +BuildRequires: python3-devel +BuildRequires: python3-future +%endif + +BuildRequires: python2-devel +BuildRequires: python2-future + +# For the systemd macros +%{?systemd_requires} +BuildRequires: systemd + +# Need to label the httpd rw stuff correctly until base selinux policy updated +Requires(post): %{_sbindir}/semanage +Requires(postun): %{_sbindir}/semanage + +# On F26+ use python3 +%if 0%{?fedora} >= 26 +Requires: python3-certbot = %{version}-%{release} +%else +Requires: python2-certbot = %{version}-%{release} +%endif + +Obsoletes: %{oldpkg} < 0.6.0 +Provides: %{oldpkg} = %{version}-%{release} + +# Required for documentation +BuildRequires: python2-sphinx +BuildRequires: python2-sphinx_rtd_theme +BuildRequires: python2-repoze-sphinx-autointerface + +#Require for testing +BuildRequires: python-nose-xcover +BuildRequires: python-pep8 +BuildRequires: python2-tox +BuildRequires: python2-mock +BuildRequires: python2-configargparse >= 0.10.0 +BuildRequires: python2-zope-interface +BuildRequires: python2-zope-component +BuildRequires: python2-requests +BuildRequires: python2-dialog >= 3.3.0 +BuildRequires: python2-psutil >= 2.1.0 +BuildRequires: python-parsedatetime +BuildRequires: python2-configobj +BuildRequires: python2-configargparse >= 0.10.0 +BuildRequires: python2-acme >= 0.20.0 + +%if %{with python3} +#Require for testing +BuildRequires: python3-nose-xcover +BuildRequires: python3-pep8 +BuildRequires: python3-tox +BuildRequires: python3-mock +BuildRequires: python3-configargparse >= 0.10.0 +BuildRequires: python3-zope-interface +BuildRequires: python3-zope-component +BuildRequires: python3-requests +BuildRequires: python3-dialog >= 3.3.0 +BuildRequires: python3-psutil >= 2.1.0 +BuildRequires: python3-parsedatetime +BuildRequires: python3-configobj +BuildRequires: python3-configargparse >= 0.10.0 +BuildRequires: python3-acme >= 0.20.0 +%endif + +%description +certbot is a free, automated certificate authority that aims +to lower the barriers to entry for encrypting all HTTP traffic on the internet. + +%package -n python2-certbot +Requires: python2-configargparse >= 0.10.0 +Requires: python2-dialog >= 3.3.0 +Requires: python-parsedatetime +Requires: python2-mock +Requires: python2-zope-interface +Requires: python2-zope-component +Requires: python2-psutil >= 2.1.0 +Requires: python2-configobj +Requires: python2-future +Requires: python2-acme >= 0.20.0 +Obsoletes: python2-%{oldpkg} < 0.6.0 +Provides: python2-%{oldpkg} = %{version}-%{release} +Obsoletes: python-%{oldpkg} < 0.6.0 +Provides: python-%{oldpkg} = %{version}-%{release} +#Recommends: certbot-doc +Summary: Python 2 libraries used by certbot +%{?python_provide:%python_provide python2-certbot} + +%description -n python2-certbot +The python2 libraries to interface with certbot + + +%if %{with python3} +%package -n python3-certbot +Requires: python3-configargparse >= 0.10.0 +Requires: python3-dialog >= 3.3.0 +Requires: python3-parsedatetime +Requires: python3-mock +Requires: python3-zope-interface +Requires: python3-zope-component +Requires: python3-psutil >= 2.1.0 +Requires: python3-future +Requires: python3-configobj +Requires: python3-acme >= 0.20.0 +Summary: Python 3 libraries used by certbot +%{?python_provide:%python_provide python3-certbot} + +%description -n python3-certbot +The python3 libraries to interface with certbot + +%endif + +%prep +%autosetup -n %{name}-%{version} -p1 + + +%build +%py2_build +%if %{with python3} +%py3_build +%endif + +# build documentation +# %{__python2} setup.py install --user +# make -C docs man PATH=${HOME}/.local/bin:$PATH + +%install +%py2_install +mv %{buildroot}%{_bindir}/certbot{,-2} +%if %{with python3} +%py3_install +mv %{buildroot}%{_bindir}/certbot{,-3} +%endif +# Add compatibility symlink as requested by upstream conference call +ln -sf /usr/bin/certbot %{buildroot}/usr/bin/%{oldpkg} +# Put the man pages in place +# install -pD -t %{buildroot}%{_mandir}/man1 docs/_build/man/*1* +# On F26+ use python3 +%if 0%{?fedora} >= 26 +ln -s %{_bindir}/certbot-3 %{buildroot}%{_bindir}/certbot +%else +ln -s %{_bindir}/certbot-2 %{buildroot}%{_bindir}/certbot +%endif +install -Dm 0644 %{SOURCE10} %{buildroot}%{_unitdir}/certbot-renew.service +install -Dm 0644 %{SOURCE11} %{buildroot}%{_unitdir}/certbot-renew.timer +install -Dm 0644 %{SOURCE12} %{buildroot}%{_sysconfdir}/sysconfig/certbot +cp %{SOURCE13} README.fedora + +%check +%{__python2} setup.py test +%if %{with python3} +%{__python3} setup.py test +%endif +# Make sure the scripts use the expected python versions +grep -q %{__python2} %{buildroot}%{_bindir}/certbot-2 +%if %{with python3} +grep -q %{__python3} %{buildroot}%{_bindir}/certbot-3 +%endif + +# The base selinux policies don't handle the certbot directories yet so set them up manually +%post +semanage fcontext -a -t cert_t '%{_sysconfdir}/(letsencrypt|certbot)/(live|archive)(/.*)?' +restorecon -R %{_sysconfdir}/letsencrypt || : + +%files +%license LICENSE.txt +%doc README.rst CHANGES.rst CONTRIBUTING.md README.fedora +%{_bindir}/certbot +%{_bindir}/%{oldpkg} +# %doc %attr(0644,root,root) %{_mandir}/man1/%{name}* +# project uses old letsencrypt dir for compatibility +%ghost %dir %{_sysconfdir}/%{oldpkg} +%ghost %dir %{_sharedstatedir}/%{oldpkg} +%config %{_sysconfdir}/sysconfig/certbot +%{_unitdir}/certbot-renew.service +%{_unitdir}/certbot-renew.timer + +%files -n python2-certbot +%license LICENSE.txt +%{python2_sitelib}/%{name} +%{python2_sitelib}/%{name}-%{version}*.egg-info +%{_bindir}/certbot-2 + +%if %{with python3} +%files -n python3-certbot +%license LICENSE.txt +%{python3_sitelib}/%{name} +%{python3_sitelib}/%{name}-%{version}*.egg-info +%{_bindir}/certbot-3 +%endif + +%changelog +* Sun Jan 21 2018 Daniel Steiner - 0.21.0-1 +- Initial build for Fedora 27 + diff --git a/fedora/SPECS/python-acme.spec b/fedora/SPECS/python-acme.spec new file mode 100644 index 0000000..c354871 --- /dev/null +++ b/fedora/SPECS/python-acme.spec @@ -0,0 +1,201 @@ +%global srcname acme + +%if 0%{?fedora} +%bcond_without python3 +%else +%bcond_with python3 +%endif + +Name: python-acme +Version: 0.20.0 +Release: 1%{?dist} +Summary: Python library for the ACME protocol +License: ASL 2.0 +URL: https://pypi.python.org/pypi/acme +Source0: https://files.pythonhosted.org/packages/source/a/%{srcname}/%{srcname}-%{version}.tar.gz + +# When running tests argparse is not recognised as provided by core + +%if 0%{?rhel} +Patch0: epel7-setup.patch +%endif + +BuildRequires: python2-devel +BuildRequires: python-sphinx +%if 0%{?fedora} +BuildRequires: python-sphinx_rtd_theme +%endif +BuildRequires: python-cryptography +BuildRequires: pyOpenSSL >= 0.13 +BuildRequires: python-requests +BuildRequires: python-pyrfc3339 + +%if %{with python3} +BuildRequires: python3-devel +BuildRequires: python3-sphinx +BuildRequires: python3-cryptography +BuildRequires: python3-pyOpenSSL >= 0.13 +BuildRequires: python3-requests +BuildRequires: python3-pyrfc3339 +%endif + +# Required for testing +BuildRequires: python-ndg_httpsclient +BuildRequires: python-nose +BuildRequires: python-tox +BuildRequires: python-mock +BuildRequires: pytz + +%if %{with python3} +BuildRequires: python3-ndg_httpsclient +BuildRequires: python3-nose +BuildRequires: python3-tox +BuildRequires: python3-mock +BuildRequires: python3-pytz +%endif + +BuildArch: noarch + +%{!?py2_build: %global py2_build CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build} +%{!?py2_install: %global py2_install %{__python} setup.py install --skip-build --root %{buildroot}} +%{!?python2_sitelib: %global python2_sitelib %{python_sitelib}} + +%package -n python2-acme +Requires: python-cryptography +Requires: python-ndg_httpsclient +Requires: python-pyasn1 +Requires: pyOpenSSL >= 0.13 +Requires: python-pyrfc3339 +Requires: pytz +Requires: python-requests +Requires: python-six +%if %{with python3} +# Recommends not supported by rpm on EL7 +#Recommends: python-acme-doc +%endif +Summary: %{summary} +%{?python_provide:%python_provide python2-acme} + + +%description +Python libraries implementing the Automatic Certificate Management Environment +(ACME) protocol. It is used by the Let's Encrypt project. + +%description -n python2-acme +Python 2 library for use of the Automatic Certificate Management Environment +protocol as defined by the IETF. It's used by the Let's Encrypt project. + +%if %{with python3} +%package -n python3-acme +Requires: python3-cryptography +Requires: python3-ndg_httpsclient +Requires: python3-pyasn1 +Requires: python3-pyOpenSSL +Requires: python3-pyrfc3339 +Requires: python3-pytz +Requires: python3-requests +Requires: python3-six +#Recommends: python-acme-doc +Summary: %{summary} +%{?python_provide:%python_provide python3-acme} + +%description -n python3-acme +Python 3 library for use of the Automatic Certificate Management Environment +protocol as defined by the IETF. It's used by the Let's Encrypt project. +%endif + +%if 0%{?fedora} +%package doc +Provides: bundled(jquery) +Provides: bundled(underscore) +Provides: bundled(inconsolata-fonts) +Provides: bundled(lato-fonts) +Provides: bundled(robotoslab-fonts) +Requires: fontawesome-fonts fontawesome-fonts-web +Summary: Documentation for python-acme libraries + +%description doc +Documentation for the ACME python libraries +%endif + +%prep +%autosetup -p1 -n %{srcname}-%{version} + + +%build +%py2_build +%if %{with python3} +%py3_build +%endif + +%install +%py2_install +mv %{buildroot}%{_bindir}/jws{,-2} +%if %{with python3} +%py3_install +mv %{buildroot}%{_bindir}/jws{,-3} +%endif + +# Doc generation is currently broken on EL7, see bz#1492884 +%if 0%{?fedora} +# man page is pretty useless but api pages are decent +# Issue opened upstream for improving man page +# Need to cd as parent makefile tries to build libraries +( cd docs && make html ) +# Clean up stuff we don't need for docs +rm -rf docs/_build/html/{.buildinfo,man,_sources} +# Unbundle fonts already on system +# Lato ttf is in texlive but that adds a lot of dependencies (30+MB) for just a font in documentation +# and lato is not in it's own -fonts package, only texlive +rm -f docs/_build/html/_static/fonts/fontawesome* +ln -sf /usr/share/fonts/fontawesome/fontawesome-webfont.eot docs/_build/html/_static/fonts/fontawesome-webfont.eot +ln -sf /usr/share/fonts/fontawesome/fontawesome-webfont.svg docs/_build/html/_static/fonts/fontawesome-webfont.svg +ln -sf /usr/share/fonts/fontawesome/fontawesome-webfont.ttf docs/_build/html/_static/fonts/fontawesome-webfont.ttf +ln -sf /usr/share/fonts/fontawesome/fontawesome-webfont.woff docs/_build/html/_static/fonts/fontawesome-webfont.woff +%endif +# upstream state that certbot isn't ready for python3 yet so symlink the -2 version for now +ln -s %{_bindir}/jws-2 %{buildroot}%{_bindir}/jws + +%check +%{__python2} setup.py test +%if %{with python3} +%{__python3} setup.py test +%endif +# Make sure the scripts use the expected python versions +grep -q %{__python2} %{buildroot}%{_bindir}/jws-2 +%if %{with python3} +grep -q %{__python3} %{buildroot}%{_bindir}/jws-3 +%endif + +%files -n python2-acme +%license LICENSE.txt +%{python2_sitelib}/%{srcname} +%{python2_sitelib}/%{srcname}-%{version}*.egg-info +%{_bindir}/jws +%{_bindir}/jws-2 +%if 0%{?rhel} +%doc README.rst +%endif + +%if %{with python3} +%files -n python3-acme +%license LICENSE.txt +%{python3_sitelib}/%{srcname} +%{python3_sitelib}/%{srcname}-%{version}*.egg-info +%{_bindir}/jws-3 +%if 0%{?rhel} +%doc README.rst +%endif +%endif + +%if 0%{?fedora} +%files doc +%license LICENSE.txt +%doc README.rst +%doc docs/_build/html +%endif + +%changelog +* Sun Jan 21 2018 Daniel Steiner - 0.21.0-1 +- Initial build for Fedora 27 +