mc/mc.spec
OBS User mrdocs f2544b3bcc Accepting request 546269 from home:ecsos
- Update to Version 4.8.20
** Core
    * Rename key bindings:
       - [main].PanelListingSwitch -> [panel].CycleListingFormat
       - [main].PanelListingChange -> [main].SetupListingFormat 
    *Speed up of UTF-8 normalization for frequent cases (#3616) 
** VFS
    * extfs helpers tester:
       - diff of failed tests is now included in output to ease bug reporting (#3784) 
** Editor
    * Syntax:
       - ES2015 support (#3793)
       - TypeScript support (#3794)
       - Ada 95 updates (#3804)
       - Apache Hive QL support (#3828)
       - SQL & PHP keyword updates (MidnightCommander/mc#129)
       - Simplification of case insensitive file name patterns in /usr/share/mc/syntax/Syntax file (#3829)
       - Markdown (initial support) (#3864)
       - Protocol Buffers and gRPC support (#3868) 
    * Add %c (cursor offset from BOF) support for user menu macros (#3867) 
** Viewer
** Diff viewer
** Misc
    * Unify curses initialization for various curses implementations (#3697)
    * Highlight txz extension as archive like tgz, etc. (#3782)
    * Add new media extensions to filehighlight.ini (#3834) 
** Fixes
    * Wrong --help message for mcview, mcedit and mcdiff (#3805)
    * Compression from menu broken due to bad quoting (#3840)
    * --with-homedir gives "yes" as config directory (#3836)
    * External panelize: opening a file with an absolute path fails (#2942)
    * Filter isn't cleared when entering empty string (#3813)
    * Panelization is not kept while switching panel listing mode (#3810)
    * Cannot tab out of a QuickView panel (#3815)
    * Cannot use the F10 key in a QuickView panel (#3816)
    * Wromg INPUT_COMPLETE_CD flag handling in the QuickDialog? engine (#3870)
    * mcview: file interpreted as latin1 instead of utf8 (#3783)
    * mcview: incomplete read of filtering data (#3817)
    * mcview: search doesn't grow file as much as needed (#3819, #3855)
    * mcview: goto doesn't grow file as much as needed (#3826)
    * mcview: quick view panel: crash on slow startup while switching panel mode (#3846)
    * mcedit: fix broken encoding into UTF-8 for 8-bit displays (#3843)
    * mcedit: incorrect %f macro substitution in the user menu (#3861)
    * man pages: wrong paths of mc.hint and mc.hlp (#3806)
    * subshell: fix broken tcsh 6.20+ cd escaping (#3852)
    * VFS: incremental tar doesn't contain empty directories (#2297)
    * VFS: incremental tar: wrong directories owner for tar --numeric-owner -g (#3709)
    * VFS: timestamps not being preserved due to uninitialized struct stat st_[acm]tim.tv_nsec (#3821)
    * VFS: ftp: can't retrieve password from .netrc when user is in URL (#3869)
    * VFS: tests: locale issue causing helpers using 'sort' to fail (#3787)
    * VFS: tests: unportable 'echo' use causing one rpm helper test to fail (#3786)
    * Spelling errors in the manual page (#3839)

OBS-URL: https://build.opensuse.org/request/show/546269
OBS-URL: https://build.opensuse.org/package/show/Base:System/mc?expand=0&rev=111
2017-11-28 23:34:45 +00:00

254 lines
7.6 KiB
RPMSpec

#
# spec file for package mc
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: mc
Summary: Midnight Commander
License: GPL-3.0+
Group: Productivity/File utilities
Url: http://midnight-commander.org/
Version: 4.8.20
Release: 0
Source0: http://ftp.midnight-commander.org/mc-%{version}.tar.xz
Source1: x11_browser
Source2: %{name}.desktop
Source3: %{name}.png
Source4: cmake.syntax
Source5: mc-rpmlintrc
Source6: http://ftp.midnight-commander.org/%{name}-%{version}.sha256
Patch0: mc-fix_lib_search_path.patch
Patch61: mc-extd-misc.patch
Patch62: mc-extd-video.patch
Patch63: mc-extd-doc.patch
Patch64: mc-extd-sound.patch
Patch69: mc-extd-xdg.patch
Patch71: mc-ext-audio.patch
Patch12: mc-wrapper.patch
Patch16: mc-esc-seq.patch
Patch17: mc-rpm.patch
Patch20: mc-f-keys.patch
Patch21: mc-extfs-helpers-deb.patch
# add patch. bnc#856501
# http://www.midnight-commander.org/ticket/3128
Patch22: mc-vfs-fish-deleted_source_file.patch
# changed mc-extfs-iso9660-xorriso.patch
# to reflect upstream fix
Patch23: mc-extfs-iso9660-xorriso.patch
#Debian fixes
Patch32: 20_wrong_path_to_wrappers.patch
# PATCH-FIX-UPSTREAM mc-multi-press-f-keys.patch mc287 sbrabec@suse.cz - Fixed Esc + Numeral F-key emulation.
Patch41: mc-multi-press-f-keys.patch
# Patches from Fedora
#Patch adding -fpie and -pie to compilation and linking of setuid binaries
Patch52: mc-pie.patch
# mc-startup-timeout.patch mc3082 nadvornik@suse.cz - fix for long timeout on startup, bnc#824729
Patch60: mc-startup-timeout.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: audiofile-devel
BuildRequires: e2fsprogs-devel
BuildRequires: fdupes
BuildRequires: gettext >= 0.18.1
BuildRequires: glib2-devel >= 2.26.0
BuildRequires: libtool
%if 0%{?suse_version} > 1130
BuildRequires: gpm-devel
%else
BuildRequires: gpm
%endif
BuildRequires: indent
BuildRequires: jpeg
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libssh2-devel
BuildRequires: readline-devel
BuildRequires: slang-devel
BuildRequires: unzip
BuildRequires: update-desktop-files
BuildRequires: xdg-utils
BuildRequires: xorg-x11-devel
BuildRequires: xz
Requires(pre): permissions
Recommends: %{name}-lang = %{version}
Recommends: mkisofs xorriso
%description
GNU Midnight Commander (also referred to as MC) is a user shell much
like the (in)famous Norton Commander with text-mode full-screen
interface. It can be run on the OS console, in xterm and other
terminal emulators.
GNU Midnight Commander allows you to manage files while making most of
your screen and giving you a clear representation of the filesystem, yet
it's simple enough to be run over a telnet or ssh session.
MC needs several other programs for its various extfs extensions, e.g.
isoinfo (from mkisofs) or xorriso for the iso:// extension.
%lang_package
%prep
echo "`grep %{name}-%{version}.tar.xz %{SOURCE6} | head -n1 | cut -c1-64` %{SOURCE0}" | sha256sum -c
%setup -q
%patch0
%patch61
%patch62
%patch63
%patch64
%patch69
%patch71
%patch12 -p1
%patch16
%patch17 -p1
%patch20
%patch21
%patch22 -p1
%patch23 -p0
%patch32
%patch41 -p1
%patch52 -p1
%patch60 -p1
%build
autoreconf --force --install
%define warn_flags -W -Wall -Wstrict-prototypes -Wpointer-arith -Wformat-security -Wno-unused-parameter
export CFLAGS="$RPM_OPT_FLAGS %{warn_flags}"
export X11_WWW="%{_datadir}/mc/x11_browser"
%configure \
--localstatedir=/var/lib \
--enable-charset \
--enable-vfs-smb --with-smb-configdir=%{_sysconfdir}/samba \
--disable-vfs-fish
make %{?_smp_mflags} V=1
%install
make DESTDIR=%{buildroot} install
# clean up this setuid problem for now
chmod 755 %{buildroot}/%{_libexecdir}/mc/cons.saver
install -m 0644 %{SOURCE4} %{buildroot}%{_datadir}/mc/syntax/
#install the shell functions for bourne shell and csh
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
ln -fs -t %{buildroot}%{_sysconfdir}/profile.d %{_datadir}/mc/mc.{,c}sh
#support script for calling available GUI webbrosers
install -m 755 %{SOURCE1} %{buildroot}%{_datadir}/mc/
install -D -m 644 %{S:3} %{buildroot}%{_datadir}/pixmaps/%{name}.png
install -D -m 644 %{S:3} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
for f in ext.d/misc.sh ext.d/sound.sh ext.d/video.sh \
extfs.d/gitfs+ extfs.d/uace extfs.d/uarc ;
do
sed -i -e '1s@bin/sh@bin/bash@' "%{buildroot}%{_libexecdir}/mc/${f}"
done
%suse_update_desktop_file -i %name System FileManager
# Remove not supported language
rm -rf %{buildroot}%{_datadir}/locale/be@tarask
%find_lang %name
%fdupes -s %{buildroot}%{_prefix}
%post
%if 0%{?suse_version} >= 1140
%set_permissions %{_libexecdir}/mc/cons.saver
%else
%run_permissions
%endif
%verifyscript
%verify_permissions -e %{_libexecdir}/mc/cons.saver
%files
%defattr(-, root, root)
%doc ABOUT-NLS COPYING NEWS README
%config %{_sysconfdir}/profile.d/*
%{_bindir}/mc*
%dir %{_sysconfdir}/mc/
%config %{_sysconfdir}/mc/filehighlight.ini
%config %{_sysconfdir}/mc/sfs.ini
%config %{_sysconfdir}/mc/mc.menu
%config %{_sysconfdir}/mc/mc.ext
%config %{_sysconfdir}/mc/mcedit.menu
%config %{_sysconfdir}/mc/mc.keymap
%config %{_sysconfdir}/mc/mc.default.keymap
%config %{_sysconfdir}/mc/mc.emacs.keymap
%config %{_sysconfdir}/mc/edit.indent.rc
%dir %{_libexecdir}/mc
%{_libexecdir}/mc/ext.d
%{_libexecdir}/mc/extfs.d
%verify(not mode) %{_libexecdir}/mc/cons.saver
%{_mandir}/man1/*
%exclude %{_mandir}/*/man1/*
%{_datadir}/mc
%{_datadir}/mc/syntax/Syntax
%{_datadir}/mc/mc.charsets
%{_datadir}/mc/mc.lib
%{_datadir}/mc/hints/mc.hint
%exclude %{_datadir}/mc/hints/mc.hint.*
%{_datadir}/mc/help/mc.hlp
%exclude %{_datadir}/mc/help/mc.hlp.*
%exclude %{_datadir}/locale/*/LC_MESSAGES/mc.mo
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/32x32
%dir %{_datadir}/icons/hicolor/32x32/apps
%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
%files lang -f %name.lang
%defattr(-, root, root)
%if 0%{?suse_version} < 1140 || 0%{?sles_version} && 0%{?sles_version} <= 11
%lang(sv) %dir %{_datadir}/locale/sv_SE
%lang(sv) %dir %{_datadir}/locale/sv_SE/LC_MESSAGES
%lang(szl) %dir %{_datadir}/locale/szl
%lang(szl) %dir %{_datadir}/locale/szl/LC_MESSAGES
%endif
%lang(hu) %dir %{_mandir}/hu/
%lang(hu) %dir %{_mandir}/hu/man1/
%lang(hu) %{_mandir}/hu/man1/mc.1.gz
%lang(pl) %dir %{_mandir}/pl/
%lang(pl) %dir %{_mandir}/pl/man1/
%lang(pl) %{_mandir}/pl/man1/mc.1.gz
%lang(sr) %dir %{_mandir}/sr/
%lang(sr) %dir %{_mandir}/sr/man1/
%lang(sr) %{_mandir}/sr/man1/mc.1.gz
%lang(cs) %doc %{_datadir}/mc/*/mc.*.cs
%lang(es) %doc %{_datadir}/mc/*/mc.*.es
%lang(hu) %doc %{_datadir}/mc/*/mc.*.hu
%lang(it) %doc %{_datadir}/mc/*/mc.*.it
%lang(nl) %doc %{_datadir}/mc/*/mc.*.nl
%lang(pl) %doc %{_datadir}/mc/*/mc.*.pl
%lang(ru) %doc %{_datadir}/mc/*/mc.*.ru
%lang(sr) %doc %{_datadir}/mc/*/mc.*.sr
%lang(uk) %doc %{_datadir}/mc/*/mc.*.uk
%lang(zh) %doc %{_datadir}/mc/*/mc.*.zh
%changelog