Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37508663
en ru br
Репозитории ALT

Группа :: Архивирование/Резервное копирование
Пакет: bup

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%def_enable doc

Name:     bup
Version:  0.33.2
Release:  alt1

Summary:  Very efficient backup system based on the git packfile format
# all of the code is licensed as GNU Lesser General Public License v2, except:
# - lib/bup/bupsplit.c: BSD License (two clause),
# - lib/bup/bupsplit.h: BSD License (two clause),
# - lib/bup/options.py: BSD License (two clause),
# - definition of relpath() function in wvtest.py: Python License
License:  LGPL-2.0 and BSD-2-Clause and Python
Group:    Archiving/Backup

URL:      https://bup.github.io/
Source0:   %name-%version.tar
# VCS:    https://github.com/bup/bup
Source1:  bup-web.service
Patch1:   bup-disable-test_from_path_error.patch
Patch2:   bup-python.patch
Patch3:   bup-fix_uint32.patch
Packager: Andrey Cherepanov <cas at altlinux.org>

BuildRequires(pre): rpm-build-python3
BuildRequires: python3-devel
BuildRequires: git-core
BuildRequires: python3-module-fuse
BuildRequires: python3-module-pyxattr
BuildRequires: python3-module-libacl
BuildRequires: python3-module-tornado
%if_enabled doc
BuildRequires: pandoc
%endif

%add_findreq_skiplist %_libexecdir/%name/cmd/bup*
%add_python3_path %_libexecdir/%name/
%py3_requires xattr posix1e fuse
%filter_from_requires /python3(bup_main)/d

Requires: git-core

%description
Very efficient backup system based on the git packfile format, providing fast
incremental saves and global deduplication (among and within files, including
virtual machine images). Some of its features are:
* It uses a rolling checksum algorithm and hence it can backup huge files
 incrementally.
* It uses packfile format from git, so one can access the stored data even if
 he doesn't like bup's user interface.
* It writes packfiles directly so it is fast even with huge amounts of data:
 it can track millions of files and keep track of hundreds or thousands of
 gigabytes of objects.
* Data is "automagically" shared between incremental backups without having to
 know which backup is based on which other one.
* One can make a backup directly to a remote bup server, without needing tons
 of temporary disk space on the computer being backed up. If the backup is
 interrupted halfway through, the next run will pick up where the previous
 backup left off.
* It can use "par2" redundancy to recover corrupted backups even if the disk
 has undetected bad sectors.
* Each incremental backup acts as if it's a full backup, it just takes less
 disk space.
* One can mount a bup repository as a FUSE filesystem and access the contents
 that way, or even export it over Samba.

%package web
License: LGPL-2.0
Summary: Web server for browsing through bup repositories
Group:   Archiving/Backup
Requires: %name = %version-%release
Requires: python3-module-tornado

%description web
Provides the "bup web" command which runs a web server for browsing through
bup repositories.

%prep
%setup
#patch1 -p1
#patch2 -p1
%patch3 -p1
%ifarch %e2k
# _helpers.c:439 and on and on
sed -i 's,-Werror,,;s,-O2,-O%_optlevel,' Makefile*
%endif

%build
pushd config
# NB: homemade one, do not try %%configure
./configure \
      --prefix=%_prefix \
      --execdir=%_bindir \
      --sbindir=%_sbindir \
      --confdir=%_sysconfdir \
      --libdir=%_libdir \
      --libexecdir=%_libexecdir \
      --mandir=%_mandir
popd
%make_build PREFIX=%_prefix PYTHON=%__python3

%install
%makeinstall_std PREFIX=%_prefix PYTHON=%__python3
rm -f %buildroot%_bindir/%name
ln -s ../lib/bup/cmd/bup %buildroot%_bindir/%name
install -Dm0644 %SOURCE1 %buildroot%_unitdir/bup-web.service
rm -f %buildroot%_libexecdir/%name/bup/py2raise.py

%check
#make test

%post web
%post_service bup-web

%preun web
%preun_service bup-web

%files
%doc README README.md DESIGN
%if_enabled doc
%doc %_defaultdocdir/%name/
%endif
%_bindir/%name
%_libexecdir/%name/
%if_enabled doc
%_man1dir/%{name}*
%exclude %_man1dir/bup-web.1*
%endif
%exclude %_libexecdir/%name/web/

%files web
%_libexecdir/%name/web/
%_unitdir/bup-web.service
%if_enabled doc
%_man1dir/bup-web.1*
%endif

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin