]> git.pld-linux.org Git - packages/anyfs-tools.git/blame - anyfs-tools.spec
- BR fixes, proper -devel contents
[packages/anyfs-tools.git] / anyfs-tools.spec
CommitLineData
21d472d1
JB
1#
2# Conditional build:
696084fd 3%bcond_without dist_kernel # allow non-distribution kernel
4%bcond_without kernel # don't build 'any' kernel module
21d472d1
JB
5%bcond_without userspace # don't build userspace utilities
6#
c939ee5d 7%define _rel 1
9ae21f85 8Summary: anyfs-tools - a unix-like toolset for recovering and converting filesystems
1ffc5fef 9Summary(pl.UTF-8): anyfs-tools - uniksowy zestaw narzędzi do odzyskiwania i konwersji systemów plików
430df31f 10Name: anyfs-tools
c939ee5d 11Version: 0.84.12
12Release: %{_rel}
430df31f 13License: GPL v2
9ae21f85 14Group: Applications/System
430df31f 15Source0: http://dl.sourceforge.net/anyfs-tools/%{name}-%{version}.tar.bz2
c939ee5d 16# Source0-md5: 548126cb199da13c632805ef3fcca26c
da6ae5d5 17Patch0: %{name}-DFL_RTEXTSIZE.patch
50652117 18URL: http://anyfs-tools.sourceforge.net/
c939ee5d 19%{?with_userspace:BuildRequires: e2fsprogs-devel >= 1.38}
696084fd 20%if %{with kernel}
58f1fe78 21%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
696084fd 22BuildRequires: rpmbuild(macros) >= 1.379
23%endif
c939ee5d 24%if %{with userspace}
bdadd437 25BuildRequires: bzip2-devel
da6ae5d5 26BuildRequires: libfuse-devel >= 2.5
99129efa 27BuildRequires: mpeg2dec-devel
bdadd437 28BuildRequires: pkgconfig
d0fae6b5 29BuildRequires: xfsprogs-devel >= 2.8.11
c939ee5d 30%endif
430df31f 31BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33%description
34anyfs-tools provides a unix-like toolset for recovering and converting
35filesystems. The following utils are included in the toolset:
36
9ae21f85 37build_it uses Linux OS filesystem drivers to recursively read
430df31f 38directory entries in order to obtain information about all of the
39filesystem inodes. The information is then saved to an external inode
40table.
41
42anysurrect searches block devices for specific file types, based on
43their file structure. Information about each found file type is also
44saved to an external inode table.
45
46reblock changes the filesystem block size. reblock uses information
47from the filesystems inode table to change each files' fragments
48placing so that it will align with block boundaries but with a new
49block size.
50
51build_e2fs proceeds from external inode table information for building
52ext2fs filesystems on device.
53
54build_xfs proceeds from external inode table information for building
55xfs filesystems on device.
56
57anyconvertfs converts device filesystem with applying other
58anyfs-tools utilities.
59
60The anyfs filesystem driver for Linux allows a user to mount a device
61using the external inode table information created by the build_it or
62anysurrect commands. Once the filesystem is mounted with the inode
63table information the user can perform file operations such as
64deleting, moving files, making symbolic and hard links, special files
65and changing file access permissions. All changes are applied to the
66external inode table on unmounting the filesystem, leaving the data on
67the block device unchanged.
68
05a3c9e0
JR
69%description -l pl.UTF-8
70anyfs-tools dostarczają działającego w uniksowym stylu zestawu
71narzędzi do odzyskiwania i konwersji systemów plików. W pakiecie
72zawarte są następujące narzędzia:
9ae21f85 73
05a3c9e0
JR
74build_it wykorzystuje linuksowe sterowniki systemów plików do
75rekurencyjnego odczytu wpisów katalogów w celu uzyskania informacji o
76wszystkich i-węzłach systemu plików. Informacje te są następnie
77zapisywane do zewnętrznej tabeli i-węzłów.
9ae21f85 78
05a3c9e0
JR
79anysurrect przeszukuje urządzenia blokowe pod kątem określonych
80rodzajów plików w oparciu o ich strukturę plików. Inforamcje o każdym
81znalezionym rodzaju pliku są także zapisywane do zewnętrznej tabeli
82i-węzłów.
9ae21f85 83
05a3c9e0
JR
84reblock zmienia rozmiar bloku systemu plików. Wykorzystuje informacje
85o tabeli i-węzłów systemu plików, aby zmienić rozmieszczenie
86fragmentów każdego pliku w taki sposób, by były wyrównane do granic
87bloków przy nowym ich rozmiarze.
9ae21f85 88
05a3c9e0
JR
89build_e2fs na podstawie zewnętrznej informacji o tabeli i-węzłów
90przystępuje do tworzenia systemu plików ext2fs na urządzeniu.
9ae21f85 91
05a3c9e0
JR
92build_xfs na podstawie zewnętrznej informacji o tabeli i-węzłów
93przystępuje do tworzenia systemu plików xfs na urządzeniu.
9ae21f85 94
05a3c9e0 95anyconvertfs konwertuje system plików stosując inne narzędzia
9ae21f85
JB
96anyfs-tools.
97
05a3c9e0
JR
98Sterownik systemu plików anyfs dla Linuksa pozwala użytkownikowi
99podmontować urządzenie przy użyciu zewnętrznych informacji o tabeli
100i-węzłów stworzonej przy użyciu polecenia build_it lub anysurrect. Po
101podmontowaniu systemu plików użytkownik może wykonywać operacje na
102plikach, takie jak usuwanie, przenoszenie, tworzenie dowiązań
103symbolicznych i zwykłych czy urządzeń specjalnych oraz zmiana
104uprawnień do plików. Wszystkie zmiany są wykonywane na zewnętrznej
105tabeli i-węzłów przy odmontowywaniu systemu plików, bez zmiany danych
106na urządzeniu blokowym.
9ae21f85 107
21d472d1
JB
108%package devel
109Summary: Header files for anyfs-tools
110Summary(pl.UTF-8): Pliki nagłówkowe anyfs-tools
111Group: Development/Libraries
112Requires: %{name} = %{version}-%{release}
113
114%description devel
115Header files for anyfs-tools.
116
117%description devel -l pl.UTF-8
118Pliki nagłówkowe anyfs-tools.
119
696084fd 120%package -n kernel%{_alt_kernel}-misc-any
0d83f2e3 121Summary: AnyFS Linux kernel module
122Summary(pl.UTF-8): Moduł jądra Linuksa AnyFS
123Release: %{_rel}@%{_kernel_ver_str}
124License: GPL v2
125Group: Base/Kernel
126Requires(post,postun): /sbin/depmod
696084fd 127%if %{with dist_kernel}
128%requires_releq_kernel
0d83f2e3 129Requires(postun): %releq_kernel
696084fd 130%endif
131%if "%{_alt_kernel}" != "%{nil}"
0d83f2e3 132Provides: kernel-misc-any
696084fd 133%endif
134
135%description -n kernel%{_alt_kernel}-misc-any
21d472d1 136This package contains the AnyFS Linux kernel module.
696084fd 137
21d472d1
JB
138%description -n kernel%{_alt_kernel}-misc-any -l pl.UTF-8
139Ten pakiet zawiera moduł jądra Linuksa AnyFS.
430df31f 140
141%prep
142%setup -q
da6ae5d5 143%patch0 -p0
21d472d1
JB
144
145%if %{with kernel}
696084fd 146cat > anyfs/Makefile <<'EOF'
147obj-m += any.o
148any-objs := inode.o file.o dir.o namei.o symlink.o
149EOF
21d472d1 150%endif
430df31f 151
152%build
21d472d1 153%if %{with userspace}
430df31f 154%configure
da6ae5d5 155%{__make} libany
156%{__make} progs
21d472d1 157%endif
31cfd24d 158
696084fd 159%if %{with kernel}
160%build_kernel_modules -C anyfs -m any
161%endif
430df31f 162
163%install
164rm -rf $RPM_BUILD_ROOT
165
21d472d1 166%if %{with userspace}
430df31f 167%{__make} install \
168 DESTDIR=$RPM_BUILD_ROOT
c939ee5d 169
bdadd437
JB
170%if "%{_lib}" != "lib"
171mv -f $RPM_BUILD_ROOT%{_prefix}/lib $RPM_BUILD_ROOT%{_libdir}
172%endif
173
c939ee5d 174%find_lang %{name}
21d472d1 175%endif
430df31f 176
696084fd 177%if %{with kernel}
9294e6ef 178%install_kernel_modules -m anyfs/any -d kernel/fs -n any -s current
696084fd 179%endif
180
430df31f 181%clean
182rm -rf $RPM_BUILD_ROOT
183
7c9ee309 184%post -n kernel%{_alt_kernel}-misc-any
185%depmod %{_kernel_ver}
186
187%postun -n kernel%{_alt_kernel}-misc-any
188%depmod %{_kernel_ver}
189
21d472d1 190%if %{with userspace}
430df31f 191%files -f %{name}.lang
192%defattr(644,root,root,755)
9ae21f85
JB
193%doc README THANKS
194%lang(ru) %doc README.ru
da6ae5d5 195%attr(755,root,root) %{_bindir}/anyfuse
bdadd437 196%attr(755,root,root) %{_sbindir}/*
430df31f 197%{_mandir}/man5/*
198%{_mandir}/man8/*
9ae21f85 199%lang(ru) %{_mandir}/ru/man5/*
da6ae5d5 200%lang(ru) %{_mandir}/ru/man8/*
430df31f 201
21d472d1
JB
202%files devel
203%defattr(644,root,root,755)
bdadd437 204%{_libdir}/libany.a
21d472d1 205%{_includedir}/anyfs-tools
bdadd437
JB
206%{_mandir}/man3/*
207%lang(ru) %{_mandir}/ru/man3/*
21d472d1
JB
208%endif
209
696084fd 210%if %{with kernel}
211%files -n kernel%{_alt_kernel}-misc-any
212%defattr(644,root,root,755)
31cfd24d 213/etc/modprobe.d/%{_kernel_ver}/any.conf
214/lib/modules/%{_kernel_ver}/kernel/fs/any-current.ko*
696084fd 215%endif
This page took 0.092572 seconds and 4 git commands to generate.