update 2026-07-28 01:38:11

This commit is contained in:
action committed 2026-07-28 01:38:11 +08:00
1 parent 20b786ab77
commit 25d570431d
6243 files changed
+2850542

No files matched your search

+324
View File
@@ -0,0 +1,324 @@
#
# Copyright (C) 2006-2016 OpenWrt.org
# Copyright (C) 2016 lede-project.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=cups
PKG_VERSION:=2.3.3op2
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-source.tar.gz
PKG_SOURCE_URL:=https://github.com/OpenPrinting/cups/releases/download/v$(PKG_VERSION)
PKG_MD5SUM:=524266752cf243c968921547b18ee594
TARGET_LDFLAGS+=-Wl,-rpath-link=$(STAGING_DIR)/usr/lib
include $(INCLUDE_DIR)/package.mk
define Package/cups/Default
URL:=http://www.cups.org/
SUBMENU:=Printing
endef
define Package/cups
$(call Package/cups/Default)
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libcups +libcupsmime +libcupscgi +libcupsppdc +libusb-1.0
TITLE:=Common UNIX Printing System (daemon)
endef
define Package/cups/description
Common UNIX Printing System (daemon)
endef
define Package/cups/conffiles
/etc/config/cupsd
/etc/cups/classes.conf
/etc/cups/cupsd.conf
/etc/cups/printers.conf
/etc/cups/ppd/
endef
define Package/cups-bsd
$(call Package/cups/Default)
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libcups
TITLE:=Common UNIX Printing System - BSD commands (old)
endef
define Package/cups-bsd/description
Common UNIX Printing System - BSD commands (old)
endef
define Package/cups-client
$(call Package/cups/Default)
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libcups +libcupsimage +libcupsmime
TITLE:=Common UNIX Printing System - Client commands
endef
define Package/cups-client/conffiles
/etc/cups/client.conf
endef
define Package/cups-client/description
Common UNIX Printing System - Client commands
endef
define Package/cups-filters
$(call Package/cups/Default)
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libcupsimage
TITLE:=Common UNIX Printing System - Filter
endef
define Package/cups-filters/description
Common UNIX Printing System - Filter
endef
define Package/cups-ppdc
$(call Package/cups/Default)
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libcupsppdc
TITLE:=Common UNIX Printing System - PPDC utils
endef
define Package/cups-ppdc/description
Common UNIX Printing System - PPDC utils
endef
define Package/libcups
$(call Package/cups/Default)
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+zlib +libpthread +libpng +libjpeg
TITLE:=Common UNIX Printing System - Core library
endef
define Package/libcups/description
Common UNIX Printing System - Core library
endef
define Package/libcupscgi
$(call Package/cups/Default)
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+libcups
TITLE:=Common UNIX Printing System - CGI library
endef
define Package/libcupscgi/description
Common UNIX Printing System - CGI library
endef
define Package/libcupsimage
$(call Package/cups/Default)
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+libcups
TITLE:=Common UNIX Printing System - Image library
endef
define Package/libcupsimage/description
Common UNIX Printing System - Image library
endef
define Package/libcupsmime
$(call Package/cups/Default)
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+libcups
TITLE:=Common UNIX Printing System - MIME library
endef
define Package/libcupsmime/description
Common UNIX Printing System - MIME library
endef
define Package/libcupsppdc
$(call Package/cups/Default)
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+libcups +libstdcpp
TITLE:=Common UNIX Printing System - PPDC library
endef
define Package/libcupsppdc/description
Common UNIX Printing System - PPDC library
endef
define Build/Configure
$(call Build/Configure/Default, \
--with-cups-user="nobody" \
--with-cups-group="nogroup" \
--with-system-groups="root" \
--with-pdftops="none" \
--without-perl \
--without-python \
--without-php \
--enable-default-shared \
--enable-shared \
--enable-image \
--enable-libusb \
--disable-acl \
--disable-dnssd \
--disable-dbus \
--disable-avahi \
--disable-launchd \
--disable-ldap \
--disable-pam \
--disable-slp \
--disable-gnutls \
--disable-openssl \
--disable-cdsassl \
--disable-ssl \
--disable-gssapi \
--disable-tiff, \
UNAME="Linux" \
LIBS="$(TARGET_LDFLAGS) -lz -lpng -ljpeg" \
)
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
$(TARGET_CONFIGURE_OPTS) \
DSTROOT="$(PKG_INSTALL_DIR)" \
STRIP="/bin/true" \
all install
endef
define Package/cups/install
rm -rf $(1)/etc/cups
$(INSTALL_DIR) $(1)/etc/cups
$(CP) $(PKG_INSTALL_DIR)/etc/cups/* $(1)/etc/cups/
rm -rf $(1)/etc/cups/certs
ln -sf /tmp $(1)/etc/cups/certs
rm -f $(1)/usr/bin/cups-config
$(INSTALL_DIR) $(1)/usr/lib/cups
$(CP) $(PKG_INSTALL_DIR)/usr/lib/cups/backend $(1)/usr/lib/cups
$(CP) $(PKG_INSTALL_DIR)/usr/lib/cups/cgi-bin $(1)/usr/lib/cups
$(CP) $(PKG_INSTALL_DIR)/usr/lib/cups/daemon $(1)/usr/lib/cups
$(CP) $(PKG_INSTALL_DIR)/usr/lib/cups/driver $(1)/usr/lib/cups
$(CP) $(PKG_INSTALL_DIR)/usr/lib/cups/monitor $(1)/usr/lib/cups
$(INSTALL_DIR) $(1)/usr/lib/cups/filter
### $(CP) $(PKG_INSTALL_DIR)/usr/lib/cups/filter/{commandtops,pstops} \
$(PKG_INSTALL_DIR)/usr/lib/cups/filter/gziptoany \
$(1)/usr/lib/cups/filter
$(INSTALL_DIR) $(1)/usr/share/cups/templates
$(CP) $(PKG_INSTALL_DIR)/usr/share/cups/templates/*.tmpl \
$(1)/usr/share/cups/templates/
$(INSTALL_DIR) $(1)/usr/share/cups/mime
$(CP) $(PKG_INSTALL_DIR)/usr/share/cups/mime/* $(1)/usr/share/cups/mime/
### Do install docs: cups web interface relies on them
$(INSTALL_DIR) $(1)/usr/share/doc/cups
$(CP) $(PKG_INSTALL_DIR)/usr/share/doc/cups/*.*html \
$(1)/usr/share/doc/cups/
$(CP) $(PKG_INSTALL_DIR)/usr/share/doc/cups/*.css \
$(1)/usr/share/doc/cups/
$(CP) $(PKG_INSTALL_DIR)/usr/share/doc/cups/*.txt \
$(1)/usr/share/doc/cups/
$(CP) $(PKG_INSTALL_DIR)/usr/share/doc/cups/images \
$(1)/usr/share/doc/cups/
$(INSTALL_DIR) $(1)/usr/sbin
# overwrite default config with our own
$(CP) ./files/etc/cups/* $(1)/etc/cups/
$(CP) ./files/etc/cups/cupsd.conf $(1)/etc/cups/cupsd.conf.default
# install initscript with priority 60
$(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/config
$(INSTALL_BIN) ./files/cupsd.init $(1)/etc/init.d/cupsd
$(INSTALL_CONF) ./files/cupsd.config $(1)/etc/config/cupsd
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/sbin/{cupsctl,cupsd} \
$(1)/usr/sbin/
# needed for cups to find usb printers per http://wiki.openwrt.org/doc/howto/cups.server
chmod 700 $(1)/usr/lib/cups/backend/usb
endef
define Package/cups-bsd/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{lprm,lpq,lpr} $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/lpc $(1)/usr/sbin/
endef
define Package/cups-client/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/{lp,cancel,cupstestppd} \
$(PKG_INSTALL_DIR)/usr/bin/{ipptool,lpoptions,lpstat} \
$(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/sbin/{cupsaccept,cupsfilter} \
$(PKG_INSTALL_DIR)/usr/sbin/{lpadmin,lpinfo,lpmove} \
$(1)/usr/sbin/
(cd $(1)/usr/sbin; ln -sf cupsaccept accept; ln -sf cupsaccept cupsenable; ln -sf cupsaccept cupsdisable; ln -sf cupsaccept reject; ln -sf cupsaccept cupsreject;)
endef
define Package/cups-filters/install
$(INSTALL_DIR) $(1)/usr/lib/cups/filter
$(CP) $(PKG_INSTALL_DIR)/usr/lib/cups/filter/{rastertoepson,rastertohp,rastertolabel,rastertopwg} \
$(1)/usr/lib/cups/filter
(cd $(1)/usr/lib/cups/filter; ln -sf rastertolabel rastertodymo;)
endef
define Package/cups-ppdc/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/{ppdc,ppdhtml,ppdi,ppdmerge,ppdpo} \
$(1)/usr/bin/
endef
define Package/libcups/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/cups/libcups.so* $(1)/usr/lib/
endef
define Package/libcupscgi/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/cgi-bin/libcupscgi.a $(1)/usr/lib/
endef
define Package/libcupsimage/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/cups/libcupsimage.so* $(1)/usr/lib/
endef
define Package/libcupsmime/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/scheduler/libcupsmime.a $(1)/usr/lib/
endef
define Package/libcupsppdc/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/ppdc/libcupsppdc.a $(1)/usr/lib/
endef
define Build/InstallDev
$(INSTALL_DIR) $(2)/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cups-config $(2)/bin/
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/cups $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/cups/libcups*.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,cups))
$(eval $(call BuildPackage,libcups))
$(eval $(call BuildPackage,libcupscgi))
$(eval $(call BuildPackage,libcupsimage))
$(eval $(call BuildPackage,libcupsmime))
$(eval $(call BuildPackage,libcupsppdc))
$(eval $(call BuildPackage,cups-bsd))
$(eval $(call BuildPackage,cups-client))
$(eval $(call BuildPackage,cups-filters))
$(eval $(call BuildPackage,cups-ppdc))
+5
View File
@@ -0,0 +1,5 @@
config cupsd
option enabled '0'
option logger '1'
option port '631'
+36
View File
@@ -0,0 +1,36 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org
# Copyright (C) 2021-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/luci-app-cupsd
START=99
USE_PROCD=1
PROG=/usr/sbin/cupsd
get_config() {
config_get_bool enabled $1 enabled 1
config_get_bool logger $1 logger 1
config_get port $1 port 631
}
start_service() {
config_load cupsd
config_foreach get_config cupsd
[ x$enabled == x1 ] || return 1
sed -i "s/Port.*/Port ${port}/g" /etc/cups/cupsd.conf
[ -d /var/cache/cups ] || mkdir -m 0755 -p /var/cache/cups
[ -d /var/cups ] || mkdir -m 0755 -p /var/cups
[ -d /var/spool/cups/tmp ] || mkdir -m 0755 -p /var/spool/cups/tmp
logger -t cupsd -p warn "cupsd is start."
echo "cupsd is start."
procd_open_instance
procd_set_param command $PROG -f
[ "x$logger" == x1 ] && procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
}
service_triggers() {
procd_add_reload_trigger "cupsd"
}
+7
View File
@@ -0,0 +1,7 @@
########################################################################
# #
# This is a sample class configuration file. This file is included #
# from the main configuration file (cups.conf) and lists all of the #
# printer classes known to the system. #
# #
########################################################################
+9
View File
@@ -0,0 +1,9 @@
########################################################################
# #
# This is the CUPS client configuration file. This file is used to #
# define client-specific parameters, such as the default server or #
# default encryption settings. #
# #
########################################################################
Encryption Never
+58
View File
@@ -0,0 +1,58 @@
########################################################################
# #
# This is the CUPS configuration file. If you are familiar with #
# Apache or any of the other popular web servers, we've followed the #
# same format. Any configuration variable used here has the same #
# semantics as the corresponding variable in Apache. If we need #
# different functionality then a different name is used to avoid #
# confusion... #
# #
########################################################################
AccessLog syslog
ErrorLog syslog
LogLevel info
PageLog syslog
PreserveJobHistory No
PreserveJobFiles No
AutoPurgeJobs Yes
MaxJobs 25
MaxPrinterHistory 10
#Printcap /etc/printcap
#PrintcapFormat BSD
RequestRoot /var/cups
#RemoteRoot remroot
#User nobody
#Group nogroup
# root permissions required to make cups work with the usb backend
User root
Group root
RIPCache auto
TempDir /var/cups
Port 631
HostNameLookups On
KeepAlive On
# No: "BrowseOrder" "BrowseAllow" "BrowseRemoteProtocols"
Browsing Yes
BrowsingWebIF Yes
BrowseLocalProtocols DNSSD
DefaultShared Yes
WebInterface Yes
Listen /var/run/cups/cups.sock
ServerAlias *
<Location />
Order Allow,Deny
Allow all
</Location>
<Location /admin>
AuthType Basic
AuthClass System
Order Allow,Deny
Allow all
</Location>
+23
View File
@@ -0,0 +1,23 @@
<DefaultPrinter USB>
Info USB Printer
Location
DeviceURI usb:/dev/usb/lp0
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>
<Printer LP>
Info Parallel Port Printer
Location
DeviceURI parallel:/dev/printers/0
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>