]> git.pld-linux.org Git - packages/LPRng.git/blobdiff - LPRng.spec
- rediff patches, rel 5
[packages/LPRng.git] / LPRng.spec
index 11e831c8474fbe9663cd079abe5fbe7eb356f84b..5fdd05d0c8022fbaa0e85d58a2c7096dd70c452e 100644 (file)
@@ -1,35 +1,55 @@
+# NOTE: a bit newer fork is hosted at lprng.sourceforge.net (latest release 3.8.C from 2012)
+#
+# Conditional build:
+%bcond_with    kerberos5       # build with kerberos5 support
+#
 Summary:       A next-generation printing system for UNIX
 Summary:       A next-generation printing system for UNIX
-Summary(pl):   System drukowania nowej generacji
-Summary(zh_CN):        LPRng--´òÓ¡³ÌÐò
+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
 Name:          LPRng
-Version:       3.8.1
-Release:       2
-License:       GPL
+Version:       3.8.35
+Release:       5
+License:       GPL v2 with OpenSSL exception or Artistic
 Group:         Applications/System
 Group:         Applications/System
-Source0:       ftp://ftp.astart.com/pub/LPRng/LPRng/%{name}-%{version}.tgz
-Source1:       %{name}.init
-Source2:       %{name}.conf
-Source3:       %{name}.printcap
-Source4:       http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-pl-man-pages.tar.bz2
-Patch0:                %{name}-jobfilescan.patch
-Patch1:                %{name}-ac_fixes.patch
-Patch2:                %{name}-manpage.patch
-Patch3:                %{name}-shutdown.patch
-Patch4:                %{name}-nproc-unlimited.patch
-URL:           http://www.astart.com/lprng/LPRng.html
+Source0:       http://www.lprng.com/DISTRIB/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
+Patch9:                %{name}-format.patch
+Patch10:       %{name}-openssl1.1.patch
+URL:           http://www.lprng.com/
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: autoconf
 BuildRequires: automake
-BuildRequires: gettext-devel
+BuildRequires: gettext-tools
+%{?with_kerberos5:BuildRequires:       heimdal-devel}
 BuildRequires: libtool
 BuildRequires: libtool
-BuildRequires: ncurses-devel >= 5.0
-Prereq:                /sbin/ldconfig
-Prereq:                /sbin/chkconfig
-Prereq:                rc-scripts >= 0.2.0
-Provides:      lpr
-Obsoletes:     lpr
-Obsoletes:     cups
+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
+Provides:      printingclient
+Provides:      printingdaemon
+Obsoletes:     printingclient
+Obsoletes:     printingdaemon
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                lpfiltersdir    %{_libexecdir}/lpfilters
+
 %description
 The LPRng software is an enhanced, extended, and portable
 implementation of the Berkeley LPR print spooler functionality. While
 %description
 The LPRng software is an enhanced, extended, and portable
 implementation of the Berkeley LPR print spooler functionality. While
@@ -58,79 +78,149 @@ extremely simple to add. LPRng is Open Source Software, and the
 current public distribution is available from the listed FTP and Web
 Sites.
 
 current public distribution is available from the listed FTP and Web
 Sites.
 
-%description -l pl
-LPRng jest rozszerzon±, ulepszon± i portowaln± implementacj± 
-Berkeley'owskiego LPR print spooler'a. 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;
+%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;
 - dynamiczna redyrekcja do kolejek;
-- automatyczne wstrzymywanie zadañ;
+- automatyczne wstrzymywanie zadań;
 - "gadatliwa" diagnostyka;
 - "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 UNIX'owych
-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 autentyfikowanej
-obs³ugi drukowania LPRng wspiera Kerberos V, MIT Kerberos IV Print 
-Support oraz PGP. 
+- 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
 
 %prep
-%setup  -q
+%setup -q
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+
+%{__mv} PrintingCookbook/{HTML,PrintingCookbook}
+%{__rm} po/stamp-po
 
 %build
 
 %build
-rm -f missing acinclude.m4
-gettextize --copy --force
-libtoolize --copy --force
-aclocal
-autoconf
-(cd gdbm-1.8.0 ; aclocal ; autoconf )
+%{__autoconf}
+# now it wants to use /etc/lpd/lpd.{conf,perms} - stick to old values?
 %configure \
 %configure \
+       OPENSSL=/usr/bin/openssl \
+       PSHOWALL="ax" \
        --disable-setuid \
        --disable-setuid \
+       --enable-shared \
        --with-userid=lp \
        --with-groupid=lp \
        --with-userid=lp \
        --with-groupid=lp \
-       --with-filterdir=%{_libdir}/lpfilters \
-       --with-lockfile=%{_var}/spool/lpd/lpd
+       --with-filterdir=%{lpfiltersdir} \
+       --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-static \
+       --disable-werror \
+       %{?with_kerberos5:--enable-kerberos} \
+       %{!?with_kerberos5:--disable-kerberos} \
+       --enable-tcpwrappers \
+       --enable-ssl
 
 
-%{__make}
+%{__make} -j1
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d  $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_var}/spool/lpd/lp}
+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 \
+%{__make} -j1 install \
        DESTDIR=$RPM_BUILD_ROOT \
        POSTINSTALL="NO"
 
        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
-echo "default_printer = lp" >>$RPM_BUILD_ROOT%{_sysconfdir}/lpd.conf
-install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/printcap
-install lpd.perms $RPM_BUILD_ROOT%{_sysconfdir}/
-# default spool
-
-rm -fr TESTSUPPORT/{Makefile*,LPD}
-mv -f lpd.conf TESTSUPPORT/lpd.conf.distrib
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lpd
 
 
-bzip2 -dc %{SOURCE4} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
 
 
-gzip -9nf CHANGES CONTRIBUTORS README* TESTSUPPORT/*
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblpr.{so,la}
 
 %find_lang %{name}
 
 
 %find_lang %{name}
 
@@ -140,35 +230,67 @@ rm -rf $RPM_BUILD_ROOT
 %post
 /sbin/ldconfig
 /sbin/chkconfig --add lpd
 %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
 
 %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
        /sbin/chkconfig --del lpd
+       %service lpd stop
 fi
 
 %postun -p /sbin/ldconfig
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
 fi
 
 %postun -p /sbin/ldconfig
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-%doc *.gz TESTSUPPORT HOWTO/LPRng-HOWTO.html HOWTO/CHANGES
-%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 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(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/*
+%attr(755,root,root) %{_bindir}/cancel
+%attr(755,root,root) %{_bindir}/lp
+%attr(755,root,root) %{_bindir}/lpq
+%attr(755,root,root) %{_bindir}/lpr
+%attr(755,root,root) %{_bindir}/lprm
+%attr(755,root,root) %{_bindir}/lpstat
+%attr(755,root,root) %{_sbindir}/checkpc
+%attr(755,root,root) %{_sbindir}/lpc
+%attr(755,root,root) %{_sbindir}/lpd
+%attr(755,root,root) %{_sbindir}/lprng_certs
+%attr(755,root,root) %{_sbindir}/lprng_index_certs
+%attr(755,root,root) %{_libdir}/liblpr.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/liblpr.so.0
+%dir %{lpfiltersdir}
+%attr(755,root,root) %{lpfiltersdir}/lpbanner
+%attr(755,root,root) %{lpfiltersdir}/lpf
+%attr(755,root,root) %{lpfiltersdir}/pclbanner
+%attr(755,root,root) %{lpfiltersdir}/psbanner
 %dir %attr(750,root,lp) %{_var}/spool/lpd
 %dir %attr(770,root,lp) %{_var}/spool/lpd/lp
 %dir %attr(750,root,lp) %{_var}/spool/lpd
 %dir %attr(770,root,lp) %{_var}/spool/lpd/lp
-%{_mandir}/man[158]/*
+%{_mandir}/man1/cancel.1*
+%{_mandir}/man1/lp.1*
+%{_mandir}/man1/lpbanner.1*
+%{_mandir}/man1/lpf.1*
+%{_mandir}/man1/lpq.1*
+%{_mandir}/man1/lpr.1*
+%{_mandir}/man1/lprm.1*
+%{_mandir}/man1/lprng_certs.1*
+%{_mandir}/man1/lprng_index_certs.1*
+%{_mandir}/man1/lpstat.1*
+%{_mandir}/man1/monitor.1*
+%{_mandir}/man1/pclbanner.1*
+%{_mandir}/man1/psbanner.1*
+%{_mandir}/man5/lpd.conf.5*
+%{_mandir}/man5/lpd.perms.5*
+%{_mandir}/man5/printcap.5*
+%{_mandir}/man8/checkpc.8*
+%{_mandir}/man8/lpc.8*
+%{_mandir}/man8/lpd.8*
 %lang(pl) %{_mandir}/pl/man[158]/*
 %lang(pl) %{_mandir}/pl/man[158]/*
This page took 0.077206 seconds and 4 git commands to generate.