]> git.pld-linux.org Git - packages/screen.git/blob - screen.spec
add ipv6 bcond
[packages/screen.git] / screen.spec
1 # TODO: check interoperability with 4.0.x and 4.1.x (or don't care about it):
2 # 4.2.1 string buffer sizes are enlargered upstream, but to different values than Debian's 4.1.x
3 #
4 # Conditional build:
5 %bcond_without  fifo            # force using fifos even if sockets detected
6 %bcond_without  ipv6            # enable/disable IPv6 patch
7
8 # TODO
9 # - from changelog: 'maxwin' can now be used to increase the number of maximum windows.
10 Summary:        Screen - Manages multiple sessions on one tty
11 Summary(de.UTF-8):      Screen - Verwaltet mehrere Sitzungen an einem tty
12 Summary(es.UTF-8):      Screen - Administra múltiples sesiones en un tty
13 Summary(fr.UTF-8):      screen - gère plusieurs sessions sur un seul terminal
14 Summary(pl.UTF-8):      Screen - Program zarządzający sesjami na jednym terminalu
15 Summary(pt_BR.UTF-8):   Screen - Gerencia múltiplas sessões em um tty
16 Summary(ru.UTF-8):      Менеджер экрана, поддерживающий несколько логинов с одного терминала
17 Summary(tr.UTF-8):      Bir uçbirimde birden fazla oturumu düzenler
18 Summary(uk.UTF-8):      Менеджер екрану, що підтримує кілька логінів з одного терміналу
19 Name:           screen
20 Version:        4.3.1
21 Release:        1
22 License:        GPL v3+
23 Group:          Applications/Terminal
24 Source0:        http://ftp.gnu.org/gnu/screen/%{name}-%{version}.tar.gz
25 # Source0-md5:  5bb3b0ff2674e29378c31ad3411170ad
26 Source1:        http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
27 # Source1-md5:  236166e774cee788cf594b05dd1dd70d
28 Source2:        %{name}.pamd
29 Source3:        %{name}rc
30 Patch2:         %{name}-manual.patch
31 Patch3:         %{name}-ia64.patch
32 Patch4:         %{name}-info.patch
33 Patch5:         %{name}-debian_fixed.patch
34 Patch7:         %{name}-no_hardcoded_term_sequences.patch
35 Patch8:         %{name}-home_etc.patch
36 Patch9:         %{name}-no-libs.patch
37 Patch12:        %{name}-screenrc.patch
38 Patch13:        %{name}-osc.patch
39 Patch15:        %{name}-statusline-encoding.patch
40 Patch16:        %{name}-ipv6.patch
41 Patch17:        %{name}-E3.patch
42 Patch18:        %{name}-4.1.0-suppress_remap.patch
43 Patch22:        52fix_%{name}_utf8_nfd.patch
44 Patch24:        60-644788-%{name}-4.1.0-4.0.3-interoperability.patch
45 URL:            http://www.gnu.org/software/screen/
46 BuildRequires:  autoconf
47 BuildRequires:  automake
48 BuildRequires:  ncurses-devel >= 5.0
49 BuildRequires:  pam-devel
50 BuildRequires:  texinfo
51 BuildRequires:  utempter-devel
52 Requires:       pam >= 0.77.3
53 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54
55 %description
56 Screen is a program that allows you to have multiple logins on one
57 terminal. It is useful in situations where you are telnetted into a
58 machine or connected via a dumb terminal and want more than just one
59 login.
60
61 %description -l de.UTF-8
62 Screens ist ein Programm, das Ihnen erlaubt, sich auf einem Terminal
63 mehrfach einzuloggen - was nützlich sein kann, wenn Sie über ein
64 dummes Terminal eine Telnetverbindung zu einem Rechner haben und mehr
65 als ein Login benötigen.
66
67 %description -l es.UTF-8
68 Screen es un programa que permite que tengas múltiples logins en un
69 terminal. Es útil en situaciones donde estás usando telnet en una
70 máquina o conectado vía un terminal dumb y quiera más que apenas un
71 login.
72
73 %description -l fr.UTF-8
74 Screen est un programme permettant plusieurs connexions sur un
75 terminal. Il est utile pour ouvrir plusieurs sessions à la fois, si
76 vous voulez ouvrir une session telnet sur une autre machine et voulez
77 plus d'une connexion.
78
79 %description -l pl.UTF-8
80 Screen jest programem, który umożliwia otworzenie wielu sesji na
81 jednym terminalu. Jest to bardzo przydatne, przy połączeniach z
82 terminali nie umożliwiających otwarcia kilku sesji w systemie. Screen
83 umożliwia ponadto powrót do otwartych sesji w przypadku przerwania
84 połączenia z terminalem.
85
86 %description -l pt_BR.UTF-8
87 Screen é um programa que permite que você tenha múltiplos logins em um
88 terminal. Ele é útil em situações onde você está usando telnet em uma
89 máquina ou conectado via um terminal dumb e quer mais do que apenas um
90 login.
91
92 %description -l ru.UTF-8
93 Утилита screen позволяет иметь несколько сессий на одном терминале.
94 Screen полезен пользователям, которые заходят на машину по сети или
95 через dumb-терминал, но хотят иметь более одной сессии с этой машиной.
96
97 %description -l tr.UTF-8
98 Screen, aynı uçbirimde birden fazla oturum olanağı sağlayan bir
99 programdır. Bir makinaya telnet programı ile ya da programlanamaz bir
100 uçbirim üzerinden bağlantı kurduğunuz durumlarda kullanışlıdır.
101
102 %description -l uk.UTF-8
103 Утиліта screen дозволяє мати декілька сесій на одному терміналі.
104 Screen корисний користувачам, які заходять на машину по мережі або
105 через dumb-термінал, але хочуть мати більше одної сесії з цією
106 машиною.
107
108 %prep
109 %setup -q
110 %patch2 -p1
111 %patch3 -p0
112 %patch4 -p1
113 %patch5 -p1
114 # DON'T ENABLE IT UNLESS YOU REALLY FIX IT
115 # (it's heavily broken - note that some sequences should be get for
116 # $TERM before running screen instance, and others for TERM=screen!)
117 ###%patch7 -p1
118 #%patch8 -p1
119 %patch9 -p1
120 %patch12 -p1
121 #%patch13 -p1 # my brain farted here, see if you have better luck
122 %patch15 -p0
123 %{?with_ipv6:%patch16 -p2}
124 %patch17 -p2
125 %patch18 -p1
126 %patch22 -p1
127 %patch24 -p1
128
129 %build
130 %{__aclocal}
131 %{__autoheader}
132 %{__autoconf}
133 # --enable-locale vs --enable-use-locale - https://savannah.gnu.org/bugs/index.php?37528
134 CFLAGS="%{rpmcflags} -DMAXWIN=256"
135 %{?with_fifo:nore=1} \
136 %configure \
137         --enable-pam \
138         --enable-colors256 \
139         --enable-rxvt_osc \
140         --enable-telnet \
141         --enable-use-locale \
142         --with-sys-screenrc=/etc/screenrc \
143         --with-pty-mode=0620 \
144         --with-pty-group=5 \
145         --disable-socket-dir
146
147 %if %{with fifo}
148 if ! grep -q "define.*NAMEDPIPE.*1" config.h; then
149         echo "bcond with fifo but fifos not enabled!"
150         exit 1
151 fi
152 %endif
153
154 %{__make} -j1
155
156 cd doc
157 rm -f screen.info*
158 makeinfo screen.texinfo
159
160 %install
161 rm -rf $RPM_BUILD_ROOT
162 install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/screen/utf8encodings} \
163         $RPM_BUILD_ROOT{/etc/{skel,pam.d},%{_mandir}/{,pl}/man1,%{_infodir}}
164
165 install -p screen $RPM_BUILD_ROOT%{_bindir}
166 cp -a doc/screen.1 $RPM_BUILD_ROOT%{_mandir}/man1
167 cp -a doc/screen.info* $RPM_BUILD_ROOT%{_infodir}
168
169 cp -p etc/etcscreenrc $RPM_BUILD_ROOT%{_sysconfdir}/screenrc
170 echo -e "\n\n" >> $RPM_BUILD_ROOT%{_sysconfdir}/screenrc
171 cat %{SOURCE3} > $RPM_BUILD_ROOT%{_sysconfdir}/screenrc
172
173 cp -a utf8encodings/* $RPM_BUILD_ROOT%{_datadir}/screen/utf8encodings
174 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/screen
175
176 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
177 rm -f $RPM_BUILD_ROOT%{_mandir}/README.screen-non-english-man-pages
178
179 %clean
180 rm -rf $RPM_BUILD_ROOT
181
182 %post   -p      /sbin/postshell
183 -/usr/sbin/fix-info-dir -c %{_infodir}
184
185 %postun -p      /sbin/postshell
186 -/usr/sbin/fix-info-dir -c %{_infodir}
187
188 %files
189 %defattr(644,root,root,755)
190 %doc NEWS README ChangeLog doc/{FAQ,README.DOTSCREEN} etc/screenrc
191 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/screenrc
192 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
193 %attr(755,root,root) %{_bindir}/screen
194 %{_datadir}/screen
195 %{_mandir}/man1/*
196 %lang(ja) %{_mandir}/ja/man1/*
197 %lang(pl) %{_mandir}/pl/man1/*
198 %{_infodir}/screen.info*
This page took 1.109059 seconds and 3 git commands to generate.