]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - packaging/cups.spec.in
Sandboxed applications were not able to get the default printer (Issue #5676)
[thirdparty/cups.git] / packaging / cups.spec.in
index bc799e7c0dccfb3a7f2979cc8f01c18137c7bf3d..d37103c4f5177119c9ae645d64e4c6a3ef490250 100644 (file)
@@ -1,57 +1,73 @@
 #
-# "$Id: cups.spec.in 5449 2006-04-22 04:05:45Z mike $"
+# RPM "spec" file for CUPS.
 #
-#   RPM "spec" file for the Common UNIX Printing System (CUPS).
+# Original version by Jason McMullan <jmcc@ontv.com>.
 #
-#   Original version by Jason McMullan <jmcc@ontv.com>.
+# Copyright © 2007-2019 by Apple Inc.
+# Copyright © 1999-2007 by Easy Software Products, all rights reserved.
 #
-#   Copyright 1999-2006 by Easy Software Products, all rights reserved.
-#
-#   These coded instructions, statements, and computer programs are the
-#   property of Easy Software Products and are protected by Federal
-#   copyright law.  Distribution and use rights are outlined in the file
-#   "LICENSE.txt" which should have been included with this file.  If this
-#   file is missing or damaged please contact Easy Software Products
-#   at:
-#
-#       Attn: CUPS Licensing Information
-#       Easy Software Products
-#       44141 Airport View Drive, Suite 204
-#       Hollywood, Maryland 20636 USA
-#
-#       Voice: (301) 373-9600
-#       EMail: cups-info@cups.org
-#         WWW: http://www.cups.org
+# Licensed under Apache License v2.0.  See the file "LICENSE" for more
+# information.
 #
 
 # Conditional build options (--with name/--without name):
 #
 #   dbus     - Enable/disable DBUS support (default = enable)
-#   php      - Enable/disable PHP support (default = enable)
+#   dnssd    - Enable/disable DNS-SD support (default = enable)
+#   libusb1  - Enable/disable LIBUSB 1.0 support (default = enable)
+#   static   - Enable/disable static libraries (default = enable)
+#   systemd  - Enable/disable systemd support (default = enable)
 
 %{!?_with_dbus: %{!?_without_dbus: %define _with_dbus --with-dbus}}
 %{?_with_dbus: %define _dbus --enable-dbus}
 %{!?_with_dbus: %define _dbus --disable-dbus}
 
-%{!?_with_php: %{!?_without_php: %define _with_php --with-php}}
-%{?_with_php: %define _php --with-php}
-%{!?_with_php: %define _php --without-php}
+%{!?_with_dnssd: %{!?_without_dnssd: %define _with_dnssd --with-dnssd}}
+%{?_with_dnssd: %define _dnssd --enable-avahi}
+%{!?_with_dnssd: %define _dnssd --disable-avahi}
+
+%{!?_with_libusb1: %{!?_without_libusb1: %define _with_libusb1 --with-libusb1}}
+%{?_with_libusb1: %define _libusb1 --enable-libusb}
+%{!?_with_libusb1: %define _libusb1 --disable-libusb}
 
 %{!?_with_static: %{!?_without_static: %define _without_static --without-static}}
 %{?_with_static: %define _static --enable-static}
 %{!?_with_static: %define _static --disable-static}
 
-Summary: Common UNIX Printing System
+%{!?_with_systemd: %{!?_without_systemd: %define _with_systemd --with-systemd}}
+%{?_with_systemd: %define _systemd --enable-systemd}
+%{!?_with_systemd: %define _systemd --disable-systemd}
+
+Summary: CUPS
 Name: cups
 Version: @CUPS_VERSION@
 Release: 0
 Epoch: 1
 License: GPL
 Group: System Environment/Daemons
-Source: ftp://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.gz
+Source: https://github.com/apple/cups/releases/download/v%{version}/cups-%{version}-source.tar.gz
 Url: http://www.cups.org
-Packager: Anonymous <anonymous@foo.com>
-Vendor: Easy Software Products
+Packager: Anonymous <anonymous@example.com>
+Vendor: Example Corp
+
+# Package names are as defined for Red Hat (and clone) distributions
+BuildRequires: gnutls-devel, pam-devel
+
+%if %{?_with_dbus:1}%{!?_with_dbus:0}
+BuildRequires: dbus-devel
+%endif
+
+%if %{?_with_dnssd:1}%{!?_with_dnssd:0}
+BuildRequires: avahi-devel
+%endif
+
+%if %{?_with_libusb1:1}%{!?_with_libusb1:0}
+BuildRequires: libusb-devel >= 1.0
+%endif
+
+%if %{?_with_systemd:1}%{!?_with_systemd:0}
+BuildRequires: systemd-devel
+%endif
 
 # Use buildroot so as not to disturb the version already installed
 BuildRoot: /tmp/%{name}-root
@@ -60,100 +76,44 @@ BuildRoot: /tmp/%{name}-root
 Requires: %{name}-libs = %{epoch}:%{version}
 Obsoletes: lpd, lpr, LPRng
 Provides: lpd, lpr, LPRng
+Obsoletes: cups-da, cups-de, cups-es, cups-et, cups-fi, cups-fr, cups-he
+Obsoletes: cups-id, cups-it, cups-ja, cups-ko, cups-nl, cups-no, cups-pl
+Obsoletes: cups-pt, cups-ru, cups-sv, cups-zh
 
 %package devel
-Summary: Common UNIX Printing System - development environment
+Summary: CUPS - development environment
 Group: Development/Libraries
 Requires: %{name}-libs = %{epoch}:%{version}
 
 %package libs
-Summary: Common UNIX Printing System - shared libraries
+Summary: CUPS - shared libraries
 Group: System Environment/Libraries
 Provides: libcups1
 
 %package lpd
-Summary: Common UNIX Printing System - LPD support
+Summary: CUPS - LPD support
 Group: System Environment/Daemons
 Requires: %{name} = %{epoch}:%{version} xinetd
 
-%package es
-Summary: Common UNIX Printing System - Spanish support
-Group: System Environment/Daemons
-Requires: %{name} = %{epoch}:%{version}
-
-%package ja
-Summary: Common UNIX Printing System - Japanese support
-Group: System Environment/Daemons
-Requires: %{name} = %{epoch}:%{version}
-
-%package pl
-Summary: Common UNIX Printing System - Polish support
-Group: System Environment/Daemons
-Requires: %{name} = %{epoch}:%{version}
-
-%package sv
-Summary: Common UNIX Printing System - Swedish support
-Group: System Environment/Daemons
-Requires: %{name} = %{epoch}:%{version}
-
-%if %{?_with_php:1}%{!?_with_php:0}
-%package php
-Summary: Common UNIX Printing System - PHP support
-Group: Development/Languages
-Requires: %{name}-libs = %{epoch}:%{version}
-%endif
-
 %description
-The Common UNIX Printing System provides a portable printing layer for 
-UNIX® operating systems. It has been developed by Easy Software Products 
-to promote a standard printing solution for all UNIX vendors and users. 
-CUPS provides the System V and Berkeley command-line interfaces. 
+CUPS is the standards-based, open source printing system developed by
+Apple Inc. for macOS® and other UNIX®-like operating systems.
 
 %description devel
-The Common UNIX Printing System provides a portable printing layer for 
-UNIX® operating systems. This is the development package for creating
-additional printer drivers and other CUPS services.
+This package provides the CUPS headers and development environment.
 
 %description libs
-The Common UNIX Printing System provides a portable printing layer for 
-UNIX® operating systems. This package contains the CUPS shared libraries.
+This package provides the CUPS shared libraries.
 
 %description lpd
-The Common UNIX Printing System provides a portable printing layer for 
-UNIX® operating systems. This package provides LPD client support.
-
-%description es
-The Common UNIX Printing System provides a portable printing layer for 
-UNIX® operating systems. This package provides Spanish support.
-
-%description ja
-The Common UNIX Printing System provides a portable printing layer for 
-UNIX® operating systems. This package provides Japanese support.
-
-%description pl
-The Common UNIX Printing System provides a portable printing layer for 
-UNIX® operating systems. This package provides Polish support.
-
-%description sv
-The Common UNIX Printing System provides a portable printing layer for 
-UNIX® operating systems. This package provides Swedish support.
-
-%if %{?_with_php:1}%{!?_with_php:0}
-%description php
-The Common UNIX Printing System provides a portable printing layer for 
-UNIX® operating systems. This package provides PHP support.
-%endif
+This package provides LPD client support.
 
 %prep
 %setup
 
 %build
-%ifarch x86_64
-./configure --enable-32bit %{_dbus} %{_php} %{_static}
-%else
 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_OPT_FLAGS" \
-    ./configure %{_dbus} %{_php} %{_static}
-%endif
+    ./configure %{_dbus} %{_dnssd} %{_libusb1} %{_static} %{_systemd}
 # If we got this far, all prerequisite libraries must be here.
 make
 
@@ -162,8 +122,18 @@ make
 rm -rf $RPM_BUILD_ROOT
 
 make BUILDROOT=$RPM_BUILD_ROOT install
+rm -rf $RPM_BUILD_ROOT/usr/share/cups/banners $RPM_BUILD_ROOT/usr/share/cups/data
 
 %post
+%if %{?_with_systemd:1}%{!?_with_systemd:0}
+/bin/systemctl enable org.cups.cupsd.service
+
+if test $1 -ge 1; then
+       /bin/systemctl stop org.cups.cupsd.service
+       /bin/systemctl start org.cups.cupsd.service
+fi
+
+%else
 /sbin/chkconfig --add cups
 /sbin/chkconfig cups on
 
@@ -172,21 +142,38 @@ if test $1 -gt 1; then
        /sbin/service cups stop
        /sbin/service cups start
 fi
+%endif
 
 %post libs
 /sbin/ldconfig
 
 %preun
+%if %{?_with_systemd:1}%{!?_with_systemd:0}
+if test $1 -ge 1; then
+       /bin/systemctl stop org.cups.cupsd.service
+       /bin/systemctl disable org.cups.cupsd.service
+fi
+
+%else
 if test $1 = 0; then
        /sbin/service cups stop
        /sbin/chkconfig --del cups
 fi
+%endif
 
 %postun
+%if %{?_with_systemd:1}%{!?_with_systemd:0}
+if test $1 -ge 1; then
+       /bin/systemctl stop org.cups.cupsd.service
+       /bin/systemctl start org.cups.cupsd.service
+fi
+
+%else
 if test $1 -ge 1; then
        /sbin/service cups stop
        /sbin/service cups start
 fi
+%endif
 
 %postun libs
 /sbin/ldconfig
@@ -199,11 +186,11 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(-,root,root)
 %dir /etc/cups
 %config(noreplace) /etc/cups/*.conf
+/etc/cups/cups-files.conf.default
 /etc/cups/cupsd.conf.default
-%dir /etc/cups/interfaces
-/etc/cups/mime.types
-/etc/cups/mime.convs
+/etc/cups/snmp.conf.default
 %dir /etc/cups/ppd
+%attr(0700,root,root) %dir /etc/cups/ssl
 
 %if %{?_with_dbus:1}%{!?_with_dbus:0}
 # DBUS
@@ -214,49 +201,47 @@ rm -rf $RPM_BUILD_ROOT
 %dir /etc/pam.d
 /etc/pam.d/*
 
-# RC dirs are a pain under Linux...  Uncomment the appropriate ones if you
-# don't use Red Hat or Mandrake...
+%if %{?_with_systemd:1}%{!?_with_systemd:0}
+# SystemD
+/usr/lib/systemd/system/org.cups.cupsd.*
 
+%else
+# Legacy init support on Linux
 /etc/init.d/*
 /etc/rc0.d/*
 /etc/rc2.d/*
 /etc/rc3.d/*
 /etc/rc5.d/*
-
-# OLD RedHat/Mandrake
-#/etc/rc.d/init.d/*
-#/etc/rc.d/rc0.d/*
-#/etc/rc.d/rc2.d/*
-#/etc/rc.d/rc3.d/*
-#/etc/rc.d/rc5.d/*
-
-#/sbin/rc.d/*
-#/sbin/rc.d/rc0.d/*
-#/sbin/rc.d/rc2.d/*
-#/sbin/rc.d/rc3.d/*
-#/sbin/rc.d/rc5.d/*
+%endif
 
 /usr/bin/cancel
-/usr/bin/cupstestdsc
 /usr/bin/cupstestppd
+/usr/bin/ippeveprinter
+/usr/bin/ipptool
 /usr/bin/lp*
 %dir /usr/lib/cups
 %dir /usr/lib/cups/backend
+%if %{?_with_dnssd:1}%{!?_with_dnssd:0}
+# DNS-SD
+/usr/bin/ippfind
+/usr/lib/cups/backend/dnssd
+%endif
 /usr/lib/cups/backend/http
-/usr/lib/cups/backend/ipp
+/usr/lib/cups/backend/https
+%attr(0700,root,root) /usr/lib/cups/backend/ipp
+/usr/lib/cups/backend/ipps
 %attr(0700,root,root) /usr/lib/cups/backend/lpd
-/usr/lib/cups/backend/parallel
-/usr/lib/cups/backend/scsi
-/usr/lib/cups/backend/serial
 /usr/lib/cups/backend/snmp
 /usr/lib/cups/backend/socket
 /usr/lib/cups/backend/usb
 %dir /usr/lib/cups/cgi-bin
 /usr/lib/cups/cgi-bin/*
+%dir /usr/lib/cups/command
+/usr/lib/cups/command/*
 %dir /usr/lib/cups/daemon
 /usr/lib/cups/daemon/cups-deviced
 /usr/lib/cups/daemon/cups-driverd
-/usr/lib/cups/daemon/cups-polld
+/usr/lib/cups/daemon/cups-exec
 %dir /usr/lib/cups/driver
 %dir /usr/lib/cups/filter
 /usr/lib/cups/filter/*
@@ -267,67 +252,130 @@ rm -rf $RPM_BUILD_ROOT
 
 /usr/sbin/*
 %dir /usr/share/cups
-%dir /usr/share/cups/banners
-/usr/share/cups/banners/*
-%dir /usr/share/cups/charmaps
-/usr/share/cups/charmaps/*
-%dir /usr/share/cups/charsets
-/usr/share/cups/charsets/*
-%dir /usr/share/cups/data
-/usr/share/cups/data/*
-%dir /usr/share/cups/fonts
-/usr/share/cups/fonts/*
+%dir /usr/share/cups/drv
+/usr/share/cups/drv/*
+%dir /usr/share/cups/ipptool
+/usr/share/cups/ipptool/*
+%dir /usr/share/cups/mime
+/usr/share/cups/mime/*
 %dir /usr/share/cups/model
-/usr/share/cups/model/*
+%dir /usr/share/cups/ppdc
+/usr/share/cups/ppdc/*
 %dir /usr/share/cups/templates
-/usr/share/cups/templates/*.tmpl
+/usr/share/cups/templates/*
+%if %{?_with_libusb1:1}%{!?_with_libusb1:0}
+# LIBUSB quirks files
+%dir /usr/share/cups/usb
+/usr/share/cups/usb/*
+%endif
+
 %dir /usr/share/doc/cups
 /usr/share/doc/cups/*.*
 %dir /usr/share/doc/cups/help
+/usr/share/doc/cups/help/accounting.html
+/usr/share/doc/cups/help/admin.html
 /usr/share/doc/cups/help/cgi.html
+/usr/share/doc/cups/help/encryption.html
+/usr/share/doc/cups/help/firewalls.html
 /usr/share/doc/cups/help/glossary.html
+/usr/share/doc/cups/help/kerberos.html
 /usr/share/doc/cups/help/license.html
 /usr/share/doc/cups/help/man-*.html
 /usr/share/doc/cups/help/network.html
 /usr/share/doc/cups/help/options.html
 /usr/share/doc/cups/help/overview.html
+/usr/share/doc/cups/help/policies.html
 /usr/share/doc/cups/help/ref-*.html
 /usr/share/doc/cups/help/security.html
-/usr/share/doc/cups/help/standard.html
+/usr/share/doc/cups/help/sharing.html
 /usr/share/doc/cups/help/translation.html
-/usr/share/doc/cups/help/whatsnew.html
 %dir /usr/share/doc/cups/images
 /usr/share/doc/cups/images/*
 
+#%dir /usr/share/doc/cups/ca
+#/usr/share/doc/cups/ca/*
+#%dir /usr/share/doc/cups/cs
+#/usr/share/doc/cups/cs/*
+%dir /usr/share/doc/cups/de
+/usr/share/doc/cups/de/*
+%dir /usr/share/doc/cups/es
+/usr/share/doc/cups/es/*
+#%dir /usr/share/doc/cups/fr
+#/usr/share/doc/cups/fr/*
+%dir /usr/share/doc/cups/ja
+/usr/share/doc/cups/ja/*
+%dir /usr/share/doc/cups/pt_BR
+/usr/share/doc/cups/pt_BR/*
+%dir /usr/share/doc/cups/ru
+/usr/share/doc/cups/ru/*
+
+%dir /usr/share/locale/ca
+/usr/share/locale/ca/cups_ca.po
+%dir /usr/share/locale/cs
+/usr/share/locale/cs/cups_cs.po
+%dir /usr/share/locale/de
+/usr/share/locale/de/cups_de.po
+%dir /usr/share/locale/en
+/usr/share/locale/en/cups_en.po
+%dir /usr/share/locale/es
+/usr/share/locale/es/cups_es.po
+%dir /usr/share/locale/fr
+/usr/share/locale/fr/cups_fr.po
+%dir /usr/share/locale/it
+/usr/share/locale/it/cups_it.po
+%dir /usr/share/locale/ja
+/usr/share/locale/ja/cups_ja.po
+%dir /usr/share/locale/pt_BR
+/usr/share/locale/pt_BR/cups_pt_BR.po
+%dir /usr/share/locale/ru
+/usr/share/locale/ru/cups_ru.po
+%dir /usr/share/locale/zh_CN
+/usr/share/locale/zh_CN/cups_zh_CN.po
+
 %dir /usr/share/man/man1
 /usr/share/man/man1/cancel.1.gz
-/usr/share/man/man1/cupstestdsc.1.gz
+/usr/share/man/man1/cups.1.gz
 /usr/share/man/man1/cupstestppd.1.gz
+/usr/share/man/man1/ippeveprinter.1.gz
+%if %{?_with_dnssd:1}%{!?_with_dnssd:0}
+# DNS-SD
+/usr/share/man/man1/ippfind.1.gz
+%endif
+/usr/share/man/man1/ipptool.1.gz
 /usr/share/man/man1/lp.1.gz
 /usr/share/man/man1/lpoptions.1.gz
-/usr/share/man/man1/lppasswd.1.gz
 /usr/share/man/man1/lpq.1.gz
 /usr/share/man/man1/lpr.1.gz
 /usr/share/man/man1/lprm.1.gz
 /usr/share/man/man1/lpstat.1.gz
 %dir /usr/share/man/man5
-/usr/share/man/man5/*
+/usr/share/man/man5/*.conf.5.gz
+/usr/share/man/man5/cupsd-logs.5.gz
+/usr/share/man/man5/ipptoolfile.5.gz
+/usr/share/man/man5/mime.*.5.gz
+%dir /usr/share/man/man7
+/usr/share/man/man7/ippevepcl.7.gz
+/usr/share/man/man7/ippeveps.7.gz
 %dir /usr/share/man/man8
-/usr/share/man/man8/accept.8.gz
-/usr/share/man/man8/cupsaddsmb.8.gz
+/usr/share/man/man8/cups-deviced.8.gz
+/usr/share/man/man8/cups-driverd.8.gz
+/usr/share/man/man8/cups-exec.8.gz
+/usr/share/man/man8/cups-snmp.8.gz
+/usr/share/man/man8/cupsaccept.8.gz
+/usr/share/man/man8/cupsctl.8.gz
+/usr/share/man/man8/cupsfilter.8.gz
 /usr/share/man/man8/cupsd.8.gz
+/usr/share/man/man8/cupsd-helper.8.gz
 /usr/share/man/man8/cupsdisable.8.gz
 /usr/share/man/man8/cupsenable.8.gz
-/usr/share/man/man8/cups-deviced.8.gz
-/usr/share/man/man8/cups-driverd.8.gz
-/usr/share/man/man8/cups-polld.8.gz
+/usr/share/man/man8/cupsreject.8.gz
 /usr/share/man/man8/lpadmin.8.gz
 /usr/share/man/man8/lpc.8.gz
 /usr/share/man/man8/lpinfo.8.gz
 /usr/share/man/man8/lpmove.8.gz
-/usr/share/man/man8/reject.8.gz
 
 %dir /var/cache/cups
+%attr(0775,root,sys) %dir /var/cache/cups/rss
 %dir /var/log/cups
 %dir /var/run/cups
 %attr(0711,lp,sys) %dir /var/run/cups/certs
@@ -340,12 +388,19 @@ rm -rf $RPM_BUILD_ROOT
 
 %files devel
 %defattr(-,root,root)
+%dir /usr/share/cups/examples
+/usr/share/cups/examples/*
 %dir /usr/share/man/man1
 /usr/share/man/man1/cups-config.1.gz
-%dir /usr/share/man/man7
-/usr/share/man/man7/*
+/usr/share/man/man1/ppd*.1.gz
+%dir /usr/share/man/man5
+/usr/share/man/man5/ppdcfile.5.gz
+/usr/share/man/man7/backend.7.gz
+/usr/share/man/man7/filter.7.gz
+/usr/share/man/man7/notifier.7.gz
 
 /usr/bin/cups-config
+/usr/bin/ppd*
 %dir /usr/include/cups
 /usr/include/cups/*
 /usr/lib*/*.so
@@ -356,6 +411,10 @@ rm -rf $RPM_BUILD_ROOT
 
 %dir /usr/share/doc/cups/help
 /usr/share/doc/cups/help/api*.html
+/usr/share/doc/cups/help/cupspm.*
+/usr/share/doc/cups/help/postscript-driver.html
+/usr/share/doc/cups/help/ppd-compiler.html
+/usr/share/doc/cups/help/raster-driver.html
 /usr/share/doc/cups/help/spec*.html
 
 %files libs
@@ -364,60 +423,16 @@ rm -rf $RPM_BUILD_ROOT
 
 %files lpd
 %defattr(-,root,root)
+%if %{?_with_systemd:1}%{!?_with_systemd:0}
+# SystemD
+/usr/lib/systemd/system/org.cups.cups-lpd*
+%else
+# Legacy xinetd
 /etc/xinetd.d/cups-lpd
+%endif
+
 %dir /usr/lib/cups
 %dir /usr/lib/cups/daemon
 /usr/lib/cups/daemon/cups-lpd
 %dir /usr/share/man/man8
 /usr/share/man/man8/cups-lpd.8.gz
-
-%files es
-%defattr(-,root,root)
-%dir /usr/share/doc/cups/es
-/usr/share/doc/cups/es/index.html
-%dir /usr/share/doc/cups/es/images
-/usr/share/doc/cups/es/images/*
-%dir /usr/share/cups/templates/es
-/usr/share/cups/templates/es/*
-/usr/share/locale/es/cups_es.po
-
-%files ja
-%defattr(-,root,root)
-%dir /usr/share/doc/cups/ja
-/usr/share/doc/cups/ja/index.html
-%dir /usr/share/doc/cups/ja/images
-/usr/share/doc/cups/ja/images/*
-%dir /usr/share/cups/templates/ja
-/usr/share/cups/templates/ja/*
-/usr/share/locale/ja/cups_ja.po
-
-%files pl
-%defattr(-,root,root)
-%dir /usr/share/doc/cups/pl
-/usr/share/doc/cups/pl/index.html
-%dir /usr/share/doc/cups/pl/images
-/usr/share/doc/cups/pl/images/*
-%dir /usr/share/cups/templates/pl
-/usr/share/cups/templates/pl/*
-#/usr/share/locale/pl/cups_pl.po
-
-%files sv
-%defattr(-,root,root)
-%dir /usr/share/doc/cups/sv
-/usr/share/doc/cups/sv/index.html
-%dir /usr/share/doc/cups/sv/images
-/usr/share/doc/cups/sv/images/*
-%dir /usr/share/cups/templates/sv
-/usr/share/cups/templates/sv/*
-/usr/share/locale/sv/cups_sv.po
-
-%if %{?_with_php:1}%{!?_with_php:0}
-%files php
-# PHP
-/usr/lib*/php*
-%endif
-
-
-#
-# End of "$Id: cups.spec.in 5449 2006-04-22 04:05:45Z mike $".
-#