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