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