3 %bcond_without dist_kernel # allow non-distribution kernel
4 %bcond_without kernel # don't build 'any' kernel module
5 %bcond_without userspace # don't build userspace utilities
8 Summary: anyfs-tools - a unix-like toolset for recovering and converting filesystems
9 Summary(pl.UTF-8): anyfs-tools - uniksowy zestaw narzędzi do odzyskiwania i konwersji systemów plików
14 Group: Applications/System
15 Source0: http://dl.sourceforge.net/anyfs-tools/%{name}-%{version}.tar.bz2
16 # Source0-md5: 548126cb199da13c632805ef3fcca26c
17 Patch0: %{name}-DFL_RTEXTSIZE.patch
18 URL: http://anyfs-tools.sourceforge.net/
19 %{?with_userspace:BuildRequires: e2fsprogs-devel >= 1.38}
21 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
22 BuildRequires: rpmbuild(macros) >= 1.379
25 BuildRequires: bzip2-devel
26 BuildRequires: libfuse-devel >= 2.5
27 BuildRequires: mpeg2dec-devel
28 BuildRequires: pkgconfig
29 BuildRequires: xfsprogs-devel >= 2.8.11
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 anyfs-tools provides a unix-like toolset for recovering and converting
35 filesystems. The following utils are included in the toolset:
37 build_it uses Linux OS filesystem drivers to recursively read
38 directory entries in order to obtain information about all of the
39 filesystem inodes. The information is then saved to an external inode
42 anysurrect searches block devices for specific file types, based on
43 their file structure. Information about each found file type is also
44 saved to an external inode table.
46 reblock changes the filesystem block size. reblock uses information
47 from the filesystems inode table to change each files' fragments
48 placing so that it will align with block boundaries but with a new
51 build_e2fs proceeds from external inode table information for building
52 ext2fs filesystems on device.
54 build_xfs proceeds from external inode table information for building
55 xfs filesystems on device.
57 anyconvertfs converts device filesystem with applying other
58 anyfs-tools utilities.
60 The anyfs filesystem driver for Linux allows a user to mount a device
61 using the external inode table information created by the build_it or
62 anysurrect commands. Once the filesystem is mounted with the inode
63 table information the user can perform file operations such as
64 deleting, moving files, making symbolic and hard links, special files
65 and changing file access permissions. All changes are applied to the
66 external inode table on unmounting the filesystem, leaving the data on
67 the block device unchanged.
69 %description -l pl.UTF-8
70 anyfs-tools dostarczają działającego w uniksowym stylu zestawu
71 narzędzi do odzyskiwania i konwersji systemów plików. W pakiecie
72 zawarte są następujące narzędzia:
74 build_it wykorzystuje linuksowe sterowniki systemów plików do
75 rekurencyjnego odczytu wpisów katalogów w celu uzyskania informacji o
76 wszystkich i-węzłach systemu plików. Informacje te są następnie
77 zapisywane do zewnętrznej tabeli i-węzłów.
79 anysurrect przeszukuje urządzenia blokowe pod kątem określonych
80 rodzajów plików w oparciu o ich strukturę plików. Inforamcje o każdym
81 znalezionym rodzaju pliku są także zapisywane do zewnętrznej tabeli
84 reblock zmienia rozmiar bloku systemu plików. Wykorzystuje informacje
85 o tabeli i-węzłów systemu plików, aby zmienić rozmieszczenie
86 fragmentów każdego pliku w taki sposób, by były wyrównane do granic
87 bloków przy nowym ich rozmiarze.
89 build_e2fs na podstawie zewnętrznej informacji o tabeli i-węzłów
90 przystępuje do tworzenia systemu plików ext2fs na urządzeniu.
92 build_xfs na podstawie zewnętrznej informacji o tabeli i-węzłów
93 przystępuje do tworzenia systemu plików xfs na urządzeniu.
95 anyconvertfs konwertuje system plików stosując inne narzędzia
98 Sterownik systemu plików anyfs dla Linuksa pozwala użytkownikowi
99 podmontować urządzenie przy użyciu zewnętrznych informacji o tabeli
100 i-węzłów stworzonej przy użyciu polecenia build_it lub anysurrect. Po
101 podmontowaniu systemu plików użytkownik może wykonywać operacje na
102 plikach, takie jak usuwanie, przenoszenie, tworzenie dowiązań
103 symbolicznych i zwykłych czy urządzeń specjalnych oraz zmiana
104 uprawnień do plików. Wszystkie zmiany są wykonywane na zewnętrznej
105 tabeli i-węzłów przy odmontowywaniu systemu plików, bez zmiany danych
106 na urządzeniu blokowym.
109 Summary: Header files for anyfs-tools
110 Summary(pl.UTF-8): Pliki nagłówkowe anyfs-tools
111 Group: Development/Libraries
112 Requires: %{name} = %{version}-%{release}
115 Header files for anyfs-tools.
117 %description devel -l pl.UTF-8
118 Pliki nagłówkowe anyfs-tools.
120 %package -n kernel%{_alt_kernel}-misc-any
121 Summary: AnyFS Linux kernel module
122 Summary(pl.UTF-8): Moduł jądra Linuksa AnyFS
123 Release: %{_rel}@%{_kernel_ver_str}
126 Requires(post,postun): /sbin/depmod
127 %if %{with dist_kernel}
128 %requires_releq_kernel
129 Requires(postun): %releq_kernel
131 %if "%{_alt_kernel}" != "%{nil}"
132 Provides: kernel-misc-any
135 %description -n kernel%{_alt_kernel}-misc-any
136 This package contains the AnyFS Linux kernel module.
138 %description -n kernel%{_alt_kernel}-misc-any -l pl.UTF-8
139 Ten pakiet zawiera moduł jądra Linuksa AnyFS.
146 cat > anyfs/Makefile <<'EOF'
148 any-objs := inode.o file.o dir.o namei.o symlink.o
153 %if %{with userspace}
160 %build_kernel_modules -C anyfs -m any
164 rm -rf $RPM_BUILD_ROOT
166 %if %{with userspace}
168 DESTDIR=$RPM_BUILD_ROOT
170 %if "%{_lib}" != "lib"
171 mv -f $RPM_BUILD_ROOT%{_prefix}/lib $RPM_BUILD_ROOT%{_libdir}
178 %install_kernel_modules -m anyfs/any -d kernel/fs -n any -s current
182 rm -rf $RPM_BUILD_ROOT
184 %post -n kernel%{_alt_kernel}-misc-any
185 %depmod %{_kernel_ver}
187 %postun -n kernel%{_alt_kernel}-misc-any
188 %depmod %{_kernel_ver}
190 %if %{with userspace}
191 %files -f %{name}.lang
192 %defattr(644,root,root,755)
194 %lang(ru) %doc README.ru
195 %attr(755,root,root) %{_bindir}/anyfuse
196 %attr(755,root,root) %{_sbindir}/*
199 %lang(ru) %{_mandir}/ru/man5/*
200 %lang(ru) %{_mandir}/ru/man8/*
203 %defattr(644,root,root,755)
205 %{_includedir}/anyfs-tools
207 %lang(ru) %{_mandir}/ru/man3/*
211 %files -n kernel%{_alt_kernel}-misc-any
212 %defattr(644,root,root,755)
213 /etc/modprobe.d/%{_kernel_ver}/any.conf
214 /lib/modules/%{_kernel_ver}/kernel/fs/any-current.ko*