]> git.pld-linux.org Git - packages/anyfs-tools.git/blob - anyfs-tools.spec
2cedba56759f8c6e1653190f94e9d544e8734d68
[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 Patch1:         %{name}-blksize.patch
20 URL:            http://anyfs-tools.sourceforge.net/
21 BuildRequires:  e2fsprogs-devel >= 1.38
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
26 BuildRequires:  libfuse-devel >= 2.5
27 BuildRequires:  mjpegtools-devel
28 BuildRequires:  mpeg2dec-devel
29 BuildRequires:  xfsprogs-devel
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
36 build_it uses Linux OS filesystem drivers to recursively read
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
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:
72
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.
77
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.
82
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.
87
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.
90
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.
93
94 anyconvertfs konwertuje system plików stosując inne narzędzia
95 anyfs-tools.
96
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.
106
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
125 %package devel
126 Summary:        Header files for anyfs-tools
127 Summary(pl.UTF-8):      Pliki nagłówkowe anyfs-tools
128 Group:          Development/Libraries
129 Requires:       %{name} = %{version}-%{release}
130
131 %description devel
132 Header files for anyfs-tools.
133
134 %description devel -l pl.UTF-8
135 Pliki nagłówkowe anyfs-tools.
136
137 %prep
138 %setup -q
139 %patch0 -p0
140 %patch1 -p0
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
145
146 %build
147 %configure
148 %{__make} libany
149 %{__make} progs
150
151 %if %{with kernel}
152 %build_kernel_modules -C anyfs -m any
153 %endif
154
155 %install
156 rm -rf $RPM_BUILD_ROOT
157
158 %{__make} install \
159         DESTDIR=$RPM_BUILD_ROOT
160
161 %if %{with kernel}
162 %install_kernel_modules -m anyfs/any -d kernel/fs -n any -s current
163 %endif
164
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)
172 %doc README THANKS
173 %lang(ru) %doc README.ru
174 %attr(755,root,root) %{_sbindir}/*
175 %attr(755,root,root) %{_bindir}/anyfuse
176 %{_mandir}/man3/*
177 %{_mandir}/man5/*
178 %{_mandir}/man8/*
179 %lang(ru) %{_mandir}/ru/man3/*
180 %lang(ru) %{_mandir}/ru/man3/*
181 %lang(ru) %{_mandir}/ru/man5/*
182 %lang(ru) %{_mandir}/ru/man8/*
183
184 %if %{with kernel}
185 %files -n kernel%{_alt_kernel}-misc-any
186 %defattr(644,root,root,755)
187 /etc/modprobe.d/%{_kernel_ver}/any.conf
188 /lib/modules/%{_kernel_ver}/kernel/fs/any-current.ko*
189 %endif
190
191 %files devel
192 %defattr(644,root,root,755)
193 %{_includedir}/anyfs-tools
This page took 0.042344 seconds and 2 git commands to generate.