diff --git a/screen.spec b/screen.spec new file mode 100644 index 0000000..65949cd --- /dev/null +++ b/screen.spec @@ -0,0 +1,307 @@ +Summary: A screen manager that supports multiple logins on one terminal. +Name: screen +Version: 3.9.11 +Release: 3 +License: GPL2 +Group: Applications/System +URL: http://www.gnu.org/software/screen +Prereq: /sbin/install-info +BuildRoot: %{_tmppath}/%{name}-root +BuildRequires: ncurses-devel +Requires: ncurses + +# The one and only true source +# +Source0: ftp://ftp.uni-erlangen.de/pub/utilities/screen/screen-%{version}.tar.gz + +# Small tweak for ia64 +# +Patch1: screen-ia64.patch + +# Because we use pam, we need to create a /etc/pam.d/screen +# +Patch2: screen-3.9.11-pam.patch + +# Some tweaks of the default screenrc +# really end users should visit /etc/screenrc and tweak +# it to suit their personal preferances +# +Patch3: screen-3.9.11-screenrc.patch + +# Due to the way the build system creates rpms in a buildroot +# we need this tweak for utf8encodings +# +Patch4: screen-3.9.11-utf8-install.patch + +# Initialize the effective uid before calling anything that uses it +Patch5: screen-3.9.11-euid.patch + +%description +The screen utility allows you to have multiple logins on just one +terminal. Screen is useful for users who telnet into a machine or are +connected via a dumb terminal, but want to use more than just one +login. + +Install the screen package if you need a screen manager that can +support multiple logins on one terminal. + + +%prep + + +%setup -q +%patch1 -p1 -b .ia64 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 + +%build +autoconf +%define optflags -g +# define a function to call configure the way we like it +# These are the defines provided by /usr/lib/rpm/macros +configure() { +./configure \ + --prefix=%{_prefix} \ + --exec-prefix=%{_exec_prefix} \ + --bindir=%{_bindir} \ + --sbindir=%{_sbindir} \ + --sysconfdir=%{_sysconfdir} \ + --datadir=%{_datadir} \ + --includedir=%{_includedir} \ + --libdir=%{_libdir} \ + --libexecdir=%{_libexecdir} \ + --localstatedir=%{_localstatedir} \ + --sharedstatedir=%{_sharedstatedir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --enable-pam \ + --enable-colors256 \ + --enable-rxvt_osc \ + --enable-locale \ + --enable-telnet \ + $* +} + +configure --with-sys-screenrc="/etc/screenrc" + +# We would like to have braille support. +# +sed -e 's/.*#.*undef.*HAVE_BRAILLE.*/#define HAVE_BRAILLE 1/;' \ + < config.h > config.tmp.h +mv config.tmp.h config.h + +# We really don't want to be using /usr/local +# because we wish to be FSB complient +# +sed -e 's/\/usr\/local\/etc/\/etc/g;' < etc/etcscreenrc > etc/etcscreenrc.tmp +mv etc/etcscreenrc.tmp etc/etcscreenrc + +find doc -type f | while read line; do + sed -e 's/\(\/usr\)\?\/local\/etc/\/etc/g;' < $line > $line.tmp; + mv $line.tmp $line +done + +rm doc/screen.info* +make clean + +CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE" make + + +%install +rm -rf $RPM_BUILD_ROOT + +mkdir -p $RPM_BUILD_ROOT/etc +%makeinstall DDESTDIR=$RPM_BUILD_ROOT + +( cd $RPM_BUILD_ROOT + strip .%{_bindir}/screen + + rm -f .%{_bindir}/screen.old .%{_bindir}/screen + mv .%{_bindir}/screen-%{version} .%{_bindir}/screen +) + +install -c -m 0644 etc/etcscreenrc $RPM_BUILD_ROOT/etc/screenrc +cat etc/screenrc >> $RPM_BUILD_ROOT/etc/screenrc + +# Better not forget to copy the pam file around +# +mkdir -p $RPM_BUILD_ROOT/etc/pam.d +install -c -m 0644 screen.pam $RPM_BUILD_ROOT/etc/pam.d/screen + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post +/sbin/install-info %{_infodir}/screen.info.gz %{_infodir}/dir --entry="* screen: (screen). Terminal multiplexer." + +if [ -d /tmp/screens ]; then + # we're not setuid root anymore + # + chmod 777 /tmp/screens +fi + + +%preun +if [ $1 = 0 ]; then + /sbin/install-info --delete %{_infodir}/screen.info.gz %{_infodir}/dir --entry="* screen: (screen). Terminal multiplexer." +fi + + +%files +%defattr(-,root,root) +%doc NEWS README doc/FAQ doc/README.DOTSCREEN + +%attr(755,root,root) %{_bindir}/screen +%{_mandir}/man1/screen.* +%{_infodir}/screen.info* +%{_datadir}/screen/utf8encodings/* +%config /etc/screenrc +%config /etc/pam.d/screen + +%changelog +* Thu Apr 18 2002 Bill Nottingham +- fix starting in non-en_US locales (#61835) + +* Mon Apr 15 2002 Philip Copeland +- Various fixups including remembering to enable pam support + +* Sat Feb 16 2002 Florian La Roche +- update to 3.9.11 +- patch0/patch4 is not necessary anymore +- do not compress man-pages/info-files in spec file +- use configure to set telnet/screenrc instead of sed +- add a hack to correctly install the new screenencodings +- try to build up a better global /etc/screenrc instead of + /etc/skel/.screenrc + +* Fri Aug 3 2001 Crutcher Dunnavant 3.9.9-3 +- fixed screenrc path sed command; #50046 +- added ncurses-devel build dep; #49692 +- fix typo in specfile that broke screenrc, #49535 + +* Tue Jul 10 2001 Tim Powers +- gzip manpage + +* Mon Jun 25 2001 Crutcher Dunnavant +- itterate to 3.9.9 +- fixed FAQ +- added electro@mrduck.net's PAM patch, crazy :) + +* Sun Jun 24 2001 Elliot Lee +- Bump release + rebuild. + +* Tue Feb 13 2001 Florian La Roche +- fix configure.in to use correct code to check for select() + +* Wed Jan 10 2001 Tim Waugh +- Rebuild, which will hopefully fix bug #22537 + +* Sun Oct 01 2000 Florian La Roche +- update to 3.9.8 +- change the .jbj patch and add some more "user" -> "auser" cases + +* Thu Aug 15 2000 Crutcher Dunnavant +- Patched the documentation to change the 'C-a C-\' to 'C-a \', +- which is what is the real behaviour. this fixes bug #16103 + +* Thu Aug 3 2000 Crutcher Dunnavant +- Fixed my fix, so that the hack goes in the /global/ file :) + +* Thu Aug 3 2000 Crutcher Dunnavant +- Stuck an entry into the default screenrc file that forces +- '^?' (backspace) to send '^H'. +- Its an ugly fix for a termcap inheritance problem, +- but it works, if anyone REALLY needs '^?' they can change it, +- and I think we anger less people with this than the way it +- currently behaves. (Read: vi and emacs work now) +- POST NOTE (Aug 15): emacs is NOT happy with ^H, BUT screen thinks +- that this is what backspace is supposed to do, so we don't change it. + +* Thu Aug 3 2000 Crutcher Dunnavant +- Fixed some conflicting descriptions in the documentation + +* Thu Aug 3 2000 Crutcher Dunnavant +- got a patch from rzm@icm.edu.pl to fix bug #10353 +- which caused screen to crash when copying to a file buffer + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Sat Jun 10 2000 Bill Nottingham +- rebuild, FHS tweaks + +* Sat May 6 2000 Bill Nottingham +- fix build for ia64 + +* Mon Apr 3 2000 Bernhard Rosenkränzer +- rebuild with new ncurses + +* Tue Mar 7 2000 Jeff Johnson +- rebuild for sparc baud rates > 38400. + +* Tue Feb 15 2000 Bernhard Rosenkränzer +- Fix MD5 password support (Bug #9463) + +* Thu Feb 3 2000 Bill Nottingham +- handle compressed man pages + +* Fri Dec 10 1999 Bill Nottingham +- update to 3.9.5 + +* Wed Oct 20 1999 Bill Nottingham +- you know, we weren't just patching in Unix98 pty support for fun. + +* Wed Aug 18 1999 Bill Nottingham +- put screendir in ~ + +* Wed Aug 18 1999 Jeff Johnson +- update to 3.9.4. + +* Wed Jun 16 1999 Bill Nottingham +- force tty permissions/group + +* Wed Jun 5 1999 Dale Lovelace +- permissions on /etc/skel/.screenrc to 644 + +* Mon Apr 26 1999 Bill Nottingham +- take out warning of directory permissions so root can still use screen + +* Wed Apr 07 1999 Bill Nottingham +- take out warning of directory ownership so root can still use screen + +* Wed Apr 07 1999 Erik Troan +- patched in utempter support, turned off setuid bit + +* Fri Mar 26 1999 Erik Troan +- fixed unix98 pty support + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 3) + +* Thu Mar 11 1999 Bill Nottingham +- add patch for Unix98 pty support + +* Mon Dec 28 1998 Jeff Johnson +- update to 3.7.6. + +* Sun Aug 16 1998 Jeff Johnson +- build root + +* Mon Apr 27 1998 Prospector System +- translations modified for de, fr, tr + +* Wed Oct 21 1997 Cristian Gafton +- upgraded to 3.7.4 + +* Wed Oct 08 1997 Erik Troan +- removed glibc 1.99 specific patch + +* Tue Sep 23 1997 Erik Troan +- added install-info support + +* Mon Jul 21 1997 Erik Troan +- built against glibc