+#
+# Conditional build:
+%bcond_without fifo # force using fifos even if sockets detected
+
+# 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(tr.UTF-8): Bir uçbirimde birden fazla oturumu düzenler
Summary(uk.UTF-8): Менеджер екрану, що підтримує кілька логінів з одного терміналу
Name: screen
-Version: 4.0.3
-Release: 8
-License: GPL
+# 4.0 stable is on SCREEN_4_0 brach
+Version: 4.1.0
+Release: 4
+License: GPL v3+
Group: Applications/Terminal
-Source0: ftp://ftp.uni-erlangen.de/pub/utilities/screen/%{name}-%{version}.tar.gz
-# Source0-md5: 8506fd205028a96c741e4037de6e3c42
+Source0: http://git.savannah.gnu.org/cgit/screen.git/snapshot/%{name}-c2cd05962664c80f8ae063d6bf7a21084e0c2f37.tar.gz
+# Source0-md5: 61195697c98359ae3a86c8e1ea5f538d
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
+Source3: %{name}rc
Patch1: %{name}-compat21.patch
Patch2: %{name}-manual.patch
Patch3: %{name}-ia64.patch
Patch11: %{name}-inputline-size.patch
Patch12: %{name}-screenrc.patch
Patch13: %{name}-osc.patch
-Patch14: %{name}-comment.patch
Patch15: %{name}-statusline-encoding.patch
+Patch16: screen-ipv6.patch
+Patch17: screen-E3.patch
+Patch18: screen-4.1.0-suppress_remap.patch
+Patch19: 49long-usernames.patch
+Patch20: 50increase-max-TERM-length.patch
+Patch21: 51fix-utf8-status-padding-bug.patch
+Patch22: 52fix_screen_utf8_nfd.patch
+Patch23: 53fix-startup-race-condition.patch
+Patch24: 60-644788-screen-4.1.0-4.0.3-interoperability.patch
URL: http://www.gnu.org/software/screen/
BuildRequires: autoconf
BuildRequires: automake
машиною.
%prep
-%setup -q
-%patch0 -p1
+%setup -qc
+mv screen-*/src/* .
+
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch10 -p1
%patch11 -p1
%patch12 -p1
-%patch13 -p1
-%patch14 -p0
+#%patch13 -p1 # my brain farted here, see if you have better luck
%patch15 -p0
+%patch16 -p2
+%patch17 -p2
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
%build
%{__aclocal}
+%{__autoheader}
%{__autoconf}
+# --enable-locale vs --enable-use-locale - https://savannah.gnu.org/bugs/index.php?37528
+CFLAGS="%{rpmcflags} -DMAXWIN=256"
+%{?with_fifo:nore=1} \
%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
+%if %{with fifo}
+if ! grep -q "define.*NAMEDPIPE.*1" config.h; then
+ echo "bcond with fifo but fifos not enabled!"
+ exit 1
+fi
+%endif
-%{__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}
+
+install 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 -a %{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
%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/*
%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/*
%{_infodir}/screen.info*
-%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*