Darling build of cups-483.2

This commit is contained in:
Ariel Abreu 2020-08-01 22:07:05 -04:00
parent 6f9d8e507b
commit 6ea6fa4966
No known key found for this signature in database
GPG Key ID: ECF8C2B9E8AD3E6B
38 changed files with 3525 additions and 57 deletions

2
.gitignore vendored
View File

@ -1,2 +1,4 @@
/*.html
/cups.roots
*.log

View File

@ -1,64 +1,38 @@
project(cups)
add_definitions(
add_compile_definitions(
_CUPS_SOURCE
_FORTIFY_SOURCE=2
_LARGEFILE_SOURCE
_LARGEFILE64_SOURCE
_THREAD_SAFE
_REENTRANT
)
add_compile_options(
-w
-D_CUPS_SOURCE
-D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE
-D_THREAD_SAFE
-D_REENTRANT
-iquote "${CMAKE_CURRENT_SOURCE_DIR}/cups"
)
add_link_options(
-Wl,-pie
)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/cups)
set(DYLIB_INSTALL_NAME "/usr/lib/libcups.2.dylib")
set(DYLIB_COMPAT_VERSION "2.0.0")
set(DYLIB_CURRENT_VERSION "2.14.0")
add_darling_library(cups
cups/cups/array.c
cups/cups/auth.c
cups/cups/debug.c
cups/cups/dest.c
cups/cups/dest-job.c
cups/cups/dest-localization.c
cups/cups/dest-options.c
cups/cups/dir.c
cups/cups/encode.c
cups/cups/file.c
cups/cups/getputfile.c
cups/cups/globals.c
cups/cups/hash.c
cups/cups/http.c
cups/cups/http-addr.c
cups/cups/http-addrlist.c
cups/cups/http-support.c
cups/cups/ipp.c
cups/cups/ipp-file.c
cups/cups/ipp-vars.c
cups/cups/ipp-support.c
cups/cups/langprintf.c
cups/cups/language.c
cups/cups/md5.c
cups/cups/md5passwd.c
cups/cups/notify.c
cups/cups/options.c
cups/cups/pwg-media.c
cups/cups/raster-error.c
cups/cups/raster-stream.c
cups/cups/raster-stubs.c
cups/cups/request.c
cups/cups/snprintf.c
cups/cups/string.c
cups/cups/tempfile.c
cups/cups/thread.c
cups/cups/tls.c
cups/cups/transcode.c
cups/cups/usersys.c
cups/cups/util.c
)
target_link_libraries(cups resolv-darwin SystemConfiguration CoreFoundation Security iconv z)
set_target_properties(cups PROPERTIES OUTPUT_NAME "cups.2")
install(TARGETS cups DESTINATION libexec/darling/usr/lib)
InstallSymlink("libcups.2.dylib" "${CMAKE_INSTALL_PREFIX}/libexec/darling/usr/lib/libcups.dylib")
add_subdirectory(cups/cups)
add_subdirectory(cups/tools)
add_subdirectory(cups/filter)
add_subdirectory(cups/backend)
add_subdirectory(cups/berkeley)
add_subdirectory(cups/cgi-bin)
add_subdirectory(cups/monitor)
add_subdirectory(cups/notifier)
add_subdirectory(cups/ppdc)
add_subdirectory(cups/scheduler)
add_subdirectory(cups/systemv)
add_subdirectory(cups/conf)
add_subdirectory(cups/data)
add_subdirectory(cups/locale)
add_subdirectory(cups/man)
add_subdirectory(cups/templates)
# TODO: install docs (i.e. the "doc" directory)

275
cups/Makedefs Normal file
View File

@ -0,0 +1,275 @@
#
# Common makefile definitions for CUPS.
#
# Copyright © 2007-2019 by Apple Inc.
# Copyright © 1997-2007 by Easy Software Products, all rights reserved.
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
#
#
# CUPS version...
#
CUPS_VERSION = 2.3.0
#
# Programs...
#
AR = /usr/bin/ar
AWK = awk
CC = /Users/ariel/private-bin/clang
CHMOD = /bin/chmod
CXX = /Users/ariel/private-bin/clang++
DSO = $(CC)
DSOXX = $(CXX)
GZIPPROG = /usr/bin/gzip
INSTALL = /Users/ariel/git/darling/src/external/cups/cups/install-sh
LD = /Users/ariel/private-bin/ld
LD_CC = $(CC)
LD_CXX = $(CXX)
LIBTOOL =
LN = /bin/ln -sf
MKDIR = /bin/mkdir -p
MV = /bin/mv
RANLIB = ranlib
RM = /bin/rm -f
RMDIR = /bin/rmdir
SED = /usr/bin/sed
SHELL = /bin/sh
#
# Installation programs...
#
INSTALL_BIN = $(INSTALL) -c -m 555 -s
INSTALL_COMPDATA = $(INSTALL) -c -m 444 -z
INSTALL_CONFIG = $(INSTALL) -c -m 644
INSTALL_DATA = $(INSTALL) -c -m 444
INSTALL_DIR = $(INSTALL) -d
INSTALL_LIB = $(INSTALL) -c -m 555 -s
INSTALL_MAN = $(INSTALL) -c -m 444
INSTALL_SCRIPT = $(INSTALL) -c -m 555
#
# Default user, group, and system groups for the scheduler...
#
CUPS_USER = _lp
CUPS_GROUP = _lp
CUPS_SYSTEM_GROUPS = admin
CUPS_PRIMARY_SYSTEM_GROUP = admin
#
# Default permissions...
#
CUPS_CONFIG_FILE_PERM = 644
CUPS_CUPSD_FILE_PERM = 500
CUPS_LOG_FILE_PERM = 644
#
# Languages to install...
#
LANGUAGES =
INSTALL_LANGUAGES = install-langbundle
UNINSTALL_LANGUAGES = uninstall-langbundle
#
# Cross-compilation support: "local" target is used for any tools that are
# built and run locally.
#
LOCALTARGET = local
#
# Libraries...
#
LIBCUPS = libcups.2.dylib
LIBCUPSIMAGE = libcupsimage.2.dylib
LIBCUPSOBJS = $(COREOBJS) $(DRIVEROBJS)
LIBCUPSSTATIC = libcups.a
LIBGSSAPI = -weak_framework Kerberos -weak_framework GSS
LIBHEADERS = $(COREHEADERS) $(DRIVERHEADERS)
LIBHEADERSPRIV = $(COREHEADERSPRIV) $(DRIVERHEADERSPRIV)
LIBMALLOC =
LIBPAPER =
LIBUSB =
LIBWRAP =
LIBZ = -lz
#
# Install static libraries?
#
INSTALLSTATIC =
#
# IPP backend aliases...
#
IPPALIASES = http https ipps
#
# ippeveprinter commands...
#
IPPEVECOMMANDS = ippevepcl ippeveps
#
# Install XPC backends?
#
INSTALLXPC = install-xpc
#
# Code signing...
#
CODE_SIGN = /usr/bin/true
CODE_SIGN_IDENTITY = -
#
# Program options...
#
# ARCHFLAGS Defines the default architecture build options.
# OPTIM Defines the common compiler optimization/debugging options
# for all architectures.
# OPTIONS Defines other compile-time options (currently only -DDEBUG
# for extra debug info)
#
ALL_CFLAGS = -I.. -D_CUPS_SOURCE $(CFLAGS) \
$(SSLFLAGS) -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT \
$(ONDEMANDFLAGS) $(OPTIONS)
ALL_CXXFLAGS = -I.. -D_CUPS_SOURCE $(CXXFLAGS) \
$(SSLFLAGS) -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT \
$(ONDEMANDFLAGS) $(OPTIONS)
ALL_DSOFLAGS = -L../cups $(DSOFLAGS) $(OPTIM)
ALL_LDFLAGS = -L../cups $(LDFLAGS) \
-fPIE -Wl,-pie $(OPTIM)
ARCHFLAGS =
ARFLAGS = -rcv
BACKLIBS = -framework IOKit
BUILDDIRS = tools filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates
CFLAGS = -arch x86_64 -arch i386 -isystem/Users/ariel/git/darling/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -isystem/Users/ariel/arch/build/darling/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -isystem/Users/ariel/git/darling/framework-include -DDARLING -D_FORTIFY_SOURCE=2
COMMONLIBS = -lpthread -lresolv -framework SystemConfiguration -framework CoreFoundation -framework Security -liconv -lz
CXXFLAGS = -arch x86_64 -arch i386 -isystem/Users/ariel/git/darling/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -isystem/Users/ariel/arch/build/darling/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -isystem/Users/ariel/git/darling/framework-include -DDARLING -D_FORTIFY_SOURCE=2
CXXLIBS =
DBUS_NOTIFIER =
DBUS_NOTIFIERLIBS =
DNSSD_BACKEND = dnssd
DSOFLAGS = -dynamiclib -single_module -lc -Wl,-no_warn_inits -dynamiclib -single_module -lc
DNSSDLIBS =
IPPFIND_BIN = ippfind
IPPFIND_MAN = ippfind.1
LDFLAGS =
LINKCUPS = -L../cups -lcups
LINKCUPSSTATIC = ../cups/$(LIBCUPSSTATIC) $(LIBS)
LIBS = $(LIBGSSAPI) $(DNSSDLIBS) $(SSLLIBS) $(LIBZ) $(COMMONLIBS)
ONDEMANDFLAGS =
ONDEMANDLIBS =
OPTIM = -fPIC -Os -g -fstack-protector
OPTIONS = -Wall -Wno-format-y2k -Wunused -Wno-unused-result -Wsign-conversion
PAMLIBS = -lpam -ldl
SERVERLIBS = -framework IOKit -weak_framework ApplicationServices
SSLFLAGS =
SSLLIBS =
UNITTESTS =
#
# Directories...
#
# The first section uses the GNU names (which are *extremely*
# difficult to find in a makefile because they are lowercase...)
# We have to define these first because autoconf uses ${prefix}
# and ${exec_prefix} for most of the other directories...
#
# The "datarootdir" variable may not get defined if you are using
# a version of autoconf prior to 2.60.
#
# This is immediately followed by definition in ALL CAPS for the
# needed directories...
#
bindir = /usr/bin
datadir = /usr/share
datarootdir = /usr/share
exec_prefix = /usr
includedir = /usr/include
infodir = ${datarootdir}/info
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localstatedir = /private/var
mandir = /usr/share/man
oldincludedir = /usr/include
prefix = /
privateinclude = /usr/local/include
sbindir = /usr/sbin
sharedstatedir = /usr/com
srcdir = .
sysconfdir = /private/etc
top_srcdir = .
BUILDROOT = $(DSTROOT)$(DESTDIR)
BINDIR = $(BUILDROOT)/usr/bin
BUNDLEDIR = /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A
CACHEDIR = $(BUILDROOT)/private/var/spool/cups/cache
DATADIR = $(BUILDROOT)/usr/share/cups
DOCDIR = $(BUILDROOT)/usr/share/doc/cups
ICONDIR =
INCLUDEDIR = $(BUILDROOT)$(includedir)
LIBDIR = $(BUILDROOT)$(libdir)
LOCALEDIR = $(BUILDROOT)/usr/share/locale
LOGDIR = $(BUILDROOT)/private/var/log/cups
MANDIR = $(BUILDROOT)/usr/share/man
MENUDIR =
PRIVATEINCLUDE = $(BUILDROOT)/usr/local/include/cups
RCLEVELS = 2 3 5
RCSTART = 99
RCSTOP = 00
REQUESTS = $(BUILDROOT)/private/var/spool/cups
RESOURCEDIR = /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/Resources/en.lproj
SBINDIR = $(BUILDROOT)/usr/sbin
SERVERBIN = $(BUILDROOT)/usr/libexec/cups
SERVERROOT = $(BUILDROOT)/private/etc/cups
STATEDIR = $(BUILDROOT)/private/etc/cups
PAMDIR = /private/etc/pam.d
PAMFILE = pam.opendirectory
DBUSDIR =
INITDIR =
INITDDIR =
LAUNCHD_DIR = /System/Library/LaunchDaemons
SMFMANIFESTDIR =
SYSTEMD_DIR =
XINETD =
USBQUIRKS =
#
# Rules...
#
.SILENT:
.SUFFIXES: .a .c .cxx .h .o
.c.o:
echo Compiling $<...
$(CC) $(ARCHFLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<
.cxx.o:
echo Compiling $<...
$(CXX) $(ARCHFLAGS) $(OPTIM) $(ALL_CXXFLAGS) -c -o $@ $<

View File

@ -0,0 +1,69 @@
project(cups-backend)
add_darling_static_library(cups_libbackend FAT SOURCES
ieee1284.c
network.c
runloop.c
snmp-supplies.o
)
#
# link everything with libcups and libbackend
#
foreach(EXE IN ITEMS ipp lpd dnssd snmp socket usb)
add_darling_executable(${EXE}
${EXE}.c
)
target_link_libraries(${EXE}
cups
cups_libbackend
)
endforeach()
# `usb` requires some additional libraries
target_link_libraries(usb
IOKit
resolv-darwin
SystemConfiguration
CoreFoundation
Security
iconv
z
)
#
# install everything
#
# XPC stuff
install(TARGETS ipp DESTINATION darling/libexec/usr/libexec/cups/apple)
foreach(LINK IN ITEMS http https ipps)
InstallSymlink("ipp" "${CMAKE_INSTALL_PREFIX}/darling/libexec/usr/libexec/cups/apple/${LINK}")
endforeach()
# root backends
install(
TARGETS
ipp
lpd
dnssd
PERMISSIONS
OWNER_READ OWNER_WRITE OWNER_EXECUTE
DESTINATION darling/libexec/usr/libexec/cups/backend
)
# user backends
install(
TARGETS
snmp
socket
DESTINATION darling/libexec/usr/libexec/cups/backend
)
foreach(LINK IN ITEMS http https ipps)
InstallSymlink("ipp" "${CMAKE_INSTALL_PREFIX}/darling/libexec/usr/libexec/cups/backend/${LINK}")
endforeach()
InstallSymlink("dnssd" "${CMAKE_INSTALL_PREFIX}/darling/libexec/usr/libexec/cups/backend/mdns")
install(TARGETS usb DESTINATION darling/libexec/usr/libexec/cups/backend)

View File

@ -0,0 +1,24 @@
project(cups-berkeley)
foreach(EXE IN ITEMS lpc lpq lpr lprm)
add_darling_executable(${EXE}
${EXE}.c
)
target_link_libraries(${EXE}
cups
)
endforeach()
#
# install everything
#
install(
TARGETS
lpq
lpr
lprm
DESTINATION libexec/darling/usr/bin
)
install(TARGETS lpc DESTINATION libexec/darling/usr/sbin)

View File

@ -0,0 +1,21 @@
project(cups-cgi-bin)
add_darling_static_library(cups_cgi FAT SOURCES
help-index.c
html.c
ipp-var.c
search.c
template.c
var.c
)
foreach(CGI IN ITEMS admin classes help jobs printers)
add_darling_executable(${CGI}.cgi
${CGI}.c
)
target_link_libraries(${CGI}.cgi
cups
cups_cgi
)
install(TARGETS ${CGI}.cgi DESTINATION libexec/darling/usr/libexec/cups/cgi-bin)
endforeach()

20
cups/conf/CMakeLists.txt Normal file
View File

@ -0,0 +1,20 @@
project(cups-conf)
# variable from the Makefile
#
# we reuse this because we need to install these files
# as both their normal names and also their names with ".default" appended
# (and CMake only allows you to rename if you're installing a single file at a time)
set(KEEP cups-files.conf cupsd.conf snmp.conf)
foreach(ITEM IN LISTS KEEP)
install(FILES ${ITEM} DESTINATION libexec/darling/private/etc/cups)
install(FILES ${ITEM} DESTINATION libexec/darling/private/etc/cups RENAME ${ITEM}.default)
endforeach()
install(
FILES
mime.convs
mime.types
DESTINATION libexec/darling/usr/share/cups/mime
)

93
cups/conf/cups-files.conf Normal file
View File

@ -0,0 +1,93 @@
#
# File/directory/user/group configuration file for the CUPS scheduler.
# See "man cups-files.conf" for a complete description of this file.
#
# List of events that are considered fatal errors for the scheduler...
#FatalErrors config
# Do we call fsync() after writing configuration or status files?
#SyncOnClose No
# Default user and group for filters/backends/helper programs; this cannot be
# any user or group that resolves to ID 0 for security reasons...
#User _lp
#Group _lp
# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...
# This cannot contain the Group value for security reasons...
SystemGroup admin
SystemGroupAuthKey system.print.admin
# User that is substituted for unauthenticated (remote) root accesses...
#RemoteRoot remroot
# Do we allow file: device URIs other than to /dev/null?
#FileDevice No
# Permissions for configuration and log files...
#ConfigFilePerm 0644
#LogFilePerm 0644
# Location of the file logging all access to the scheduler; may be the name
# "syslog". If not an absolute path, the value of ServerRoot is used as the
# root directory. Also see the "AccessLogLevel" directive in cupsd.conf.
AccessLog /private/var/log/cups/access_log
# Location of cache files used by the scheduler...
#CacheDir /private/var/spool/cups/cache
# Location of data files used by the scheduler...
#DataDir /usr/share/cups
# Location of the static web content served by the scheduler...
#DocumentRoot /usr/share/doc/cups
# Location of the file logging all messages produced by the scheduler and any
# helper programs; may be the name "syslog". If not an absolute path, the value
# of ServerRoot is used as the root directory. Also see the "LogLevel"
# directive in cupsd.conf.
ErrorLog /private/var/log/cups/error_log
# Location of fonts used by older print filters...
#FontPath /usr/share/cups/fonts
# Location of LPD configuration
#LPDConfigFile launchd:///System/Library/LaunchDaemons/org.cups.cups-lpd.plist
# Location of the file logging all pages printed by the scheduler and any
# helper programs; may be the name "syslog". If not an absolute path, the value
# of ServerRoot is used as the root directory. Also see the "PageLogFormat"
# directive in cupsd.conf.
PageLog /private/var/log/cups/page_log
# Location of the file listing all of the local printers...
#Printcap /Library/Preferences/org.cups.printers.plist
# Format of the Printcap file...
#PrintcapFormat bsd
#PrintcapFormat plist
#PrintcapFormat solaris
# Location of all spool files...
#RequestRoot /private/var/spool/cups
# Location of helper programs...
#ServerBin /usr/libexec/cups
# SSL/TLS keychain for the scheduler...
#ServerKeychain /Library/Keychains/System.keychain
# Location of other configuration files...
#ServerRoot /private/etc/cups
# Location of Samba configuration file...
#SMBConfigFile
# Location of scheduler state files...
#StateDir /private/etc/cups
# Location of scheduler/helper temporary files. This directory is emptied on
# scheduler startup and cannot be one of the standard (public) temporary
# directory locations for security reasons...
#TempDir /private/var/spool/cups/tmp

182
cups/conf/cupsd.conf Normal file
View File

@ -0,0 +1,182 @@
#
# Configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#
# Log general information in error_log - change "warn" to "debug"
# for troubleshooting...
LogLevel warn
PageLogFormat
# Only listen for connections from the local machine.
Listen localhost:631
Listen /private/var/run/cupsd
# Show shared printers on the local network.
Browsing On
BrowseLocalProtocols dnssd
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Web interface setting...
WebInterface No
# Restrict access to the server...
<Location />
Order allow,deny
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Restrict access to log files...
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Set the default printer/job policies...
<Policy default>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @AUTHKEY(system.print.operator) @admin @lpadmin
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @AUTHKEY(system.print.operator) @admin @lpadmin
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
# Set the authenticated printer/job policies...
<Policy authenticated>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @AUTHKEY(system.print.operator) @admin @lpadmin
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @AUTHKEY(system.print.operator) @admin @lpadmin
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
# Set the kerberized printer/job policies...
<Policy kerberos>
# Job/subscription privacy...
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
# Job-related operations must be done by the owner or an administrator...
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Negotiate
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Negotiate
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @AUTHKEY(system.print.operator) @admin @lpadmin
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Negotiate
Require user @OWNER @AUTHKEY(system.print.operator) @admin @lpadmin
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>

55
cups/conf/mime.convs Normal file
View File

@ -0,0 +1,55 @@
#
# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
# VERSIONS OF CUPS. Instead, create a "local.convs" file that
# reflects your local configuration changes.
#
# Base MIME conversions file for CUPS.
#
# Copyright © 2007-2016 by Apple Inc.
# Copyright © 1997-2007 by Easy Software Products.
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
#
########################################################################
#
# Format of Lines:
#
# source/type destination/type cost filter
#
# General Notes:
#
# The "cost" field is used to find the least costly filters to run
# when converting a job file to a printable format.
#
# All filters *must* accept the standard command-line arguments
# (job-id, user, title, copies, options, [filename or stdin]) to
# work with CUPS.
#
########################################################################
#
# PostScript filters
#
application/postscript application/vnd.cups-postscript 66 pstops
########################################################################
#
# Raster filters...
#
# PWG Raster filter for IPP Everywhere...
application/vnd.cups-raster image/pwg-raster 100 rastertopwg
application/vnd.cups-raster image/urf 100 rastertopwg
########################################################################
#
# Raw filter...
#
# Uncomment the following filter to allow printing of arbitrary files
# without the -oraw option.
#
application/octet-stream application/vnd.cups-raw 0 -

2
cups/conf/pam.std Normal file
View File

@ -0,0 +1,2 @@
auth required pam_unknown.so
account required pam_unknown.so

7
cups/conf/snmp.conf Normal file
View File

@ -0,0 +1,7 @@
#
# SNMP configuration file for CUPS. See "man cups-snmp.conf" for a complete
# description of this file.
#
Community public

684
cups/config.h Normal file
View File

@ -0,0 +1,684 @@
/* config.h. Generated from config.h.in by configure. */
/*
* Configuration file for CUPS.
*
* Copyright 2007-2019 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products.
*
* Licensed under Apache License v2.0. See the file "LICENSE" for more
* information.
*/
#ifndef _CUPS_CONFIG_H_
#define _CUPS_CONFIG_H_
/*
* Version of software...
*/
#define CUPS_SVERSION "CUPS v2.3.0"
#define CUPS_MINIMAL "CUPS/2.3.0"
#define CUPS_LITE 0
/*
* Default user and groups...
*/
#define CUPS_DEFAULT_USER "_lp"
#define CUPS_DEFAULT_GROUP "_lp"
#define CUPS_DEFAULT_SYSTEM_GROUPS "admin"
#define CUPS_DEFAULT_PRINTOPERATOR_AUTH "@AUTHKEY(system.print.operator) @admin @lpadmin"
#define CUPS_DEFAULT_SYSTEM_AUTHKEY "system.print.admin"
/*
* Default file permissions...
*/
#define CUPS_DEFAULT_CONFIG_FILE_PERM 0644
#define CUPS_DEFAULT_LOG_FILE_PERM 0644
/*
* Default logging settings...
*/
#define CUPS_DEFAULT_LOG_LEVEL "warn"
#define CUPS_DEFAULT_ACCESS_LOG_LEVEL "none"
/*
* Default fatal error settings...
*/
#define CUPS_DEFAULT_FATAL_ERRORS "config"
/*
* Default browsing settings...
*/
#define CUPS_DEFAULT_BROWSING 1
#define CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS "dnssd"
#define CUPS_DEFAULT_DEFAULT_SHARED 1
/*
* Default IPP port...
*/
#define CUPS_DEFAULT_IPP_PORT 631
/*
* Default printcap file...
*/
#define CUPS_DEFAULT_PRINTCAP "/Library/Preferences/org.cups.printers.plist"
/*
* Default Samba and LPD config files...
*/
#define CUPS_DEFAULT_SMB_CONFIG_FILE ""
#define CUPS_DEFAULT_LPD_CONFIG_FILE "launchd:///System/Library/LaunchDaemons/org.cups.cups-lpd.plist"
/*
* Default MaxCopies value...
*/
#define CUPS_DEFAULT_MAX_COPIES 9999
/*
* Do we have domain socket support, and if so what is the default one?
*/
#define CUPS_DEFAULT_DOMAINSOCKET "/private/var/run/cupsd"
/*
* Default WebInterface value...
*/
#define CUPS_DEFAULT_WEBIF 0
/*
* Where are files stored?
*
* Note: These are defaults, which can be overridden by environment
* variables at run-time...
*/
#define CUPS_BINDIR "/usr/bin"
#define CUPS_CACHEDIR "/private/var/spool/cups/cache"
#define CUPS_DATADIR "/usr/share/cups"
#define CUPS_DOCROOT "/usr/share/doc/cups"
#define CUPS_FONTPATH "/usr/share/cups/fonts"
#define CUPS_LOCALEDIR "/usr/share/locale"
#define CUPS_LOGDIR "/private/var/log/cups"
#define CUPS_REQUESTS "/private/var/spool/cups"
#define CUPS_SBINDIR "/usr/sbin"
#define CUPS_SERVERBIN "/usr/libexec/cups"
#define CUPS_SERVERROOT "/private/etc/cups"
#define CUPS_STATEDIR "/private/etc/cups"
/*
* Do we have posix_spawn?
*/
#define HAVE_POSIX_SPAWN 1
/*
* Do we have ZLIB?
*/
#define HAVE_LIBZ 1
#define HAVE_INFLATECOPY 1
/*
* Do we have PAM stuff?
*/
#define HAVE_LIBPAM 1
/* #undef HAVE_PAM_PAM_APPL_H */
#define HAVE_PAM_SET_ITEM 1
#define HAVE_PAM_SETCRED 1
/*
* Do we have <shadow.h>?
*/
/* #undef HAVE_SHADOW_H */
/*
* Do we have <crypt.h>?
*/
/* #undef HAVE_CRYPT_H */
/*
* Use <stdint.h>?
*/
#define HAVE_STDINT_H 1
/*
* Use <string.h>, <strings.h>, and/or <bstring.h>?
*/
#define HAVE_STRING_H 1
#define HAVE_STRINGS_H 1
/* #undef HAVE_BSTRING_H */
/*
* Do we have the long long type?
*/
#define HAVE_LONG_LONG 1
#ifdef HAVE_LONG_LONG
# define CUPS_LLFMT "%lld"
# define CUPS_LLCAST (long long)
#else
# define CUPS_LLFMT "%ld"
# define CUPS_LLCAST (long)
#endif /* HAVE_LONG_LONG */
/*
* Do we have the strtoll() function?
*/
#define HAVE_STRTOLL 1
#ifndef HAVE_STRTOLL
# define strtoll(nptr,endptr,base) strtol((nptr), (endptr), (base))
#endif /* !HAVE_STRTOLL */
/*
* Do we have the strXXX() functions?
*/
#define HAVE_STRDUP 1
#define HAVE_STRLCAT 1
#define HAVE_STRLCPY 1
/*
* Do we have the geteuid() function?
*/
#define HAVE_GETEUID 1
/*
* Do we have the setpgid() function?
*/
#define HAVE_SETPGID 1
/*
* Do we have the vsyslog() function?
*/
#define HAVE_VSYSLOG 1
/*
* Do we have the systemd journal functions?
*/
/* #undef HAVE_SYSTEMD_SD_JOURNAL_H */
/*
* Do we have the (v)snprintf() functions?
*/
#define HAVE_SNPRINTF 1
#define HAVE_VSNPRINTF 1
/*
* What signal functions to use?
*/
#define HAVE_SIGSET 1
#define HAVE_SIGACTION 1
/*
* What wait functions to use?
*/
#define HAVE_WAITPID 1
#define HAVE_WAIT3 1
/*
* Do we have the mallinfo function and malloc.h?
*/
/* #undef HAVE_MALLINFO */
/* #undef HAVE_MALLOC_H */
/*
* Do we have the POSIX ACL functions?
*/
#define HAVE_ACL_INIT 1
/*
* Do we have the langinfo.h header file?
*/
#define HAVE_LANGINFO_H 1
/*
* Which encryption libraries do we have?
*/
#define HAVE_CDSASSL 1
/* #undef HAVE_GNUTLS */
/* #undef HAVE_SSPISSL */
#define HAVE_SSL 1
/*
* Do we have the gnutls_transport_set_pull_timeout_function function?
*/
/* #undef HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION */
/*
* Do we have the gnutls_priority_set_direct function?
*/
/* #undef HAVE_GNUTLS_PRIORITY_SET_DIRECT */
/*
* What Security framework headers do we have?
*/
#define HAVE_AUTHORIZATION_H 1
#define HAVE_SECCERTIFICATE_H 1
#define HAVE_SECITEM_H 1
#define HAVE_SECPOLICY_H 1
/*
* Do we have the SecGenerateSelfSignedCertificate function?
*/
/* #undef HAVE_SECGENERATESELFSIGNEDCERTIFICATE */
/*
* Do we have libpaper?
*/
/* #undef HAVE_LIBPAPER */
/*
* Do we have mDNSResponder for DNS Service Discovery (aka Bonjour)?
*/
#define HAVE_DNSSD 1
/*
* Do we have Avahi for DNS Service Discovery (aka Bonjour)?
*/
/* #undef HAVE_AVAHI */
/*
* Do we have <sys/ioctl.h>?
*/
#define HAVE_SYS_IOCTL_H 1
/*
* Does the "stat" structure contain the "st_gen" member?
*/
#define HAVE_ST_GEN 1
/*
* Does the "tm" structure contain the "tm_gmtoff" member?
*/
#define HAVE_TM_GMTOFF 1
/*
* Do we have rresvport_af()?
*/
#define HAVE_RRESVPORT_AF 1
/*
* Do we have getaddrinfo()?
*/
#define HAVE_GETADDRINFO 1
/*
* Do we have getnameinfo()?
*/
#define HAVE_GETNAMEINFO 1
/*
* Do we have getifaddrs()?
*/
#define HAVE_GETIFADDRS 1
/*
* Do we have hstrerror()?
*/
#define HAVE_HSTRERROR 1
/*
* Do we have res_init()?
*/
#define HAVE_RES_INIT 1
/*
* Do we have <resolv.h>
*/
#define HAVE_RESOLV_H 1
/*
* Do we have the <sys/sockio.h> header file?
*/
#define HAVE_SYS_SOCKIO_H 1
/*
* Does the sockaddr structure contain an sa_len parameter?
*/
/* #undef HAVE_STRUCT_SOCKADDR_SA_LEN */
/*
* Do we have pthread support?
*/
#define HAVE_PTHREAD_H 1
/*
* Do we have on-demand support (launchd/systemd/upstart)?
*/
#define HAVE_ONDEMAND 1
/*
* Do we have launchd support?
*/
#define HAVE_LAUNCH_H 1
#define HAVE_LAUNCHD 1
/*
* Do we have systemd support?
*/
/* #undef HAVE_SYSTEMD */
/*
* Do we have upstart support?
*/
/* #undef HAVE_UPSTART */
/*
* Do we have CoreFoundation public headers?
*/
#define HAVE_COREFOUNDATION_H 1
/*
* Do we have ApplicationServices public headers?
*/
#ifdef DARLING
// not sure why `configure` didn't find it, it was definitely in the include directories i gave it
#define HAVE_APPLICATIONSERVICES_H 1
#endif
/*
* Do we have the SCDynamicStoreCopyComputerName function?
*/
#define HAVE_SCDYNAMICSTORECOPYCOMPUTERNAME 1
/*
* Do we have the getgrouplist() function?
*/
#define HAVE_GETGROUPLIST 1
/*
* Do we have macOS 10.4's mbr_XXX functions?
*/
#define HAVE_MEMBERSHIP_H 1
#define HAVE_MBR_UID_TO_UUID 1
/*
* Do we have Darwin's notify_post header and function?
*/
#define HAVE_NOTIFY_H 1
#define HAVE_NOTIFY_POST 1
/*
* Do we have DBUS?
*/
/* #undef HAVE_DBUS */
/* #undef HAVE_DBUS_MESSAGE_ITER_INIT_APPEND */
/* #undef HAVE_DBUS_THREADS_INIT */
/*
* Do we have the GSSAPI support library (for Kerberos support)?
*/
#define HAVE_GSS_ACQUIRE_CRED_EX_F 1
#define HAVE_GSS_C_NT_HOSTBASED_SERVICE 1
#define HAVE_GSS_GSSAPI_H 1
#define HAVE_GSS_GSSAPI_SPI_H 1
#define HAVE_GSSAPI 1
/* #undef HAVE_GSSAPI_GSSAPI_H */
/* #undef HAVE_GSSAPI_H */
/*
* Default GSS service name...
*/
#define CUPS_DEFAULT_GSSSERVICENAME "host"
/*
* Select/poll interfaces...
*/
#define HAVE_POLL 1
/* #undef HAVE_EPOLL */
#define HAVE_KQUEUE 1
/*
* Do we have the <dlfcn.h> header?
*/
#define HAVE_DLFCN_H 1
/*
* Do we have <sys/param.h>?
*/
#define HAVE_SYS_PARAM_H 1
/*
* Do we have <sys/ucred.h>?
*/
#define HAVE_SYS_UCRED_H 1
/*
* Do we have removefile()?
*/
#define HAVE_REMOVEFILE 1
/*
* Do we have <sandbox.h>?
*/
#define HAVE_SANDBOX_H 1
/*
* Which random number generator function to use...
*/
#define HAVE_ARC4RANDOM 1
#define HAVE_RANDOM 1
#define HAVE_LRAND48 1
#ifdef HAVE_ARC4RANDOM
# define CUPS_RAND() arc4random()
# define CUPS_SRAND(v)
#elif defined(HAVE_RANDOM)
# define CUPS_RAND() random()
# define CUPS_SRAND(v) srandom(v)
#elif defined(HAVE_LRAND48)
# define CUPS_RAND() lrand48()
# define CUPS_SRAND(v) srand48(v)
#else
# define CUPS_RAND() rand()
# define CUPS_SRAND(v) srand(v)
#endif /* HAVE_ARC4RANDOM */
/*
* Do we have libusb?
*/
/* #undef HAVE_LIBUSB */
/*
* Do we have libwrap and tcpd.h?
*/
/* #undef HAVE_TCPD_H */
/*
* Do we have <iconv.h>?
*/
#define HAVE_ICONV_H 1
/*
* Do we have statfs or statvfs and one of the corresponding headers?
*/
#define HAVE_STATFS 1
#define HAVE_STATVFS 1
#define HAVE_SYS_MOUNT_H 1
/* #undef HAVE_SYS_STATFS_H */
#define HAVE_SYS_STATVFS_H 1
/* #undef HAVE_SYS_VFS_H */
/*
* Location of macOS localization bundle, if any.
*/
#define CUPS_BUNDLEDIR "/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A"
/*
* Do we have XPC?
*/
#define HAVE_XPC 1
/*
* Do we have the C99 abs() function?
*/
#define HAVE_ABS 1
#if !defined(HAVE_ABS) && !defined(abs)
# if defined(__GNUC__) || __STDC_VERSION__ >= 199901L
# define abs(x) _cups_abs(x)
static inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
# elif defined(_MSC_VER)
# define abs(x) _cups_abs(x)
static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
# else
# define abs(x) ((x) < 0 ? -(x) : (x))
# endif /* __GNUC__ || __STDC_VERSION__ */
#endif /* !HAVE_ABS && !abs */
#endif /* !_CUPS_CONFIG_H_ */

128
cups/cups-config Executable file
View File

@ -0,0 +1,128 @@
#!/bin/sh
#
# CUPS configuration utility.
#
# Copyright © 2007-2019 by Apple Inc.
# Copyright © 2001-2006 by Easy Software Products, all rights reserved.
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
#
VERSION="2.3.0"
APIVERSION="2.3"
BUILD="cups-483.2"
prefix=/
exec_prefix=/usr
bindir=/usr/bin
includedir=/usr/include
libdir=${exec_prefix}/lib
datarootdir=/usr/share
datadir=/usr/share
sysconfdir=/private/etc
cups_datadir=/usr/share/cups
cups_serverbin=/usr/libexec/cups
cups_serverroot=/private/etc/cups
INSTALLSTATIC=
# flags for compiler and linker...
CFLAGS=""
LDFLAGS=""
LIBS="-weak_framework Kerberos -weak_framework GSS -lz -lpthread -lresolv -framework SystemConfiguration -framework CoreFoundation -framework Security -liconv -lz"
# Check for local invocation...
selfdir=`dirname $0`
if test -f "$selfdir/cups/cups.h"; then
CFLAGS="-I$selfdir"
LDFLAGS="-L$selfdir/cups $LDFLAGS"
libdir="$selfdir/cups"
else
if test $includedir != /usr/include; then
CFLAGS="$CFLAGS -I$includedir"
fi
if test $libdir != /usr/lib -a $libdir != /usr/lib32 -a $libdir != /usr/lib64; then
LDFLAGS="$LDFLAGS -L$libdir"
fi
fi
usage ()
{
echo "Usage: cups-config --api-version"
echo " cups-config --build"
echo " cups-config --cflags"
echo " cups-config --datadir"
echo " cups-config --help"
echo " cups-config --ldflags"
echo " cups-config [--image] [--static] --libs"
echo " cups-config --serverbin"
echo " cups-config --serverroot"
echo " cups-config --version"
exit $1
}
if test $# -eq 0; then
usage 1
fi
# Parse command line options
static=no
while test $# -gt 0; do
case $1 in
--api-version)
echo $APIVERSION
;;
--build)
echo $BUILD
;;
--cflags)
echo $CFLAGS
;;
--datadir)
echo $cups_datadir
;;
--help)
usage 0
;;
--image)
# Do nothing
;;
--ldflags)
echo $LDFLAGS
;;
--libs)
if test $static = no; then
libs="-lcups";
else
libs="$libdir/libcups.a $LIBS";
fi
echo $libs
;;
--serverbin)
echo $cups_serverbin
;;
--serverroot)
echo $cups_serverroot
;;
--static)
if test -z "$INSTALLSTATIC"; then
echo "WARNING: Static libraries not installed." >&2
else
static=yes
fi
;;
--version)
echo $VERSION
;;
*)
usage 1
;;
esac
shift
done

118
cups/cups/CMakeLists.txt Normal file
View File

@ -0,0 +1,118 @@
project(cups-core)
#
# libcups
#
set(DYLIB_INSTALL_NAME "/usr/lib/libcups.2.dylib")
set(DYLIB_COMPAT_VERSION "2.0.0")
set(DYLIB_CURRENT_VERSION "2.14.0")
add_darling_library(cups
# core
array.c
auth.c
debug.c
dest.c
dest-job.c
dest-localization.c
dest-options.c
dir.c
encode.c
file.c
getputfile.c
globals.c
hash.c
http.c
http-addr.c
http-addrlist.c
http-support.c
ipp.c
ipp-file.c
ipp-vars.c
ipp-support.c
langprintf.c
language.c
md5.c
md5passwd.c
notify.c
options.c
pwg-media.c
raster-error.c
raster-stream.c
raster-stubs.c
request.c
snprintf.c
string.c
tempfile.c
thread.c
tls.c
transcode.c
usersys.c
util.c
# drivers
adminutil.c
backchannel.c
backend.c
getdevices.c
getifaddrs.c
ppd.c
ppd-attr.c
ppd-cache.c
ppd-conflicts.c
ppd-custom.c
ppd-emit.c
ppd-localize.c
ppd-mark.c
ppd-page.c
ppd-util.c
raster-interpret.c
raster-interstub.c
sidechannel.c
snmp.c
)
target_link_libraries(cups
Kerberos
GSS
resolv-darwin
SystemConfiguration
CoreFoundation
Security
iconv
z
system
)
set_target_properties(cups PROPERTIES OUTPUT_NAME "cups.2")
#
# libcupsimage
#
set(DYLIB_INSTALL_NAME "/usr/lib/libcupsimage.2.dylib")
set(DYLIB_COMPAT_VERSION "2.0.0")
set(DYLIB_CURRENT_VERSION "2.3.0")
add_darling_library(cupsimage
raster-interstub.c
raster-stubs.c
)
target_link_libraries(cupsimage
cups
system
)
set_target_properties(cups PROPERTIES OUTPUT_NAME "cupsimage.2")
#
# install everything
#
install(
TARGETS
cups
cupsimage
DESTINATION libexec/darling/usr/lib
)
InstallSymlink("libcups.2.dylib" "${CMAKE_INSTALL_PREFIX}/libexec/darling/usr/lib/libcups.dylib")
InstallSymlink("libcupsimage.2.dylib" "${CMAKE_INSTALL_PREFIX}/libexec/darling/usr/lib/libcupsimage.dylib")

17
cups/data/CMakeLists.txt Normal file
View File

@ -0,0 +1,17 @@
project(cups-data)
install(
FILES
epson.h
font.defs
hp.h
label.h
media.defs
raster.defs
DESTINATION libexec/darling/usr/share/cups/ppdc
)
# install empty directories
foreach(DIR IN ITEMS banners data model profiles)
install(DIRECTORY DESTINATION libexec/darling/usr/share/cups/${DIR})
endforeach()

67
cups/desktop/cups.desktop Normal file
View File

@ -0,0 +1,67 @@
[Desktop Entry]
Categories=System;Printing;HardwareSettings;X-Red-Hat-Base;
Exec=htmlview http://localhost:631/
Icon=cups
StartupNotify=false
Terminal=false
Type=Application
Name=Manage Printing
Comment=CUPS Web Interface
Name[af]=bestuur Printing
Comment[af]=CUPS Web Interface
Name[ar]=إدارة الطباعة
Comment[ar]=الكؤوس واجهة الويب
Name[az]=Çap idarə
Comment[az]=CUPS Web Interface
Name[bn-IN]= ি
Comment[bn-IN]=CUPS
Name[ca]=Gestor d'impressió
Comment[ca]=Interfície web de CUPS
Name[cs]=Správa tisku CUPS
Comment[cs]=Webové rozhraní CUPS
Name[da]=Håndter udskrivning
Comment[da]=CUPS-webgrænseflade
Name[de]=Druckerverwaltung
Comment[de]=CUPS Webinterface
Name[en_US]=Manage Printing
Comment[en_US]=CUPS Web Interface
Name[es]=Administrar impresión
Comment[es]=Interfaz Web de CUPS
Name[et]=Trükkimise haldur
Comment[et]=CUPS-i veebiliides
Name[eu]=Kudeatu inprimaketak
Comment[eu]=CUPSen web interfazea
Name[fr]=Gestionnaire d'impression
Comment[fr]=Interface Web de CUPS
Name[he]=נהל הדפסות
Comment[he]=ממשק דפדפן של CUPS
Name[id]=Manajemen Pencetakan
Comment[id]=Antarmuka Web CUPS
Name[it]=Gestione stampa
Comment[it]=Interfaccia web di CUPS
Name[ja]=
Comment[ja]=CUPS Web
Name[ko]=
Comment[ko]=CUPS
Name[pl]=Zarządzanie drukowaniem
Comment[pl]=Interfejs WWW CUPS
Name[pt_BR]=Gerenciador de impressão
Comment[pt_BR]=Interface web do CUPS
Name[pt-PT]=Gerenciador de impressão
Comment[pt-PT]=Interface sítio do CUPS
Name[ru]=Настройка печати
Comment[ru]=Настройка CUPS
Name[sv]=Hantera skrivare
Comment[sv]=CUPS webb-gränssnitt
Name[sq]=Menaxho Printime
Comment[sq]=CUPS Web Interface
Name[th]=
Comment[th]=CUPS
Name[tr]=Yazıcıları Yönet
Comment[tr]=CUPS Web Arayüzü
Name[uz]=chop boshqarish
Comment[uz]=CUPS veb interfeysi
Name[zh]=
Comment[zh]=CUPS
Name[zh_TW]=
Comment[zh_TW]=CUPS

54
cups/doc/index.html Normal file
View File

@ -0,0 +1,54 @@
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="/cups.css" type="text/css">
<link rel="shortcut icon" href="/apple-touch-icon.png" type="image/png">
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=9">
<meta name="viewport" content="width=device-width">
<title>Home - CUPS 2.3.0</title>
</head>
<body>
<div class="header">
<ul>
<li><a href="http://www.cups.org/" target="_blank">CUPS.org</a></li>
<li><a class="active" href="/">Home</a></li>
<li><a href="/admin">Administration</a></li>
<li><a href="/classes/">Classes</a></li>
<li><a href="/help/">Help</a></li>
<li><a href="/jobs/">Jobs</a></li>
<li><a href="/printers/">Printers</a></li>
</ul>
</div>
<div class="body">
<div class="row">
<h1>CUPS 2.3.0</h1>
<p>CUPS is the standards-based, open source printing system developed by <a href="http://www.apple.com/">Apple Inc.</a> for macOS<sup>&reg;</sup> and other UNIX<sup>&reg;</sup>-like operating systems.</p>
</div>
<div class="row">
<div class="thirds">
<h2>CUPS for Users</h2>
<p><a href="help/overview.html">Overview of CUPS</a></p>
<p><a href="help/options.html">Command-Line Printing and Options</a></p>
<p><a href="http://www.cups.org/lists.php?LIST=cups">User Forum</a></p>
</div>
<div class="thirds">
<h2>CUPS for Administrators</h2>
<p><a href="help/admin.html">Adding Printers and Classes</a></p>
<p><a href="help/policies.html">Managing Operation Policies</a></p>
<p><a href="help/network.html">Using Network Printers</a></p>
<p><a href="help/firewalls.html">Firewalls</a></p>
<p><a href="help/man-cupsd.conf.html">cupsd.conf Reference</a></p>
</div>
<div class="thirds">
<h2>CUPS for Developers</h2>
<p><a href="help/cupspm.html">CUPS Programming Manual</a></p>
<p><a href="help/api-filter.html">Filter and Backend Programming</a></p>
<p><a href="http://www.cups.org/lists.php?LIST=cups-devel">Developer Forum</a></p>
</div>
</div>
</div>
<div class="footer">CUPS and the CUPS logo are trademarks of <a href="http://www.apple.com">Apple Inc.</a> Copyright &copy; 2007-2019 Apple Inc. All rights reserved.</div>
</body>
</html>

View File

@ -0,0 +1,22 @@
project(cups-filter)
# pstops is special
# it gets *two* source files *gasp*
add_darling_executable(pstops
common.c
pstops.c
)
target_link_libraries(pstops
cups
)
install(TARGETS pstops DESTINATION libexec/darling/usr/libexec/cups/filter)
foreach(EXE IN ITEMS commandtops gziptoany rastertoepson rastertohp rastertolabel rastertopwg)
add_darling_executable(${EXE}
${EXE}.c
)
target_link_libraries(${EXE}
cups
)
install(TARGETS ${EXE} DESTINATION libexec/darling/usr/libexec/cups/filter)
endforeach()

View File

@ -0,0 +1,6 @@
project(cups-locale)
install(
FILES cups.strings
DESTINATION "libexec/darling/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/Resources/en.lproj"
)

73
cups/man/CMakeLists.txt Normal file
View File

@ -0,0 +1,73 @@
project(cups-man)
set(man1
cancel.1
cups.1
cups-config.1
cupstestppd.1
ippeveprinter.1
ippfind.1
ipptool.1
lp.1
lpoptions.1
lpq.1
lprm.1
lpr.1
lpstat.1
ppdc.1
ppdhtml.1
ppdi.1
ppdmerge.1
ppdpo.1
)
set(man5
classes.conf.5
client.conf.5
cups-files.conf.5
cups-snmp.conf.5
cupsd.conf.5
cupsd-logs.5
ipptoolfile.5
mailto.conf.5
mime.convs.5
mime.types.5
ppdcfile.5
printers.conf.5
subscriptions.conf.5
)
set(man7
backend.7
filter.7
ippevepcl.7
notifier.7
)
set(man8
cupsaccept.8
cupsctl.8
cupsfilter.8
cups-lpd.8
cups-snmp.8
cupsd.8
cupsd-helper.8
cupsenable.8
lpadmin.8
lpinfo.8
lpmove.8
lpc.8
)
install(FILES ${man1} DESTINATION libexec/darling/usr/share/man/man1)
install(FILES ${man5} DESTINATION libexec/darling/usr/share/man/man5)
install(FILES ${man7} DESTINATION libexec/darling/usr/share/man/man7)
install(FILES ${man8} DESTINATION libexec/darling/usr/share/man/man8)
InstallSymlink("ippevepcl.7" "${CMAKE_INSTALL_PREFIX}/libexec/darling/usr/share/man/man7/ippeveps.7")
InstallSymlink("cupsenable.8" "${CMAKE_INSTALL_PREFIX}/libexec/darling/usr/share/man/man8/cupsdisable.8")
InstallSymlink("cupsaccept.8" "${CMAKE_INSTALL_PREFIX}/libexec/darling/usr/share/man/man8/cupsreject.8")
foreach(LINK IN ITEMS cups-deviced.8 cups-driverd.8 cups-exec.8)
InstallSymlink("cupsd-helper.8" "${CMAKE_INSTALL_PREFIX}/libexec/darling/usr/share/man/man8/${LINK}")
endforeach()

View File

@ -0,0 +1,11 @@
project(cups-monitor)
foreach(EXE IN ITEMS bcp tbcp)
add_darling_executable(${EXE}
${EXE}.c
)
target_link_libraries(${EXE}
cups
)
install(TARGETS ${EXE} DESTINATION libexec/darling/usr/libexec/cups/monitor)
endforeach()

View File

@ -0,0 +1,14 @@
project(cups-notifier)
foreach(EXE IN ITEMS mailto rss)
add_darling_executable(${EXE}
${EXE}.c
)
target_link_libraries(${EXE}
cups
)
install(TARGETS ${EXE} DESTINATION libexec/darling/usr/libexec/cups/notifier)
endforeach()
# install an empty directory
install(DIRECTORY DESTINATION libexec/darling/private/var/spool/cups/cache/rss)

691
cups/packaging/cups.list Normal file
View File

@ -0,0 +1,691 @@
#
# ESP Package Manager (EPM) file list for CUPS.
#
# Copyright © 2007-2019 by Apple Inc.
# Copyright © 1997-2007 by Easy Software Products, all rights reserved.
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
#
# Product information
%product CUPS
%copyright 2007-2019 by Apple Inc.
%vendor Apple Inc.
#%license LICENSE
%readme LICENSE
%format rpm
# Red Hat and their epochs...
%version 1:2.3.0
%format !rpm
%version 2.3.0
%format all
%description CUPS is the standards-based, open source printing system developed by
%description Apple Inc. for macOS® and other UNIX®-like operating systems.
%format rpm
%provides lpd
%provides lpr
%provides LPRng
%replaces lpd
%replaces lpr
%replaces LPRng
%requires cups-libs 1:2.3.0
# Replace all of the old localization subpackages from CUPS 1.2/1.3
%replaces cups-da
%replaces cups-de
%replaces cups-es
%replaces cups-et
%replaces cups-fi
%replaces cups-fr
%replaces cups-he
%replaces cups-id
%replaces cups-it
%replaces cups-ja
%replaces cups-ko
%replaces cups-nl
%replaces cups-no
%replaces cups-pl
%replaces cups-pt
%replaces cups-ru
%replaces cups-sv
%replaces cups-zh
%format deb
%provides cupsys
%provides cupsys-client
%provides cupsys-bsd
%requires cups-libs
# Replace all of the old localization subpackages from CUPS 1.2/1.3
%replaces cups-da
%replaces cups-de
%replaces cups-es
%replaces cups-et
%replaces cups-fi
%replaces cups-fr
%replaces cups-he
%replaces cups-id
%replaces cups-it
%replaces cups-ja
%replaces cups-ko
%replaces cups-nl
%replaces cups-no
%replaces cups-pl
%replaces cups-pt
%replaces cups-ru
%replaces cups-sv
%replaces cups-zh
%format pkg
%replaces SUNWlpmsg LP Alerts
%replaces SUNWlpr LP Print Service, (Root)
%replaces SUNWlps LP Print Service - Server, (Usr)
%replaces SUNWlpu LP Print Service - Client, (Usr)
%replaces SUNWpsu LP Print Server, (Usr)
%replaces SUNWpsr LP Print Server, (Root)
%replaces SUNWpcu LP Print Client, (Usr)
%replaces SUNWpcr LP Print Client, (Root)
%replaces SUNWppm
%replaces SUNWmp
%replaces SUNWscplp SunOS Print Compatibility
%format inst
%replaces patch*.print_*.* 0 0 1289999999 1289999999
%replaces maint*.print_*.* 0 0 1289999999 1289999999
%replaces print 0 0 1289999999 1289999999
%replaces fw_cups 0 0 1289999999 1289999999
%incompat patch*.print_*.* 0 0 1289999999 1289999999
%incompat maint*.print_*.* 0 0 1289999999 1289999999
%incompat print 0 0 1289999999 1289999999
%incompat fw_cups 0 0 1289999999 1289999999
%requires cups.sw.libs
# Replace all of the old localization subpackages from CUPS 1.2/1.3
%replaces cups.sw.da
%replaces cups.sw.de
%replaces cups.sw.es
%replaces cups.sw.et
%replaces cups.sw.fi
%replaces cups.sw.fr
%replaces cups.sw.he
%replaces cups.sw.id
%replaces cups.sw.it
%replaces cups.sw.ja
%replaces cups.sw.ko
%replaces cups.sw.nl
%replaces cups.sw.no
%replaces cups.sw.pl
%replaces cups.sw.pt
%replaces cups.sw.ru
%replaces cups.sw.sv
%replaces cups.sw.zh
%format portable
%requires cups-libs
# Replace all of the old localization subpackages from CUPS 1.2/1.3
%replaces cups-da
%replaces cups-de
%replaces cups-es
%replaces cups-et
%replaces cups-fi
%replaces cups-fr
%replaces cups-he
%replaces cups-id
%replaces cups-it
%replaces cups-ja
%replaces cups-ko
%replaces cups-nl
%replaces cups-no
%replaces cups-pl
%replaces cups-pt
%replaces cups-ru
%replaces cups-sv
%replaces cups-zh
%format all
%subpackage libs
%description Shared libraries
%format deb
%provides libcups1
%provides libcupsys2
%provides libcupsys2-gnutls10
%provides libcupsimage2
%format all
%subpackage devel
%description Development environment
%format deb
%provides libcupsys2-dev
%provides libcupsimage2-dev
%format all
%subpackage lpd
%description LPD support
%subpackage
#
# GNU variables...
#
$prefix=/
$exec_prefix=/usr
$bindir=/usr/bin
$datarootdir=/usr/share
$datadir=/usr/share
$includedir=/usr/include
$infodir=${datarootdir}/info
$libdir=${exec_prefix}/lib
$libexecdir=${exec_prefix}/libexec
$localstatedir=/private/var
$mandir=/usr/share/man
$oldincludedir=/usr/include
$sbindir=/usr/sbin
$sharedstatedir=/usr/com
$srcdir=.
$sysconfdir=/private/etc
$top_srcdir=..
#
# CUPS variables...
#
$AMANDIR=@AMANDIR@
$BINDIR=/usr/bin
$CACHEDIR=/private/var/spool/cups/cache
$DATADIR=/usr/share/cups
$DOCDIR=/usr/share/doc/cups
$INCLUDEDIR=${includedir}
$INITDIR=
$INITDDIR=
$LIBDIR=${libdir}
$LOCALEDIR=/usr/share/locale
$LOGDIR=/private/var/log/cups
$MANDIR=/usr/share/man
$PAMDIR=/private/etc/pam.d
$PMANDIR=@PMANDIR@
$REQUESTS=/private/var/spool/cups
$SBINDIR=/usr/sbin
$SERVERBIN=/usr/libexec/cups
$SERVERROOT=/private/etc/cups
$STATEDIR=/private/etc/cups
$XINETD=
$LIB32DIR=@LIB32DIR@
$LIB64DIR=@LIB64DIR@
$MDNS=@MDNS@
$CUPS_USER=_lp
$CUPS_GROUP=_lp
$CUPS_PRIMARY_SYSTEM_GROUP=admin
$CUPS_PERM=0644
$INSTALLSTATIC=
$LIBZ=-lz
$DSOLIBS=@DSOLIBS@
# Make sure the MD5 password file is now owned by CUPS_USER...
%postinstall if test -f $SERVERROOT/passwd.md5; then
%postinstall chown $CUPS_USER $SERVERROOT/passwd.md5
%postinstall fi
# Make sure the shared libraries are refreshed...
%subpackage libs
%system linux
%postinstall ldconfig
%system all
%subpackage
# Server programs
%system all
# Server files
f 0555 root sys $SBINDIR/cupsd scheduler/cupsd
d 0755 root sys $SERVERBIN -
%system darwin
d 0755 root sys $SERVERBIN/apple -
f 0555 root sys $SERVERBIN/apple/ipp backend/ipp
l 0755 root sys $SERVERBIN/apple/http ipp
l 0755 root sys $SERVERBIN/apple/https ipp
l 0755 root sys $SERVERBIN/apple/ipps ipp
%system all
d 0755 root sys $SERVERBIN/backend -
f 0500 root sys $SERVERBIN/backend/ipp backend/ipp
l 0700 root sys $SERVERBIN/backend/http ipp
l 0700 root sys $SERVERBIN/backend/https ipp
l 0700 root sys $SERVERBIN/backend/ipps ipp
f 0500 root sys $SERVERBIN/backend/lpd backend/lpd
%if DNSSD_BACKEND
f 0500 root sys $SERVERBIN/backend/dnssd backend/dnssd
%system darwin
l 0700 root sys $SERVERBIN/backend/mdns dnssd
%system all
%endif
f 0555 root sys $SERVERBIN/backend/snmp backend/snmp
f 0555 root sys $SERVERBIN/backend/socket backend/socket
f 0555 root sys $SERVERBIN/backend/usb backend/usb
d 0755 root sys $SERVERBIN/cgi-bin -
f 0555 root sys $SERVERBIN/cgi-bin/admin.cgi cgi-bin/admin.cgi
f 0555 root sys $SERVERBIN/cgi-bin/classes.cgi cgi-bin/classes.cgi
f 0555 root sys $SERVERBIN/cgi-bin/help.cgi cgi-bin/help.cgi
f 0555 root sys $SERVERBIN/cgi-bin/jobs.cgi cgi-bin/jobs.cgi
f 0555 root sys $SERVERBIN/cgi-bin/printers.cgi cgi-bin/printers.cgi
d 0755 root sys $SERVERBIN/command -
f 0555 root sys $SERVERBIN/command/ippevepcl tools/ippevepcl
f 0555 root sys $SERVERBIN/command/ippeveps tools/ippeveps
d 0755 root sys $SERVERBIN/daemon -
f 0555 root sys $SERVERBIN/daemon/cups-deviced scheduler/cups-deviced
f 0555 root sys $SERVERBIN/daemon/cups-driverd scheduler/cups-driverd
d 0755 root sys $SERVERBIN/driver -
d 0755 root sys $SERVERBIN/filter -
f 0555 root sys $SERVERBIN/filter/commandtops filter/commandtops
f 0555 root sys $SERVERBIN/filter/gziptoany filter/gziptoany
f 0555 root sys $SERVERBIN/filter/pstops filter/pstops
f 0555 root sys $SERVERBIN/filter/rastertolabel filter/rastertolabel
l 0755 root sys $SERVERBIN/filter/rastertodymo rastertolabel
f 0555 root sys $SERVERBIN/filter/rastertoepson filter/rastertoepson
f 0555 root sys $SERVERBIN/filter/rastertohp filter/rastertohp
f 0555 root sys $SERVERBIN/filter/rastertopwg filter/rastertopwg
d 0755 root sys $SERVERBIN/notifier -
f 0555 root sys $SERVERBIN/notifier/mailto notifier/mailto
%subpackage lpd
d 0755 root sys $SERVERBIN/daemon -
f 0555 root sys $SERVERBIN/daemon/cups-lpd scheduler/cups-lpd
%subpackage
# Admin commands
d 0755 root sys $SBINDIR -
f 0555 root sys $SBINDIR/cupsaccept systemv/cupsaccept
f 0555 root sys $SBINDIR/cupsctl systemv/cupsctl
l 0755 root sys $SBINDIR/cupsdisable cupsaccept
l 0755 root sys $SBINDIR/cupsenable cupsaccept
l 0755 root sys $SBINDIR/cupsreject cupsaccept
f 0555 root sys $SBINDIR/lpadmin systemv/lpadmin
f 0555 root sys $SBINDIR/lpc berkeley/lpc
f 0555 root sys $SBINDIR/lpinfo systemv/lpinfo
f 0555 root sys $SBINDIR/lpmove systemv/lpmove
%system irix
l 0755 root sys /usr/etc/lpc $SBINDIR/lpc
%system all
# User commands
d 0755 root sys $BINDIR -
f 0555 root sys $BINDIR/cancel systemv/cancel
f 0555 root sys $BINDIR/cupstestppd systemv/cupstestppd
f 0555 root sys $BINDIR/ippeveprinter tools/ippeveprinter
%if DNSSD_BACKEND
f 0555 root sys $BINDIR/ippfind tools/ippfind
%endif
f 0555 root sys $BINDIR/ipptool tools/ipptool
f 0555 root sys $BINDIR/lp systemv/lp
f 0555 root sys $BINDIR/lpoptions systemv/lpoptions
f 0555 root sys $BINDIR/lpq berkeley/lpq
f 0555 root sys $BINDIR/lpr berkeley/lpr
f 0555 root sys $BINDIR/lprm berkeley/lprm
f 0555 root sys $BINDIR/lpstat systemv/lpstat
%system irix
l 0755 root sys /usr/bsd/lpq $BINDIR/lpq
l 0755 root sys /usr/bsd/lpr $BINDIR/lpr
l 0755 root sys /usr/bsd/lprm $BINDIR/lprm
%system all
# DSOs
%if DSOLIBS
%subpackage libs
%system darwin
f 0555 root sys $LIBDIR/libcups.2.dylib cups/libcups.2.dylib nostrip()
l 0755 root sys $LIBDIR/libcups.dylib libcups.2.dylib
f 0555 root sys $LIBDIR/libcupsimage.2.dylib filter/libcupsimage.2.dylib nostrip()
l 0755 root sys $LIBDIR/libcupsimage.dylib libcupsimage.2.dylib
%system !darwin
f 0555 root sys $LIBDIR/libcups.so.2 cups/libcups.so.2 nostrip()
l 0755 root sys $LIBDIR/libcups.so libcups.so.2
f 0555 root sys $LIBDIR/libcupsimage.so.2 filter/libcupsimage.so.2 nostrip()
l 0755 root sys $LIBDIR/libcupsimage.so libcupsimage.so.2
%system all
%subpackage
%endif
# Directories
d 0755 root sys $LOGDIR -
d 0710 root $CUPS_GROUP $REQUESTS -
d 1770 root $CUPS_GROUP $REQUESTS/tmp -
d 0775 root $CUPS_GROUP $CACHEDIR -
d 0775 root $CUPS_GROUP $CACHEDIR/rss -
#d 0755 root $CUPS_GROUP $CACHEDIR/ppd -
%system !darwin
d 0755 root $CUPS_GROUP $STATEDIR -
%system all
d 0511 root $CUPS_PRIMARY_SYSTEM_GROUP $STATEDIR/certs -
# Data files
f 0444 root sys $LOCALEDIR/ca/cups_ca.po locale/cups_ca.po
f 0444 root sys $LOCALEDIR/cs/cups_cs.po locale/cups_cs.po
#f 0444 root sys $LOCALEDIR/da/cups_da.po locale/cups_da.po
f 0444 root sys $LOCALEDIR/de/cups_de.po locale/cups_de.po
f 0444 root sys $LOCALEDIR/es/cups_es.po locale/cups_es.po
#f 0444 root sys $LOCALEDIR/et/cups_et.po locale/cups_et.po
#f 0444 root sys $LOCALEDIR/eu/cups_eu.po locale/cups_eu.po
#f 0444 root sys $LOCALEDIR/fi/cups_fi.po locale/cups_fi.po
f 0444 root sys $LOCALEDIR/fr/cups_fr.po locale/cups_fr.po
#f 0444 root sys $LOCALEDIR/he/cups_he.po locale/cups_he.po
#f 0444 root sys $LOCALEDIR/id/cups_id.po locale/cups_id.po
f 0444 root sys $LOCALEDIR/it/cups_it.po locale/cups_it.po
f 0444 root sys $LOCALEDIR/ja/cups_ja.po locale/cups_ja.po
#f 0444 root sys $LOCALEDIR/ko/cups_ko.po locale/cups_ko.po
#f 0444 root sys $LOCALEDIR/nl/cups_nl.po locale/cups_nl.po
#f 0444 root sys $LOCALEDIR/no/cups_no.po locale/cups_no.po
#f 0444 root sys $LOCALEDIR/pl/cups_pl.po locale/cups_pl.po
#f 0444 root sys $LOCALEDIR/pt/cups_pt.po locale/cups_pt.po
f 0444 root sys $LOCALEDIR/pt_BR/cups_pt_BR.po locale/cups_pt_BR.po
f 0444 root sys $LOCALEDIR/ru/cups_ru.po locale/cups_ru.po
#f 0444 root sys $LOCALEDIR/sv/cups_sv.po locale/cups_sv.po
#f 0444 root sys $LOCALEDIR/zh/cups_zh.po locale/cups_zh.po
#f 0444 root sys $LOCALEDIR/zh_TW/cups_zh_TW.po locale/cups_zh_TW.po
d 0755 root sys $DATADIR -
d 0755 root sys $DATADIR/banners -
d 0755 root sys $DATADIR/data -
d 0755 root sys $DATADIR/drv -
f 0444 root sys $DATADIR/drv/sample.drv ppdc/sample.drv
d 0755 root sys $DATADIR/examples -
f 0444 root sys $DATADIR/examples examples/*.drv
d 0755 root sys $DATADIR/ipptool -
f 0444 root sys $DATADIR/ipptool examples/*.jpg
f 0444 root sys $DATADIR/ipptool examples/*.test
f 0444 root sys $DATADIR/ipptool examples/document-*.p*
f 0444 root sys $DATADIR/ipptool examples/onepage-*.p*
f 0444 root sys $DATADIR/ipptool examples/testfile.*
d 0755 root sys $DATADIR/mime -
f 0444 root sys $DATADIR/mime/mime.convs conf/mime.convs
f 0444 root sys $DATADIR/mime/mime.types conf/mime.types
d 0755 root sys $DATADIR/model -
d 0755 root sys $DATADIR/ppdc -
f 0444 root sys $DATADIR/ppdc data/*.defs
f 0444 root sys $DATADIR/ppdc data/*.h
d 0755 root sys $DATADIR/templates -
f 0444 root sys $DATADIR/templates templates/*.tmpl
## Template files
d 0755 root sys $DATADIR/templates/de
f 0444 root sys $DATADIR/templates/de templates/de/*.tmpl
d 0755 root sys $DATADIR/templates/es
f 0444 root sys $DATADIR/templates/es templates/es/*.tmpl
#d 0755 root sys $DATADIR/templates/et
#f 0444 root sys $DATADIR/templates/et templates/et/*.tmpl
#d 0755 root sys $DATADIR/templates/eu
#f 0444 root sys $DATADIR/templates/eu templates/eu/*.tmpl
d 0755 root sys $DATADIR/templates/fr
f 0444 root sys $DATADIR/templates/fr templates/fr/*.tmpl
#d 0755 root sys $DATADIR/templates/he
#f 0444 root sys $DATADIR/templates/he templates/he/*.tmpl
#d 0755 root sys $DATADIR/templates/id
#f 0444 root sys $DATADIR/templates/id templates/id/*.tmpl
#d 0755 root sys $DATADIR/templates/it
#f 0444 root sys $DATADIR/templates/it templates/it/*.tmpl
d 0755 root sys $DATADIR/templates/ja
f 0444 root sys $DATADIR/templates/ja templates/ja/*.tmpl
#d 0755 root sys $DATADIR/templates/pl
#f 0444 root sys $DATADIR/templates/pl templates/pl/*.tmpl
d 0755 root sys $DATADIR/templates/pt_BR
f 0444 root sys $DATADIR/templates/pt_BR templates/pt_BR/*.tmpl
d 0755 root sys $DATADIR/templates/ru
f 0444 root sys $DATADIR/templates/ru templates/ru/*.tmpl
#d 0755 root sys $DATADIR/templates/sv
#f 0444 root sys $DATADIR/templates/sv templates/sv/*.tmpl
#d 0755 root sys $DATADIR/templates/zh_TW
#f 0444 root sys $DATADIR/templates/zh_TW templates/zh_TW/*.tmpl
# Config files
d 0755 root $CUPS_GROUP $SERVERROOT -
d 0755 root $CUPS_GROUP $SERVERROOT/ppd -
d 0700 root $CUPS_GROUP $SERVERROOT/ssl -
c $CUPS_PERM root $CUPS_GROUP $SERVERROOT/cups-files.conf conf/cups-files.conf
f $CUPS_PERM root $CUPS_GROUP $SERVERROOT/cups-files.conf.default conf/cups-files.conf
c $CUPS_PERM root $CUPS_GROUP $SERVERROOT/cupsd.conf conf/cupsd.conf
f $CUPS_PERM root $CUPS_GROUP $SERVERROOT/cupsd.conf.default conf/cupsd.conf
c $CUPS_PERM root $CUPS_GROUP $SERVERROOT/snmp.conf conf/snmp.conf
%if PAMDIR
d 0755 root sys $PAMDIR -
c 0644 root sys $PAMDIR/cups conf/pam.opendirectory
%endif
%subpackage devel
# Developer files
f 0555 root sys $BINDIR/cups-config cups-config
d 0755 root sys $INCLUDEDIR/cups -
f 0444 root sys $INCLUDEDIR/cups/adminutil.h cups/adminutil.h
f 0444 root sys $INCLUDEDIR/cups/array.h cups/array.h
f 0444 root sys $INCLUDEDIR/cups/backend.h cups/backend.h
f 0444 root sys $INCLUDEDIR/cups/cups.h cups/cups.h
f 0444 root sys $INCLUDEDIR/cups/dir.h cups/dir.h
f 0444 root sys $INCLUDEDIR/cups/file.h cups/file.h
f 0444 root sys $INCLUDEDIR/cups/http.h cups/http.h
f 0444 root sys $INCLUDEDIR/cups/ipp.h cups/ipp.h
f 0444 root sys $INCLUDEDIR/cups/language.h cups/language.h
f 0444 root sys $INCLUDEDIR/cups/ppd.h cups/ppd.h
f 0444 root sys $INCLUDEDIR/cups/pwg.h cups/pwg.h
f 0444 root sys $INCLUDEDIR/cups/raster.h cups/raster.h
f 0444 root sys $INCLUDEDIR/cups/sidechannel.h cups/sidechannel.h
f 0444 root sys $INCLUDEDIR/cups/transcode.h cups/transcode.h
f 0444 root sys $INCLUDEDIR/cups/versioning.h cups/versioning.h
%if INSTALLSTATIC
f 0444 root sys $LIBDIR/libcups.a cups/libcups.a
f 0444 root sys $LIBDIR/libcupsimage.a filter/libcupsimage.a
%endif
d 0755 root sys $DOCDIR/help -
f 0444 root sys $DOCDIR/help doc/help/api*.html
f 0444 root sys $DOCDIR/help doc/help/cupspm.*
f 0444 root sys $DOCDIR/help/postscript-driver.html doc/help/postscript-driver.html
f 0444 root sys $DOCDIR/help/ppd-compiler.html doc/help/ppd-compiler.html
f 0444 root sys $DOCDIR/help/raster-driver.html doc/help/raster-driver.html
f 0444 root sys $DOCDIR/help doc/help/spec*.html
%subpackage
# Documentation files
d 0755 root sys $DOCDIR -
f 0444 root sys $DOCDIR doc/*.css
f 0444 root sys $DOCDIR doc/*.html
f 0444 root sys $DOCDIR/apple-touch-icon.png doc/apple-touch-icon.png
d 0755 root sys $DOCDIR/help -
f 0444 root sys $DOCDIR/help/accounting.html doc/help/accounting.html
f 0444 root sys $DOCDIR/help/admin.html doc/help/admin.html
f 0444 root sys $DOCDIR/help/cgi.html doc/help/cgi.html
f 0444 root sys $DOCDIR/help/encryption.html doc/help/encryption.html
f 0444 root sys $DOCDIR/help/firewalls.html doc/help/firewalls.html
f 0444 root sys $DOCDIR/help/glossary.html doc/help/glossary.html
f 0444 root sys $DOCDIR/help/kerberos.html doc/help/kerberos.html
f 0444 root sys $DOCDIR/help/license.html doc/help/license.html
f 0444 root sys $DOCDIR/help/network.html doc/help/network.html
f 0444 root sys $DOCDIR/help/options.html doc/help/options.html
f 0444 root sys $DOCDIR/help/overview.html doc/help/overview.html
f 0444 root sys $DOCDIR/help/policies.html doc/help/policies.html
f 0444 root sys $DOCDIR/help/security.html doc/help/security.html
f 0444 root sys $DOCDIR/help/sharing.html doc/help/sharing.html
f 0444 root sys $DOCDIR/help/translation.html doc/help/translation.html
f 0444 root sys $DOCDIR/help doc/help/man-*.html
f 0444 root sys $DOCDIR/help doc/help/ref-*.html
d 0755 root sys $DOCDIR/images -
f 0444 root sys $DOCDIR/images doc/images/*.gif
f 0444 root sys $DOCDIR/images doc/images/*.jpg
f 0444 root sys $DOCDIR/images doc/images/*.png
f 0444 root sys $DOCDIR/robots.txt doc/robots.txt
# Localized documentation files
d 0755 root sys $DOCDIR/de
f 0444 root sys $DOCDIR/de doc/de/*.html
d 0755 root sys $DOCDIR/es
f 0444 root sys $DOCDIR/es doc/es/*.html
#d 0755 root sys $DOCDIR/et
#f 0444 root sys $DOCDIR/et doc/et/*.html
#d 0755 root sys $DOCDIR/eu
#f 0444 root sys $DOCDIR/eu doc/eu/*.html
#d 0755 root sys $DOCDIR/fr
#f 0444 root sys $DOCDIR/fr doc/fr/*.html
#d 0755 root sys $DOCDIR/he
#f 0444 root sys $DOCDIR/he doc/he/*.html
#f 0444 root sys $DOCDIR/he/cups.css doc/he/cups.css
#d 0755 root sys $DOCDIR/id
#f 0444 root sys $DOCDIR/id doc/id/*.html
#d 0755 root sys $DOCDIR/it
#f 0444 root sys $DOCDIR/it doc/it/*.html
d 0755 root sys $DOCDIR/ja
f 0444 root sys $DOCDIR/ja doc/ja/*.html
#d 0755 root sys $DOCDIR/pl
#f 0444 root sys $DOCDIR/pl doc/pl/*.html
d 0755 root sys $DOCDIR/pt_BR
f 0444 root sys $DOCDIR/pt_BR doc/pt_BR/*.html
d 0755 root sys $DOCDIR/ru
f 0444 root sys $DOCDIR/ru doc/ru/*.html
#d 0755 root sys $DOCDIR/sv
#f 0444 root sys $DOCDIR/sv doc/sv/*.html
#d 0755 root sys $DOCDIR/zh_TW
#f 0444 root sys $DOCDIR/zh_TW doc/zh_TW/*.html
# Man pages
d 0755 root sys $AMANDIR -
d 0755 root sys $AMANDIR/man8 -
d 0755 root sys $MANDIR -
d 0755 root sys $MANDIR/man1 -
d 0755 root sys $MANDIR/man5 -
d 0755 root sys $MANDIR/man7 -
f 0444 root sys $MANDIR/man1/cancel.1 man/cancel.1
f 0444 root sys $MANDIR/man1/cups.1 man/cups.1
f 0444 root sys $MANDIR/man1/cupstestppd.1 man/cupstestppd.1
f 0444 root sys $MANDIR/man1/ippeveprinter.1 man/ippeveprinter.1
f 0444 root sys $MANDIR/man1/ippfind.1 man/ippfind.1
f 0444 root sys $MANDIR/man1/ipptool.1 man/ipptool.1
f 0444 root sys $MANDIR/man1/lp.1 man/lp.1
f 0444 root sys $MANDIR/man1/lpoptions.1 man/lpoptions.1
f 0444 root sys $MANDIR/man1/lpq.1 man/lpq.1
f 0444 root sys $MANDIR/man1/lpr.1 man/lpr.1
f 0444 root sys $MANDIR/man1/lprm.1 man/lprm.1
f 0444 root sys $MANDIR/man1/lpstat.1 man/lpstat.1
f 0444 root sys $MANDIR/man5/classes.conf.5 man/classes.conf.5
f 0444 root sys $MANDIR/man5/client.conf.5 man/client.conf.5
f 0444 root sys $MANDIR/man5/cups-files.conf.5 man/cups-files.conf.5
f 0444 root sys $MANDIR/man5/cups-snmp.conf.5 man/cups-snmp.conf.5
f 0444 root sys $MANDIR/man5/cupsd.conf.5 man/cupsd.conf.5
f 0444 root sys $MANDIR/man5/cupsd-logs.5 man/cupsd-logs.5
f 0444 root sys $MANDIR/man5/ipptoolfile.5 man/ipptoolfile.5
f 0444 root sys $MANDIR/man5/mailto.conf.5 man/mailto.conf.5
f 0444 root sys $MANDIR/man5/mime.convs.5 man/mime.convs.5
f 0444 root sys $MANDIR/man5/mime.types.5 man/mime.types.5
f 0444 root sys $MANDIR/man5/printers.conf.5 man/printers.conf.5
f 0444 root sys $MANDIR/man7/ippevepcl.7 man/ippevepcl.7
l 0644 root sys $MANDIR/man7/ippeveps.7 ippevepcl.7
f 0444 root sys $AMANDIR/man8/cupsaccept.8 man/cupsaccept.8
l 0644 root sys $AMANDIR/man8/cupsreject.8 cupsaccept.8
f 0444 root sys $AMANDIR/man8/cupsctl.8 man/cupsctl.8
f 0444 root sys $AMANDIR/man8/cupsfilter.8 man/cupsfilter.8
f 0444 root sys $AMANDIR/man8/cups-snmp.8 man/cups-snmp.8
f 0444 root sys $AMANDIR/man8/cupsd.8 man/cupsd.8
f 0444 root sys $AMANDIR/man8/cupsd-helper.8 man/cupsd-helper.8
l 0644 root sys $AMANDIR/man8/cupsdisable.8 cupsenable.8
f 0444 root sys $AMANDIR/man8/cupsenable.8 man/cupsenable.8
f 0444 root sys $AMANDIR/man8/lpadmin.8 man/lpadmin.8
f 0444 root sys $AMANDIR/man8/lpc.8 man/lpc.8
f 0444 root sys $AMANDIR/man8/lpinfo.8 man/lpinfo.8
f 0444 root sys $AMANDIR/man8/lpmove.8 man/lpmove.8
%subpackage devel
f 0444 root sys $MANDIR/man1/cups-config.1 man/cups-config.1
f 0444 root sys $MANDIR/man1/ man/ppd*.1
f 0444 root sys $MANDIR/man5/ppdcfile.5 man/ppdcfile.5
f 0444 root sys $MANDIR/man7/backend.7 man/backend.7
f 0444 root sys $MANDIR/man7/filter.7 man/filter.7
f 0444 root sys $MANDIR/man7/notifier.7 man/notifier.7
%subpackage lpd
d 0755 root sys $AMANDIR/man8 -
f 0444 root sys $AMANDIR/man8/cups-lpd.8 man/cups-lpd.8
%subpackage
# Startup scripts
%system darwin
f 0444 root sys /System/Library/LaunchDaemons/org.cups.cupsd.plist scheduler/org.cups.cupsd.plist
%preremove <<EOF
launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist || exit 0
killall cupsd || exit 0
EOF
%preinstall <<EOF
launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist || exit 0
killall cupsd || exit 0
EOF
%postinstall <<EOF
launchctl load -D system /System/Library/LaunchDaemons/org.cups.cupsd.plist
EOF
%subpackage lpd
f 0444 root sys /System/Library/LaunchDaemons/org.cups.cups-lpd.plist scheduler/org.cups.cups-lpd.plist
%preremove <<EOF
launchctl unload /System/Library/LaunchDaemons/org.cups.cups-lpd.plist || exit 0
EOF
%preinstall <<EOF
launchctl unload /System/Library/LaunchDaemons/org.cups.cups-lpd.plist || exit 0
EOF
%postinstall <<EOF
rm -f /etc/xinetd.d/cups-lpd
launchctl load -D system /System/Library/LaunchDaemons/org.cups.cupsd-lpd.plist
EOF
%subpackage
%system !darwin
i 0755 root sys cups scheduler/cups.sh start(99) stop(@RCSTOP) runlevels(2 3 5)
%subpackage lpd
%if XINETD
f 0444 root sys $XINETD/cups-lpd scheduler/cups-lpd.xinetd
%endif
%subpackage

38
cups/ppdc/CMakeLists.txt Normal file
View File

@ -0,0 +1,38 @@
project(cups-ppdc)
add_darling_static_library(cups_ppdc FAT SOURCES
ppdc-array.cxx
ppdc-attr.cxx
ppdc-catalog.cxx
ppdc-choice.cxx
ppdc-constraint.cxx
ppdc-driver.cxx
ppdc-file.cxx
ppdc-filter.cxx
ppdc-font.cxx
ppdc-group.cxx
ppdc-import.cxx
ppdc-mediasize.cxx
ppdc-message.cxx
ppdc-option.cxx
ppdc-profile.cxx
ppdc-shared.cxx
ppdc-source.cxx
ppdc-string.cxx
ppdc-variable.cxx
)
foreach(EXE IN ITEMS ppdc ppdhtml ppdi ppdmerge ppdpo)
add_darling_executable(${EXE}
${EXE}.cxx
)
target_link_libraries(${EXE}
cups
cups_ppdc
cxx
)
install(TARGETS ${EXE} DESTINATION libexec/darling/usr/bin)
endforeach()
install(FILES sample.drv DESTINATION libexec/darling/usr/share/cups/drv)

View File

@ -0,0 +1,141 @@
project(cups-scheduler)
add_darling_static_library(cups_mime FAT SOURCES
filter.c
mime.c
type.c
)
add_darling_object_library(cups_scheduler_util
util.c
)
add_darling_executable(cupsd
auth.c
banners.c
cert.c
classes.c
client.c
colorman.c
conf.c
dirsvc.c
env.c
file.c
main.c
ipp.c
listen.c
job.c
log.c
network.c
policy.c
printers.c
process.c
quotas.c
select.c
server.c
statbuf.c
subscriptions.c
sysman.c
)
target_link_libraries(cupsd
cups_mime
pam.2
IOKit
ApplicationServices
Kerberos
GSS
resolv-darwin
SystemConfiguration
CoreFoundation
Security
iconv
z
)
add_darling_executable(cupsfilter
cupsfilter.c
)
target_link_libraries(cupsfilter
cups_mime
)
add_darling_executable(cups-deviced
cups-deviced.c
$<TARGET_OBJECTS:cups_scheduler_util>
)
add_darling_executable(cups-driverd
cups-driverd.cxx
$<TARGET_OBJECTS:cups_scheduler_util>
)
target_link_libraries(cups-driverd
cups_ppdc
resolv-darwin
SystemConfiguration
CoreFoundation
Security
iconv
z
cxx
)
add_darling_executable(cups-exec
cups-exec.c
)
add_darling_executable(cups-lpd
cups-lpd.c
)
#
# link everything with libcups
#
foreach(EXE IN ITEMS cupsd cupsfilter cups-deviced cups-driverd cups-exec cups-lpd)
target_link_libraries(${EXE}
cups
)
endforeach()
#
# install everything
#
install(
TARGETS
cupsd
cupsfilter
DESTINATION libexec/darling/usr/sbin
)
install(
TARGETS
cups-deviced
cups-driverd
cups-exec
cups-lpd
DESTINATION libexec/darling/usr/libexec/cups/daemon
)
install(
FILES
org.cups.cupsd.plist
org.cups.cups-lpd.plist
DESTINATION libexec/darling/System/Library/LaunchDaemons
)
set(EMPTY_DIRS
usr/libexec/cups/driver
private/etc/cups/ppd
private/etc/cups/certs
private/var/log/cups
private/var/spool/cups/tmp
private/var/spool/cups/cache
)
foreach(EMPTY_DIR IN LISTS EMPTY_DIRS)
install(DIRECTORY DESTINATION libexec/darling/${EMPTY_DIR})
endforeach()

View File

@ -0,0 +1,12 @@
service printer
{
disable = yes
socket_type = stream
protocol = tcp
wait = no
user = _lp
group = _lp
passenv =
server = /usr/libexec/cups/daemon/cups-lpd
server_args = -o document-format=application/octet-stream
}

194
cups/scheduler/cups.sh Normal file
View File

@ -0,0 +1,194 @@
#!/bin/sh
#
# Startup/shutdown script for CUPS.
#
# Copyright © 2007-2013 by Apple Inc.
# Copyright © 1997-2007 by Easy Software Products, all rights reserved.
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
#
#### OS-Dependent Information
#
# Linux chkconfig stuff:
#
# chkconfig: 235 99 00
# description: Startup/shutdown script for CUPS.
#
#
# NetBSD 1.5+ rcorder script lines. The format of the following two
# lines is very strict -- please don't add additional spaces!
#
# PROVIDE: cups
# REQUIRE: DAEMON
#
#### OS-Dependent Configuration
case "`uname`" in
*BSD*)
IS_ON=:
ECHO=echo
ECHO_OK=:
ECHO_ERROR=:
;;
Darwin*)
. /etc/rc.common
if test "${CUPS:=-YES-}" = "-NO-"; then
exit 0
fi
IS_ON=:
ECHO=ConsoleMessage
ECHO_OK=:
ECHO_ERROR=:
;;
Linux*)
IS_ON=/bin/true
if test -f /etc/init.d/functions; then
. /etc/init.d/functions
ECHO=echo
ECHO_OK="echo_success"
ECHO_ERROR="echo_failure"
else
ECHO=echo
ECHO_OK=:
ECHO_ERROR=:
fi
;;
*)
IS_ON=/bin/true
ECHO=echo
ECHO_OK=:
ECHO_ERROR=:
;;
esac
#### OS-Independent Stuff
#
# Set the timezone, if possible... This allows the scheduler and
# all child processes to know the local timezone when reporting
# dates and times to the user. If no timezone information is
# found, then Greenwich Mean Time (GMT) will probably be used.
#
for file in /etc/TIMEZONE /etc/rc.config /etc/sysconfig/clock; do
if test -f $file; then
. $file
fi
done
if test "x$ZONE" != x; then
TZ="$ZONE"
fi
if test "x$TIMEZONE" != x; then
TZ="$TIMEZONE"
fi
if test "x$TZ" != x; then
export TZ
fi
#
# Don't use TMPDIR environment variable from init script, as that can
# cause cupsd to set TempDir to a user's temporary directory instead
# of the default...
#
unset TMPDIR
#
# Make sure we have the standard program directories in the path
# since some operating systems don't provide a standard path on boot-up...
#
if test "x$PATH" = x; then
PATH="/bin:/usr/bin:/sbin:/usr/sbin"
else
PATH="/bin:/usr/bin:/sbin:/usr/sbin:$PATH"
fi
export PATH
#
# See if the CUPS server (cupsd) is running...
#
case "`uname`" in
SunOS*)
pid=`ps -e | nawk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
;;
Linux* | *BSD* | Darwin*)
pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
;;
*)
pid=""
;;
esac
#
# Start or stop the CUPS server based upon the first argument to the script.
#
case $1 in
start | restart | reload)
if $IS_ON cups; then
if test -x /sbin/portrelease; then
/sbin/portrelease cups
fi
if test "$pid" != ""; then
kill -HUP $pid
else
prefix=/
exec_prefix=/usr
/usr/sbin/cupsd
if test $? != 0; then
$ECHO_FAIL
$ECHO "cups: unable to $1 scheduler."
exit 1
fi
fi
$ECHO_OK
$ECHO "cups: ${1}ed scheduler."
fi
;;
stop)
if test "$pid" != ""; then
kill $pid
$ECHO_OK
$ECHO "cups: stopped scheduler."
fi
;;
status)
if test "$pid" != ""; then
echo "cups: scheduler is running."
else
echo "cups: scheduler is not running."
fi
;;
*)
echo "Usage: cups {reload|restart|start|status|stop}"
exit 1
;;
esac
#
# Exit with no errors.
#
exit 0

212
cups/scheduler/cups.xml Normal file
View File

@ -0,0 +1,212 @@
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
Service manifest for CUPS.
This service manifest introduces smf(5) services for CUPS. The services
described in this file are as follows:
svc:/application/cups/scheduler:default
svc:/application/cups/in-lpd:default
NOTE: This service manifest is not editable; its contents will be
overwritten by package or patch operations, including operating system
upgrade. Make customizations in a different file.
Norm.Jacobs@Sun.COM
CUPS data files in /usr/share...
-->
<service_bundle type='manifest' name='SUNWcups:services'>
<service
name='application/cups/scheduler'
type='service'
version='1'>
<dependency
name='filesystem_minimal'
grouping='require_all'
restart_on='none'
type='service'>
<service_fmri value='svc:/system/filesystem/minimal' />
</dependency>
<dependency
name='loopback'
grouping='optional_all'
restart_on='error'
type='service'>
<service_fmri value='svc:/network/loopback' />
</dependency>
<dependency
name='network'
grouping='optional_all'
restart_on='error'
type='service'>
<service_fmri value='svc:/milestone/network' />
</dependency>
<dependency
name='lpsched'
grouping='exclude_all'
restart_on='none'
type='service'>
<service_fmri value='svc:/application/print/server' />
</dependency>
<exec_method
type='method'
name='stop'
exec=':kill'
timeout_seconds='60' />
<instance name='default' enabled='false' >
<dependency
name='config_data'
grouping='require_all'
restart_on='none'
type='path'>
<service_fmri value='file://localhost/private/etc/cups/cupsd.conf' />
</dependency>
<exec_method
type='method'
name='start'
exec='/usr/sbin/cupsd'
timeout_seconds='60' >
<method_context>
<method_credential user='root' group='_lp' />
</method_context>
</exec_method>
<property_group name='general' type='framework'>
<propval name='action_authorization' type='astring'
value='solaris.smf.manage.cups' />
<propval name='value_authorization' type='astring'
value='solaris.smf.value.cups' />
</property_group>
<template>
<common_name>
<loctext xml:lang='C'>
CUPS Print Spooler
</loctext>
</common_name>
<documentation>
<manpage title='cupsd' section='8'
manpath='/usr/share/man' />
</documentation>
</template>
</instance>
<stability value='Stable' />
</service>
<service
name='application/cups/in-lpd'
type='service'
version='1'>
<restarter>
<service_fmri value='svc:/network/inetd:default' />
</restarter>
<dependency
name='filesystem_minimal'
grouping='require_all'
restart_on='none'
type='service'>
<service_fmri value='svc:/system/filesystem/minimal' />
</dependency>
<dependency
name='loopback'
grouping='require_any'
restart_on='error'
type='service'>
<service_fmri value='svc:/network/loopback' />
</dependency>
<dependency
name='network'
grouping='optional_all'
restart_on='error'
type='service'>
<service_fmri value='svc:/milestone/network' />
</dependency>
<dependency
name='in-lpd'
grouping='exclude_all'
restart_on='none'
type='service'>
<service_fmri value='svc:/application/print/rfc1179' />
</dependency>
<exec_method
type='method'
name='stop'
exec=':kill'
timeout_seconds='60' />
<instance name='default' enabled='false' >
<dependency
name='cupsd'
grouping='require_all'
restart_on='none'
type='service'>
<service_fmri value='svc:/application/cups/scheduler' />
</dependency>
<exec_method
type='method'
name='inetd_start'
exec='/usr/libexec/cups/daemon/cups-lpd -o document-format=application/octet-stream'
timeout_seconds='0'>
<method_context>
<method_credential user='_lp' group='_lp' />
</method_context>
</exec_method>
<property_group name='inetd' type='framework'>
<stability value='Evolving' />
<propval name='endpoint_type' type='astring' value='stream' />
<propval name='name' type='astring' value='printer' />
<propval name='wait' type='boolean' value='false' />
<propval name='isrpc' type='boolean' value='false' />
<propval name='proto' type='astring' value='tcp6' />
</property_group>
<property_group name='general' type='framework'>
<propval name='action_authorization' type='astring'
value='solaris.smf.manage.cups' />
<propval name='value_authorization' type='astring'
value='solaris.smf.value.cups' />
</property_group>
<template>
<common_name>
<loctext xml:lang='C'>
CUPS Line Printer Daemon mini-server
</loctext>
</common_name>
<documentation>
<manpage title='cups-lpd' section='8'
manpath='/usr/share/man' />
</documentation>
</template>
</instance>
<stability value='Stable' />
</service>
</service_bundle>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<true/>
<key>Label</key>
<string>org.cups.cups-lpd</string>
<key>ProcessType</key>
<string>Adaptive</string>
<key>EnableTransactions</key>
<true/>
<key>EnablePressuredExit</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/libexec/cups/daemon/cups-lpd</string>
<string>-o</string>
<string>document-format=application/octet-stream</string>
</array>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>printer</string>
<key>SockType</key>
<string>stream</string>
</dict>
</dict>
<key>UserName</key>
<string>_lp</string>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<false/>
</dict>
</dict>
</plist>

View File

@ -0,0 +1,9 @@
[Unit]
Description=CUPS LPD server
Documentation=man:cups-lpd(8)
[Service]
ExecStart=-/usr/libexec/cups/daemon/cups-lpd
StandardInput=socket
User=_lp

View File

@ -0,0 +1,9 @@
[Unit]
Description=CUPS Scheduler
PartOf=org.cups.cupsd.service
[Path]
PathExists=/private/var/spool/cups/cache/org.cups.cupsd
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,13 @@
[Unit]
Description=CUPS Scheduler
Documentation=man:cupsd(8)
After=sssd.service
[Service]
ExecStart=/usr/sbin/cupsd -l
Type=simple
Restart=on-failure
[Install]
Also=org.cups.cupsd.socket org.cups.cupsd.path
WantedBy=printer.target

View File

@ -0,0 +1,9 @@
[Unit]
Description=CUPS Scheduler
PartOf=org.cups.cupsd.service
[Socket]
ListenStream=/private/var/run/cupsd
[Install]
WantedBy=sockets.target

View File

@ -0,0 +1,34 @@
project(cups-systemv)
foreach(EXE IN ITEMS cancel cupsaccept cupsctl cupstestppd lp lpadmin lpinfo lpmove lpoptions lpstat)
add_darling_executable(${EXE}
${EXE}.c
)
target_link_libraries(${EXE}
cups
)
endforeach()
install(
TARGETS
cupsaccept
cupsctl
lpadmin
lpinfo
lpmove
DESTINATION libexec/darling/usr/sbin
)
install(
TARGETS
cancel
cupstestppd
lp
lpoptions
lpstat
DESTINATION libexec/darling/usr/bin
)
foreach(LINK IN ITEMS cupsdisable cupsenable cupsreject)
InstallSymlink("cupsaccept" "${CMAKE_INSTALL_PREFIX}/libexec/darling/usr/bin/${LINK}")
endforeach()

View File

@ -0,0 +1,73 @@
project(cups-templates)
install(
FILES
add-class.tmpl
add-printer.tmpl
admin.tmpl
choose-device.tmpl
choose-make.tmpl
choose-model.tmpl
choose-serial.tmpl
choose-uri.tmpl
class.tmpl
class-added.tmpl
class-confirm.tmpl
class-deleted.tmpl
class-jobs-header.tmpl
class-modified.tmpl
classes.tmpl
classes-header.tmpl
command.tmpl
edit-config.tmpl
error.tmpl
error-op.tmpl
header.tmpl
help-header.tmpl
help-trailer.tmpl
help-printable.tmpl
job-cancel.tmpl
job-hold.tmpl
job-move.tmpl
job-moved.tmpl
job-release.tmpl
job-restart.tmpl
jobs.tmpl
jobs-header.tmpl
list-available-printers.tmpl
modify-class.tmpl
modify-printer.tmpl
norestart.tmpl
option-boolean.tmpl
option-conflict.tmpl
option-header.tmpl
option-pickmany.tmpl
option-pickone.tmpl
option-trailer.tmpl
pager.tmpl
printer.tmpl
printer-accept.tmpl
printer-added.tmpl
printer-cancel-jobs.tmpl
printer-configured.tmpl
printer-confirm.tmpl
printer-default.tmpl
printer-deleted.tmpl
printer-jobs-header.tmpl
printer-modified.tmpl
printer-reject.tmpl
printer-start.tmpl
printer-stop.tmpl
printers.tmpl
printers-header.tmpl
restart.tmpl
samba-export.tmpl
samba-exported.tmpl
search.tmpl
set-printer-options-header.tmpl
set-printer-options-trailer.tmpl
test-page.tmpl
trailer.tmpl
users.tmpl
DESTINATION libexec/darling/usr/share/cups/templates
)

View File

@ -0,0 +1,43 @@
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="/cups.css" type="text/css">
<link rel="shortcut icon" href="/apple-touch-icon.png" type="image/png">
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
{refresh_page?<meta http-equiv="refresh" content="{refresh_page}">:}
<meta http-equiv="X-UA-Compatible" content="IE=9">
<meta name="viewport" content="width=device-width">
<style>html{display:none;}</style>
<script type="text/javascript"><!--
/* Only display document if we are not in a frame... */
if (self == top) {
document.documentElement.style.display = 'block';
} else {
top.location = self.location;
}
/* Show an error if cookies are disabled */
function check_cookies() {
if (!navigator.cookieEnabled) {
document.getElementById('body').innerHTML = 'This page uses cookies to prevent common cross-site attacks. Please enable cookies in your browser.';
}
}
--></SCRIPT>
<title>{title} - CUPS 2.3.0</title>
</head>
<body onload="check_cookies();">
<div class="header">
<ul>
<li><a href="http://www.cups.org/" target="_blank">CUPS.org</a></li>
<li><a href="/">Home</a></li>
<li><a {SECTION=admin?class="active" :}href="/admin">Administration</a></li>
<li><a {SECTION=classes?class="active" :}href="/classes/">Classes</a></li>
<li><a {SECTION=help?class="active" :}href="/help/">Help</a></li>
<li><a {SECTION=jobs?class="active" :}href="/jobs/">Jobs</a></li>
<li><a {SECTION=printers?class="active" :}href="/printers/">Printers</a></li>
</ul>
</div>
<div class="body">
<div class="row">
<h1>{title}</h1>

33
cups/tools/CMakeLists.txt Normal file
View File

@ -0,0 +1,33 @@
project(cups-tools)
#
# link everything with libcups
#
foreach(EXE IN ITEMS ippevepcl ippeveps ippeveprinter ippfind ipptool)
add_darling_executable(${EXE}
${EXE}.c
)
target_link_libraries(${EXE}
cups
)
endforeach()
#
# install everything
#
install(
TARGETS
ippeveprinter
ippfind
ipptool
DESTINATION libexec/darling/usr/bin
)
install(
TARGETS
ippevepcl
ippeveps
DESTINATION libexec/darling/usr/libexec/cups/command
)