From d8593f6ef38e100c4d2bafb15d41482ae4dc2260 Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Fri, 2 Aug 2019 08:17:39 -0500 Subject: [PATCH 1/6] "Adding package.cfg file" --- package.cfg | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 package.cfg diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..66ea79d --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = epel8 epel8-playground \ No newline at end of file From 79b63c7838b8f35e4e44dc6b580aea3e10f527dd Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Mon, 5 Aug 2019 19:26:29 -0500 Subject: [PATCH 2/6] Initial import for epel8. --- BackupPC.spec | 592 ++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 21 -- sources | 1 + 3 files changed, 593 insertions(+), 21 deletions(-) create mode 100644 BackupPC.spec delete mode 100644 Makefile diff --git a/BackupPC.spec b/BackupPC.spec new file mode 100644 index 0000000..1616d4f --- /dev/null +++ b/BackupPC.spec @@ -0,0 +1,592 @@ +%global _hardened_build 1 + +# tmpfiles.d & systemd not supported in RHEL < 7 +%if 0%{?fedora} || 0%{?rhel} >= 7 +%global _with_tmpfilesd 1 +%global _with_systemd 1 +%endif + +%global _updatedb_conf /etc/updatedb.conf + +Name: BackupPC +Version: 4.3.1 +Release: 2%{?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: gcc +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 + +# 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(post): shadow-utils +%{?systemd_requires} +%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}-%{release} + + +%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 backuppc.service +%else +if [ $1 = 0 ]; then + # Package removal, not upgrade + service backuppc stop > /dev/null 2>&1 || : + chkconfig --del backuppc || : +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 backuppc.service +%else +if [ $1 -eq 1 ]; then + # initial installation + chkconfig --add backuppc || : +fi +%{_sbindir}/usermod -a -G backuppc 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 backuppc.service + + +%files +%doc README.md README.setup README.RHEL ChangeLog doc/* +%license LICENSE +%dir %attr(-,backuppc,backuppc) %{_localstatedir}/log/%{name} +%dir %attr(-,backuppc,backuppc) %{_sysconfdir}/%{name}/ +%config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf +%config(noreplace) %attr(-,backuppc,apache) %{_sysconfdir}/%{name}/* +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/sbin +%{_datadir}/%{name}/[^s]* +%attr(750,backuppc,apache) %{_datadir}/%{name}/sbin/BackupPC_Admin + +%if 0%{?_with_tmpfilesd} +%{_tmpfilesdir}/%{name}.conf +%else +%dir %attr(0775,root,backuppc) %{_localstatedir}/run/%{name} +%endif + +%if 0%{?_with_systemd} +%{_unitdir}/backuppc.service +%else +%attr(0755,root,root) %{_initrddir}/backuppc +%endif + +%attr(4750,backuppc,apache) %{_libexecdir}/%{name}/BackupPC_Admin +%attr(-,backuppc,root) %{_localstatedir}/lib/%{name}/ +%{_datadir}/selinux/packages/%{name}/%{name}.pp + + +%changelog +* Wed Jul 24 2019 Fedora Release Engineering - 4.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Jul 14 2019 Richard Shaw - 4.3.1-1 +- Update to 4.3.1. + +* Thu Jan 31 2019 Fedora Release Engineering - 4.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Nov 26 2018 Richard Shaw - 4.3.0-1 +- Update to 4.3.0. + +* Mon Nov 05 2018 Orion Poplawski - 4.2.1-4 +- Add reload support to systemd service file + +* Thu Oct 11 2018 Richard Shaw - 4.2.1-3 +- Revert accidental change to log dir permissions. +- Don't package /run dir when using tmpfiles. + +* Thu Jul 12 2018 Fedora Release Engineering - 4.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon May 07 2018 Richard Shaw - 4.2.1-1 +- Update to 4.2.1. + +* Mon Apr 9 2018 Richard Shaw - 4.2.0-1 +- Update to 4.2.0. + +* Wed Feb 07 2018 Fedora Release Engineering - 4.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Dec 4 2017 Richard Shaw - 4.1.5-1 +- Update to latest upstream release. + +* Sat Nov 25 2017 Richard Shaw - 4.1.4-1 +- Update to latest upstream release. + +* Thu Nov 09 2017 Richard Shaw - 4.1.3-4.1 +- Add patch to set lib location correctly in BackupPC_zipCreate.pl + +* Wed Aug 02 2017 Fedora Release Engineering - 4.1.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 4.1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jul 4 2017 Richard Shaw - 4.1.3-2 +- Change requirement from the sendmail package to the sendmail binary + which is also provided by the default MTA, postfix. + +* Sun Jun 4 2017 Richard Shaw - 4.1.3-1 +- Update to latest upstream release. + +* Sun May 28 2017 Richard Shaw - 4.1.2-2 +- Change permissions on config files to be in the apache group. +- Update systemd service file to start httpd automatically. + +* Tue May 2 2017 Richard Shaw - 4.1.2-1 +- Update to latest upstream release, 4.1.2. + +* Thu Mar 30 2017 Richard Shaw - 4.1.1-1 +- Update to latest upstream release, 4.1.1. + +* Sat Mar 25 2017 Richard Shaw - 4.1.0-1 +- Update to latest upstream release, 4.1.0. + +* Thu Mar 9 2017 Richard Shaw - 4.0.0-1 +- Update to latest upstream release, 4.0.0. + +* Wed Mar 1 2017 Ville Skyttä - 3.3.1-9 +- Move tmpfiles.d config to %%{_tmpfilesdir} +- Install LICENSE as %%license + +* Fri Feb 10 2017 Fedora Release Engineering - 3.3.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Dec 22 2016 Benjamin Lefoul - 3.3.1-7 +- Perl unescaped braces (BZ 1259481) + +* Tue Oct 18 2016 Benjamin Lefoul - 3.3.1-6 +- Some IPv6 support (BZ 1385630) + +* Fri Jul 15 2016 Benjamin Lefoul - 3.3.1-5 +- Deprecation of defined(@array) in perl + +* Wed Jun 29 2016 Benjamin Lefoul - 3.3.1-4 +- Support for systemd and tmpfiles for RHEL >= 7 + +* Wed Feb 03 2016 Fedora Release Engineering - 3.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jun 16 2015 Fedora Release Engineering - 3.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Mar 14 2015 Bernard Johnson - 3.3.1-1 +- v 3.3.1 + +* Fri Aug 15 2014 Fedora Release Engineering - 3.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jun 06 2014 Fedora Release Engineering - 3.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Feb 21 2014 Bernard Johnson 3.3.0-2 +- fix typo in README.RHEL +- enable PIE build (bz #965523) +- add patch that causes getpwnam to return only uid to fix selinux denials + (bz #827854) +- add local-fs.target and remote-fs.target to startup dependency (bz #959309) + +* Fri Feb 21 2014 Johan Cwiklinski 3.3.0-1 +- Last upstream release +- Remove no longer needeed patches +- Fix incorrect-fsf-address to reduce rpmlint output + +* Fri Feb 21 2014 Bernard Johnson - 3.3.0-1 +- v 3.3.0 +- fixed typos + +* Fri Aug 02 2013 Fedora Release Engineering - 3.2.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jul 17 2013 Petr Pisar - 3.2.1-14 +- Perl 5.18 rebuild + +* Sun Mar 31 2013 Ville Skyttä - 3.2.1-13 +- Add build dependency on Pod::Usage (#913855). +- Fix bogus dates in %%changelog. + +* Wed Feb 13 2013 Fedora Release Engineering - 3.2.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Jan 20 2013 Bernard Johnson 3.2.1-11 +- Missing backuppc.service file after upgrade to 3.2.1-10 causes service to + exit at start (bz #896626) + +* Mon Dec 24 2012 Bernard Johnson 3.2.1-10 +- cleanup build macros for Fedora +- fix deprecated qw messages (partial fix for bz #755076) +- CVE-2011-5081 BackupPC: XSS flaw in RestoreFile.pm + (bz #795017, #795018, #795019) +- Broken configuration for httpd 2.4 (bz #871353) + +* Sun Dec 9 2012 Peter Robinson 3.2.1-9 +- Fix FTBFS on F-18+ + +* Wed Jul 18 2012 Fedora Release Engineering - 3.2.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Jan 22 2012 Bernard Johnson - 3.2.1-7 +- change %%{_sharedstatedir} to %%{_localstatedir}/lib as these expand + differently on EL (bz #767719) +- fix XSS vulnerability (bz #749846, bz #749847, bz #749848) CVE-2011-3361 +- additional documentation about enabling correct channels in RHEL to resolve + all dependencies (bz #749627) +- fix bug with missing tmpfiles.d directory +- add perl(Digest::MD5) to list of build and install dependencies + +* Wed Sep 21 2011 Bernard Johnson - 3.2.1-6 +- fix postun scriptlet error (bz #736946) +- make postun scriptlet more coherent +- change selinux context on log files to httpd_log_t and allow access + to them (bz #730704) + +* Fri Aug 12 2011 Bernard Johnson - 3.2.1-4 +- change macro conditionals to include tmpfiles.d support starting at + Fedora 15 (bz #730053) +- change install lines to preserve timestamps + +* Fri Jul 08 2011 Bernard Johnson - 3.2.1-1 +- v 3.2.1 +- add lower case script URL alias for typing impaired +- cleanup selinux macros +- spec cleanup +- make samba dependency on actual files required to EL5 can use samba-client + or samba3x-client (bz #667479) +- unbundle perl(Net::FTP::AutoReconnect) and perl(Net::FTP::RetrHandle) +- remove old patch that is no longer needed +- attempt to make sure $Conf{TopDir} is listed in updatedb PRUNEPATHS, + otherwise at least generate a warning on statup (bz #554491) +- move sockets to /var/run (bz #719499) +- add support for systemd starting at F16 (bz #699441) +- patch to move pid dir under /var/run +- unbundle Net::FTP::* +- add support for tmpfiles.d + +* Mon Feb 07 2011 Fedora Release Engineering - 3.1.0-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Aug 02 2010 Johan Cwiklinski 3.1.0-16 +- Debugingo with no sources (fix bug #620257) + +* Sat Jul 31 2010 Johan Cwiklinski 3.1.0-15 +- perl-suidperl is no longer available (fix bug #611009) + +* Fri Jul 09 2010 Mike McGrath 3.1.0-14.1 +- Rebuilding to fix perl-suidperl broken dep + +* Mon May 17 2010 Johan Cwiklinski 3.1.0-14 +- Fix for bug #592762 + +* Sun Feb 28 2010 Johan Cwiklinski 3.1.0-12 +- Add "::1" to the apache config file for default allowed adresses +- Fix a typo in the apache config file + +* Sun Jan 17 2010 Johan Cwiklinski 3.1.0-11 +- Really fix selinux labelling backup directory (bug #525948) + +* Fri Jan 15 2010 Johan Cwiklinski 3.1.0-10 +- Fix selinux labelling backup directory (bug #525948) + +* Fri Sep 25 2009 Johan Cwiklinski 3.1.0-9 +- Fix security bug (bug #518412) + +* Wed Sep 23 2009 Johan Cwiklinski 3.1.0-8 +- Rebuild with latest SELinux policy (bug #524630) + +* Fri Sep 18 2009 Johan Cwiklinski 3.1.0-7 +- Fix SELinux policy module for UserEmailInfo.pl file + +* Fri Jul 24 2009 Fedora Release Engineering - 3.1.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Apr 10 2009 Johan Cwiklinski 3.1.0-5 +- Fix TopDir change (bug #473944) + +* Mon Feb 23 2009 Fedora Release Engineering - 3.1.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Aug 11 2008 Johan Cwiklinski 3.1.0-3 +- using /dev/null with SELinux policy to avoid broken pipe errors (bug #432149) + +* Sat Apr 05 2008 Johan Cwiklinski 3.1.0-2 +- correcting nologin path + +* Thu Nov 29 2007 Johan Cwiklinski 3.1.0-1 +- New upstream version +- Added samba-client as a dependency +- Added readme.fedora +- Changed CGI admin path in default config file + +* Fri Sep 21 2007 Johan Cwiklinski 3.0.0-3 +- Fixed SELinux policy module + +* Wed Sep 12 2007 Johan Cwiklinski 3.0.0-2 +- Added SELinux policy module + +* Tue Jan 30 2007 Johan Cwiklinski 3.0.0-1 +- Rebuild RPM for v 3.0.0 + +* Sat Aug 26 2006 Mike McGrath 2.1.2-7 +- Release bump for rebuild + +* Tue Jul 25 2006 Mike McGrath 2.1.2-6 +- One more config change + +* Sun Jul 23 2006 Mike McGrath 2.1.2-5 +- Added upstream patch for better support for rsync + +* Sun Jul 23 2006 Mike McGrath 2.1.2-4 +- Properly marking config files as such + +* Sun Jul 23 2006 Mike McGrath 2.1.2-3 +- Changes to defaults in config.pl +- Added Requires: rsync + +* Fri Jul 21 2006 Mike McGrath 2.1.2-2 +- Added requires: perl(File::RsyncP) + +* Tue Jul 18 2006 Mike McGrath 2.1.2-1 +- Initial Fedora Packaging diff --git a/Makefile b/Makefile deleted file mode 100644 index a107c41..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: BackupPC -# $Id$ -NAME := BackupPC -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/sources b/sources index e69de29..d8c4598 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (BackupPC-4.3.1.tar.gz) = acabc8d79779bfa599192af88938dbdbf7bf12e82564f3c25398cc4bc04207ea21494974bec20779433f0207fd82b17107c538437309950d619ca3a9856e721f From 8a5e78db27ab23f355c9303256eee14b34e8bd90 Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Mon, 5 Aug 2019 19:45:26 -0500 Subject: [PATCH 3/6] Add other needed files to the epel8 branch. --- BackupPC-4.1.3-docfix.patch | 39 +++++++++++++++++++++++++++++++++++++ BackupPC.htaccess | 36 ++++++++++++++++++++++++++++++++++ BackupPC.logrotate | 11 +++++++++++ BackupPC.tmpfiles | 1 + BackupPC_Admin.c | 12 ++++++++++++ README.RHEL | 22 +++++++++++++++++++++ README.setup | 31 +++++++++++++++++++++++++++++ backuppc.service | 14 +++++++++++++ 8 files changed, 166 insertions(+) create mode 100644 BackupPC-4.1.3-docfix.patch create mode 100644 BackupPC.htaccess create mode 100644 BackupPC.logrotate create mode 100644 BackupPC.tmpfiles create mode 100644 BackupPC_Admin.c create mode 100644 README.RHEL create mode 100644 README.setup create mode 100644 backuppc.service diff --git a/BackupPC-4.1.3-docfix.patch b/BackupPC-4.1.3-docfix.patch new file mode 100644 index 0000000..e9c1780 --- /dev/null +++ b/BackupPC-4.1.3-docfix.patch @@ -0,0 +1,39 @@ +--- a/configure.pl ++++ b/configure.pl +@@ -949,7 +949,7 @@ sub DoInstall + # Create install directories + # + foreach my $dir ( qw(bin +- share share/doc share/doc/BackupPC ++ doc + lib lib/BackupPC + lib/BackupPC/CGI + lib/BackupPC/Config +@@ -1085,13 +1085,13 @@ sub DoInstall + print("Making Apache configuration file for suid-perl\n"); + InstallFile("httpd/src/BackupPC.conf", "httpd/BackupPC.conf", 0644); + +- print("Installing docs in $DestDir$Conf{InstallDir}/share/doc/BackupPC\n"); ++ print("Installing docs in $DestDir$Conf{InstallDir}/doc\n"); + foreach my $doc ( qw(BackupPC.pod BackupPC.html) ) { +- InstallFile("doc/$doc", "$DestDir$Conf{InstallDir}/share/doc/BackupPC/$doc", 0444); ++ InstallFile("doc/$doc", "$DestDir$Conf{InstallDir}/doc/$doc", 0444); + # + # clean up files from old directory + # +- unlink("$DestDir$Conf{InstallDir}/doc/$doc") if ( -f "$DestDir$Conf{InstallDir}/doc/$doc" ); ++ #unlink("$DestDir$Conf{InstallDir}/doc/$doc") if ( -f "$DestDir$Conf{InstallDir}/doc/$doc" ); + } + # + # clean up old directory (ok if it quietly fails if there are other files in that directory) +--- a/lib/BackupPC/CGI/View.pm ++++ b/lib/BackupPC/CGI/View.pm +@@ -102,7 +102,7 @@ sub action + $file = $bpc->ConfDir() . "/hosts"; + $linkHosts = 1; + } elsif ( $type eq "docs" ) { +- $file = $bpc->InstallDir() . "/share/doc/BackupPC/BackupPC.html"; ++ $file = $bpc->InstallDir() . "/doc/BackupPC.html"; + } elsif ( $host ne "" ) { + if ( !defined($In{num}) ) { + # get the latest LOG file diff --git a/BackupPC.htaccess b/BackupPC.htaccess new file mode 100644 index 0000000..e63c3b9 --- /dev/null +++ b/BackupPC.htaccess @@ -0,0 +1,36 @@ + +# BackupPC requires valid authentication in order for the web interface to +# function properly. One can view the web interface without authentication +# though all functionality is disabled. +# +# htpasswd -c /etc/BackupPC/apache.users yourusername +# + +AuthType Basic +AuthUserFile /etc/BackupPC/apache.users +AuthName "BackupPC" + + + # Apache 2.4 + + Require valid-user + + Require local + + + + + # Apache 2.2 + order deny,allow + deny from all + allow from 127.0.0.1 + allow from ::1 + require valid-user + + + + + +Alias /BackupPC/images /usr/share/BackupPC/html/ +ScriptAlias /BackupPC /usr/libexec/BackupPC/BackupPC_Admin +ScriptAlias /backuppc /usr/libexec/BackupPC/BackupPC_Admin diff --git a/BackupPC.logrotate b/BackupPC.logrotate new file mode 100644 index 0000000..be99b63 --- /dev/null +++ b/BackupPC.logrotate @@ -0,0 +1,11 @@ +# ----- logrotate config ------------- +# BackupPC rotates its own logs! Do not enable this unless BackupPC's internal +# log rotation system has been disabled or if you REALLY know what you are doing. + +#/var/log/BackupPC/LOG { +# missingok +# weekly +# notifempty +# nocompress +# create 644 backuppc backuppc +#} diff --git a/BackupPC.tmpfiles b/BackupPC.tmpfiles new file mode 100644 index 0000000..3df527d --- /dev/null +++ b/BackupPC.tmpfiles @@ -0,0 +1 @@ +D /var/run/BackupPC 0775 root backuppc - diff --git a/BackupPC_Admin.c b/BackupPC_Admin.c new file mode 100644 index 0000000..db75d6b --- /dev/null +++ b/BackupPC_Admin.c @@ -0,0 +1,12 @@ +#include +#include +#include + +int main( int argc, char ** argv, char ** envp ) +{ + if( setgid(getegid()) ) perror( "setgid" ); + if( setuid(geteuid()) ) perror( "setuid" ); + execv( "/usr/share/BackupPC/sbin/BackupPC_Admin", argv ); + perror( argv[0] ); + return errno; +} diff --git a/README.RHEL b/README.RHEL new file mode 100644 index 0000000..3acd5d5 --- /dev/null +++ b/README.RHEL @@ -0,0 +1,22 @@ +If you are installing this software on a Red Hat Enterprise Linux (RHEL) +server, you will have to subscribe to the "RHEL Server Optional" before +attempting to install this component. If you do not enable this channel, you +will receive an error that looks similar to this: + + --> Finished Dependency Resolution + Error: Package: BackupPC-3.2.1-1.el6.x86_64 (epel) + Requires: perl(Archive::Zip) + Error: Package: BackupPC-3.2.1-1.el6.x86_64 (epel) + Requires: perl(XML::RSS) + Error: Package: BackupPC-3.2.1-1.el6.x86_64 (epel) + Requires: perl-Time-modules + Error: Package: BackupPC-3.2.1-1.el6.x86_64 (epel) + Requires: perl(Time::ParseDate) + You could try using --skip-broken to work around the problem + You could try running: rpm -Va --nofiles --nodigest + + +References: +http://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F +https://access.redhat.com/kb/docs/DOC-11313 +https://bugzilla.redhat.com/show_bug.cgi?id=749627 diff --git a/README.setup b/README.setup new file mode 100644 index 0000000..501ebd9 --- /dev/null +++ b/README.setup @@ -0,0 +1,31 @@ +BackupPC's README file for Fedora & EPEL + +## BackupPC's user +For security reasons, backuppc user cannot log in. If you want to start manual +backup (ie for debugging), you'll need to set it a shell : + +Permanent: +usermod -s /bin/bash + +or + +Temporary: +su -s /bin/bash -l backuppc + + +Do not forget to create an SSH key (ssk-keygen) and copy it to remote computers +if you plan to use tar/rsync over SSH backup method. + +The easiest way to do this (after logging in as the backuppc user) is to use ssh-copy-id + +## BackupPC's web interface +The CGI web interface is located at : +http://localhost/BackupPC + +You will need to create users in /etc/BackupPC/apache.users : +htpasswd -c /etc/BackupPC/apache.users username +(Note that the '-c' flag is only necessary to create the file) + +Once complete, add that user as an admin in config.pl: + +$Conf{BackupPCUser} = '' diff --git a/backuppc.service b/backuppc.service new file mode 100644 index 0000000..ab1fee6 --- /dev/null +++ b/backuppc.service @@ -0,0 +1,14 @@ +[Unit] +Description= BackupPC server +After=syslog.target local-fs.target remote-fs.target + +[Service] +Type=simple +User=backuppc +Group=backuppc +ExecStart=/usr/share/BackupPC/bin/BackupPC +ExecReload=/bin/kill -HUP $MAINPID +PIDFile=/var/run/BackupPC/BackupPC.pid + +[Install] +WantedBy=multi-user.target From 486b5edcbb4ef98e4d3d7fbc4f7054285c21452c Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Mon, 5 Aug 2019 21:20:01 -0500 Subject: [PATCH 4/6] Don't BR BackupPC-XS if we don't need it while building. --- BackupPC.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BackupPC.spec b/BackupPC.spec index 1616d4f..23110b7 100644 --- a/BackupPC.spec +++ b/BackupPC.spec @@ -29,7 +29,7 @@ Patch0: BackupPC-4.1.3-docfix.patch BuildRequires: gcc BuildRequires: perl-generators -BuildRequires: perl(BackupPC::XS) >= 0.53 +#BuildRequires: perl(BackupPC::XS) >= 0.53 BuildRequires: perl(CGI) BuildRequires: perl(Compress::Zlib) BuildRequires: perl(Data::Dumper) From aab1d6d83a0955cfe88ee1469180077a40ee6b83 Mon Sep 17 00:00:00 2001 From: Richard Shaw Date: Tue, 6 Aug 2019 07:51:26 -0500 Subject: [PATCH 5/6] Looks like BackupPC-XS is needed during package building. --- BackupPC.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BackupPC.spec b/BackupPC.spec index 23110b7..1616d4f 100644 --- a/BackupPC.spec +++ b/BackupPC.spec @@ -29,7 +29,7 @@ Patch0: BackupPC-4.1.3-docfix.patch BuildRequires: gcc BuildRequires: perl-generators -#BuildRequires: perl(BackupPC::XS) >= 0.53 +BuildRequires: perl(BackupPC::XS) >= 0.53 BuildRequires: perl(CGI) BuildRequires: perl(Compress::Zlib) BuildRequires: perl(Data::Dumper) From ba8898110fcc7fe817a9df5e532998ded7abab11 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Thu, 24 Sep 2020 16:15:04 +0000 Subject: [PATCH 6/6] remove package.cfg per new epel-playground policy --- package.cfg | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 package.cfg diff --git a/package.cfg b/package.cfg deleted file mode 100644 index 66ea79d..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = epel8 epel8-playground \ No newline at end of file