[ptxdist] [PATCH] qrencode: new package: library and tools for encoding QR codes
Signed-off-by: Roland Hieber --- changes in v2: - use SECTION=multimedia_tools - always enable thread safety --- rules/qrencode.in | 25 rules/qrencode.make | 67 + 2 files changed, 92 insertions(+) create mode 100644 rules/qrencode.in create mode 100644 rules/qrencode.make diff --git a/rules/qrencode.in b/rules/qrencode.in new file mode 100644 index 0..e53f561b3 --- /dev/null +++ b/rules/qrencode.in @@ -0,0 +1,25 @@ +## SECTION=multimedia_tools + +menuconfig QRENCODE + tristate + prompt "qrencode " + select LIBPNG if QRENCODE_TOOLS + select LIBC_PTHREAD + help + Libqrencode is a C library for encoding data in a QR Code symbol, a + kind of 2D symbology that can be scanned by handy terminals such as a + mobile phone with CCD. + +if QRENCODE + +config QRENCODE_TOOLS + bool + default y + prompt "build tools" + help + Enable this option to build the qrencode tool to build QR codes from + the command line. + +endif + +# vim: ft=kconfig ts=8 noet tw=80 diff --git a/rules/qrencode.make b/rules/qrencode.make new file mode 100644 index 0..d072e3622 --- /dev/null +++ b/rules/qrencode.make @@ -0,0 +1,67 @@ +# -*-makefile-*- +# +# Copyright (C) 2017 by Roland Hieber +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_QRENCODE) += qrencode + +# +# Paths and names +# +QRENCODE_VERSION := 3.4.4 +QRENCODE_MD5 := be545f3ce36ea8fbb58612d72c4222de +QRENCODE := qrencode-$(QRENCODE_VERSION) +QRENCODE_SUFFIX:= tar.gz +QRENCODE_URL := https://fukuchi.org/works/qrencode/$(QRENCODE).$(QRENCODE_SUFFIX) +QRENCODE_SOURCE:= $(SRCDIR)/$(QRENCODE).$(QRENCODE_SUFFIX) +QRENCODE_DIR := $(BUILDDIR)/$(QRENCODE) +QRENCODE_LICENSE := LGPL-2.1+ + +# +# Prepare +# + +QRENCODE_CONF_TOOL := autoconf +QRENCODE_CONF_OPT := \ + $(CROSS_AUTOCONF_USR) \ + --enable-thread-safety \ + --disable-sdltest \ + --disable-rpath \ + --disable-gprof \ + --disable-gcov \ + --disable-mudflap \ + --$(call ptx/wwo,PTXCONF_QRENCODE_TOOLS)-tools \ + --without-tests + +# +# Target-Install +# + +$(STATEDIR)/qrencode.targetinstall: + @$(call targetinfo) + + @$(call install_init, qrencode) + @$(call install_fixup, qrencode,PRIORITY,optional) + @$(call install_fixup, qrencode,SECTION,base) + @$(call install_fixup, qrencode,AUTHOR,"Roland Hieber ") + @$(call install_fixup, qrencode,DESCRIPTION,missing) + + @$(call install_lib, qrencode, 0, 0, 0644, libqrencode) + +ifdef PTXCONF_QRENCODE_TOOLS + @$(call install_copy, qrencode, 0, 0, 0755, -, /usr/bin/qrencode) +endif + + @$(call install_finish, qrencode) + + @$(call touch) + +# vim: ft=make ts=8 noet tw=80 -- 2.11.0 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH 4/7] poppler: version bump 0.18.0 -> 0.57.0
This is quite a version bump, spanning six years of poppler development. Upstream now provides data for rendering cyrillic languages in the package poppler-data, but this dependency is only detected at compile time, so make sure the build order is right. Some applications require the old xpdf headers, the CPP wrapper or CMYK support, so make these configure options selectable. Same for the Splash backend, which can now also be built with single precision or fixed-point arithmetic. PNG and JPEG support is no longer broken, poppler now also includes an internal DCT decoder. The GTK dependency has been dropped (or was it even necessary in the first place?) Don't wonder about --disable-relocatable, it only applies to Windows. poppler allows using zlib to uncompress flate streams, but with the warning that this is "not totally safe", so it is disabled. Additionally, poppler could benefit from packaging libopenjpeg and libtiff in ptxdist for parsing embedded JPEG2000 or TIFF in PDFs. Likewise, libnss could be packaged for PDF signature support. Also there is the option to build a Qt5 wrapper, but I don't have a good way to test this, so it is currently disabled. Signed-off-by: Roland Hieber --- ...error-vector-in-namespace-std-does-not-na.patch | 56 ++ patches/poppler-0.57.0/series | 4 + rules/poppler.in | 86 +- rules/poppler.make | 67 + 4 files changed, 179 insertions(+), 34 deletions(-) create mode 100644 patches/poppler-0.57.0/0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch create mode 100644 patches/poppler-0.57.0/series diff --git a/patches/poppler-0.57.0/0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch b/patches/poppler-0.57.0/0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch new file mode 100644 index 0..70bfdc36f --- /dev/null +++ b/patches/poppler-0.57.0/0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch @@ -0,0 +1,56 @@ +From: Roland Hieber +Date: Fri, 11 Aug 2017 11:44:26 +0200 +Subject: [PATCH] Form.h: fix error: 'vector' in namespace 'std' does not name + a type + +Original error message while compiling with +OSELAS.Toolchain-2016.06.1-arm-v7a-linux-gnueabi, +gcc-5.4.0-glibc-2.23-binutils-2.26-kernel-4.6-sanitized: + + make[5]: Entering directory '/ptx/work/dude/WORK_B/rhi/OSELAS.BSP-Miele-PST/platform-cpu20/build-target/poppler-0.57.0/qt4/src' + CXX libpoppler_qt4_la-poppler-form.lo + In file included from poppler-form.cc:26:0: + ../../poppler/Form.h:544:14: error: 'vector' in namespace 'std' does not name a template type + ../../poppler/Form.h:556:8: error: 'vector' in namespace 'std' does not name a template type + Makefile:735: recipe for target 'libpoppler_qt4_la-poppler-form.lo' failed + +configure arguments were: + + --prefix=/usr --sysconfdir=/etc --localstatedir=/var + --libdir=/usr/lib --host=arm-v7a-linux-gnueabi + --build=x86_64-host-linux-gnu --enable-option-checking + --disable-silent-rules --disable-dependency-tracking + --enable-shared --enable-fast-install --enable-libtool-lock + --enable-xpdf-headers --enable-build-type=release + --disable-single-precision --enable-fixedpoint --enable-cmyk + --disable-relocatable --enable-libopenjpeg=none --disable-libnss + --disable-libtiff --enable-largefile --enable-zlib + --disable-zlib-uncompress --enable-libcurl + --enable-dctdecoder=libjpeg --enable-libpng + --disable-splash-output --enable-cairo-output + --enable-poppler-glib --disable-introspection --disable-gtk-doc + --disable-gtk-doc-html --disable-gtk-doc-pdf + --enable-poppler-qt4 --disable-poppler-qt5 --enable-poppler-cpp + --disable-gtk-test --enable-utils --disable-compile-warnings + --enable-cms=lcms1 --without-x + --with-font-configuration=fontconfig --without-libiconv-prefix + --with-testdatadir= + +Forwarded: https://bugs.freedesktop.org/show_bug.cgi?id=102147 +Signed-off-by: Roland Hieber +--- + poppler/Form.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/poppler/Form.h b/poppler/Form.h +index 8ddb6fe3d638..e0a3a28767bb 100644 +--- a/poppler/Form.h b/poppler/Form.h +@@ -27,6 +27,7 @@ + #include "Annot.h" + + #include ++#include + + class GooString; + class Array; diff --git a/patches/poppler-0.57.0/series b/patches/poppler-0.57.0/series new file mode 100644 index 0..9e7d355f4 --- /dev/null +++ b/patches/poppler-0.57.0/series @@ -0,0 +1,4 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch +# ed2ff81cec7f4cb784b9295817f9d1e8 - git-ptx-patches magic diff --git a/rules/poppler.in b/rules/poppler.in index b107dc7a5..793e19275 100644 --- a/rules/poppler.in +++ b/rules/poppler.in @@ -4,18 +4,21 @@ menuconf
[ptxdist] [PATCH 2/7] qpdf: new package: PDF inspection library and tools
Signed-off-by: Roland Hieber --- .../0001-don-t-build-docs-examples-or-tests.patch | 51 + patches/qpdf-6.0.0/series | 4 + rules/qpdf.in | 36 ++ rules/qpdf.make| 121 + 4 files changed, 212 insertions(+) create mode 100644 patches/qpdf-6.0.0/0001-don-t-build-docs-examples-or-tests.patch create mode 100644 patches/qpdf-6.0.0/series create mode 100644 rules/qpdf.in create mode 100644 rules/qpdf.make diff --git a/patches/qpdf-6.0.0/0001-don-t-build-docs-examples-or-tests.patch b/patches/qpdf-6.0.0/0001-don-t-build-docs-examples-or-tests.patch new file mode 100644 index 0..2c7d66f94 --- /dev/null +++ b/patches/qpdf-6.0.0/0001-don-t-build-docs-examples-or-tests.patch @@ -0,0 +1,51 @@ +From: Roland Hieber +Date: Tue, 11 Jul 2017 14:54:15 +0200 +Subject: [PATCH] don't build docs, examples, or tests + +Those components are not needed and fail during cross-build. Sadly the +build system is not very modular and does not allow the user to select +which components are being built, so we resort to patching the build +system. + +Forwarded: not-needed +Signed-off-by: Roland Hieber +--- + Makefile| 2 +- + make/libtool.mk | 6 -- + 2 files changed, 1 insertion(+), 7 deletions(-) + +diff --git a/Makefile b/Makefile +index e882672b0d6b..8a9211e800a5 100644 +--- a/Makefile b/Makefile +@@ -30,7 +30,7 @@ + # install to install in a separate location. This is useful for + # packagers. + +-BUILD_ITEMS := manual libqpdf zlib-flate libtests qpdf examples ++BUILD_ITEMS := libqpdf zlib-flate qpdf + OUTPUT_DIR = build + ALL_TARGETS = + +diff --git a/make/libtool.mk b/make/libtool.mk +index 0d1d8bee..967d3416f893 100644 +--- a/make/libtool.mk b/make/libtool.mk +@@ -110,8 +110,6 @@ install: all + ./mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig + ./mkinstalldirs $(DESTDIR)$(bindir) + ./mkinstalldirs $(DESTDIR)$(includedir)/qpdf +- ./mkinstalldirs $(DESTDIR)$(docdir) +- ./mkinstalldirs $(DESTDIR)$(mandir)/man1 + $(LIBTOOL) --mode=install ./install-sh \ + libqpdf/$(OUTPUT_DIR)/libqpdf.la \ + $(DESTDIR)$(libdir)/libqpdf.la +@@ -125,8 +123,4 @@ install: all + cp qpdf/fix-qdf $(DESTDIR)$(bindir) + cp include/qpdf/*.h $(DESTDIR)$(includedir)/qpdf + cp include/qpdf/*.hh $(DESTDIR)$(includedir)/qpdf +- cp doc/stylesheet.css $(DESTDIR)$(docdir) +- cp doc/qpdf-manual.html $(DESTDIR)$(docdir) +- cp doc/qpdf-manual.pdf $(DESTDIR)$(docdir) +- cp doc/*.1 $(DESTDIR)$(mandir)/man1 + cp libqpdf.pc $(DESTDIR)$(libdir)/pkgconfig diff --git a/patches/qpdf-6.0.0/series b/patches/qpdf-6.0.0/series new file mode 100644 index 0..46062ee5b --- /dev/null +++ b/patches/qpdf-6.0.0/series @@ -0,0 +1,4 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-don-t-build-docs-examples-or-tests.patch +# 9fe87092b570d1599b737ceb198ad63e - git-ptx-patches magic diff --git a/rules/qpdf.in b/rules/qpdf.in new file mode 100644 index 0..5c0ee0726 --- /dev/null +++ b/rules/qpdf.in @@ -0,0 +1,36 @@ +## SECTION=system_libraries + +menuconfig QPDF + tristate + prompt "qpdf " + + select LIBPCRE + select ZLIB + + help + QPDF is a library that can be used to linearize (web-optimize), + encrypt (password-protect), decrypt, and inspect PDF files. + +if QPDF + +choice + prompt "randomness source" + default QPDF_RANDOM_DEV_URANDOM + + config QPDF_RANDOM_LIBC + bool "libc rand()" + + config QPDF_RANDOM_DEV_RANDOM + bool "/dev/random" + + config QPDF_RANDOM_DEV_URANDOM + bool "/dev/urandom" +endchoice + +config QPDF_TOOLS + bool "install tools" + help + Install the tools. Those include qpdf, zlib-flate, and fix-qdf. + +endif +# vim: ft=kconfig ts=8 noet tw=80 diff --git a/rules/qpdf.make b/rules/qpdf.make new file mode 100644 index 0..b65709bdc --- /dev/null +++ b/rules/qpdf.make @@ -0,0 +1,121 @@ +# -*-makefile-*- +# +# Copyright (C) 2017 by Roland Hieber +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_QPDF) += qpdf + +# +# Paths and names +# +QPDF_VERSION := 6.0.0 +QPDF_MD5 := a0601b0bc56d3f412fd3afecfce2721c +QPDF := qpdf-$(QPDF_VERSION) +QPDF_SUFFIX:= tar.gz +QPDF_URL := $(call ptx/mirror, SF, /qpdf/qpdf/$(QPDF_VERSION)/$(QPDF).$(QPDF_SUFFIX)) +QPDF_SOURCE:= $(SRCDIR)/$(QPDF).$(QPDF_SUFFIX) +QPDF_DIR := $(BUILDDIR)/$(QPDF) +QPDF_LICENSE := Artistic-2.0 + +# +# Prepare +# ---
[ptxdist] [PATCH 1/7] libpaper: new package: system-wide papersize configuration
Signed-off-by: Roland Hieber --- rules/libpaper.in | 32 ++ rules/libpaper.make | 77 + 2 files changed, 109 insertions(+) create mode 100644 rules/libpaper.in create mode 100644 rules/libpaper.make diff --git a/rules/libpaper.in b/rules/libpaper.in new file mode 100644 index 0..6052d2c14 --- /dev/null +++ b/rules/libpaper.in @@ -0,0 +1,32 @@ +## SECTION=multimedia_libs + +menuconfig LIBPAPER + tristate + prompt "libpaper " + select HOST_AUTOTOOLS_AUTOCONF + select HOST_AUTOTOOLS_LIBTOOL + help + System-wide paper size configuration + +if LIBPAPER + +config LIBPAPER_SIZE + string "default fallback paper size" + default "letter" + help + Paper size that is used if nothing else is specified in /etc/papersize + +config LIBPAPER_PAPERCONFIG + bool "install paperconfig" + help + Install the paperconfig tool which sets the default paper size of the + system + +config LIBPAPER_PAPERCONF + bool "install paperconf" + help + Install the paperconf tool which prints information about a specific + paper size + +endif +# vim: ft=kconfig ts=8 noet tw=80 diff --git a/rules/libpaper.make b/rules/libpaper.make new file mode 100644 index 0..3e94ed2f2 --- /dev/null +++ b/rules/libpaper.make @@ -0,0 +1,77 @@ +# -*-makefile-*- +# +# Copyright (C) 2017 by Roland Hieber +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_LIBPAPER) += libpaper + +# +# Paths and names +# +# libpaper seems to be maintained only as a Debian package, therefore the +# unusual versioning. +# +LIBPAPER_VERSION := 1.1.24+nmu5 +LIBPAPER_MD5 := 38bc55688c0fc5544edaa5a951a45fbd +LIBPAPER := libpaper-$(LIBPAPER_VERSION) +LIBPAPER_SUFFIX:= tar.gz +LIBPAPER_URL := http://http.debian.net/debian/pool/main/libp/libpaper/libpaper_$(LIBPAPER_VERSION).$(LIBPAPER_SUFFIX) +LIBPAPER_SOURCE:= $(SRCDIR)/$(LIBPAPER).$(LIBPAPER_SUFFIX) +LIBPAPER_DIR := $(BUILDDIR)/$(LIBPAPER) +LIBPAPER_LICENSE := GPL-2.0 + +# +# Prepare +# + +LIBPAPER_CONF_ENV := \ + $(CROSS_ENV) \ + PAPERSIZE=$(PTXCONF_LIBPAPER_SIZE) + +# +# autoconf, but upstream does not provide a ./configure +# +$(STATEDIR)/libpaper.prepare: + @$(call targetinfo) + @$(call clean, $(LIBPAPER_DIR)/config.cache) + @cd $(LIBPAPER_DIR) && \ + autoreconf --install && \ + $(LIBPAPER_PATH) $(LIBPAPER_CONF_ENV) \ + ./configure $(CROSS_AUTOCONF_USR) + @$(call touch) + +# +# Target-Install +# + +$(STATEDIR)/libpaper.targetinstall: + @$(call targetinfo) + + @$(call install_init, libpaper) + @$(call install_fixup, libpaper,PRIORITY,optional) + @$(call install_fixup, libpaper,SECTION,base) + @$(call install_fixup, libpaper,AUTHOR,"Roland Hieber ") + @$(call install_fixup, libpaper,DESCRIPTION,missing) + + @$(call install_lib, libpaper, 0, 0, 0755, libpaper) + +ifeq ($(PTXCONF_LIBPAPER_PAPERCONFIG),y) + @$(call install_copy, libpaper, 0, 0, 755, -, /usr/sbin/paperconfig) +endif +ifeq ($(PTXCONF_LIBPAPER_PAPERCONF),y) + @$(call install_copy, libpaper, 0, 0, 755, -, /usr/bin/paperconf) +endif + + @$(call install_finish, libpaper) + + @$(call touch) + +# vim: ft=make ts=8 noet tw=80 -- 2.11.0 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH 3/7] poppler-data: new package: optional encoding data for poppler
Signed-off-by: Roland Hieber --- rules/poppler-data.in | 10 +++ rules/poppler-data.make | 79 + 2 files changed, 89 insertions(+) create mode 100644 rules/poppler-data.in create mode 100644 rules/poppler-data.make diff --git a/rules/poppler-data.in b/rules/poppler-data.in new file mode 100644 index 0..61796949e --- /dev/null +++ b/rules/poppler-data.in @@ -0,0 +1,10 @@ +## SECTION=multimedia_gtk + +config POPPLER_DATA + tristate + prompt "poppler-data" + help + Encoding data which enables poppler to correctly render CJK and + Cyrillic languages. + +# vim: ft=kconfig ts=8 noet tw=80 diff --git a/rules/poppler-data.make b/rules/poppler-data.make new file mode 100644 index 0..2b51a61a9 --- /dev/null +++ b/rules/poppler-data.make @@ -0,0 +1,79 @@ +# -*-makefile-*- +# +# Copyright (C) 2017 by Roland Hieber +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_POPPLER_DATA) += poppler-data + +# +# Paths and names +# +POPPLER_DATA_VERSION := 0.4.7 +POPPLER_DATA_MD5 := 636a8f2b9f6df9e7ced8ec0946961eaf +POPPLER_DATA := poppler-data-$(POPPLER_DATA_VERSION) +POPPLER_DATA_SUFFIX:= tar.gz +POPPLER_DATA_URL := https://poppler.freedesktop.org/$(POPPLER_DATA).$(POPPLER_DATA_SUFFIX) +POPPLER_DATA_SOURCE:= $(SRCDIR)/$(POPPLER_DATA).$(POPPLER_DATA_SUFFIX) +POPPLER_DATA_DIR := $(BUILDDIR)/$(POPPLER_DATA) +POPPLER_DATA_LICENSE := GPL-2.0 AND MIT AND BSD-3-Clause + +# +# Prepare +# +POPPLER_DATA_CONF_TOOL := NO + +# +# Compile +# + +$(STATEDIR)/poppler-data.compile: + @$(call targetinfo) + @$(call touch) + +# +# Install +# + +POPPLER_DATA_INSTALL_OPT := prefix=/usr install + +$(STATEDIR)/poppler-data.install: + @$(call targetinfo) + @$(call world/install, POPPLER_DATA) + @$(call touch) + +# +# Target-Install +# + +$(STATEDIR)/poppler-data.targetinstall: + @$(call targetinfo) + + @$(call install_init, poppler-data) + @$(call install_fixup, poppler-data,PRIORITY,optional) + @$(call install_fixup, poppler-data,SECTION,base) + @$(call install_fixup, poppler-data,AUTHOR,"Roland Hieber ") + @$(call install_fixup, poppler-data,DESCRIPTION,missing) + + @$(call install_tree, poppler-data, 0, 0, -, /usr/share/poppler) + + @$(call install_finish, poppler-data) + + @$(call touch) + +# +# Clean +# + +#$(STATEDIR)/poppler-data.clean: +# @$(call targetinfo) +# @$(call clean_pkg, POPPLER_DATA) + +# vim: ft=make ts=8 tw=80 -- 2.11.0 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH 5/7] cups: new package: Common Unix Printing System
If using systemd, CUPS can be started via socket activation or directly, in any case it is run as user daemon, group lp. The default spool and cache locations were moved to /tmp/cups so we don't need to set up a tmpfs for /var/spool/cups and /var/cache/cups. sysvinit script is installed from upstream, but untested. Some config files are only created by cupsd on the first start and not at install time, so we supply reasonable defaults in projectroot/ in order to use $(call install_alternative...) on them. Signed-off-by: Roland Hieber --- projectroot/etc/cups/classes.conf | 1 + projectroot/etc/cups/client.conf| 2 + projectroot/etc/cups/cups-files.conf| 22 +++ projectroot/etc/cups/mailto.conf| 1 + projectroot/etc/cups/ppd/.createdirectory | 0 projectroot/etc/cups/printers.conf | 1 + projectroot/etc/cups/ssl/.createdirectory | 0 projectroot/etc/printcap| 3 + projectroot/usr/lib/systemd/system/cups.service | 15 ++ projectroot/usr/lib/systemd/system/cups.socket | 14 ++ projectroot/usr/lib/tmpfiles.d/cups.conf| 6 + rules/cups.in | 142 +++ rules/cups.make | 227 13 files changed, 434 insertions(+) create mode 100644 projectroot/etc/cups/classes.conf create mode 100644 projectroot/etc/cups/client.conf create mode 100644 projectroot/etc/cups/cups-files.conf create mode 100644 projectroot/etc/cups/mailto.conf create mode 100644 projectroot/etc/cups/ppd/.createdirectory create mode 100644 projectroot/etc/cups/printers.conf create mode 100644 projectroot/etc/cups/ssl/.createdirectory create mode 100644 projectroot/etc/printcap create mode 100644 projectroot/usr/lib/systemd/system/cups.service create mode 100644 projectroot/usr/lib/systemd/system/cups.socket create mode 100644 projectroot/usr/lib/tmpfiles.d/cups.conf create mode 100644 rules/cups.in create mode 100644 rules/cups.make diff --git a/projectroot/etc/cups/classes.conf b/projectroot/etc/cups/classes.conf new file mode 100644 index 0..dea737751 --- /dev/null +++ b/projectroot/etc/cups/classes.conf @@ -0,0 +1 @@ +# classes.conf - class configuration file for cups diff --git a/projectroot/etc/cups/client.conf b/projectroot/etc/cups/client.conf new file mode 100644 index 0..f8f0b6832 --- /dev/null +++ b/projectroot/etc/cups/client.conf @@ -0,0 +1,2 @@ +# CUPS client configuration +ServerName localhost diff --git a/projectroot/etc/cups/cups-files.conf b/projectroot/etc/cups/cups-files.conf new file mode 100644 index 0..2cc2d5a5b --- /dev/null +++ b/projectroot/etc/cups/cups-files.conf @@ -0,0 +1,22 @@ +# File/directory/user/group configuration file for the CUPS scheduler. +User daemon +Group lp +SystemGroup root + +AccessLog /var/log/cups/access_log +ErrorLog /var/log/cups/error_log +PageLog /var/log/cups/page_log + +CacheDir /tmp/cups/cache +DataDir /usr/share/cups +DocumentRoot /usr/share/doc/cups +RequestRoot /tmp/cups/spool +ServerBin /usr/lib/cups +ServerRoot /etc/cups +StateDir /var/run/cups + +Printcap /etc/printcap +PrintcapFormat bsd + +# SSL/TLS keychain for the scheduler... +#ServerKeychain ssl diff --git a/projectroot/etc/cups/mailto.conf b/projectroot/etc/cups/mailto.conf new file mode 100644 index 0..4502adaee --- /dev/null +++ b/projectroot/etc/cups/mailto.conf @@ -0,0 +1 @@ +# mailto.conf - configuration file for cups email notifier diff --git a/projectroot/etc/cups/ppd/.createdirectory b/projectroot/etc/cups/ppd/.createdirectory new file mode 100644 index 0..e69de29bb diff --git a/projectroot/etc/cups/printers.conf b/projectroot/etc/cups/printers.conf new file mode 100644 index 0..bf9879904 --- /dev/null +++ b/projectroot/etc/cups/printers.conf @@ -0,0 +1 @@ +# printers.conf - printer configuration file for cups diff --git a/projectroot/etc/cups/ssl/.createdirectory b/projectroot/etc/cups/ssl/.createdirectory new file mode 100644 index 0..e69de29bb diff --git a/projectroot/etc/printcap b/projectroot/etc/printcap new file mode 100644 index 0..e74f358e1 --- /dev/null +++ b/projectroot/etc/printcap @@ -0,0 +1,3 @@ +# This file was automatically generated by cupsd(8) from the +# /etc/cups/printers.conf file. All changes to this file +# will be lost. diff --git a/projectroot/usr/lib/systemd/system/cups.service b/projectroot/usr/lib/systemd/system/cups.service new file mode 100644 index 0..ff94f69d2 --- /dev/null +++ b/projectroot/usr/lib/systemd/system/cups.service @@ -0,0 +1,15 @@ +[Unit] +Description=CUPS Scheduler service +Documentation=man:cupsd(8) +Requires=systemd-tmpfiles-setup.service +Requires=cups.socket + +[Service] +User=daemon +Group=lp +ExecStart=/usr/sbin/cupsd -l -c /etc/cups/cupsd.conf -s /etc/cups/cups-files.conf +Type=simple + +[Install] +Also=cups.socket +WantedBy=printer.target diff --git
[ptxdist] [PATCH 7/7] cups-filters: new package: additional filters and backends for CUPS
Upstream is very responsive, merged some patches and made a new release while I was still packaging the old one :) Signed-off-by: Roland Hieber --- .../0001-configure.ac-check-for-C-11-support.patch | 1019 patches/cups-filters-1.16.1/autogen.sh |2 + patches/cups-filters-1.16.1/series |4 + rules/cups-filters.in | 69 ++ rules/cups-filters.make| 96 ++ 5 files changed, 1190 insertions(+) create mode 100644 patches/cups-filters-1.16.1/0001-configure.ac-check-for-C-11-support.patch create mode 100755 patches/cups-filters-1.16.1/autogen.sh create mode 100644 patches/cups-filters-1.16.1/series create mode 100644 rules/cups-filters.in create mode 100644 rules/cups-filters.make diff --git a/patches/cups-filters-1.16.1/0001-configure.ac-check-for-C-11-support.patch b/patches/cups-filters-1.16.1/0001-configure.ac-check-for-C-11-support.patch new file mode 100644 index 0..a7d308e0e --- /dev/null +++ b/patches/cups-filters-1.16.1/0001-configure.ac-check-for-C-11-support.patch @@ -0,0 +1,1019 @@ +From: Roland Hieber +Date: Tue, 15 Aug 2017 12:53:14 +0200 +Subject: [PATCH] configure.ac: check for C++11 support + +The filters pdftoopvp, bannertopdf and pdftoraster depend on features +only available in C++11, indirectly also because poppler does not put +-std=c++11 on its pkg-config CFLAGS (but I'm not sure whether it should +even do this). Solve this problems by adding -std=c++1 to $(CXX), if +necessary, or fail if the compiler does not support C++11. + +Forwarded: https://bugs.linuxfoundation.org/show_bug.cgi?id=1404 +Applied-Upstream: http://bzr.linuxfoundation.org/loggerhead/openprinting/cups-filters/revision/7674 +Signed-off-by: Roland Hieber +--- + configure.ac| 1 + + m4/ax_cxx_compile_stdcxx.m4 | 982 + 2 files changed, 983 insertions(+) + create mode 100644 m4/ax_cxx_compile_stdcxx.m4 + +diff --git a/configure.ac b/configure.ac +index 6ce671e6026a..7ad5592e0423 100644 +--- a/configure.ac b/configure.ac +@@ -52,6 +52,7 @@ AH_BOTTOM([ + # === + AC_PROG_CC + AC_PROG_CXX ++AX_CXX_COMPILE_STDCXX([11],[noext],[mandatory]) + AM_PROG_CC_C_O + AC_PROG_CPP + AC_PROG_INSTALL +diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4 +new file mode 100644 +index ..5032bba8091d +--- /dev/null b/m4/ax_cxx_compile_stdcxx.m4 +@@ -0,0 +1,982 @@ ++# === ++# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html ++# === ++# ++# SYNOPSIS ++# ++# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional]) ++# ++# DESCRIPTION ++# ++# Check for baseline language coverage in the compiler for the specified ++# version of the C++ standard. If necessary, add switches to CXX and ++# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) ++# or '14' (for the C++14 standard). ++# ++# The second argument, if specified, indicates whether you insist on an ++# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. ++# -std=c++11). If neither is specified, you get whatever works, with ++# preference for an extended mode. ++# ++# The third argument, if specified 'mandatory' or if left unspecified, ++# indicates that baseline support for the specified C++ standard is ++# required and that the macro should error out if no mode with that ++# support is found. If specified 'optional', then configuration proceeds ++# regardless, after defining HAVE_CXX${VERSION} if and only if a ++# supporting mode is found. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Benjamin Kosnik ++# Copyright (c) 2012 Zack Weinberg ++# Copyright (c) 2013 Roy Stogner ++# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov ++# Copyright (c) 2015 Paul Norman ++# Copyright (c) 2015 Moritz Klammler ++# Copyright (c) 2016 Krzesimir Nowak ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 7 ++ ++dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro ++dnl (serial version number 13). ++ ++AX_REQUIRE_DEFINED([AC_MSG_WARN]) ++AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl ++ m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], ++[$1], [14], [ax_cxx_compile_alternatives="14 1y"], ++[$1], [17], [ax_cxx_compile_alternatives="17 1z"], ++[m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl ++ m4_if([$2], [], [], ++[$2], [ext], [], ++[$2], [noext], [], ++[m4_fatal([invalid seco
[ptxdist] [PATCH 6/7] host-cups: new package: CUPS PPD compiler
Most printer drivers compile model-specific PPDs from a generic schema using ppdc during the build process. For this, ppdc must be able to find CUPS' internal include files in sysroot-target. Unfortunately, the CUPS build system is rather inflexible, so we have to build nearly everything to get a working ppdc. Signed-off-by: Roland Hieber --- rules/host-cups.in | 7 rules/host-cups.make | 108 +++ 2 files changed, 115 insertions(+) create mode 100644 rules/host-cups.in create mode 100644 rules/host-cups.make diff --git a/rules/host-cups.in b/rules/host-cups.in new file mode 100644 index 0..45edccada --- /dev/null +++ b/rules/host-cups.in @@ -0,0 +1,7 @@ +## SECTION=hosttools_noprompt + +config HOST_CUPS + tristate + default ALLYES + +# vim: ft=kconfig ts=8 noet tw=80 diff --git a/rules/host-cups.make b/rules/host-cups.make new file mode 100644 index 0..f45855d19 --- /dev/null +++ b/rules/host-cups.make @@ -0,0 +1,108 @@ +# -*-makefile-*- +# +# Copyright (C) 2017 by Roland Hieber +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +HOST_PACKAGES-$(PTXCONF_HOST_CUPS) += host-cups + +# +# Prepare +# + +HOST_CUPS_CONF_ENV := $(HOST_ENV) + +# +# autoconf +# +# The --with-* options are only used to specify strings, --without-* does +# nothing. So we're omitting them here. The only exception is +# --with-components=core, which we are setting to only builds libcups* (which is +# needed by ppdc). +# +# We have to set --exec-prefix and --libdir, otherwise the libs end up in +# ${prefix}/lib64, which is not what we want. +# +HOST_CUPS_CONF_TOOL:= autoconf +HOST_CUPS_CONF_OPT := \ + $(HOST_AUTOCONF) \ + --exec-prefix=/usr/ \ + --libdir=/usr/lib/ \ + --disable-mallinfo \ + --disable-libpaper \ + --disable-libusb \ + --disable-tcp-wrappers \ + --disable-acl \ + --disable-dbus \ + --disable-libtool-unsupported \ + --disable-debug \ + --disable-debug-guards \ + --disable-debug-printfs \ + --disable-unit-tests \ + --disable-relro \ + --disable-gssapi \ + --disable-threads \ + --disable-ssl \ + --disable-cdsassl \ + --disable-gnutls \ + --disable-pam \ + --disable-largefile \ + --disable-avahi \ + --disable-dnssd \ + --disable-launchd \ + --disable-systemd \ + --disable-upstart \ + --disable-page-logging \ + --disable-browsing \ + --disable-default-shared \ + --disable-raw-printing \ + --disable-webif \ + --with-components=core + +# +# Install +# + +HOST_CUPS_MAKE_ENV := \ + DSTROOT=$(HOST_CUPS_PKGDIR) + +$(STATEDIR)/host-cups.install: + @$(call targetinfo) + + @$(call world/install, HOST_CUPS) + + @# ppdc isn't built by --with-components=core + $(MAKE) -C ${HOST_CUPS_DIR}/ppdc $(HOST_CUPS_MAKE_ENV) install + + @$(call touch) + +CROSS_PPDC = $(PTXDIST_SYSROOT_CROSS)/bin/ppdc +$(STATEDIR)/host-cups.install.post: + @$(call targetinfo) + @$(call world/install.post, HOST_CUPS) + + ( \ + echo '#!/bin/sh'; \ + echo 'LD_LIBRARY_PATH=$(PTXDIST_SYSROOT_HOST)/usr/lib $(PTXDIST_SYSROOT_HOST)/usr/bin/ppdc -I $(SYSROOT)/usr/share/cups/ppdc "$$@"'; \ + ) > $(CROSS_PPDC) + chmod +x $(CROSS_PPDC) + + @$(call touch) + +# +# Clean +# + +$(STATEDIR)/host-cups.clean: + @$(call targetinfo) + @$(call clean_pkg, HOST_CUPS) + rm -f $(CROSS_PPDC) + +# vim: ft=make ts=8 tw=80 -- 2.11.0 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH 0/7] package (some of) the CUPS ecosystem
The main focus of this patch series is to get support for a PDF-driven printing workflow into PTXdist. The dependency tree basically looks like this: CUPS: The Common Unix Printing System: server and clients (cupsd, lpr, lpstat, | lpadmin, ...). Additional host-cups package for the PPD compiler, in case | some printer drivers need it. | +-- cups-filters: additional CUPS filters and backends, notably pdftoraster, | | pdftops, imagetoXXX, etc. that were once part of CUPS, but have since | | been removed. (TODO: maybe install and test cups-browsed for mDNS | | discovery of printers) | | | +-- qpdf: PDF handling, for pdftopdf filter | +-- poppler: PDF handling, for pdftoXXX filters and imagetoXXX filters, | | big version bump spanning multiple years of development | | | +-- poppler-data: optional dependency for cyrillic language support | +-- libjpeg, libpng support is no longer broken | +-- (TODO: maybe package libtiff and libopenjpeg in the future?) | +-- libpaper: optional dependency for system-wide papersize configuration. Low-hanging fruit, it was easy to package and included rather for completeness :) As mentioned, there is still room to expand the feature set, but I think with the focus on PDF as input format the usual use cases for a print server nowadays should be covered here. - Roland Roland Hieber (7): libpaper: new package: system-wide papersize configuration qpdf: new package: PDF inspection library and tools poppler-data: new package: optional encoding data for poppler poppler: version bump 0.18.0 -> 0.57.0 cups: new package: Common Unix Printing System host-cups: new package: CUPS PPD compiler cups-filters: new package: additional filters and backends for CUPS .../0001-configure.ac-check-for-C-11-support.patch | 1019 patches/cups-filters-1.16.1/autogen.sh |2 + patches/cups-filters-1.16.1/series |4 + ...error-vector-in-namespace-std-does-not-na.patch | 56 ++ patches/poppler-0.57.0/series |4 + .../0001-don-t-build-docs-examples-or-tests.patch | 51 + patches/qpdf-6.0.0/series |4 + projectroot/etc/cups/classes.conf |1 + projectroot/etc/cups/client.conf |2 + projectroot/etc/cups/cups-files.conf | 22 + projectroot/etc/cups/mailto.conf |1 + projectroot/etc/cups/ppd/.createdirectory |0 projectroot/etc/cups/printers.conf |1 + projectroot/etc/cups/ssl/.createdirectory |0 projectroot/etc/printcap |3 + projectroot/usr/lib/systemd/system/cups.service| 15 + projectroot/usr/lib/systemd/system/cups.socket | 14 + projectroot/usr/lib/tmpfiles.d/cups.conf |6 + rules/cups-filters.in | 69 ++ rules/cups-filters.make| 96 ++ rules/cups.in | 142 +++ rules/cups.make| 227 + rules/host-cups.in |7 + rules/host-cups.make | 108 +++ rules/libpaper.in | 32 + rules/libpaper.make| 77 ++ rules/poppler-data.in | 10 + rules/poppler-data.make| 79 ++ rules/poppler.in | 86 +- rules/poppler.make | 67 +- rules/qpdf.in | 36 + rules/qpdf.make| 121 +++ 32 files changed, 2328 insertions(+), 34 deletions(-) create mode 100644 patches/cups-filters-1.16.1/0001-configure.ac-check-for-C-11-support.patch create mode 100755 patches/cups-filters-1.16.1/autogen.sh create mode 100644 patches/cups-filters-1.16.1/series create mode 100644 patches/poppler-0.57.0/0001-Form.h-fix-error-vector-in-namespace-std-does-not-na.patch create mode 100644 patches/poppler-0.57.0/series create mode 100644 patches/qpdf-6.0.0/0001-don-t-build-docs-examples-or-tests.patch create mode 100644 patches/qpdf-6.0.0/series create mode 100644 projectroot/etc/cups/classes.conf create mode 100644 projectroot/etc/cups/client.conf create mode 100644 projectroot/etc/cups/cups-files.conf create mode 100644 projectroot/etc/cups/mailto.conf create mode 100644 projectroot/etc/cups/ppd/.createdirectory create mode 100644 projectroot/etc/cups/printers.conf create mode 100644 projectroot/etc/cups/ssl/.createdirectory create mode 100644 projectroot/etc/printcap create mode 100644 projectroot/usr/lib/systemd/system/cups.service create mode 100644 projectroot/usr/lib/systemd/system/cups.socket create mode 100644 projectroot/usr/lib/tmpfiles.d/cups.conf
[ptxdist] [PATCH v2 2/4] lighttpd: Rename memcache option to memcached
The memcached ./configure option for lighttpd changed, better reflecting a daemon for memory caching should be used (see previous patch). For making this consistent, the menu variable is also renamed here. Took this from a not applied patch from 2016, and added the necessary migration helper suggested by Michael Olbrich. Suggested-by: Andreas Geisenhainer Signed-off-by: Alexander Dahl --- rules/lighttpd.in | 6 +++--- rules/lighttpd.make | 2 +- scripts/migrate/migrate_ptx | 8 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/rules/lighttpd.in b/rules/lighttpd.in index d535394..dd761df 100644 --- a/rules/lighttpd.in +++ b/rules/lighttpd.in @@ -16,7 +16,7 @@ menuconfig LIGHTTPD select SQLITE if LIGHTTPD_WEBDAV_PROPS select LIBUUID if LIGHTTPD_WEBDAV_LOCKS select OPENSSL if LIGHTTPD_OPENSSL - select LIBMEMCACHE if LIGHTTPD_MEMCACHE + select LIBMEMCACHE if LIGHTTPD_MEMCACHED select LUA if LIGHTTPD_LUA select LUA_INSTALL_LIBLUA if LIGHTTPD_LUA select PHP5 if LIGHTTPD_MOD_FASTCGI_PHP && RUNTIME @@ -60,7 +60,7 @@ config LIGHTTPD_LUA help lua engine for mod_cml and mod_magnet -config LIGHTTPD_MEMCACHE +config LIGHTTPD_MEMCACHED bool prompt "memcached storage" help @@ -171,7 +171,7 @@ config LIGHTTPD_MOD_REWRITE config LIGHTTPD_MOD_TRIGGER_B4_DL bool - select LIGHTTPD_MEMCACHE + select LIGHTTPD_MEMCACHED select LIGHTTPD_PCRE prompt "mod_trigger_b4_dl" help diff --git a/rules/lighttpd.make b/rules/lighttpd.make index fd6e1cf..8b52267 100644 --- a/rules/lighttpd.make +++ b/rules/lighttpd.make @@ -60,7 +60,7 @@ LIGHTTPD_CONF_OPT := \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_WEBDAV_LOCKS)-uuid \ --without-gdbm \ --without-geoip \ - --$(call ptx/wwo, PTXCONF_LIGHTTPD_MEMCACHE)-memcached \ + --$(call ptx/wwo, PTXCONF_LIGHTTPD_MEMCACHED)-memcached \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_LUA)-lua # diff --git a/scripts/migrate/migrate_ptx b/scripts/migrate/migrate_ptx index d684137..d92beb5 100755 --- a/scripts/migrate/migrate_ptx +++ b/scripts/migrate/migrate_ptx @@ -290,3 +290,11 @@ s/^\(\(# \)\?PTXCONF_\)DOSFSTOOLS_DOSFSCK_MSDOS/\1DOSFSTOOLS_FSCK_FAT_MSDOS/ s/^\(\(# \)\?PTXCONF_\)DOSFSTOOLS_DOSFSCK_VFAT/\1DOSFSTOOLS_FSCK_FAT_VFAT/ s/^\(\(# \)\?PTXCONF_\)DOSFSTOOLS_DOSFSCK/\1DOSFSTOOLS_FSCK_FAT/ s/^\(\(# \)\?PTXCONF_\)DOSFSTOOLS_DOSFSLABEL/\1DOSFSTOOLS_FATLABEL/ + +# +# from : ptxdist-2017.07.0 +# to : ptxdist-2017.08.0 +# symbol : LIGHTTPD_MEMCACHE -> LIGHTTPD_MEMCACHED +# reason : option renamed +# +s/^\(\(# \)\?PTXCONF_\)LIGHTTPD_MEMCACHE/\1LIGHTTPD_MEMCACHED/ -- 2.1.4 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 1/4] lighttpd: Ugprade from 1.4.39 to 1.4.45
* webdav support was improved in 1.4.40, we switch on the additional webdav related configure options, if webdav is selected * auth framework was rewritten in 1.4.42, while all other auth backends (krb5, ldap, mysql) are disabled in ptxdist by configure, the basic file backend is active and another module has to be loaded for it For removal of the runstatedir configure option see the discussion on the proposed patch 1.4.39 -> 1.4.42 from October 2016. Signed-off-by: Alexander Dahl --- rules/lighttpd.make | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/rules/lighttpd.make b/rules/lighttpd.make index aa0849a..fd6e1cf 100644 --- a/rules/lighttpd.make +++ b/rules/lighttpd.make @@ -17,8 +17,8 @@ PACKAGES-$(PTXCONF_LIGHTTPD) += lighttpd # # Paths and names # -LIGHTTPD_VERSION := 1.4.39 -LIGHTTPD_MD5 := 63c7563be1c7a7a9819a51f07f1af8b2 +LIGHTTPD_VERSION := 1.4.45 +LIGHTTPD_MD5 := a128e1eda76899ce3fd115efae5fe631 LIGHTTPD := lighttpd-$(LIGHTTPD_VERSION) LIGHTTPD_SUFFIX:= tar.xz LIGHTTPD_URL := http://download.lighttpd.net/lighttpd/releases-1.4.x/$(LIGHTTPD).$(LIGHTTPD_SUFFIX) @@ -36,27 +36,31 @@ LIGHTTPD_LICENSE:= BSD-3-Clause LIGHTTPD_CONF_TOOL := autoconf LIGHTTPD_CONF_OPT := \ $(CROSS_AUTOCONF_USR) \ - --runstatedir=/run \ --libdir=/usr/lib/lighttpd \ --$(call ptx/endis, PTXCONF_GLOBAL_LARGE_FILE)-lfs \ $(GLOBAL_IPV6_OPTION) \ --disable-mmap \ + --enable-extra-warnings \ --without-libev \ --without-mysql \ --without-ldap \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_ATTR)-attr \ --without-valgrind \ --without-libunwind \ + --without-krb5 \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_OPENSSL)-openssl \ - --without-kerberos5 \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_PCRE)-pcre \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_ZLIB)-zlib \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_BZ2LIB)-bzip2 \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_FAM)-fam \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_WEBDAV_PROPS)-webdav-props \ + --$(call ptx/wwo, PTXCONF_LIGHTTPD_WEBDAV_PROPS)-libxml \ + --$(call ptx/wwo, PTXCONF_LIGHTTPD_WEBDAV_PROPS)-sqlite \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_WEBDAV_LOCKS)-webdav-locks \ + --$(call ptx/wwo, PTXCONF_LIGHTTPD_WEBDAV_LOCKS)-uuid \ --without-gdbm \ - --$(call ptx/wwo, PTXCONF_LIGHTTPD_MEMCACHE)-memcache \ + --without-geoip \ + --$(call ptx/wwo, PTXCONF_LIGHTTPD_MEMCACHE)-memcached \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_LUA)-lua # @@ -68,6 +72,7 @@ LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_ACCESS) += mod_access LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_ACCESSLOG) += mod_accesslog LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_ALIAS) += mod_alias LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_AUTH) += mod_auth +LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_AUTH) += mod_authn_file LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_CML) += mod_cml LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_COMPRESS) += mod_compress LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_FASTCGI) += mod_fastcgi -- 2.1.4 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 4/4] lighttpd: Install mime.conf and remove hardcoded values
As suggested on the mailing list back in late 2016 this removes the hardcoded mimetype values from lighttpd.conf and installs mime.conf provided by upstream instead. You can still have your own mime.conf by putting it in projectroot/etc/lighttpd/conf.d of course. Suggested-by: Clemens Gruber Suggested-by: Michael Olbrich Signed-off-by: Alexander Dahl --- v1 -> v2: * use world/install instead of what the outdated documentation says --- projectroot/etc/lighttpd/lighttpd.conf | 54 -- rules/lighttpd.make| 12 2 files changed, 12 insertions(+), 54 deletions(-) diff --git a/projectroot/etc/lighttpd/lighttpd.conf b/projectroot/etc/lighttpd/lighttpd.conf index c6f1e64..fa2f60e 100644 --- a/projectroot/etc/lighttpd/lighttpd.conf +++ b/projectroot/etc/lighttpd/lighttpd.conf @@ -13,60 +13,6 @@ server.modules = ( @MODULES@ ) -# mimetype mapping -mimetype.assign= ( - ".pdf" => "application/pdf", - ".sig" => "application/pgp-signature", - ".spl" => "application/futuresplash", - ".class"=> "application/octet-stream", - ".ps" => "application/postscript", - ".torrent" => "application/x-bittorrent", - ".dvi" => "application/x-dvi", - ".gz" => "application/x-gzip", - ".pac" => "application/x-ns-proxy-autoconfig", - ".swf" => "application/x-shockwave-flash", - ".tar.gz" => "application/x-tgz", - ".tgz" => "application/x-tgz", - ".tar" => "application/x-tar", - ".zip" => "application/zip", - ".mp3" => "audio/mpeg", - ".m3u" => "audio/x-mpegurl", - ".wma" => "audio/x-ms-wma", - ".wax" => "audio/x-ms-wax", - ".ogg" => "audio/x-wav", - ".wav" => "audio/x-wav", - ".gif" => "image/gif", - ".jpg" => "image/jpeg", - ".jpeg" => "image/jpeg", - ".png" => "image/png", - ".svg" => "image/svg+xml", - ".xbm" => "image/x-xbitmap", - ".xpm" => "image/x-xpixmap", - ".xwd" => "image/x-xwindowdump", - ".css" => "text/css", - ".html" => "text/html", - ".htm" => "text/html", - ".js" => "text/javascript", - ".asc" => "text/plain", - ".c"=> "text/plain", - ".conf" => "text/plain", - ".text" => "text/plain", - ".txt" => "text/plain", - ".dtd" => "text/xml", - ".xml" => "text/xml", - ".mpeg" => "video/mpeg", - ".mpg" => "video/mpeg", - ".mov" => "video/quicktime", - ".qt" => "video/quicktime", - ".avi" => "video/x-msvideo", - ".asf" => "video/x-ms-asf", - ".asx" => "video/x-ms-asf", - ".wmv" => "video/x-ms-wmv", - ".bz2" => "application/x-bzip", - ".tbz" => "application/x-bzip-compressed-tar", - ".tar.bz2" => "application/x-bzip-compressed-tar" -) - index-file.names = ( "index.html" ) include "conf.d/*.conf" diff --git a/rules/lighttpd.make b/rules/lighttpd.make index 8b52267..5d1123e 100644 --- a/rules/lighttpd.make +++ b/rules/lighttpd.make @@ -64,6 +64,16 @@ LIGHTTPD_CONF_OPT:= \ --$(call ptx/wwo, PTXCONF_LIGHTTPD_LUA)-lua # +# Install +# +$(STATEDIR)/lighttpd.install: + @$(call targetinfo) + @$(call world/install, LIGHTTPD) + @install -vD -m 0644 "$(LIGHTTPD_DIR)/doc/config/conf.d/mime.conf" \ + "$(LIGHTTPD_PKGDIR)/etc/lighttpd/conf.d/mime.conf" + @$(call touch) + +# # Target-Install # @@ -118,6 +128,8 @@ endif @$(call install_copy, lighttpd, 0, 0, 0755, /etc/lighttpd/conf.d) @$(call install_replace, lighttpd, /etc/lighttpd/lighttpd.conf, \ @MODULES@, $(LIGHTTPD_MODULE_STRING)) + @$(call install_alternative, lighttpd, 0, 0, 0644, \ + /etc/lighttpd/conf.d/mime.conf) ifdef PTXCONF_LIGHTTPD_MOD_FASTCGI_PHP @$(call install_alternative, lighttpd, 0, 0, 0644, \ -- 2.1.4 ___ ptxdist mailing list ptxdist
[ptxdist] [PATCH v2 3/4] lighttpd: Simplify additional config include
Since version 1.4.40 lighttpd supports file globs for includes. See announcement: https://www.lighttpd.net/2016/7/16/1.4.40/ Signed-off-by: Alexander Dahl --- projectroot/etc/lighttpd/lighttpd.conf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/projectroot/etc/lighttpd/lighttpd.conf b/projectroot/etc/lighttpd/lighttpd.conf index 86048f0..c6f1e64 100644 --- a/projectroot/etc/lighttpd/lighttpd.conf +++ b/projectroot/etc/lighttpd/lighttpd.conf @@ -69,5 +69,4 @@ mimetype.assign = ( index-file.names = ( "index.html" ) -include_shell "[ \"$(ls -A conf.d/)\" ] && cat conf.d/*.conf" - +include "conf.d/*.conf" -- 2.1.4 ___ ptxdist mailing list ptxdist@pengutronix.de
[ptxdist] [PATCH v2 0/4] lighttpd: Update and suggestions from last year
Hi, in late 2016 there was a patch posted for upgrading lighttpd from 1.4.39 to a newer version. Nothing happened since then and we are still on this old version. Meanwhile upstream is at 1.4.45 with some new features and lots of fixes, including serious security fixes. I took all the suggestions from the old thread and made a patch series. The first is the upgrade only, the following cover suggestions from the old thread and use a new feature from 1.4.40 for simplifying the config file. You may take all of the patches, but I also would be happy if just the upgrade makes it. Please have a look and test, as you can read in the News section on https://www.lighttpd.net/ quite some things changed, although I suppose almost every config out there should still run. I could test this by myself for a while now, some things changed upstream, you may find my support request useful: https://redmine.lighttpd.net/boards/2/topics/7520 Greets Alex Changelog: v1 -> v2: * fix non default install stage for extra mime.conf installation Alexander Dahl (4): lighttpd: Ugprade from 1.4.39 to 1.4.45 lighttpd: Rename memcache option to memcached lighttpd: Simplify additional config include lighttpd: Install mime.conf and remove hardcoded values projectroot/etc/lighttpd/lighttpd.conf | 57 +- rules/lighttpd.in | 6 ++-- rules/lighttpd.make| 27 +--- scripts/migrate/migrate_ptx| 8 + 4 files changed, 34 insertions(+), 64 deletions(-) -- 2.1.4 ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] [PATCH] qrencode: new package: library and tools for encoding QR codes
On Fri, Aug 11, 2017 at 02:38:37PM +0200, Roland Hieber wrote: > > > On 11.08.2017 12:44, Roland Hieber wrote: > > Signed-off-by: Roland Hieber > > --- > > rules/qrencode.in | 31 + > > rules/qrencode.make | 67 > > + > > 2 files changed, 98 insertions(+) > > create mode 100644 rules/qrencode.in > > create mode 100644 rules/qrencode.make > > > > diff --git a/rules/qrencode.in b/rules/qrencode.in > > new file mode 100644 > > index ..70308ba7 > > --- /dev/null > > +++ b/rules/qrencode.in > > @@ -0,0 +1,31 @@ > > +## SECTION=system_libraries > > Hmmm, thinking about this, it could also fit into SECTION=multimedia_libs or > multimedia_tools. Thoughts? use multimedia_tools. > > + > > +menuconfig QRENCODE > > + tristate > > + prompt "qrencode " > > + select LIBPNG if QRENCODE_TOOLS > > + select LIBC_PTHREAD if QRENCODE_PTHREAD > > + help > > + Libqrencode is a C library for encoding data in a QR Code symbol, a > > + kind of 2D symbology that can be scanned by handy terminals such as a > > + mobile phone with CCD. > > + > > +if QRENCODE > > + > > +config QRENCODE_TOOLS > > + bool > > + default y > > + prompt "build tools" > > + help > > + Enable this option to build the qrencode tool to build QR codes from > > + the command line. > > + > > +config QRENCODE_PTHREAD > > + bool > > + default y > > + prompt "make library thread-safe" Is there a reason to make this optional? I'd just enable it unconditionally. Michael > > + > > +endif > > + > > + > > +# vim: ft=kconfig ts=8 noet tw=80 > > diff --git a/rules/qrencode.make b/rules/qrencode.make > > new file mode 100644 > > index ..bd4b5cd4 > > --- /dev/null > > +++ b/rules/qrencode.make > > @@ -0,0 +1,67 @@ > > +# -*-makefile-*- > > +# > > +# Copyright (C) 2017 by Roland Hieber > > +# > > +# See CREDITS for details about who has contributed to this project. > > +# > > +# For further information about the PTXdist project and license conditions > > +# see the README file. > > +# > > + > > +# > > +# We provide this package > > +# > > +PACKAGES-$(PTXCONF_QRENCODE) += qrencode > > + > > +# > > +# Paths and names > > +# > > +QRENCODE_VERSION := 3.4.4 > > +QRENCODE_MD5 := be545f3ce36ea8fbb58612d72c4222de > > +QRENCODE := qrencode-$(QRENCODE_VERSION) > > +QRENCODE_SUFFIX:= tar.gz > > +QRENCODE_URL := > > https://fukuchi.org/works/qrencode/$(QRENCODE).$(QRENCODE_SUFFIX) > > +QRENCODE_SOURCE:= $(SRCDIR)/$(QRENCODE).$(QRENCODE_SUFFIX) > > +QRENCODE_DIR := $(BUILDDIR)/$(QRENCODE) > > +QRENCODE_LICENSE := LGPL-2.1+ > > + > > +# > > > > +# Prepare > > +# > > > > + > > +QRENCODE_CONF_TOOL := autoconf > > +QRENCODE_CONF_OPT := \ > > + $(CROSS_AUTOCONF_USR) \ > > + --$(call ptx/endis,PTXCONF_QRENCODE_PTHREAD)-thread-safety \ > > + --disable-sdltest \ > > + --disable-rpath \ > > + --disable-gprof \ > > + --disable-gcov \ > > + --disable-mudflap \ > > + --$(call ptx/wwo,PTXCONF_QRENCODE_TOOLS)-tools \ > > + --without-tests > > + > > +# > > > > +# Target-Install > > +# > > > > + > > +$(STATEDIR)/qrencode.targetinstall: > > + @$(call targetinfo) > > + > > + @$(call install_init, qrencode) > > + @$(call install_fixup, qrencode,PRIORITY,optional) > > + @$(call install_fixup, qrencode,SECTION,base) > > + @$(call install_fixup, qrencode,AUTHOR,"Roland Hieber > > ") > > + @$(call install_fixup, qrencode,DESCRIPTION,missing) > > + > > + @$(call install_lib, qrencode, 0, 0, 0644, libqrencode) > > + > > +ifdef PTXCONF_QRENCODE_TOOLS > > + @$(call install_copy, qrencode, 0, 0, 0755, -, /usr/bin/qrencode) > > +endif > > + > > + @$(call install_finish, qrencode) > > + > > + @$(call touch) > > + > > +# vim: ft=make ts=8 noet tw=80 > > > > -- > Pengutronix e.K. | Roland Hieber | > Industrial Linux Solutions| http://www.pengutronix.de/ | > Peiner Str. 6-8, 31137 Hildesheim | Phone: +49-5121-206917-5086 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | > > ___ > ptxdist mailing list > ptxdist@pengutronix.de -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ ptxdist mailing list ptxdist@pe
Re: [ptxdist] [PATCH 4/4] lighttpd: Install mime.conf and remove hardcoded values
On Fri, Aug 11, 2017 at 12:00:26PM +0200, Alexander Dahl wrote: > Hi, > > Am Freitag, 11. August 2017, 10:04:02 schrieb Alexander Dahl: > > + @$(call targetinfo) > > + @cd $(LIGHTTPD_DIR) && \ > > + $(LIGHTTPD_PATH) $(LIGHTTPD_MAKE_ENV) \ > > + $(MAKE) $(LIGHTTPD_INSTALL_OPT) > > + install -D -m 644 "$(LIGHTTPD_DIR)/doc/config/conf.d/mime.conf" \ > > + "$(LIGHTTPD_PKGDIR)/etc/lighttpd/conf.d/mime.conf" > > + @$(call touch) > > This does not work as expected. I took this from the > documentation/ref_manual. This needs updating. :-/ > Removing the @ before cd I get this: > > cd /home/adahl/Work/bsp/foo/platform-bar/build-target/lighttpd-1.4.45 && > \ > \ > make This only works if the variables are actually set to something useful... > Seems like those note in the documentation is misleading? When playing > with ptxdist print I get something for LIGHTTPD_DIR, which is defined in > rules/lighttpd.make and for LIGHTTPD_PKGDIR, which is probably defined > somewhere outside. LIGHTTPD_PATH, LIGHTTPD_MAKE_ENV, and > LIGHTTPD_INSTALL_OPT however are empty, so no `make install` is called > here. > > I tried to find out how other rules do this, and could just find usb- > modeswitch.make and qt4.make doing something like this: > > @$(call install, QT4) This should be world/install too... > or > > @$(call world/install, USB_MODESWITCH) This is correct. > I assume this can be used to replace the failing three lines, but what's > the difference? This is not in the manual, is it? Some other packages > use $(call install, …) and yet other packages $(call world/install, …) > but none of those autoconf and @package@_INSTALL_OPT? 'install' should not be used. That's old compatibility stuff. 'world/install' uses @package@_INSTALL_OPT if set. If not, "install" is used as make argument. > If somebody points me to a solution, I'll send a v2. Make sure 'world/install' is the first command. It will remove the pkgdir. Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ ptxdist mailing list ptxdist@pengutronix.de