initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,30 @@
From 6bc1d15250841cf17d307cfb4f35c960c23d8797 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Sun, 29 May 2016 19:31:50 +0200
Subject: [PATCH] Remove man from BUILDDIRS in configure
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Fabrice: updated for 2.3.0]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Michael: updated for 2.3.3]
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
---
config-scripts/cups-common.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4
index a460a73..d427acb 100644
--- a/config-scripts/cups-common.m4
+++ b/config-scripts/cups-common.m4
@@ -434,7 +434,7 @@ LIBHEADERSPRIV="\$(COREHEADERSPRIV) \$(DRIVERHEADERSPRIV)"
case "$COMPONENTS" in
all)
- BUILDDIRS="tools filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates"
+ BUILDDIRS="tools filter backend berkeley cgi-bin monitor notifier ppdc scheduler systemv conf data desktop locale doc examples templates"
;;
core)
--
2.17.1
@@ -0,0 +1,40 @@
From 193c8d8c55a3478ca5c9e161ce581e5794098c6d Mon Sep 17 00:00:00 2001
From: Olivier Schonken <olivier.schonken@gmail.com>
Date: Thu, 21 Jan 2016 23:04:49 +0100
Subject: [PATCH] Do not use genstrings
Using cross compiled genstrings while cross-compiling will break
compilation. Genstrings is still compiled because some power users
might want to do ppd compilation on their target machine, and for that
they would need to use the native compiled genstrings binary, to
generate a sample.c file for their target
Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
[Thomas: completely remove call to genstrings rather than commenting
it, remove useless and potentially confusing 'echo' before the
genstrings call.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Fabrice: updated for 2.3.0]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Michael: updated for 2.3.3]
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
---
ppdc/Makefile | 2 --
1 file changed, 2 deletions(-)
diff --git a/ppdc/Makefile b/ppdc/Makefile
index 32e2e0b..7b18879 100644
--- a/ppdc/Makefile
+++ b/ppdc/Makefile
@@ -186,8 +186,6 @@ genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
$(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \
libcupsppdc.a $(LINKCUPSSTATIC)
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
- echo Generating localization strings...
- ./genstrings >sample.c
#
--
2.17.1
@@ -0,0 +1,131 @@
From e35f809c435c224954a5c7bff3f5729c5b3bc0ba Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Thu, 21 Jan 2016 23:21:06 +0100
Subject: [PATCH] Sanitize the installation process
The installation process does two things that are not convenient when
cross-compiling:
- It uses install's -s option to strip binaries, but this option uses
the host strip and not the cross strip, which fails at stripping
binaries. In addition, we do not necessarily want cups to strip its
binaries, we may want to keep the debugging symbols.
- It enforces ownership (user, group) which isn't possible since
"make install" isn't executed as root when cross-compiling.
- It installs many files and directories with permissions that
prevent overwriting those files/directories, which meant calling
"make install" twice was failing.
[Olivier: tweak the patch for 2.2.4 release]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
---
Makedefs.in | 12 ++++++------
conf/Makefile | 6 +++---
notifier/Makefile | 2 +-
scheduler/Makefile | 15 +++++++--------
4 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/Makedefs.in b/Makedefs.in
index 3afef0a..3e4f1bd 100644
--- a/Makedefs.in
+++ b/Makedefs.in
@@ -40,14 +40,14 @@ SHELL = /bin/sh
# Installation programs...
#
-INSTALL_BIN = @LIBTOOL_INSTALL@ $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@ @INSTALL_STRIP@
-INSTALL_COMPDATA = $(INSTALL) -c -m 444 @INSTALL_GZIP@
+INSTALL_BIN = @LIBTOOL_INSTALL@ $(INSTALL) -c -m 755
+INSTALL_COMPDATA = $(INSTALL) -c -m 644 @INSTALL_GZIP@
INSTALL_CONFIG = $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
-INSTALL_DATA = $(INSTALL) -c -m 444
+INSTALL_DATA = $(INSTALL) -c -m 644
INSTALL_DIR = $(INSTALL) -d
-INSTALL_LIB = @LIBTOOL_INSTALL@ $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@ @INSTALL_STRIP@
-INSTALL_MAN = $(INSTALL) -c -m 444
-INSTALL_SCRIPT = $(INSTALL) -c -m @CUPS_EXE_FILE_PERM@
+INSTALL_LIB = @LIBTOOL_INSTALL@ $(INSTALL) -c -m 755
+INSTALL_MAN = $(INSTALL) -c -m 644
+INSTALL_SCRIPT = $(INSTALL) -c -m 755
#
# Default user, group, and system groups for the scheduler...
diff --git a/conf/Makefile b/conf/Makefile
index 933d7d9..6ac5e19 100644
--- a/conf/Makefile
+++ b/conf/Makefile
@@ -72,11 +72,11 @@ install: all install-data install-headers install-libs install-exec
install-data:
for file in $(KEEP); do \
if test -r $(SERVERROOT)/$$file ; then \
- $(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT)/$$file.N ; \
+ $(INSTALL_CONFIG) $$file $(SERVERROOT)/$$file.N ; \
else \
- $(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT) ; \
+ $(INSTALL_CONFIG) $$file $(SERVERROOT) ; \
fi ; \
- $(INSTALL_CONFIG) -g $(CUPS_GROUP) $$file $(SERVERROOT)/$$file.default; \
+ $(INSTALL_CONFIG) $$file $(SERVERROOT)/$$file.default; \
done
$(INSTALL_DIR) -m 755 $(DATADIR)/mime
for file in $(REPLACE); do \
diff --git a/notifier/Makefile b/notifier/Makefile
index 3206dd0..c34a4d7 100644
--- a/notifier/Makefile
+++ b/notifier/Makefile
@@ -62,7 +62,7 @@ install: all install-data install-headers install-libs install-exec
#
install-data:
- $(INSTALL_DIR) -m 775 -g $(CUPS_GROUP) $(CACHEDIR)/rss
+ $(INSTALL_DIR) -m 775 $(CACHEDIR)/rss
#
diff --git a/scheduler/Makefile b/scheduler/Makefile
index 251f017..25f2f5f 100644
--- a/scheduler/Makefile
+++ b/scheduler/Makefile
@@ -146,28 +146,27 @@ install-data:
echo Creating $(SERVERBIN)/driver...
$(INSTALL_DIR) -m 755 $(SERVERBIN)/driver
echo Creating $(SERVERROOT)...
- $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)
+ $(INSTALL_DIR) -m 755 $(SERVERROOT)
echo Creating $(SERVERROOT)/ppd...
- $(INSTALL_DIR) -m 755 -g $(CUPS_GROUP) $(SERVERROOT)/ppd
+ $(INSTALL_DIR) -m 755 $(SERVERROOT)/ppd
if test "x`uname`" != xDarwin; then \
echo Creating $(SERVERROOT)/ssl...; \
- $(INSTALL_DIR) -m 700 -g $(CUPS_GROUP) $(SERVERROOT)/ssl; \
+ $(INSTALL_DIR) -m 700 $(SERVERROOT)/ssl; \
fi
if test "$(STATEDIR)" != "$(SERVERROOT)"; then \
echo Creating $(STATEDIR)...; \
$(INSTALL_DIR) -m 755 $(STATEDIR); \
fi
echo Creating $(STATEDIR)/certs...
- $(INSTALL_DIR) -m 511 -o $(CUPS_USER) -g $(CUPS_PRIMARY_SYSTEM_GROUP) \
- $(STATEDIR)/certs
+ $(INSTALL_DIR) -m 711 $(STATEDIR)/certs
echo Creating $(LOGDIR)...
$(INSTALL_DIR) -m 755 $(LOGDIR)
echo Creating $(REQUESTS)...
- $(INSTALL_DIR) -m 710 -g $(CUPS_GROUP) $(REQUESTS)
+ $(INSTALL_DIR) -m 710 $(REQUESTS)
echo Creating $(REQUESTS)/tmp...
- $(INSTALL_DIR) -m 1770 -g $(CUPS_GROUP) $(REQUESTS)/tmp
+ $(INSTALL_DIR) -m 1770 $(REQUESTS)/tmp
echo Creating $(CACHEDIR)...
- $(INSTALL_DIR) -m 770 -g $(CUPS_GROUP) $(CACHEDIR)
+ $(INSTALL_DIR) -m 770 $(CACHEDIR)
if test "x$(INITDIR)" != x; then \
echo Installing init scripts...; \
$(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/init.d; \
--
2.6.4
@@ -0,0 +1,37 @@
From b341a1e1fce48012fc5bcf39337488fd33210616 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sun, 3 Jul 2016 12:20:21 +0200
Subject: [PATCH] Remove PIE flags from the build
Generating a statically linked binary built with PIE requires the
Scrt1.o file, which isn't part of Buildroot uClibc toolchains. To
solve this, we simply disable the PIE flags.
[olivier tweak patch for 2.2.4]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com>
[Fabrice: updated for 2.3.0]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Michael: updated for 2.3.3]
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
---
Makedefs.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makedefs.in b/Makedefs.in
index 5f1d32f..d669ea8 100644
--- a/Makedefs.in
+++ b/Makedefs.in
@@ -155,7 +155,7 @@ ALL_CXXFLAGS = -I.. -D_CUPS_SOURCE $(CXXFLAGS) \
$(ONDEMANDFLAGS) $(OPTIONS)
ALL_DSOFLAGS = -L../cups @ARCHFLAGS@ @RELROFLAGS@ $(DSOFLAGS) $(OPTIM)
ALL_LDFLAGS = -L../cups @LDARCHFLAGS@ @RELROFLAGS@ $(LDFLAGS) \
- @PIEFLAGS@ $(OPTIM)
+ $(OPTIM)
ARCHFLAGS = @ARCHFLAGS@
ARFLAGS = @ARFLAGS@
BACKLIBS = @BACKLIBS@
--
2.17.1
+3
View File
@@ -0,0 +1,3 @@
# Allow USB printers in the lp group
# Match rules converted from usblp.c driver's usblp_ids
ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="07", ATTR{bInterfaceSubClass}=="01", GROUP="lp"
+15
View File
@@ -0,0 +1,15 @@
config BR2_PACKAGE_CUPS
bool "cups"
# needs libstdcpp for ppdc
depends on BR2_INSTALL_LIBSTDCPP
# needs threads for ippserver
depends on BR2_TOOLCHAIN_HAS_THREADS
# needs fork()
depends on BR2_USE_MMU
help
The Common Unix Printing System
http://www.cups.org
comment "cups needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+48
View File
@@ -0,0 +1,48 @@
#!/bin/sh
DAEMON="cupsd"
PIDFILE="/var/run/$DAEMON.pid"
start() {
printf 'Starting %s: ' "$DAEMON"
# shellcheck disable=SC2086 # we need the word splitting
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \
-- -C /etc/cups/cupsd.conf -s /etc/cups/cups-files
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
stop() {
printf 'Stopping %s: ' "$DAEMON"
start-stop-daemon -K -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
rm -f "$PIDFILE"
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
restart() {
stop
sleep 1
start
}
case "$1" in
start|stop|restart)
"$1";;
reload)
# Restart, since there is no true "reload" feature.
restart;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
+4
View File
@@ -0,0 +1,4 @@
# Locally calculated:
sha256 deb3575bbe79c0ae963402787f265bfcf8d804a71fc2c94318a74efec86f96df cups-2.3.3op2-source.tar.gz
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
sha256 1f8e5879fb8b15e3ee5111809fd3ca22c606d0897d6b5e74329e480c348e034d NOTICE
+101
View File
@@ -0,0 +1,101 @@
################################################################################
#
# cups
#
################################################################################
CUPS_VERSION = 2.3.3op2
CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz
CUPS_SITE = https://github.com/OpenPrinting/cups/releases/download/v$(CUPS_VERSION)
CUPS_LICENSE = Apache-2.0 with GPL-2.0/LGPL-2.0 exception
CUPS_LICENSE_FILES = LICENSE NOTICE
CUPS_CPE_ID_VENDOR = cups
CUPS_SELINUX_MODULES = cups
CUPS_INSTALL_STAGING = YES
# Using autoconf, not autoheader, so we cannot use AUTORECONF = YES.
define CUPS_RUN_AUTOCONF
cd $(@D); $(AUTOCONF) -f
endef
CUPS_PRE_CONFIGURE_HOOKS += CUPS_RUN_AUTOCONF
CUPS_CONF_OPTS = \
--with-docdir=/usr/share/cups/doc-root \
--disable-gssapi \
--disable-pam \
--libdir=/usr/lib \
--with-cups-user=lp \
--with-cups-group=lp \
--with-system-groups="lpadmin sys root" \
--without-rcdir
CUPS_CONFIG_SCRIPTS = cups-config
CUPS_DEPENDENCIES = \
host-autoconf \
host-pkgconf \
$(if $(BR2_PACKAGE_ZLIB),zlib)
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
CUPS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system \
--enable-systemd
CUPS_DEPENDENCIES += systemd
else
CUPS_CONF_OPTS += --disable-systemd
endif
ifeq ($(BR2_PACKAGE_DBUS),y)
CUPS_CONF_OPTS += --enable-dbus
CUPS_DEPENDENCIES += dbus
else
CUPS_CONF_OPTS += --disable-dbus
endif
ifeq ($(BR2_PACKAGE_GNUTLS),y)
CUPS_CONF_OPTS += --enable-gnutls
CUPS_DEPENDENCIES += gnutls
else
CUPS_CONF_OPTS += --disable-gnutls
endif
ifeq ($(BR2_PACKAGE_LIBUSB),y)
CUPS_CONF_OPTS += --enable-libusb
CUPS_DEPENDENCIES += libusb
else
CUPS_CONF_OPTS += --disable-libusb
endif
ifeq ($(BR2_PACKAGE_LIBPAPER),y)
CUPS_CONF_OPTS += --enable-libpaper
CUPS_DEPENDENCIES += libpaper
else
CUPS_CONF_OPTS += --disable-libpaper
endif
ifeq ($(BR2_PACKAGE_AVAHI),y)
CUPS_DEPENDENCIES += avahi
CUPS_CONF_OPTS += --enable-avahi
else
CUPS_CONF_OPTS += --disable-avahi
endif
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
define CUPS_INSTALL_UDEV_RULES
$(INSTALL) -D -m 0644 package/cups/70-usb-printers.rules \
$(TARGET_DIR)/lib/udev/rules.d/70-usb-printers.rules
endef
CUPS_POST_INSTALL_TARGET_HOOKS += CUPS_INSTALL_UDEV_RULES
endif
define CUPS_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/cups/S81cupsd \
$(TARGET_DIR)/etc/init.d/S81cupsd
endef
# lp user is needed to run cups spooler
# lpadmin group membership grants administrative privileges
define CUPS_USERS
lp -1 lp -1 * /var/spool/lpd /bin/false - lp
- - lpadmin -1 * - - - Printers admin group.
endef
$(eval $(autotools-package))