Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Archiving:Backup
backuppc
backuppc.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File backuppc.spec of Package backuppc
# # spec file for package backuppc # # Copyright (c) 2017 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # See also http://en.opensuse.org/openSUSE:Specfile_guidelines %define backup_user backuppc %define backup_userid 126 %define backup_group backuppc %define backup_groupid 126 %define backup_root /var/lib/%{backup_user} %define backup_logdir /var/log/%{name} %define servicename backuppc %define apxs %{_sbindir}/apxs2 %define apache_sysconfdir %(%{apxs} -q SYSCONFDIR) %if 0%{?suse_version} >= 1210 %define has_systemd 1 %endif Name: backuppc Version: 3.3.2 Release: 0 Summary: BackupPC server - a high-performance, enterprise-grade system License: GPL-2.0+ Group: Productivity/Networking/System Url: https://github.com/backuppc/backuppc/releases Source0: https://github.com/backuppc/backuppc/releases/download/%{version}/BackupPC-%{version}.tar.gz Source1: %{name}.conf Source2: %{name}.service Source3: %{name}.logrotate Source4: suse-%{name}.patch Source5: %{name}-config.pl_update.patch Source99: %{name}.rpmlintrc BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: apache2-devel BuildRequires: samba-client BuildRequires: rsync BuildRequires: sendmail BuildRequires: openssh BuildRequires: iputils BuildRequires: logrotate BuildRequires: perl-base >= 5.8.0 #BuildRequires: perl-CGI %if 0%{?has_systemd} BuildRequires: systemd %{?systemd_requires} %else PreReq: %insserv_prereq %endif Requires(pre): /usr/sbin/useradd, /usr/bin/getent Requires: apache2 Requires: apache2-mod_perl Requires: samba-client Requires: logrotate Requires: tar >= 1.13.20 Requires: rsync >= 2.6.3 Requires: perl-base >= 5.8.0 #Requires: perl-Compress-Zlib Requires: perl-Archive-Zip Requires: perl-File-RsyncP >= 0.68 Requires: perl-XML-RSS Requires: perl-File-Listing Requires: perl-Net-FTP-RetrHandle Requires: perl-Net-FTP-AutoReconnect Requires: perl-CGI %if 0%{?suse_version} >= 1210 %{perl_requires} %endif %description BackupPC is a high-performance, enterprise-grade system for backing up Linux, WinXX and MacOSX PCs and laptops to a server's disk. BackupPC is highly configurable and easy to install and maintain. It provides a http User interface, where the backups can be configured or started manually, files or directories can be restored to zip files, tar files or using one of the backup transfer protocols to restore directly to the clients disk. Backups can be obtained by using the backup transfer protocols: tar over ssh, rsync, smb, ftp The backup server deduplicates files and stores them in an uncompressed or compressed pool. It automatically removes old backups as configured. %prep %setup -q -n BackupPC-%{version} %build %install perl configure.pl \ --batch \ --backuppc-user=%{backup_user} \ --config-dir=%{_sysconfdir}/%{name} \ --cgi-dir=%{_datadir}/%{name}/cgi-bin \ --data-dir=%{backup_root} \ --dest-dir %{buildroot} \ --html-dir=%{_datadir}/%{name}/html \ --html-dir-url=/%{name}/images \ --install-dir=%{_datadir}/%{name} \ --log-dir=%{backup_logdir} \ --uid-ignore \ --no-set-perms \ --hostname=localhost # install systemd.service or init.d mkdir %{buildroot}%{_sbindir} %if 0%{?has_systemd} %{__install} -d %{buildroot}%{_unitdir} %{__install} -p -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/ ln -s service %{buildroot}%{_sbindir}/rc%{servicename} %else %{__install} -d %{buildroot}/%{_initrddir} %{__install} -p -m 0755 init.d/suse-backuppc %{buildroot}/%{_initrddir}/%{servicename} patch %{buildroot}%{_initrddir}/%{servicename} %{SOURCE4} ln -s ../..%{_initrddir}/%{servicename} %{buildroot}/%{_sbindir}/rc%{servicename} %endif # install backuppc.conf to /etc/apache2/conf.d %{__install} -D -m 0640 %{SOURCE1} %{buildroot}/%{apache_sysconfdir}/conf.d/%{name}.conf # install logrotate %{__install} -D -m 0644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/logrotate.d/%{name} # folder for pc specific/ individual configuration files if ! test -d %{buildroot}%{_sysconfdir}/%{name}/pc; then mkdir %{buildroot}%{_sysconfdir}/%{name}/pc fi # create folder for log files mkdir -p %{buildroot}%{backup_logdir} mkdir -p %{buildroot}%{_rundir}/%{name}/ cp %{SOURCE5} %{buildroot}%{_datadir}/%{name}/ %pre # Create the user and group (as from http://fedoraproject.org/wiki/Packaging%3aUsersAndGroups) getent group %{backup_group} >/dev/null || groupadd -f -g %{backup_groupid} -r %{backup_group} if ! getent passwd %{backup_user} >/dev/null ; then if ! getent passwd %{backup_userid} >/dev/null ; then useradd -r -u %{backup_userid} -g %{backup_group} -d %{backup_root} -s /sbin/nologin -c "Backup server owner" %{backup_user} else useradd -r -g %{backup_group} -d %{backup_root} -s /sbin/nologin -c "Backup server owner" %{backup_user} fi fi # The user directory is created in the files section exit 0 %if 0%{?has_systemd} %service_add_pre %{name}.service %endif %preun %stop_on_removal %{name} %if 0%{?has_systemd} %service_del_preun %{name}.service %endif %post %if 0%{?has_systemd} %service_add_post %{name}.service %else %restart_on_update %{name} %endif # Activate the Apache required modules a2enmod -q version || a2enmod version a2enmod -q perl || a2enmod perl if ! test -f %{_sysconfdir}/%{name}/passwd; then echo -ne '\n *** i miss %{_sysconfdir}/%{name}/passwd ...' echo -ne '\n *** Please set Username and Password (for the HTTP-Frontend) by running' echo -ne '\n *** htpasswd2 -c %{_sysconfdir}/%{name}/passwd <allowed User/Cgi Admin>\n\n' fi if ! grep -v --quiet \'\' %{_sysconfdir}/%{name}/config.pl | grep '^$Conf{CgiAdminUsers' ; then echo ' *** neither CgiAdminUsersGroup, nor CgiAdminUsers ist set in %{_sysconfdir}/%{name}/config.pl' echo ' *** You will not be able to modify system settings using the CGI interface.' fi # update config.pl by patch: if grep -q "backuppc.wiki.sourceforge.net" %{_sysconfdir}/%{name}/config.pl; then echo "update current config.pl (copyright and Wiki)" patch %{_sysconfdir}/%{name}/config.pl %{_datadir}/%{name}/backuppc-config.pl_update.patch fi %postun %if 0%{?has_systemd} %service_del_postun %{name}.service %else %restart_on_update %{name} %{insserv_cleanup} %endif %files %defattr(-,root,root,755) # backup User directory %dir %attr(0770,%{backup_user},%{backup_group}) %{backup_root} %dir %attr(0770,%{backup_user},%{backup_group}) %{backup_root}/pc %dir %attr(0770,%{backup_user},%{backup_group}) %{backup_root}/pool %dir %attr(0770,%{backup_user},%{backup_group}) %{backup_root}/cpool %dir %attr(0770,%{backup_user},%{backup_group}) %{backup_root}/trash # /etc -> /etc/backuppc. /etc/apache2/..., /etc/logrotate.d/... %dir %attr(0750,%{backup_user},%{backup_group}) %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/%{name}/* %dir %attr(0750,%{backup_user},%{backup_group}) %{_sysconfdir}/%{name}/pc %config(noreplace) %{_sysconfdir}/apache2/conf.d/%{name}.conf %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} # /usr/share/backuppc %dir %attr(0750,root,%{backup_group}) %{_datadir}/%{name} %{_datadir}/%{name}/doc %docdir %{_datadir}/%{name}/doc %{_datadir}/%{name}/lib %{_datadir}/%{name}/bin %attr(0754,root,%{backup_group}) %{_datadir}/%{name}/bin/BackupPC* %{_datadir}/%{name}/cgi-bin %attr(0754,root,%{backup_group}) %{_datadir}/%{name}/cgi-bin/BackupPC_Admin %{_datadir}/%{name}/html # Log dir %dir %attr(0750,%{backup_user},%{backup_group}) %{backup_logdir} %attr(0754,root,%{backup_group}) %{_datadir}/%{name}/backuppc-config.pl_update.patch %if 0%{?has_systemd} %{_unitdir}/%{name}.service %else %{_initrddir}/%{servicename} %endif %{_sbindir}/rc%{servicename} %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor