+# TODO
+# - from changelog: 'maxwin' can now be used to increase the number of maximum windows.
Summary: Screen - Manages multiple sessions on one tty
-Summary(de.UTF-8): Screen - Verwaltet mehrere Sitzungen an einem tty
-Summary(es.UTF-8): Screen - Administra múltiples sesiones en un tty
-Summary(fr.UTF-8): screen - gère plusieurs sessions sur un seul terminal
-Summary(pl.UTF-8): Screen - Program zarządzający sesjami na jednym terminalu
-Summary(pt_BR.UTF-8): Screen - Gerencia múltiplas sessões em um tty
-Summary(ru.UTF-8): Менеджер экрана, поддерживающий несколько логинов с одного терминала
-Summary(tr.UTF-8): Bir uçbirimde birden fazla oturumu düzenler
-Summary(uk.UTF-8): Менеджер екрану, що підтримує кілька логінів з одного терміналу
+Summary(de.UTF-8): Screen - Verwaltet mehrere Sitzungen an einem tty
+Summary(es.UTF-8): Screen - Administra múltiples sesiones en un tty
+Summary(fr.UTF-8): screen - gère plusieurs sessions sur un seul terminal
+Summary(pl.UTF-8): Screen - Program zarządzający sesjami na jednym terminalu
+Summary(pt_BR.UTF-8): Screen - Gerencia múltiplas sessões em um tty
+Summary(ru.UTF-8): Менеджер экрана, поддерживающий несколько логинов с одного терминала
+Summary(tr.UTF-8): Bir uçbirimde birden fazla oturumu düzenler
+Summary(uk.UTF-8): Менеджер екрану, що підтримує кілька логінів з одного терміналу
Name: screen
-Version: 4.0.3
-Release: 3
-License: GPL
+Version: 4.7.0
+Release: 1
+License: GPL v3+
Group: Applications/Terminal
-Source0: ftp://ftp.uni-erlangen.de/pub/utilities/screen/%{name}-%{version}.tar.gz
-# Source0-md5: 8506fd205028a96c741e4037de6e3c42
+Source0: https://ftp.gnu.org/gnu/screen/%{name}-%{version}.tar.gz
+# Source0-md5: b8971ebd68d046f2814d1040cb8e6641
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: 236166e774cee788cf594b05dd1dd70d
Source2: %{name}.pamd
-Source3: screenrc
-Patch0: %{name}-tty.patch
-Patch1: %{name}-compat21.patch
+Source3: %{name}rc
Patch2: %{name}-manual.patch
Patch3: %{name}-ia64.patch
Patch4: %{name}-info.patch
Patch5: %{name}-debian_fixed.patch
-Patch6: %{name}-nolibtermcap.patch
Patch7: %{name}-no_hardcoded_term_sequences.patch
Patch8: %{name}-home_etc.patch
Patch9: %{name}-no-libs.patch
-Patch10: %{name}-varargs.patch
-Patch11: %{name}-inputline-size.patch
Patch12: %{name}-screenrc.patch
+Patch13: %{name}-osc.patch
+Patch15: %{name}-statusline-encoding.patch
+Patch17: %{name}-E3.patch
+Patch18: %{name}-4.1.0-suppress_remap.patch
+Patch22: 52fix_%{name}_utf8_nfd.patch
URL: http://www.gnu.org/software/screen/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.60
BuildRequires: automake
BuildRequires: ncurses-devel >= 5.0
BuildRequires: pam-devel
%prep
%setup -q
-%patch0 -p1
-%patch1 -p0
-%patch2 -p0
+%patch2 -p1
%patch3 -p0
%patch4 -p1
%patch5 -p1
-%patch6 -p1
# DON'T ENABLE IT UNLESS YOU REALLY FIX IT
# (it's heavily broken - note that some sequences should be get for
# $TERM before running screen instance, and others for TERM=screen!)
###%patch7 -p1
#%patch8 -p1
%patch9 -p1
-%patch10 -p1
-%patch11 -p1
%patch12 -p1
+#%patch13 -p1 # my brain farted here, see if you have better luck
+%patch15 -p1
+%patch17 -p2
+%patch18 -p1
+%patch22 -p1
%build
%{__aclocal}
+%{__autoheader}
%{__autoconf}
+# --enable-locale vs --enable-use-locale - https://savannah.gnu.org/bugs/index.php?37528
+CFLAGS="%{rpmcflags} -DMAXWIN=256"
%configure \
- --with-sys-screenrc=%{_sysconfdir}/screenrc \
--enable-pam \
--enable-colors256 \
+ --enable-rxvt_osc \
+ --enable-telnet \
+ --enable-use-locale \
+ --with-sys-screenrc=/etc/screenrc \
+ --with-pty-mode=0620 \
+ --with-pty-group=5 \
--disable-socket-dir
-for file in *.dist; do
- cp -f $file ${file%.dist}
-done
-
-%{__make} \
- CFLAGS="%{rpmcflags} -DMAXWIN=128"
+%{__make} -j1
cd doc
rm -f screen.info*
install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/screen/utf8encodings} \
$RPM_BUILD_ROOT{/etc/{skel,pam.d},%{_mandir}/{,pl}/man1,%{_infodir}}
-install screen $RPM_BUILD_ROOT%{_bindir}
-install doc/screen.1 $RPM_BUILD_ROOT%{_mandir}/man1
-install doc/screen.info* $RPM_BUILD_ROOT%{_infodir}
-install etc/etcscreenrc $RPM_BUILD_ROOT%{_sysconfdir}/screenrc
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/skel/.screenrc
-install utf8encodings/* $RPM_BUILD_ROOT%{_datadir}/screen/utf8encodings
+install -p screen $RPM_BUILD_ROOT%{_bindir}
+cp -a doc/screen.1 $RPM_BUILD_ROOT%{_mandir}/man1
+cp -a doc/screen.info* $RPM_BUILD_ROOT%{_infodir}
+
+cp -p etc/etcscreenrc $RPM_BUILD_ROOT%{_sysconfdir}/screenrc
+echo -e "\n\n" >> $RPM_BUILD_ROOT%{_sysconfdir}/screenrc
+cat %{SOURCE3} > $RPM_BUILD_ROOT%{_sysconfdir}/screenrc
+
+cp -a utf8encodings/* $RPM_BUILD_ROOT%{_datadir}/screen/utf8encodings
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/screen
bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/screen
rm -f $RPM_BUILD_ROOT%{_mandir}/README.screen-non-english-man-pages
%clean
rm -rf $RPM_BUILD_ROOT
-%post
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%post -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
-%postun
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%postun -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
%files
%defattr(644,root,root,755)
%doc NEWS README ChangeLog doc/{FAQ,README.DOTSCREEN} etc/screenrc
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/screenrc
+%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/screen
%attr(755,root,root) %{_bindir}/screen
%{_datadir}/screen
-%attr(600,root,root) /etc/skel/.screenrc
-%{_mandir}/man1/*
-%lang(ja) %{_mandir}/ja/man1/*
-%lang(pl) %{_mandir}/pl/man1/*
+%{_mandir}/man1/screen.1*
+%lang(ja) %{_mandir}/ja/man1/screen.1*
+%lang(pl) %{_mandir}/pl/man1/screen.1*
%{_infodir}/screen.info*
-%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*