+#
+# Conditional build:
+%bcond_with kerberos5 # build with kerberos5 support
+#
Summary: A next-generation printing system for UNIX
-Summary(pl): System drukowania nowej generacji
+Summary(pl.UTF-8): System drukowania nowej generacji
+Summary(pt_BR.UTF-8): Gerenciador de impressão para UNIX e NT
+Summary(ru.UTF-8): Спулер печати LPRng
+Summary(uk.UTF-8): Спулер друку LPRng
+Summary(zh_CN.UTF-8): LPRng--打印程序
Name: LPRng
-Version: 3.7.4
+Version: 3.8.35
Release: 2
-License: GPL
-Group: Utilities/System
-Group(pl): Narzêdzia/System
-Source0: ftp://ftp.astart.com/pub/LPRng/LPRng/%{name}-%{version}.tgz
-Source1: %{name}.init
-Source2: %{name}.conf
-Patch0: %{name}-filter.patch
-Patch1: %{name}-ac_fixes.patch
-Patch2: %{name}-inet_ntop.patch
+License: GPL v2 with OpenSSL exception or Artistic
+Group: Applications/System
+Source0: ftp://ftp.lprng.com/pub/LPRng/LPRng/%{name}-%{version}.tgz
+# Source0-md5: aaf76e4a94300352514d23bdfa66f0e7
+Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-pl-man-pages.tar.bz2
+# Source1-md5: 4771b1c3598677a8201a9e203235dff3
+Source2: %{name}.init
+Patch0: %{name}-ac_fixes.patch
+Patch1: %{name}-lpd-perms.patch
+Patch2: %{name}-ngettext.patch
+Patch3: %{name}-missing-nls.patch
+Patch4: %{name}-pl.po.patch
+Patch5: %{name}-types.patch
+Patch6: %{name}-shell.patch
+Patch7: %{name}-as-needed.patch
+Patch8: %{name}-lpd.conf.patch
+URL: http://www.lprng.com/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gettext-devel
-BuildRequires: ncurses-devel >= 5.0
-Requires: /sbin/chkconfig
-Prereq: rc-scripts >= 0.2.0
-URL: http://www.astart.com/lprng/LPRng.html
-Provides: lpr
-Obsoletes: lpr
+%{?with_kerberos5:BuildRequires: heimdal-devel}
+BuildRequires: libtool
+BuildRequires: libwrap-devel
+BuildRequires: openssl-devel >= 0.9.7d
+BuildRequires: rpmbuild(macros) >= 1.315
+Requires(post): /sbin/ldconfig
+Requires(post,preun): /sbin/chkconfig
+Requires: rc-scripts >= 0.2.0
+Obsoletes: printingclient
+Obsoletes: printingdaemon
+Provides: printingclient
+Provides: printingdaemon
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-
%description
The LPRng software is an enhanced, extended, and portable
implementation of the Berkeley LPR print spooler functionality. While
current public distribution is available from the listed FTP and Web
Sites.
-%description -l pl
-LPRng jest systemem drukowania nowej generacji zwiêkszaj±cym
-niezawodno¶æ i bezpieczeñstwo.
+%description -l pl.UTF-8
+LPRng jest rozszerzoną, ulepszoną i portowalną implementacją
+Berkeleyowskiego LPR, czyli spoolera wydruków. Dostarcza ten sam
+interfejs oraz jest zgodny z wymaganiami RFC1179. Jednocześnie
+wykonanie jest całkowicie nowe i dostarcza następujące rzeczy:
+- programy - "lekki" lpr (nie są potrzebne żadne bazy danych), lpc,
+ oraz lprm;
+- dynamiczna redyrekcja do kolejek;
+- automatyczne wstrzymywanie zadań;
+- "gadatliwa" diagnostyka;
+- obsługę wielu drukarek na jednej kolejce;
+- programy klienckie nie muszą być SUID root;
+- mocno rozszerzona kontrola bezpieczeństwa;
+- mocno rozszerzone mechanizmy bezpieczeństwa i kontroli uprawnień.
+
+Oprogramowanie to kompiluje się i działa na wielu systemach uniksowych
+i jest kompatybilne z innymi print spoolami oraz drukarkami
+sieciowymi, które używają interfejsu LPR oraz spełniają wymagania
+RFC1179. LPRng dostarcza pakiety emulacyjne dla programów SVR4 lp oraz
+lpstat, eliminując w ten sposób konieczność posiadania jeszcze jednego
+pakietu print spoola. Te pakiety mogą być modyfikowane zgodnie z
+lokalnymi wymaganiami.
+
+Dla użytkowników, którzy potrzebują bezpiecznej i uwierzytelnianej
+obsługi drukowania LPRng wspiera Kerberos V, MIT Kerberos IV Print
+Support oraz PGP.
+
+%description -l pt_BR.UTF-8
+LPRng é uma versão melhorada, estendida e mais segura do gerenciador
+de impressão LPR. Entre as melhorias se destacam: redirecionamento
+dinâmico de filas de impressão, suspensão automática de trabalhos de
+impressão, diagnóstico detalhado, várias impressoras por fila,
+programas cliente não precisam ser SUID root e um mecanismo bastante
+melhorado de permissões e autorizações.
+
+%description -l ru.UTF-8
+LPRng - это улучшенная, расширенная и портируемая реализация
+функциональности спулера печати Berkeley LPR. Предоставляя тот же
+интерфейс и отвечая всем требованиям RFC1179, эта реализация
+совершенно новая и предоставляет поддержку следующих возможностей:
+компактный (не требующий базы данных) lpr, программы lpc и lprm;
+динамическая переадресация очередей печати; автоматическая
+приостановка заданий; очень детальная диагностика; обслуживание одной
+очереди несколькими принтерами; клиентские программы не должны быть
+SUID root; сильно улучшенная система безопасности; сильно улучшенные
+механизмы авторизации и прав доступа.
+
+Программное обеспечение компиллируется и работает на большом
+количестве UNIX-систем и совместимо с другими спулерами печати и
+сетевыми принтерами, которые используют интерфейс LPR и отвечают
+требованиям RFC1179. LPRng также предоставляет пакеты эмуляции для
+программ SVR4 lp и lpstat, исключая потребность в другом пакете
+спулера печати. Эти пакеты эмуляции могут быть модифицированы в
+соответствии с локальными требованиями для поддержки антикварных
+систем печати.
+
+Для пользователей, которым нужна безопасная и/или аутентицируемая
+поддержка печати, LPRng поддерживает Kerberos V, MIT Kerberos IV Print
+Support и аутентикацию PGP. LPRng принят за стандарт в MIT для
+использования в качестве системы поддержки печати в их кампусе.
+Дополнительная поддержка аутентикации может быть добавлена без особых
+усилий.
+
+%description -l uk.UTF-8
+LPRng - це покращена, розширена та портована реалізація функційності
+спулеру друку Berkeley LPR. Надаючи той же інтерфейс та відповідаючи
+усім вимогам RFC1179, ця реалізація абсолютно нова і надає підтримку
+таких можливостей: компактний (не вимагаючий бази даних) lpr, програми
+lpc та lprm; динамічна переадресація черг друку; автоматичне
+призупинення завдань; дуже детальна діагностика; обслуговування одної
+черги кількома прінтерами; клієнтські програми не повинні бути SUID
+root; сильно покращена система безпеки; сильно покращені механізми
+авторизації та прав доступу.
+
+Програмне забезпечення компілюється та працює на великій кількості
+UNIX-систем і сумісне з іншими спулерами друку та мережевими
+прінтерами, котрі використовують інтерфейс LPR та відповідають вимогам
+RFC1179. LPRng також надає пакети емуляції для програм SVR4 lp та
+lpstat, виключаючи потребу в іншому пакеті спулера друку. Ці пакети
+емуляции можуть бути модифіковані у відповідності з локальними
+вимогами для підтримки антикварних систем друку.
+
+Для користувачів, яким потрібна безпечна та/або аутентифікована
+підтримка друку, LPRng підтримує Kerberos V, MIT Kerberos IV Print
+Support та аутентикацію PGP. LPRng прийнято за стандарт в MIT для
+використання в якості системи підтримки друку в їх кампусі. Додаткова
+підтримка аутентикації може бути додана без особливих зусиль.
%prep
-%setup -q
+%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+
+mv PrintingCookbook/{HTML,PrintingCookbook}
+rm -f po/stamp-po
%build
-gettextize --copy --force
-aclocal
-autoconf
+%{__autoconf}
+# now it wants to use /etc/lpd/lpd.{conf,perms} - stick to old values?
%configure \
+ OPENSSL=/usr/bin/openssl \
+ PSHOWALL="ax" \
--disable-setuid \
+ --enable-shared \
--with-userid=lp \
--with-groupid=lp \
--with-filterdir=%{_libdir}/lpfilters \
- --with-lockfile=%{_var}/spool/lpd/lpd
+ --with-lockfile=%{_var}/spool/lpd/lpd \
+ --with-lpd_conf_path=%{_sysconfdir}/lpd.conf \
+ --with-lpd_perms_path=%{_sysconfdir}/lpd.perms \
+ --with-done_jobs=0 \
+ --disable-werror \
+ %{?with_kerberos5:--enable-kerberos} \
+ %{!?with_kerberos5:--disable-kerberos} \
+ --enable-tcpwrappers \
+ --enable-ssl
-%{__make}
+%{__make} -j1
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_var}/spool/lpd}
+install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_var}/spool/lpd/lp} \
+ $RPM_BUILD_ROOT%{_sysconfdir}/lpd/ssl.{ca,crl,server}
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
+%{__make} -j1 install \
+ DESTDIR=$RPM_BUILD_ROOT \
+ POSTINSTALL="NO"
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/lpd
-# yes, overwrite distribution lpd.conf
-install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lpd.conf
-install printcap.in $RPM_BUILD_ROOT%{_sysconfdir}/printcap
-install lpd.perms $RPM_BUILD_ROOT%{_sysconfdir}/
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lpd
-rm -fr TESTSUPPORT/{Makefile*,LPD}
-mv -f lpd.conf TESTSUPPORT/lpd.conf.distrib
+bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-gzip -9nf CHANGES CONTRIBUTORS README* TESTSUPPORT/*
+rm $RPM_BUILD_ROOT%{_libdir}/liblpr.{la,a}
%find_lang %{name}
+%clean
+rm -rf $RPM_BUILD_ROOT
+
%post
+/sbin/ldconfig
/sbin/chkconfig --add lpd
-if [ -f /var/lock/subsys/lpd ]; then
- /etc/rc.d/init.d/lpd restart 1>&2
-else
- echo "Run \"/etc/rc.d/init.d/lpd start\" to start LPRng lpd daemon."
-fi
+%service lpd restart "LPRng lpd daemon"
%preun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/lpd ]; then
- /etc/rc.d/init.d/lpd stop 1>&2
- fi
/sbin/chkconfig --del lpd
+ %service lpd stop
fi
-%clean
-rm -rf $RPM_BUILD_ROOT
+%postun -p /sbin/ldconfig
%files -f %{name}.lang
%defattr(644,root,root,755)
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/lpd.conf
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/lpd.perms
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/printcap
-%doc {CHANGES,CONTRIBUTORS,README*}.gz TESTSUPPORT HOWTO/LPRng-HOWTO.html
+%doc CHANGES CONTRIBUTORS COPYRIGHT README README.SSL* TODO
+%doc DOCS/LPRng-Reference.{html,pdf} DOCS/*.jpg DOCS/*.png
+%doc PrintingCookbook/PrintingCookbook PrintingCookbook/PDF/*.pdf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lpd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lpd.perms
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/printcap
+%dir %{_sysconfdir}/lpd
+# what perms?
+%attr(750,root,lp) %dir %{_sysconfdir}/lpd/ssl.ca
+%attr(750,root,lp) %dir %{_sysconfdir}/lpd/ssl.crl
+%attr(750,root,lp) %dir %{_sysconfdir}/lpd/ssl.server
%attr(754,root,root) /etc/rc.d/init.d/lpd
%attr(755,root,root) %{_bindir}/*
%attr(755,root,root) %{_sbindir}/*
+%attr(755,root,root) %{_libdir}/lib*.so.*.*
%dir %{_libdir}/lpfilters
%attr(755,root,root) %{_libdir}/lpfilters/*
%dir %attr(750,root,lp) %{_var}/spool/lpd
+%dir %attr(770,root,lp) %{_var}/spool/lpd/lp
%{_mandir}/man[158]/*
+%lang(pl) %{_mandir}/pl/man[158]/*