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