]> TLD Linux GIT Repositories - packages/mc.git/blob - mc.spec
- fix segmentation faults in search functions
[packages/mc.git] / mc.spec
1 #
2 # Conditional build:
3 %bcond_with     ext2undel       # with ext2 undelete fs
4 %bcond_without  perl_vfs        # without perl depending vfs'es -- to avoid perl autoreq
5 %bcond_with     samba           # with SAMBA vfs support
6 %bcond_without  x               # without text edit in X support
7 #
8 Summary:        A user-friendly file manager and visual shell
9 Summary(de.UTF-8):      Visuelle Shell Midnight Commander
10 Summary(es.UTF-8):      Interpretador de comandos visual Midnight Commander
11 Summary(fr.UTF-8):      Un gestionnaire de fichiers puissant et agréable en mode console
12 Summary(hu.UTF-8):      Egy felhasználóbarát fájlkezelő és vizuális shell
13 Summary(ja.UTF-8):      使いやすいファイルマネージャとビジュアルシェル
14 Summary(pl.UTF-8):      Midnight Commander - powłoka wizualna
15 Summary(pt_BR.UTF-8):   Interpretador de comandos visual Midnight Commander
16 Summary(ru.UTF-8):      Диспетчер файлов Midnight Commander
17 Summary(tr.UTF-8):      Midnight Commander görsel kabuğu
18 Summary(uk.UTF-8):      Диспетчер файлів Midnight Commander
19 Summary(zh_CN.UTF-8):   一个方便实用的文件管理器和虚拟Shell
20 Name:           mc
21 Version:        4.8.14
22 Release:        2
23 Epoch:          1
24 License:        GPL v3+
25 Group:          Applications/Shells
26 Source0:        http://ftp.midnight-commander.org/%{name}-%{version}.tar.xz
27 # Source0-md5:  fbdaddb9edcf8925dcf3231331a8720b
28 Source3:        http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
29 # Source3-md5:  17d7b574e1b85ad6f8ddceda9e841f19
30 Source7:        %{name}.desktop
31 Source8:        %{name}.png
32 Patch1:         %{name}-no-ws-visible.patch
33 Patch2:         %{name}-no-compute-totals.patch
34 Patch3:         %{name}-file-find-case-insensitive.patch
35 Patch4:         %{name}-confirm-exit.patch
36 Patch5:         %{name}-noperl-vfs.patch
37 # at now syntax highligthing for PLD-update-TODO and CVSROOT/users
38 Patch6:         %{name}-pld-developerfriendly.patch
39 # https://www.midnight-commander.org/ticket/3449
40 Patch7:         %{name}-search-segv.patch
41 URL:            http://www.midnight-commander.org/
42 BuildRequires:  autoconf >= 2.60
43 BuildRequires:  automake >= 1.5
44 %{?with_ext2undel:BuildRequires:        e2fsprogs-devel}
45 BuildRequires:  gettext-tools >= 0.14.3
46 BuildRequires:  glib2-devel >= 2.8
47 %ifnarch s390 s390x
48 BuildRequires:  gpm-devel
49 %endif
50 BuildRequires:  libtool
51 BuildRequires:  pam-devel
52 BuildRequires:  pcre-devel
53 BuildRequires:  pkgconfig
54 BuildRequires:  rpm-pythonprov
55 BuildRequires:  rpmbuild(macros) >= 1.268
56 BuildRequires:  sed >= 4.0
57 BuildRequires:  slang-devel >= 2.2.1
58 %{?with_x:BuildRequires:        xorg-lib-libX11-devel}
59 Requires:       file
60 Requires:       pam >= 0.77.3
61 Requires:       sed
62 Requires:       setup >= 2.4.6-2
63 Suggests:       bzip2
64 Suggests:       cabextract
65 Suggests:       cdrtools-utils
66 Suggests:       cpio
67 Suggests:       dvi2tty
68 Suggests:       enca
69 Suggests:       file
70 Suggests:       ghostscript
71 Suggests:       groff
72 Suggests:       gzip
73 Suggests:       lha
74 Suggests:       links
75 Suggests:       lynx
76 Suggests:       lzma
77 Suggests:       odt2txt
78 Suggests:       p7zip-standalone
79 Suggests:       perl-tools-pod
80 Suggests:       rar
81 Suggests:       rpm-utils
82 Suggests:       tar
83 Suggests:       unarj
84 Suggests:       unzip
85 Suggests:       xdg-utils
86 Suggests:       xpdf-tools
87 Suggests:       xz
88 Suggests:       zoo
89 Obsoletes:      mc46
90 Obsoletes:      mc46serv
91 Obsoletes:      mcserv
92 Obsoletes:      tkmc
93 Conflicts:      bash < 2.05b
94 Conflicts:      rpm < 4.0
95 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
96
97 %define         specflags_ia32  -fomit-frame-pointer
98
99 %description
100 Midnight Commander is a visual shell much like a file manager, only
101 with way more features. It is text mode, but also includes mouse
102 support if you are running GPM. Its coolest feature is the ability to
103 FTP, view tar, zip files, and poke into RPMs for specific files. :-)
104
105 %description -l de.UTF-8
106 Midnight Commander ist ein Visual-Shell, ähnlich einem Dateimanager,
107 aber mit zusätzlichen Funktionen. Es läuft im Textmodus, kann jedoch
108 eine Maus unterstützen, wenn GPM betrieben wird. Seine coolsten
109 Fähigkeiten sind die FTP-Option, das Einsehen von tar- und zip-Dateien
110 und das Herausfischen von spezifischen Dateien aus RPMs.
111
112 %description -l es.UTF-8
113 Midnight Commander es un interpretador de comandos visual que más
114 parece un administrador de archivos, solamente con varias
115 características a más. Es un programa en modo texto, pero incluye
116 soporte para ratón, si estuviera ejecutando GPM o en una ventana
117 xterm. Su característica más genial es la habilidad de cotillear en
118 RPMs buscando archivos específicos. :-)
119
120 %description -l fr.UTF-8
121 Midnight Commander est une interface pour la ligne de commande qui
122 tient beaucoup du gestionnaire de fichiers, mais est bien plus
123 puissant. Il fonctionne en mode console (texte), mais peut être
124 contrôlé à la souris si GPM est présent. Ses caractéristiques les plus
125 remarquables sont la possibilité de se connecter à un serveur FTP, de
126 visualiser des archives tar, de compresser des fichiers avec zip, de
127 récupérer des fichiers dans les packages RPM, et tout ceci simplement.
128
129 %description -l hu.UTF-8
130 Midnight Commander egy vizuális shell, lényegében egy fájlkezelő
131 sok-sok lehetőséggel. Szöveges módú, de az egeret is támogatja, ha fut
132 a GPM. A legjobb lehetőség az FTP elérése, tar, zip és RPM fájlok
133 kezelése.
134
135 %description -l ja.UTF-8
136 Midnight Commander はいろいろな機能を持ったファイルマネージャ兼
137 ビジュアルシェルです。これはテキストモードのアプリケーションですが、
138 GPM を使っている場合、マウスが使えます。 Midnight Commander には、 FTP
139 に接続できたり、 tar や zip や RPM の中が見えるなど、クールな機能
140 があります。
141
142 %description -l pl.UTF-8
143 Midnight Commander jest wizualną powłoką podobną do Norton Commandera.
144 Pracuje w trybie tekstowym, ale ma także obsługę myszki. Jest super ;)
145 MC ma wbudowanego klienta FTP, może zaglądać do skompresowanych
146 archiwów tar i zip, a także oglądać pliki w pakietach RPM.
147
148 %description -l pt_BR.UTF-8
149 Midnight Commander é um interpretador de comandos visual que mais
150 parece um gerenciador de arquivos, somente com várias características
151 a mais. Ele é um programa de modo texto, mas inclui suporte para mouse
152 se você estiver rodando GPM ou em uma janela xterm. Sua característica
153 mais legal é a habilidade de bisbilhotar em RPMs procurando arquivos
154 específicos. :-)
155
156 %description -l tr.UTF-8
157 Midnight Commander bir dosya yöneticisine çok benzeyen ancak daha
158 yetenekli bir görsel kabuktur. Metin ekranda çalışır ve GPM
159 çalışıyorsa fare desteği vardır. En hoş özellikleri FTP yapabilmesi,
160 tar, zip ve RPM dosyalarının içeriklerini gösterebilmesidir.
161
162 %prep
163 %setup -q -a3
164 %patch1 -p1
165 %patch2 -p1
166 %patch3 -p1
167 %patch4 -p1
168 %{!?with_perl_vfs:%patch5 -p1}
169 %patch6 -p1
170 %patch7 -p1
171
172 %{__rm} po/stamp-po
173
174 %{__sed} -i 's:|hxx|:|hh|hpp|hxx|tcc|:' misc/syntax/Syntax.in
175
176 %build
177 %{__gettextize}
178 %{__libtoolize}
179 %{__aclocal} -I m4
180 %{__autoconf}
181 %{__automake}
182
183 export X11_WWW="xdg-open"
184 %configure \
185         %{?with_ext2undel:--enable-vfs-undelfs} \
186         %{?with_samba:--enable-vfs-smb} \
187         --with-smb-configdir=/etc/samba \
188         --with-smb-codepagedir=/etc/samba/codepages \
189         --with%{!?with_x:out}-x \
190         --with-gpm-mouse \
191         --with-pcre \
192         --with-screen=slang \
193         --disable-silent-rules
194
195 %{__make}
196
197 %install
198 rm -rf $RPM_BUILD_ROOT
199 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_pixmapsdir},%{_desktopdir}} \
200         $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,shrc.d,sysconfig} \
201         $RPM_BUILD_ROOT%{_mandir}/man8
202
203 %{__make} install \
204         DESTDIR=$RPM_BUILD_ROOT
205
206 install %{SOURCE7} $RPM_BUILD_ROOT%{_desktopdir}
207 install %{SOURCE8} $RPM_BUILD_ROOT%{_pixmapsdir}
208
209 for a in es pl ; do
210         for b in man1 man8 ; do
211                 install -d $RPM_BUILD_ROOT%{_mandir}/{$a,$a/$b}
212                 for c in man/$a/$b/* ; do
213                         install $c $RPM_BUILD_ROOT%{_mandir}/$a/$b
214                 done
215         done
216 done
217
218 install contrib/{mc.sh,mc.csh} $RPM_BUILD_ROOT/etc/shrc.d
219
220 %{__rm} $RPM_BUILD_ROOT%{_mandir}/*/man8/mcserv.8
221
222 # just a copy of sv
223 %{__rm} $RPM_BUILD_ROOT%{_datadir}/mc/hints/mc.hint.sv_SE
224 # another variant of it
225 %{__rm} $RPM_BUILD_ROOT%{_datadir}/mc/hints/mc.hint.it_IT
226 # enhanced version
227 %{__mv} $RPM_BUILD_ROOT%{_datadir}/mc/hints/mc.hint.{zh,zh_CN}
228
229 # outdated version of fi
230 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/fi_FI
231 # empty version of sv
232 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/sv_SE
233
234 %find_lang %{name}
235
236 %clean
237 rm -rf $RPM_BUILD_ROOT
238
239 %files -f %{name}.lang
240 %defattr(644,root,root,755)
241 %doc NEWS README doc/keybind-migration.txt
242 %config /etc/shrc.d/*
243 %attr(755,root,root) %{_bindir}/mc*
244 %dir %{_libdir}/mc
245 %attr(755,root,root) %{_libdir}/mc/cons.saver
246 %attr(755,root,root) %{_libdir}/mc/*.sh
247 %attr(755,root,root) %{_libdir}/mc/*.csh
248 %dir %{_datadir}/mc
249
250 %{_datadir}/mc/mc.*
251 %{_datadir}/mc/skins
252 %{_datadir}/mc/syntax
253
254 %dir %{_datadir}/mc/help
255 %{_datadir}/mc/help/mc.hlp
256 %lang(es) %{_datadir}/mc/help/mc.hlp.es
257 %lang(hu) %{_datadir}/mc/help/mc.hlp.hu
258 %lang(it) %{_datadir}/mc/help/mc.hlp.it
259 %lang(pl) %{_datadir}/mc/help/mc.hlp.pl
260 %lang(ru) %{_datadir}/mc/help/mc.hlp.ru
261 %lang(sr) %{_datadir}/mc/help/mc.hlp.sr
262 %dir %{_datadir}/mc/hints
263 %{_datadir}/mc/hints/mc.hint
264 # only English messages inside (as for 4.8.13)
265 #%lang(az) %{_datadir}/mc/hints/mc.hint.az
266 %lang(be) %{_datadir}/mc/hints/mc.hint.be
267 # only English messages inside (as for 4.8.13)
268 #%lang(bg) %{_datadir}/mc/hints/mc.hint.bg
269 #%lang(ca) %{_datadir}/mc/hints/mc.hint.ca
270 %lang(cs) %{_datadir}/mc/hints/mc.hint.cs
271 # only English messages inside (as for 4.8.13)
272 #%lang(da) %{_datadir}/mc/hints/mc.hint.da
273 #%lang(de) %{_datadir}/mc/hints/mc.hint.de
274 #%lang(de_CH) %{_datadir}/mc/hints/mc.hint.de_CH
275 %lang(el) %{_datadir}/mc/hints/mc.hint.el
276 %lang(en_GB) %{_datadir}/mc/hints/mc.hint.en_GB
277 %lang(eo) %{_datadir}/mc/hints/mc.hint.eo
278 %lang(es) %{_datadir}/mc/hints/mc.hint.es
279 %lang(et) %{_datadir}/mc/hints/mc.hint.et
280 %lang(eu) %{_datadir}/mc/hints/mc.hint.eu
281 %lang(fa) %{_datadir}/mc/hints/mc.hint.fa
282 # only English messages inside (as for 4.8.13)
283 #%lang(fi) %{_datadir}/mc/hints/mc.hint.fi
284 %lang(fr) %{_datadir}/mc/hints/mc.hint.fr
285 # only English messages inside (as for 4.8.13)
286 #%lang(fr_CA) %{_datadir}/mc/hints/mc.hint.fr_CA
287 %lang(gl) %{_datadir}/mc/hints/mc.hint.gl
288 # only English messages inside (as for 4.8.12)
289 #%lang(hr) %{_datadir}/mc/hints/mc.hint.hr
290 %lang(hu) %{_datadir}/mc/hints/mc.hint.hu
291 # only English messages inside (as for 4.8.12)
292 #%lang(ia) %{_datadir}/mc/hints/mc.hint.ia
293 %lang(id) %{_datadir}/mc/hints/mc.hint.id
294 %lang(it) %{_datadir}/mc/hints/mc.hint.it
295 # only English messages inside (as for 4.8.13)
296 #%lang(ja) %{_datadir}/mc/hints/mc.hint.ja
297 #%lang(ka) %{_datadir}/mc/hints/mc.hint.ka
298 #%lang(kk) %{_datadir}/mc/hints/mc.hint.kk
299 #%lang(ko) %{_datadir}/mc/hints/mc.hint.ko
300 #%lang(lt) %{_datadir}/mc/hints/mc.hint.lt
301 %lang(nl) %{_datadir}/mc/hints/mc.hint.nl
302 %lang(pl) %{_datadir}/mc/hints/mc.hint.pl
303 %lang(pt) %{_datadir}/mc/hints/mc.hint.pt
304 %lang(pt_BR) %{_datadir}/mc/hints/mc.hint.pt_BR
305 %lang(ro) %{_datadir}/mc/hints/mc.hint.ro
306 %lang(ru) %{_datadir}/mc/hints/mc.hint.ru
307 # only English messages inside (as for 4.8.13)
308 #%lang(sk) %{_datadir}/mc/hints/mc.hint.sk
309 #%lang(sl) %{_datadir}/mc/hints/mc.hint.sl
310 #%lang(sr) %{_datadir}/mc/hints/mc.hint.sr
311 #%lang(sv) %{_datadir}/mc/hints/mc.hint.sv
312 #%lang(szl) %{_datadir}/mc/hints/mc.hint.szl
313 #%lang(te) %{_datadir}/mc/hints/mc.hint.te
314 #%lang(tr) %{_datadir}/mc/hints/mc.hint.tr
315 %lang(uk) %{_datadir}/mc/hints/mc.hint.uk
316 %lang(zh_CN) %{_datadir}/mc/hints/mc.hint.zh_CN
317
318 %dir %{_libdir}/mc/ext.d
319 %attr(755,root,root) %{_libdir}/mc/ext.d/archive.sh
320 %attr(755,root,root) %{_libdir}/mc/ext.d/doc.sh
321 %attr(755,root,root) %{_libdir}/mc/ext.d/image.sh
322 %attr(755,root,root) %{_libdir}/mc/ext.d/misc.sh
323 %attr(755,root,root) %{_libdir}/mc/ext.d/package.sh
324 %attr(755,root,root) %{_libdir}/mc/ext.d/sound.sh
325 %attr(755,root,root) %{_libdir}/mc/ext.d/text.sh
326 %attr(755,root,root) %{_libdir}/mc/ext.d/video.sh
327 %attr(755,root,root) %{_libdir}/mc/ext.d/web.sh
328
329 %dir %{_libdir}/mc/extfs.d
330 %{_libdir}/mc/extfs.d/README*
331 %if %{with perl_vfs}
332 %attr(755,root,root) %{_libdir}/mc/extfs.d/a+
333 %attr(755,root,root) %{_libdir}/mc/extfs.d/apt+
334 %attr(755,root,root) %{_libdir}/mc/extfs.d/deb*
335 %attr(755,root,root) %{_libdir}/mc/extfs.d/dpkg+
336 %attr(755,root,root) %{_libdir}/mc/extfs.d/mailfs
337 %attr(755,root,root) %{_libdir}/mc/extfs.d/patchfs
338 %attr(755,root,root) %{_libdir}/mc/extfs.d/rpms+
339 %attr(755,root,root) %{_libdir}/mc/extfs.d/ulib
340 %attr(755,root,root) %{_libdir}/mc/extfs.d/uzip
341 %endif
342 %attr(755,root,root) %{_libdir}/mc/extfs.d/audio
343 %attr(755,root,root) %{_libdir}/mc/extfs.d/bpp
344 %attr(755,root,root) %{_libdir}/mc/extfs.d/changesetfs
345 %attr(755,root,root) %{_libdir}/mc/extfs.d/gitfs+
346 %attr(755,root,root) %{_libdir}/mc/extfs.d/hp48+
347 %attr(755,root,root) %{_libdir}/mc/extfs.d/iso9660
348 %attr(755,root,root) %{_libdir}/mc/extfs.d/lslR
349 %attr(755,root,root) %{_libdir}/mc/extfs.d/patchsetfs
350 %attr(755,root,root) %{_libdir}/mc/extfs.d/rpm
351 %attr(755,root,root) %{_libdir}/mc/extfs.d/s3+
352 %attr(755,root,root) %{_libdir}/mc/extfs.d/trpm
353 %attr(755,root,root) %{_libdir}/mc/extfs.d/u7z
354 %attr(755,root,root) %{_libdir}/mc/extfs.d/uace
355 %attr(755,root,root) %{_libdir}/mc/extfs.d/ualz
356 %attr(755,root,root) %{_libdir}/mc/extfs.d/uar*
357 %attr(755,root,root) %{_libdir}/mc/extfs.d/uc1541
358 %attr(755,root,root) %{_libdir}/mc/extfs.d/ucab
359 %attr(755,root,root) %{_libdir}/mc/extfs.d/uha
360 %attr(755,root,root) %{_libdir}/mc/extfs.d/ulha
361 %attr(755,root,root) %{_libdir}/mc/extfs.d/urar
362 %attr(755,root,root) %{_libdir}/mc/extfs.d/uzoo
363 %dir %{_libdir}/mc/fish
364 %{_libdir}/mc/fish/README.fish
365 %attr(755,root,root) %{_libdir}/mc/fish/[a-z]*
366 %{_desktopdir}/mc.desktop
367 %{_pixmapsdir}/mc.png
368
369 %{_mandir}/man1/mc.1*
370 %{_mandir}/man1/mcedit.1*
371 %{_mandir}/man1/mcview.1*
372 %lang(es) %{_mandir}/es/man1/*
373 %lang(hu) %{_mandir}/hu/man1/*
374 %lang(it) %{_mandir}/it/man1/*
375 %lang(pl) %{_mandir}/pl/man1/*
376 %lang(ru) %{_mandir}/ru/man1/*
377 %lang(sr) %{_mandir}/sr/man1/*
378
379 %dir %{_sysconfdir}/mc
380 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mc/*.*