[ptxdist] [PATCH] ibrdtn: add packaging rules for IBR-DTN and dtndht

2016-08-17 Thread Roland Hieber
IBR-DTN is a lightweight implementation of the Bundle Protocol (RFC
5050), designed for embedded systems like the RouterBoard532A or
Ubiquiti RouterStation Pro.

IBR-DTN consists of several upstream tarballs which split its
functionality into modular parts, namely ibrcommon, ibrdtn, ibrdtnd and
ibrdtn-tools.  Although they are released at the same time with the same
version, they are usually packaged separately to provide the modularity
on the package level.  In order to provide clean and readable Makefiles,
the upstream naming scheme is adopted here.

Although dtndht is versioned and released as a separate upstream
package, it is effectively part of IBR-DTN as it is not really used
anywhere else, and it's also developed in close contact with IBR-DTN by
the same authors.  For this reason, I'm including all package rules in a
single patch.

The upstream releases includes some functionality which depends on
software not currently available in ptxdist.  This includes tffs,
wifip2p and libvmime.  I have included the directives for these
features, but commented them out, so they can easily be enabled once
that software gets packaged.

Signed-off-by: Roland Hieber <roh...@rohieb.name>
---
 projectroot/lib/systemd/system/ibrdtnd.service | 12 
 rules/dtndht.in| 18 ++
 rules/dtndht.make  | 53 +
 rules/ibrcommon.in | 39 +
 rules/ibrcommon.make   | 56 ++
 rules/ibrdtn-tools.in  | 44 +++
 rules/ibrdtn-tools.make| 68 ++
 rules/ibrdtn.in| 35 
 rules/ibrdtn.make  | 55 ++
 rules/ibrdtnd.in   | 78 ++
 rules/ibrdtnd.make | 73 
 11 files changed, 531 insertions(+)
 create mode 100644 projectroot/lib/systemd/system/ibrdtnd.service
 create mode 100644 rules/dtndht.in
 create mode 100644 rules/dtndht.make
 create mode 100644 rules/ibrcommon.in
 create mode 100644 rules/ibrcommon.make
 create mode 100644 rules/ibrdtn-tools.in
 create mode 100644 rules/ibrdtn-tools.make
 create mode 100644 rules/ibrdtn.in
 create mode 100644 rules/ibrdtn.make
 create mode 100644 rules/ibrdtnd.in
 create mode 100644 rules/ibrdtnd.make

diff --git a/projectroot/lib/systemd/system/ibrdtnd.service 
b/projectroot/lib/systemd/system/ibrdtnd.service
new file mode 100644
index 000..f5ba5cd
--- /dev/null
+++ b/projectroot/lib/systemd/system/ibrdtnd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=IBR-DTN Bundle Protocol daemon
+Requires=network.target
+
+[Service]
+ExecStartPre=/bin/mkdir -p /etc/ibrdtn/bpsec /etc/ibrdtn/certs
+ExecStartPre=/bin/chown root:root -R /etc/ibrdtn/bpsec /etc/ibrdtn/certs
+ExecStart=/usr/sbin/dtnd -D -c /etc/ibrdtnd.conf
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/rules/dtndht.in b/rules/dtndht.in
new file mode 100644
index 000..72824b5
--- /dev/null
+++ b/rules/dtndht.in
@@ -0,0 +1,18 @@
+## SECTION=networking
+
+menuconfig DTNDHT
+   tristate
+   prompt "dtndht"
+   select OPENSSL if DTNDHT_WITH_OPENSSL
+   help
+ DTNDHT is a library providing a fully distributed BitTorrent DHT-based
+ naming service especially for DTN Bundle Protocol EIDs (RFC 5050). 
+
+if DTNDHT
+   config DTNDHT_WITH_OPENSSL
+   bool
+   default y
+   prompt "use OpenSSL instead of built-in crypto"
+endif
+
+# vim: syntax=kconfig
diff --git a/rules/dtndht.make b/rules/dtndht.make
new file mode 100644
index 000..6908f50
--- /dev/null
+++ b/rules/dtndht.make
@@ -0,0 +1,53 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2016 by Roland Hieber <roh...@rohieb.name>
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_DTNDHT) += dtndht
+
+#
+# Paths and names
+#
+DTNDHT_VERSION := 0.2.3
+DTNDHT_MD5 := 37c33910ac7e760aad4db81724aeb4fb
+DTNDHT := dtndht-$(DTNDHT_VERSION)
+DTNDHT_SUFFIX  := tar.gz
+DTNDHT_URL := 
https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/$(DTNDHT).$(DTNDHT_SUFFIX)
+DTNDHT_SOURCE  := $(SRCDIR)/$(DTNDHT).$(DTNDHT_SUFFIX)
+DTNDHT_DIR := $(BUILDDIR)/$(DTNDHT)
+DTNDHT_LICENSE := MIT
+
+# 
+# Prepare
+# 
+
+#
+# autoconf
+#
+DTNDHT_CONF_TOOL := autoconf
+DTNDHT_CONF_OPT  := $(CROSS_AUTOCONF_USR) \
+   --$(call ptx/wwo, PTXCONF_DTNDHT_WITH_OPENSSL)-openssl \
+
+# 
+# Target-Install
+# 
+
+$(STATEDIR)/dtndht.targetinstall:
+   @$(ca

Re: [ptxdist] [PATCH] add initial version of host-openocd package

2017-01-17 Thread Roland Hieber
Hi,

On 17.01.2017 14:22, fixed-term.oleksij.rem...@de.bosch.com wrote:
> From: Oleksij Rempel 
> 
> openocd 0.10.0-rc2
> 
> Signed-off-by: Oleksij Rempel 
> ---
>  rules/host-openocd.in   |  8 
>  rules/host-openocd.make | 37 +
>  2 files changed, 45 insertions(+)
>  create mode 100644 rules/host-openocd.in
>  create mode 100644 rules/host-openocd.make
> 
> diff --git a/rules/host-openocd.in b/rules/host-openocd.in
> new file mode 100644
> index 000..64e50b2
> --- /dev/null
> +++ b/rules/host-openocd.in
> @@ -0,0 +1,8 @@
> +## SECTION=hosttools
> +
> +menuconfig HOST_OPENOCD
> + tristate
> + default ALLYES
> + prompt "host-side openocd "
> + select HOST_GLIB
> + select HOST_LIBUSB
> diff --git a/rules/host-openocd.make b/rules/host-openocd.make
> new file mode 100644
> index 000..ba894ed
> --- /dev/null
> +++ b/rules/host-openocd.make
> @@ -0,0 +1,37 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2016 by Oleksij Rempel 
> +#
> +# 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_OPENOCD) += host-openocd
> +
> +#
> +# Paths and names
> +#
> +HOST_OPENOCD_VERSION := 0.10.0-rc2
> +HOST_OPENOCD_MD5 := b5ac2a635e89186779c51a9cbdc01161
> +HOST_OPENOCD := openocd-$(HOST_OPENOCD_VERSION)
> +HOST_OPENOCD_SUFFIX  := tar.bz2
> +HOST_OPENOCD_URL := 
> https://downloads.sourceforge.net/project/openocd/openocd/$(HOST_OPENOCD_VERSION)/$(HOST_OPENOCD).$(HOST_OPENOCD_SUFFIX)
> +HOST_OPENOCD_SOURCE  := $(SRCDIR)/$(HOST_OPENOCD).$(HOST_OPENOCD_SUFFIX)
> +HOST_OPENOCD_DIR := $(HOST_BUILDDIR)/$(HOST_OPENOCD)
> +
> +# 
> 
> +# Prepare
> +# 
> 
> +
> +#
> +# autoconf
> +#
> +
> +HOST_OPENOCD_CONF_TOOL   := autoconf

Well, that was short and easy :) But I see various enable/disable flags
in the configure help that default to "auto" and are not handled here in
the Makefile. These flags should be included for the build to be
reproducible, or have you checked that they don't depend on the build
order of the system? In any case, it is probably a good idea to include
any configure options in the menu to let the user choose the feature set
(i.e., memory footprint, and additional dependencies, if any).

 - Roland

> +
> +# vim: syntax=make
> 


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] gobject-introspection: syntax error, unexpected typedef-names

2016-09-02 Thread Roland Hieber

On 02.09.2016 11:17, Michael Olbrich wrote:

I don't think the Kernel Version matters. I think the errors are caused by
a broken cross ldd. Please test check if .../sysroot-cross/bin/qemu/ldd
works correctly for target binaries. If not, then please send this file,
it's a shell script.


The ldd script only prints "FATAL: kernel too old" and exits with return 
code 1 when called on platform/root/bin/sh.  I have attached the script. 
 The error actually comes from the call to qemu-cross in line 116, 
which I can reproduce:


$ ./sysroot-cross/bin/qemu-cross -E \
  LD_TRACE_LOADED_OBJECTS=1,LD_WARN=,LD_BIND_NOW=,LD_VERBOSE= \
  root/bin/sh
FATAL: kernel too old

I'm currently rebuilding my project in a new, clean directory to see if 
the error goes away.


 - Roland
#!/bin/bash
# Copyright (C) 1996-2016 Free Software Foundation, Inc.
# This file is part of the GNU C Library.

# The GNU C Library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.

# The GNU C Library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.

# You should have received a copy of the GNU Lesser General Public
# License along with the GNU C Library; if not, see
# .


# This is the `ldd' command, which lists what shared libraries are
# used by given dynamically-linked executables.  It works by invoking the
# run-time dynamic linker as a command and setting the environment
# variable LD_TRACE_LOADED_OBJECTS to a non-empty value.

# We should be able to find the translation right at the beginning.
TEXTDOMAIN=libc
TEXTDOMAINDIR=/usr/share/locale

RTLDLIST="/opt/OSELAS.Toolchain-2016.06.0/arm-v7a-linux-gnueabihf/gcc-5.4.0-glibc-2.23-binutils-2.26-kernel-4.6-sanitized/sysroot-arm-v7a-linux-gnueabihf/lib/ld-linux-armhf.so.3"
warn=
bind_now=
verbose=

while test $# -gt 0; do
  case "$1" in
  --vers | --versi | --versio | --version)
echo 'ldd (GNU libc) 2.23'
printf $"Copyright (C) %s Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
" "2016"
printf $"Written by %s and %s.
" "Roland McGrath" "Ulrich Drepper"
exit 0
;;
  --h | --he | --hel | --help)
echo $"Usage: ldd [OPTION]... FILE...
  --help  print this help and exit
  --version   print version information and exit
  -d, --data-relocs   process data relocations
  -r, --function-relocs   process data and function relocations
  -u, --unusedprint unused direct dependencies
  -v, --verbose   print all information
"
printf $"For bug reporting instructions, please see:\\n%s.\\n" \
  ""
exit 0
;;
  -d | --d | --da | --dat | --data | --data- | --data-r | --data-re | \
  --data-rel | --data-relo | --data-reloc | --data-relocs)
warn=yes
shift
;;
  -r | --f | --fu | --fun | --func | --funct | --functi | --functio | \
  --function | --function- | --function-r | --function-re | --function-rel | \
  --function-relo | --function-reloc | --function-relocs)
warn=yes
bind_now=yes
shift
;;
  -v | --verb | --verbo | --verbos | --verbose)
verbose=yes
shift
;;
  -u | --u | --un | --unu | --unus | --unuse | --unused)
unused=yes
shift
;;
  --v | --ve | --ver)
echo >&2 $"ldd: option \`$1' is ambiguous"
exit 1
;;
  --)   # Stop option processing.
shift; break
;;
  -*)
echo >&2 'ldd:' $"unrecognized option" "\`$1'"
echo >&2 $"Try \`ldd --help' for more information."
exit 1
;;
  *)
break
;;
  esac
done

nonelf ()
{
  # Maybe extra code for non-ELF binaries.
  return 1;
}

add_env="LD_TRACE_LOADED_OBJECTS=1 LD_WARN=$warn LD_BIND_NOW=$bind_now"
add_env="$add_env LD_VERBOSE=$verbose"
if test "$unused" = yes; then
  add_env="$add_env LD_DEBUG=\"$LD_DEBUG${LD_DEBUG:+,}unused\""
fi

# The following command substitution is needed to make ldd work in SELinux
# environments where the RTLD might not have permission to write to the
# terminal.  The extra "x" character prevents the shell from trimming trailing
# newlines from command substitution results.  This function is defined as a
# subshell compound list (using "(...)") to prevent parameter assignments from
# affecting the calling shell execution environment.
try_trace() (
  output=$(eval 
/home/rhieber/Projects/OSELAS.BSP-MyPlatform/platform-myplatform/sysroot-cross/bin/qemu-cross
 -E "${add_env// /,}" '"$@"' 2>&1; rc=$?; printf 'x'; exit $rc)
  rc=$?
  printf '%s' "${output%x}"
  return $rc
)

case $# in
0)
  

Re: [ptxdist] [PATCH v2] ibrdtn: add packaging rules for IBR-DTN and dtndht

2016-09-07 Thread Roland Hieber
On 07.09.2016 15:48, Michael Olbrich wrote:
>> +menuconfig IBRDTND
>> +tristate
>> +prompt "ibrdtnd   "
>> +select IBRDTN
>> +select LIBC_M
>> +select LIBDAEMONif IBRDTND_ENABLE_DAEMON
>> +select DTNDHT   if IBRDTND_ENABLE_DTNDHT
>> +select IBRCOMMON_WITH_OPENSSL   if IBRDTND_WITH_TLS
> 
> This looks wrong. If IBRCOMMON is needed then you must select the toplevel
> symbol as well.

Right, thanks. IBRCOMMON is already selected indirectly by selecting
IBRDTN, but I have now also added it here for clarification.

>> +# 
>> 
>> +# Target-Install
>> +# 
>> 
>> +
>> +$(STATEDIR)/ibrdtnd.targetinstall:
>> +@$(call targetinfo)
>> +
>> +@$(call install_init, ibrdtnd)
>> +@$(call install_fixup, ibrdtnd,PRIORITY,optional)
>> +@$(call install_fixup, ibrdtnd,SECTION,base)
>> +@$(call install_fixup, ibrdtnd,AUTHOR,"Roland Hieber 
>> <roh...@rohieb.name>")
>> +@$(call install_fixup, ibrdtnd,DESCRIPTION,missing)
>> +
>> +@$(call install_copy, ibrdtnd, 0, 0, 0755, -, /usr/sbin/dtnd)
>> +@$(call install_alternative, ibrdtnd, 0, 0, 0644, /etc/ibrdtnd.conf)
>> +
>> +ifdef PTXCONF_IBRDTND_WITH_TLS
>> +@$(call install_copy, ibrdtnd, 0, 0, 0755, -, /usr/bin/ibrdtn-genkey.sh)
>> +@mkdir -p ${ROOTDIR}/etc/ibrdtn/bpsec ${ROOTDIR}/etc/ibrdtn/certs
> 
> No, you nned to do this to create a directory:
> 
>   @$(call install_copy, ibrdtnd, 0, 0, 0755, /etc/ibrdtn/certs)
> 
> Michael

Yes right, this was already noted by Robert Schwebel, I have already
edited it in my local working copy, and will send an updated patch once
the key generation in /etc/rc.once is working.  But unfortunately there
are currently things of higher priorities for me, so this will probably
still take a while :-/

 - Roland



signature.asc
Description: OpenPGP digital signature
___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH] New package: imagemagick

2016-09-14 Thread Roland Hieber
Hey hey,

On 14.09.2016 08:31, Guillermo Rodriguez Garcia wrote:
> Hello, any feedback on this one?
> 
> Guillermo
> 
> 2016-09-02 12:14 GMT+02:00 Guillermo Rodriguez :
>> This adds a new package for ImageMagick 7. Some configuration
>> options are set to sensible defaults for embedded targets (quantum
>> depth set to 8 pixels, HDRI disabled). See notes in imagemagick.make.
>>
>> Signed-off-by: Guillermo Rodriguez 
>>
>> ---
>>  rules/imagemagick.in   |   41 ++
>>  rules/imagemagick.make |  142 
>> 
>>  2 files changed, 183 insertions(+)
>>  create mode 100644 rules/imagemagick.in
>>  create mode 100644 rules/imagemagick.make
>>
>> diff --git a/rules/imagemagick.in b/rules/imagemagick.in
>> new file mode 100644
>> index 000..90a0eb6
>> --- /dev/null
>> +++ b/rules/imagemagick.in
>> @@ -0,0 +1,41 @@
>> +## SECTION=multimedia_tools
>> +
>> +menuconfig IMAGEMAGICK
>> +   tristate
>> +   select ZLIB if IMAGEMAGICK_USE_ZLIB
>> +   select LIBPNG if IMAGEMAGICK_USE_LIBPNG
>> +   select LIBJPEG if IMAGEMAGICK_USE_LIBJPEG

I guess these should be tab-aligned before "if", at least I got that as
feedback for my patch :)

>> +   prompt "imagemagick   "
>> +   help
>> + ImageMagick® is a software suite to create, edit, compose, or 
>> convert
>> + bitmap images. It can read and write images in a variety of formats
>> + (over 200) including PNG, JPEG, JPEG-2000, GIF, TIFF, DPX, EXR, 
>> WebP,
>> + Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror,
>> + rotate, distort, shear and transform images, adjust image colors, 
>> apply
>> + various special effects, or draw text, lines, polygons, ellipses 
>> and
>> + Bézier curves.
>> +
>> +if IMAGEMAGICK
>> +
>> +config IMAGEMAGICK_USE_ZLIB
>> +   bool
>> +   default y
>> +   prompt "Enable ZLIB"
>> +   help
>> + Enable ZLIB support
>> +
>> +config IMAGEMAGICK_USE_LIBPNG
>> +   bool
>> +   default y
>> +   prompt "Enable PNG"
>> +   help
>> + Enable PNG support
>> +
>> +config IMAGEMAGICK_USE_LIBJPEG
>> +   bool
>> +   default y
>> +   prompt "Enable JPEG"
>> +   help
>> + Enable JPEG support
>> +
>> +endif
>> diff --git a/rules/imagemagick.make b/rules/imagemagick.make
>> new file mode 100644
>> index 000..f07bab7
>> --- /dev/null
>> +++ b/rules/imagemagick.make
>> @@ -0,0 +1,142 @@
>> +# -*-makefile-*-
>> +#
>> +# Copyright (C) 2016 by Guillermo Rodriguez 
>> +#
>> +# 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_IMAGEMAGICK) += imagemagick
>> +
>> +#
>> +# Paths and names
>> +#
>> +IMAGEMAGICK_VERSION:= 7.0.2-10
>> +IMAGEMAGICK_MD5:= e1cb23d9c10a8eff228ef30ee281711a
>> +IMAGEMAGICK:= ImageMagick-$(IMAGEMAGICK_VERSION)
>> +IMAGEMAGICK_SUFFIX := tar.xz
>> +IMAGEMAGICK_URL:= 
>> ftp://ftp.nluug.nl/pub/ImageMagick/$(IMAGEMAGICK).$(IMAGEMAGICK_SUFFIX)
>> +IMAGEMAGICK_SOURCE := $(SRCDIR)/$(IMAGEMAGICK).$(IMAGEMAGICK_SUFFIX)
>> +IMAGEMAGICK_DIR:= $(BUILDDIR)/$(IMAGEMAGICK)
>> +IMAGEMAGICK_LICENSE:= Apache-2.0
>> +
>> +# 
>> 
>> +# Prepare
>> +# 
>> 
>> +
>> +IMAGEMAGICK_QUANTUM_DEPTH := 8

If this is an option which is changed often, make it a text field in the
.in file.

>> +
>> +IMAGEMAGICK_PATH   := PATH=$(CROSS_PATH)
>> +IMAGEMAGICK_ENV:= $(CROSS_ENV)
>> +
>> +#
>> +# See: http://www.imagemagick.org/script/advanced-unix-installation.php
>> +#
>> +# Notes:
>> +# - Threading is disabled as it brings in a dependency with libgomp.so
>> +#   (OpenMP) which fails at runtime; disabling openmp itself doesn't seem
>> +#   to be enough.
>> +# - Quantum depth is set to 8. Most display adapters and image formats
>> +#   don't support more than 8 bits per pixel quantum (i.e. per each of the
>> +#   R, G, B, and alpha components), and higher values have an impact in
>> +#   runtime performance.
>> +# - HDRI is disabled. It is not supported by most image formats, and has
>> +#   a severe impact in runtime performance.
>> +# - The configure script will try to detect external "helper" programs
>> +#   available in the host and store their paths in delegates.xml. These
>> +#   are obviously not applicable on the target. Just ignore the generated
>> +#   delegates.xml file.
>> +#
>> +IMAGEMAGICK_AUTOCONF := \
>> +   $(CROSS_AUTOCONF_USR) \
>> +   --disable-docs \
>> +   --enable-shared \
>> +   

Re: [ptxdist] gobject-introspection: syntax error, unexpected typedef-names

2016-09-09 Thread Roland Hieber

On 09.09.2016 08:38, Michael Olbrich wrote:

I don't know how to find out the minimum required kernel version for a
compiled glibc but I looked at the configure options used for
OSELAS.Toolchain-2016.06.0. The minimum required kernel version is set to
3.18 :-/.


OK, I tried building on kernel 4.6.0 from jessie-backports. The FATAL 
errors are gone but, the syntax errors in the g-i compile stage are 
still being thrown:


  .../sysroot-target/usr/include/glib-2.0/gio/gio-autocleanups.h:106:
  syntax error, unexpected typedef-name, expecting identifier or '(' in
  'typedef GProxy *GProxy_autoptr;' at 'GProxy_autoptr'

...although they don't seem to affect the build, since g-i now 
targetinstalls correctly :)



You could hack ./platform-arm-hf/sysroot-cross/bin/qemu-cross to add '-r
3.18' to the qemu command-line. That may help, but could cause other issues
later, but probably not for the g-i stuff.


Uhh, that seems more like a dirty hack than a real fix to me ;-) I'll 
rather compile with a newer host kernel.


Thanks!

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH] ibrdtn: add packaging rules for IBR-DTN and dtndht

2016-08-27 Thread Roland Hieber
Hi,

Thanks for the feedback!

On 18.08.2016 08:53, Michael Olbrich wrote:
> I've made several comments below, that apply to more that one place. Please
> fix it everywhere.
> 
> And check your configure options. You need to specify everything that is
> optional or may be auto detected. Please look at some other rules for
> guidance or ask me if you are unsure if an option should be specified.

Okay, everything optional or auto-detected should be pinned down now.
I've basically ignored every configure option relating to the toolchain,
like --enable-static, --enable-maintainer-mode, --with-pic,
--with-gnu-ld, etc.  Some of the packages take paths for CPPUnit, but I
ignored that too since tests are not run.

>> diff --git a/projectroot/lib/systemd/system/ibrdtnd.service 
>> b/projectroot/lib/systemd/system/ibrdtnd.service
>> [...]
>> +[Service]
>> +ExecStartPre=/bin/mkdir -p /etc/ibrdtn/bpsec /etc/ibrdtn/certs
>> +ExecStartPre=/bin/chown root:root -R /etc/ibrdtn/bpsec /etc/ibrdtn/certs
> 
> The rootfs may be read-only. These directories should be created in the
> targetinstall stage.

Right!  I now mkdir'd the folder in the targetinstall stage using
${ROOTDIR}, but it seems the rootdir contents are all created with my
user and chown'd to root in the images stage later, so I didn't care for
chown'ing them in the targetinstall stage (which additionally would have
required (fake)root while building).

> Break like this:
> 
> DTNDHT_CONF_OPT  := \
>   $(CROSS_AUTOCONF_USR) \
>> +--$(call ptx/wwo, PTXCONF_DTNDHT_WITH_OPENSSL)-openssl \
> 
> no '\' for the last line.

Old habit of mine to get fewer unneccessary changes in diffs when adding
options in the future.  But okay, I've left it out for now :)


I also added a LIBC_M dependency in the packages that needed it because
the build output showed "-lm" in libtool calls.  I tried to discover
additional runtime dependencies, but didn't find a good way to determine
which objects are loaded at run time – on my machine I would have used
ldd for that, but I can't do that for ARM binaries.  Is there a way
without actually running the binary (in qemu)?  The Guru Guide chapter
on Managing External Runtime Dependencies is very sparse on that topic.

For the ibr* packages I also added the GitHub releases as additional
URLs, but the dtndht tarballs on GitHub have different checksums than
the tarballs from the official site.  Is there a way to handle that
(other than ignore one site)?

 - Roland



signature.asc
Description: OpenPGP digital signature
___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v2] ibrdtn: add packaging rules for IBR-DTN and dtndht

2016-08-27 Thread Roland Hieber
IBR-DTN is a lightweight implementation of the Bundle Protocol (RFC
5050), designed for embedded systems like the RouterBoard532A or
Ubiquiti RouterStation Pro.

IBR-DTN consists of several upstream tarballs which split its
functionality into modular parts, namely ibrcommon, ibrdtn, ibrdtnd and
ibrdtn-tools.  Although they are released at the same time with the same
version, they are usually packaged separately to provide the modularity
on the package level.  In order to provide clean and readable Makefiles,
the upstream naming scheme is adopted here.

Although dtndht is versioned and released as a separate upstream
package, it is effectively part of IBR-DTN as it is not really used
anywhere else, and it's also developed in close contact with IBR-DTN by
the same authors.  For this reason, I'm including all package rules in a
single patch.

The upstream releases includes some functionality which depends on
software not currently available in ptxdist.  This includes tffs,
wifip2p and libvmime.  I have included the directives for these
features, but commented them out, so they can easily be enabled once
that software gets packaged.

Signed-off-by: Roland Hieber <roh...@rohieb.name>
---
 projectroot/lib/systemd/system/ibrdtnd.service | 10 
 rules/dtndht.in| 30 ++
 rules/dtndht.make  | 58 
 rules/ibrcommon.in | 43 +++
 rules/ibrcommon.make   | 60 
 rules/ibrdtn-tools.in  | 49 +
 rules/ibrdtn-tools.make| 71 
 rules/ibrdtn.in| 32 +++
 rules/ibrdtn.make  | 58 
 rules/ibrdtnd.in   | 70 
 rules/ibrdtnd.make | 76 ++
 11 files changed, 557 insertions(+)
 create mode 100644 projectroot/lib/systemd/system/ibrdtnd.service
 create mode 100644 rules/dtndht.in
 create mode 100644 rules/dtndht.make
 create mode 100644 rules/ibrcommon.in
 create mode 100644 rules/ibrcommon.make
 create mode 100644 rules/ibrdtn-tools.in
 create mode 100644 rules/ibrdtn-tools.make
 create mode 100644 rules/ibrdtn.in
 create mode 100644 rules/ibrdtn.make
 create mode 100644 rules/ibrdtnd.in
 create mode 100644 rules/ibrdtnd.make

diff --git a/projectroot/lib/systemd/system/ibrdtnd.service 
b/projectroot/lib/systemd/system/ibrdtnd.service
new file mode 100644
index 000..bc8bc27
--- /dev/null
+++ b/projectroot/lib/systemd/system/ibrdtnd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=IBR-DTN Bundle Protocol daemon
+Requires=network.target
+
+[Service]
+ExecStart=/usr/sbin/dtnd -D -c /etc/ibrdtnd.conf
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/rules/dtndht.in b/rules/dtndht.in
new file mode 100644
index 000..21d6ff1
--- /dev/null
+++ b/rules/dtndht.in
@@ -0,0 +1,30 @@
+## SECTION=networking
+
+menuconfig DTNDHT
+   tristate
+   prompt "dtndht"
+   select OPENSSL  if DTNDHT_WITH_OPENSSL
+   help
+ DTNDHT is a library providing a fully distributed BitTorrent DHT-based
+ naming service especially for DTN Bundle Protocol EIDs (RFC 5050).
+
+if DTNDHT
+
+config DTNDHT_ENABLE_BLACKLIST
+   bool
+   default y
+   prompt "enable blacklist"
+
+config DTNDHT_ENABLE_RATING
+   bool
+   default y
+   prompt "enable peer rating"
+
+config DTNDHT_WITH_OPENSSL
+   bool
+   default y
+   prompt "use OpenSSL instead of built-in crypto"
+
+endif
+
+# vim: syntax=kconfig
diff --git a/rules/dtndht.make b/rules/dtndht.make
new file mode 100644
index 000..c47bb62
--- /dev/null
+++ b/rules/dtndht.make
@@ -0,0 +1,58 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2016 by Roland Hieber <roh...@rohieb.name>
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_DTNDHT) += dtndht
+
+#
+# Paths and names
+#
+DTNDHT_VERSION := 0.2.3
+DTNDHT_MD5 := 37c33910ac7e760aad4db81724aeb4fb
+DTNDHT := dtndht-$(DTNDHT_VERSION)
+DTNDHT_SUFFIX  := tar.gz
+DTNDHT_SOURCE  := $(SRCDIR)/$(DTNDHT).$(DTNDHT_SUFFIX)
+DTNDHT_DIR := $(BUILDDIR)/$(DTNDHT)
+DTNDHT_LICENSE := MIT
+
+DTNDHT_URL := \
+   
https://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases/$(DTNDHT).$(DTNDHT_SUFFIX)
+
+# 
+# Prepare
+# 
+
+#
+# autoconf
+#
+DTNDHT_CONF_TOOL   := autoconf
+DTNDHT_CONF_OPT:= \
+   $(CROSS_AUTOCONF_USR) \
+   --$(call ptx/endis, PTXCONF_DTNDHT_ENABLE_BLACKLIST)-blacklist \
+   --$(call ptx/endis, PTXCONF_DTNDHT_ENABLE_RATING)-rating \
+   --

Re: [ptxdist] [PATCH] ibrdtn: add packaging rules for IBR-DTN and dtndht

2016-08-22 Thread Roland Hieber
On 18.08.2016 08:53, Michael Olbrich wrote:
> And check your configure options. You need to specify everything that is
> optional or may be auto detected. Please look at some other rules for
> guidance or ask me if you are unsure if an option should be specified.

Uh, good point. Most of the --disable/--enable options seem to be built
in a way that their state is autodetected, except when overwritten on
the command line. But not for every --disable there is also a matching
--enable (that would let the configure fail if things are wrong)!

For example, in ibrcommon, only --disable-netlink really works and
disables netlink support, but --enable-netlink also disables netlink
support, because AC_ARG_ENABLE only checks for the existence of the
--*-netlink switches, not for their actual value. [0]

One could argue that configure (without --disable-netlink) will try to
detect libnl3 and find it every time because it is listed as a
dependency in the rules and is therefore built before ibrcommon.  On the
other hand, if things go wrong somehow, libnl3 could not be detected
although it should be, and configure will not interpret that as a
failure and happily build without netlink support.  So it seems like a
better solution to me if we patch those AC_ARG_ENABLE calls so they
respect the actual value of the command line switch, like in [1].

Same applies e.g. for --enable-debug and --enable-gcov (no
--disable-debug or --disable-gcov), and I didn't look into the other
ibrdtn packages yet...

[0]:
https://github.com/ibrdtn/ibrdtn/blob/master/ibrcommon/configure.ac#L217
[1]: https://autotools.io/autoconf/arguments.html

 - Roland



signature.asc
Description: OpenPGP digital signature
___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH] ibrdtn: add packaging rules for IBR-DTN and dtndht

2016-08-28 Thread Roland Hieber
On 28.08.2016 09:36, Robert Schwebel wrote:
> You can use install_copy and avoid the last argument, this is the right
> mechanism to create a directory with ownership and permissions.

Ah right thanks, it even says so in the manual :)

But thinking this through: /etc/ibrdtn/bpsec is meant to hold the
private key and cert for the Bundle Security Protocol, which are meant
to be generated by ibrdtn-genkey.sh, which uses openssl and hexdump to
generate it.  So technically, IBRDTN_WITH_TLS has to select OPENSSL_BIN
and BUSYBOX_HEXDUMP. However, if the target rootfs is read-only, running
ibrdtn-genkey.sh on the target is futile, and in this case, those
dependencies are unneccessary.  The key material would rather need to be
generated at build time and/or put into projectroot/etc/ibrdtn/bpsec by
the user.  So I'm rather thinking about adding a menuconfig option
"install ibrdtn-genkey.sh", and let the users decide whether they want
to generate keys on the target or deploy them via projectroot/.  I tried
hacking the key generation into the targetinstall stage, but didn't get
it to work, and that really seems more like a job for the configure script.

 - Roland



signature.asc
Description: OpenPGP digital signature
___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] libmd: specification of license tags

2016-10-03 Thread Roland Hieber
Hi,

> One option is of course to simply ignore it, i.e. not use it ;-)

I don't think this is a good option ;-)

> […]
> Now, as I have this can of worms open anyway, what would be the best way
> to specify a license tag ?

Apparently util-linux is similar to that, its README.licenses says:

> Please, check the source code for more details. A license is usually at the 
> start
> of each source file.

The rules file simply specifies multiple licenses:

> UTIL_LINUX_NG_LICENSE := GPL-2.0, GPL-2.0+, GPL-3.0+, LGPL-2.0+, 
> BSD-3-Clause, BSD-4-Clause, public_domain
> UTIL_LINUX_NG_LICENSE_FILES := \
>   
> file://Documentation/licenses/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263
>  \
>   
> file://Documentation/licenses/COPYING.BSD-3;md5=58dcd8452651fc8b07d1f65ce07ca8af
>  \
>   
> file://Documentation/licenses/COPYING.UCB;md5=263860f8968d8bafa5392cab74285262
>  \
>   
> file://Documentation/licenses/COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c

 - Roland



signature.asc
Description: OpenPGP digital signature
___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH] create_docs: create srcdir recursively

2016-11-04 Thread Roland Hieber
This allows to build the documentation on a fresh tree when
platform-dir/ does not exist yet

Signed-off-by: Roland Hieber <roh...@rohieb.name>
---
 bin/ptxdist | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bin/ptxdist b/bin/ptxdist
index 1afd6b0..633b599 100755
--- a/bin/ptxdist
+++ b/bin/ptxdist
@@ -1222,7 +1222,7 @@ create_docs() {
ptxd_source_kconfig "${PTXDIST_PLATFORMCONFIG}"
fi &&
 
-   mkdir "${srcdir}" &&
+   mkdir -p "${srcdir}" &&
ptxd_in_path PTXDIST_PATH doc &&
for dir in "${ptxd_reply[@]}"; do
for entry in $(cd "${dir}"; ls); do
-- 
2.9.3


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] Python 3.5 and the use of getrandom() system call

2016-11-18 Thread Roland Hieber
On 18.11.2016 18:15, Clemens Gruber wrote:
> It's probably a bad idea to just patch python for every PTXdist user.
> Not everybody is willing to trade security for faster start times.

Judging from Python-3.5.0/Python/random.c:118, it will use the
getrandom() syscall with flags=0, and according to the getrandom(2) man
page, this will read from /dev/urandom, and also block if the
nonblocking entropy pool is not initialized yet. (The man page also
mentions explicitly that the random bytes returned by it can be used for
cryptographic purposes, for all else, see Filippo Valsordas talk at 32c3
[0] ;-)) So, even if it does not solve the original problem (long boot
times), I see nothing wrong with doing this for every user.

[0]: https://www.youtube.com/watch?v=Q8JAlZ-HJQI

> Besides, not having enough entropy will lead to other problems as well.

Oh, could you please elaborate on that? :-)

 - Roland



signature.asc
Description: OpenPGP digital signature
___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [RFC] ptxd_make_get_http: Specify the username and password

2017-01-07 Thread Roland Hieber
Hm, curl loads URLs in the form http://user:password@server/path just
fine for me (and ptxd_make_get() doesn't seem to strip that part, so I
guess it should also be usable in the Makefiles). The only disadvantage
in that case is that the username cannot contain a colon, but neither
can it in your implementation :) So I would change it to take a separate
"user" and "password" parameter in order to enhance the usefullness of
this option.

 - Roland

On 07.01.2017 22:58, Ladislav Michl wrote:
> Hi there,
> 
> I need to pass username and password to download mercurial snapshot from
> server, so something like this now works:
> package_URL := 
> https://mercurial.site.com/hg/package/archive/$(package_VERSION).$(package_SUFFIX);user=:
> 
> Is it acceptable to support it in upstream PTXdist?
> (it could be probably rewritten some nicer way, but I'm not too good at shell 
> scripting)
> 
>   ladis
> 
> diff --git a/scripts/lib/ptxd_make_get.sh b/scripts/lib/ptxd_make_get.sh
> index 2bac97817..e392e8b0c 100644
> --- a/scripts/lib/ptxd_make_get.sh
> +++ b/scripts/lib/ptxd_make_get.sh
> @@ -25,6 +25,7 @@ ptxd_make_get_http() {
>   # scan for valid options
>   #
>   while [ ${#} -ne 0 ]; do
> + local cred
>   local opt="${1}"
>   shift
>  
> @@ -45,6 +46,13 @@ ptxd_make_get_http() {
>   curl_opts[${#curl_opts[@]}]="--cookie"
>   curl_opts[${#curl_opts[@]}]="${opt#cookie:}"
>   ;;
> + user=*)
> + cred="${opt#user=}"
> + cred=(${cred//:/ })
> + opts[${#opts[@]}]="--user=${cred[0]}"
> + opts[${#opts[@]}]="--password=${cred[1]}"
> + curl_opts[${#curl_opts[@]}]="${opt#user=}"
> + ;;
>   *)
>   ptxd_bailout "invalid option '${opt}' to 
> ${FUNCNAME}"
>   ;;
> 
> ___
> ptxdist mailing list
> ptxdist@pengutronix.de
> 

___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] GitHub and free software

2017-03-17 Thread Roland Hieber
On 16.03.2017 16:53, Clemens Gruber wrote:
> On Thu, Mar 02, 2017 at 06:35:42PM +0100, Uwe Kleine-König wrote:
>> […]
>>  https://www.mirbsd.org/permalinks/wlog-10_e20170301-tg.htm
>> […]
> 
> https://www.fsf.org/blogs/licensing/do-githubs-updated-terms-of-service-conflict-with-copyleft

Also see LWNs analysis of the situation:

https://lwn.net/Articles/716372/

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] get SVN folder ( without .tar extension)

2017-04-06 Thread Roland Hieber
Hi,

First, please start a new thread for each new topic instead of replying
to another mail, so that threads don't get lost. :)

Judging from the (still undocumented parts of the) ptxdist code, you
should be able to put svn:// urls directly into YOURPACKAGE_URL variable
in the Makefile. That URL can have an optional parameter ";rev=..." at
the end, like this:

PACKAGES-$(PTXCONF_YOURPACKAGE) += yourpackage
YOURPACKAGE_URL = svn://your-server/your-repostitory;ref=20

(Unfortunately, I can't test it, I didn't find any SVN repos on the web)

In the background, ptxdist will clone the repository, update to the
specified revision, and still build a tarball out of it, so the next
build steps are transparent.

Hope that helps,

 - Roland


On 06.04.2017 11:26, Pedro Lafuente wrote:
> Hello there,
> 
> I know that since ptxdist-2013.08 it is possible to get svn projects
> without .tar extension (project folder).
> 
> Any idea how to integrate that in the makefile from a new package?
> 
> Much appreciated for your help.
> 
> Regards,
> 
> Pedro


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] get SVN folder ( without .tar extension)

2017-04-06 Thread Roland Hieber
On 06.04.2017 13:55, Roland Hieber wrote:
> YOURPACKAGE_URL = svn://your-server/your-repostitory;ref=20

Mistakes influenced by the Git terminology… Sorry, this should have been
"rev=", not "ref=".

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH] qrencode: new package: library and tools for encoding QR codes

2017-08-11 Thread Roland Hieber



On 11.08.2017 12:44, Roland Hieber wrote:

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
  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?


 - Roland


+
+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"
+
+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 <r.hie...@pengutronix.de>
+#
+# 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 
<r.hie...@pengutronix.de>")
+   @$(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

[ptxdist] [PATCH] qrencode: new package: library and tools for encoding QR codes

2017-08-11 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 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
+
+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"
+
+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 <r.hie...@pengutronix.de>
+#
+# 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 
<r.hie...@pengutronix.de>")
+   @$(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

Re: [ptxdist] changing fakeroot-1.14.4/configure file for ptxdist-2015.05.0

2017-07-14 Thread Roland Hieber
On 13.07.2017 18:55, Alexander Dahl wrote:
> IIRC there's also a chapter about patch management in the
> documentation.

Yes, see here:

http://testbed.ptxdist.org/doc/dev_manual.html#creating-patches-for-a-package

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v2 1/5] doc: document git patch workflow

2017-07-14 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>

---
v2:
 - expanded warning about git option in ptxdist setup
 - foo-0.1 -> foo-1.1.0 everywhere
 - mention quilt manpage
 - separate quilt and git sections further and give more explanation
---
 doc/dev_manual.rst | 53 ++---
 1 file changed, 50 insertions(+), 3 deletions(-)

diff --git a/doc/dev_manual.rst b/doc/dev_manual.rst
index a54888b43..b99296894 100644
--- a/doc/dev_manual.rst
+++ b/doc/dev_manual.rst
@@ -1223,7 +1223,6 @@ Creating Patches for a Package
 PTXdist uses the utilities *git*, *patch* or *quilt* to work with
 patches or patch series. We recommend *git*, as it can manage patch
 series in a very easy way.
-For this manual and the example we use *quilt* instead.
 
 Creating a Patch Series for a Package
 ^
@@ -1231,6 +1230,9 @@ Creating a Patch Series for a Package
 To create a patch series for the first time, we can run the following
 steps. We are still using our *foo-1.1.0* example package here:
 
+Using quilt
+"""""""""""
+
 We create a special directory for the patch series in the local project
 directory:
 
@@ -1263,11 +1265,56 @@ present in ``patches/foo-1.1.0`` and can be used the 
next time we
 extract the package again.
 
 All we have to do now is to do the modification we need to make the
-package work. We change into the build directory and use *quilt* to
+package work. We change into the build directory and use quilt_ to
 create new patches, add files to respective patches, modify these files
 and refresh the patches to save our changes.
+See the *quilt* documentation (``man 1 quilt``) for more information.
+
+.. _quilt: http://savannah.nongnu.org/projects/quilt
+
+Using Git
+"""""""""
+
+Create the patch directory like above for *quilt*,
+but only add an empty series file::
+
+$ mkdir -p patches/foo-1.1.0
+$ touch patches/foo-1.1.0/series
+
+Then extract the package with an additional command line switch:
+
+::
+
+$ ptxdist --git extract foo
+
+The empty series file makes PTXdist create a Git repository in the
+respective package build directory,
+and import the package source as the first commit.
+
+.. note:: Optionally, you can enable the setting *Developer Options →
+  use git to apply patches* in `ptxdist setup` to get this behaviour
+  as a default for every package.
+  However, note that this setting is still experimental and can lead to
+  failures for some packages.
+
+Then you can change into the package build directory
+(``platform-/build-target/foo-1.1.0``),
+patch the required source files,
+and make Git commits on the way.
+The Git history should now look something like this:
+
+::
+
+$ git log --oneline --decorate
+* df343e821851 (HEAD -> master) Makefile: don't build the tests
+* 65a360c2bd60 strfry.c: frobnicate the excusator
+* fdc315f6844c (tag: foobar-1.1.0, tag: base) initial commit
+
+Finally, call ``git ptx-patches`` to regenerate the patch series in the
+``patches/foo-1.1.0`` folder.
+This way they don't get lost when cleaning the package.
 
-We recommend this way when modifying source files. But this way is
+We recommend working with patches when modifying source files. But this way is
 improper when an autotools based buildsystem itself needs modifications.
 Refer to section :ref:`configure_rebuild` on how PTXdist can
 handle this special task.
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v2 4/5] doc: faq: copy editing, small rewrites for more clarity

2017-07-14 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>

---
v2: fix reference to ptx_dev_manual
---
 doc/faq.rst | 69 +
 1 file changed, 37 insertions(+), 32 deletions(-)

diff --git a/doc/faq.rst b/doc/faq.rst
index 19dd5ad30..e05287815 100644
--- a/doc/faq.rst
+++ b/doc/faq.rst
@@ -6,12 +6,15 @@ PTXdist does not support to generate some files in a way I 
need them. What can I
 Answer:
   Everything PTXdist builds is controlled by “package rule files”,
   which in fact are Makefiles (``rules/*.make``). If you modify such a
-  file you can change it’s behaviour in a way you need. It is generally
-  no good idea to modify the generic package rule files installed by
+  file you can change its behaviour in a way you need. It is generally
+  not a good idea to modify the generic package rule files installed by
   PTXdist, but it is always possible to copy one of them over into the
-  ``rules/`` directory of a project. Package rule files in the project
+  ``rules/`` directory of your project. Package rule files in the project
   will precede global rule files with the same name.
 
+  Read the section :ref:`ptx_dev_manual` in the Developer’s Manual to get
+  more information.
+
 How can I stop PTXdist to build in parallel?
 
 Question:
@@ -36,16 +39,16 @@ Question:
 Answer:
   Yes, this error message is confusing. But it usually only means
   that you should check the following (!) lines for missing backslashes
-  (line separators).
+  (line continuation).
 
 I got a message similar to “package  is empty. not generating.” What 
does it mean?
 

 Answer:
-  The ’ipkg’ tool was advised to generate a new ipkg-packet, but the
-  folder was empty. Sometime it means a typo in the package name when
+  The ``ipkg`` tool was advised to generate a new ipkg archive, but the
+  folder was empty. Sometimes this is just a typo in the package name when
   the ``install_copy`` macro was called. Ensure all these macros are using
-  the same package name. Or did you disable a menuentry and now nothing
-  will be installed?
+  the same package name. Or did you disable a menu entry and now nothing
+  is installed?
 
 How do I download all required packages at once?
 
@@ -55,8 +58,8 @@ Answer:
   $ ptxdist make get
 
   This starts to download all required packages in one run. It does
-  nothing if the archives are already present in the source path. (run
-  “PTXdist setup” first).
+  nothing if the archives are already present in the source path. Run
+  ``ptxdist setup`` first to set up the desired source folder.
 
 I want to backup all source archives for my BSP
 ~~~
@@ -71,7 +74,7 @@ Answer:
   $ ptxdist export_src 
 
   It copies all archives from where are your source archives stored to
-   which can be your backup media.
+  the path  which can be on your backup media.
 
 OSELAS toolchain fails to start due to missing libraries
 
@@ -82,12 +85,14 @@ Question:
   failing to start due to missing libraries.
 
 Answer:
-  This happens when the toolchain was copied without regarding to
-  retain links. There are archive programs around that convert links
+  This happens when the toolchain was copied without regard to
+  retaining symlinks. There are archive programs around that convert links
   into real files. When you are using such programs to create a
   toolchain archive this toolchain will be broken after extracting it
-  again. Solution: Use archive programs that retain links as they are
-  (tar for example). Here an example for a broken toolchain::
+  again.
+  
+  Solution: Use archive programs that retain symlinks as they are
+  (tar for example). Here is an example of a broken toolchain::
 
   $ ll `find . -name "libcrypt*"`
   -rwxr-xr-x 1 mkl ptx 55K 2007-07-25 14:54 ./lib/libcrypt-2.5.so*
@@ -130,27 +135,27 @@ Using more than one kernel version per BSP
 ~~
 Question:
   I want to use more than one kernel revision in my BSP. How can I
-  avoid maintaining one ptxconfig per kernel?
+  avoid maintaining one platformconfig per kernel?
 
 Answer:
   One solution could be to include the kernel revision into the name
-  of the kernel config file. Instead of the default kernelconfig.target
-  name you should use ``kernelconfig-.target``. In the kernel
-  config file menu entry you should enter
-  ``kernelconfig-$PTXCONF_KERNEL_VERSION.target``. Whenever you change
-  the linux kernel Version menu entry now, this will ensure using a
-  different kernel config file, too.
+  of the kernel config file. Instead of the default ``kernelconfig``
+  name you could use ``kernelconfig-`` instead. In ``ptxdist
+  menuconfig 

[ptxdist] [PATCH v2 2/5] doc: promote faq to own section

2017-07-14 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 doc/daily_work_section.rst | 1 -
 doc/{faq.inc => faq.rst}   | 0
 doc/index.rst  | 1 +
 3 files changed, 1 insertion(+), 1 deletion(-)
 rename doc/{faq.inc => faq.rst} (100%)

diff --git a/doc/daily_work_section.rst b/doc/daily_work_section.rst
index daec36dca..0e4e6e767 100644
--- a/doc/daily_work_section.rst
+++ b/doc/daily_work_section.rst
@@ -5,4 +5,3 @@ Various Aspects of Daily Work
 .. include:: nfsroot.inc
 .. include:: working_with_git_sources.inc
 .. include:: including_bsp_doc.inc
-.. include:: faq.inc
diff --git a/doc/faq.inc b/doc/faq.rst
similarity index 100%
rename from doc/faq.inc
rename to doc/faq.rst
diff --git a/doc/index.rst b/doc/index.rst
index 9aad6cddb..7ab42d4c7 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -17,6 +17,7 @@ Welcome to the PTXdist Universe
dev_manual
ref_manual
daily_work_section
+   faq
getting_help
 
 * :ref:`search`
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v2 3/5] doc: faq: apply more structure

2017-07-14 Thread Roland Hieber
Give the FAQ section some more structure by inserting one heading per
FAQ item, and separate questions and answers visible. This also causes
the questions to appear in the table of contents. Both should lead to
more readability of the FAQ section.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>

---
v2:
 - fix warnings about ` in section headers
---
 doc/faq.rst | 330 +---
 1 file changed, 181 insertions(+), 149 deletions(-)

diff --git a/doc/faq.rst b/doc/faq.rst
index 952705883..19dd5ad30 100644
--- a/doc/faq.rst
+++ b/doc/faq.rst
@@ -1,157 +1,189 @@
 Frequently Asked Questions (FAQ)
 
 
-Q: PTXdist does not support to generate some files in a way I need them. What 
can I do?
-A: Everything PTXdist builds is controlled by “package rule files”,
-which in fact are Makefiles (``rules/*.make``). If you modify such a
-file you can change it’s behaviour in a way you need. It is generally
-no good idea to modify the generic package rule files installed by
-PTXdist, but it is always possible to copy one of them over into the
-``rules/`` directory of a project. Package rule files in the project
-will precede global rule files with the same name.
-
-Q: My kernel build fails. But I cannot detect the correct position,
-due to parallel building. How can I stop PTXdist to build in parallel?
-A: Force PTXdist to stop building in parallel which looks somehow
-like:
-
-::
-
-$ ptxdist -j1 go
-
-Q: I made my own rule file and now I get error messages like
-
-::
-
-my_project/rules/test.make:30: *** unterminated call to function `call': 
missing `)'.  Stop.
-
-But line 30 only contains ``@$(call targetinfo, $@)`` and it seems all
-right. What does it mean?
-A: Yes, this error message is confusing. But it usually only means
-that you should check the following (!) lines for missing backslashes
-(line separators).
-
-Q: I got a message similar to “package  is empty. not
-generating.” What does it mean?
-A: The ’ipkg’ tool was advised to generate a new ipkg-packet, but the
-folder was empty. Sometime it means a typo in the package name when
-the ``install_copy`` macro was called. Ensure all these macros are using
-the same package name. Or did you disable a menuentry and now nothing
-will be installed?
-
-Q: How do I download all required packages at once?
-A: Run this command prior the build:
-
-::
-
-$ ptxdist make get
-
-This starts to download all required packages in one run. It does
-nothing if the archives are already present in the source path. (run
-“PTXdist setup” first).
-
-Q: I want to backup the source archives my PTXdist project relys on.
-How can I find out what packages my project requires to build?
-A: First build your PTXdist project completely and then run the
-following command:
-
-::
-
-$ ptxdist export_src 
-
-It copies all archives from where are your source archives stored to
- which can be your backup media.
-
-Q: To avoid building the OSELAS toolchain on each development host, I
-copied it to another machine. But on this machine I cannot build any
-BSP with this toolchain correctly. All applications on the target are
-failing to start due to missing libraries.
-A: This happens when the toolchain was copied without regarding to
-retain links. There are archive programs around that convert links
-into real files. When you are using such programs to create a
-toolchain archive this toolchain will be broken after extracting it
-again. Solution: Use archive programs that retain links as they are
-(tar for example). Here an example for a broken toolchain:
-
-::
-
-$ ll `find . -name "libcrypt*"`
--rwxr-xr-x 1 mkl ptx 55K 2007-07-25 14:54 ./lib/libcrypt-2.5.so*
--rwxr-xr-x 1 mkl ptx 55K 2007-07-25 14:54 ./lib/libcrypt.so.1*
--rw-r--r-- 1 mkl ptx 63K 2007-07-25 14:54 ./usr/lib/libcrypt.a
--rw-r--r-- 1 mkl ptx 64K 2007-07-25 14:54 ./usr/lib/libcrypt_p.a
--rwxr-xr-x 1 mkl ptx 55K 2007-07-25 14:54 ./usr/lib/libcrypt.so*
-
-And in contrast, this one is intact:
-
-::
-
-$ ll `find . -name "libcrypt*"`
--rwxr-xr-x 1 mkl ptx 55K 2007-11-03 13:30 ./lib/libcrypt-2.5.so*
-lrwxrwxrwx 1 mkl ptx  15 2008-02-20 14:52 ./lib/libcrypt.so.1 -> 
libcrypt-2.5.so*
--rw-r--r-- 1 mkl ptx 63K 2007-11-03 13:30 ./usr/lib/libcrypt.a
--rw-r--r-- 1 mkl ptx 64K 2007-11-03 13:30 ./usr/lib/libcrypt_p.a
-lrwxrwxrwx 1 mkl ptx  23 2008-02-20 14:52 ./usr/lib/libcrypt.so -> 
../../lib/libcrypt.so.1*
-
-Q: I followed the instructions how to integrate my own plain source
-project into PTXdist. But when I try to build it, I get:
-
-::
+PTXdist does not support to generate some files in a way I need them. What can 
I do?
+
+Answer:
+  Everything PTXdist builds is controlled by “package rule files”,
+  which in fact are Makefiles (``rules/*.make``). If you modify such a
+  fi

[ptxdist] [PATCH 5/5] doc: css: use more ptxdist-like colors for admonitions

2017-07-14 Thread Roland Hieber
The old colors for note blocks and important blocks didn't go well with
the PTXdist logo, so use colors from the logo instead. Screenshots:

Before:
  
https://gist.github.com/rohieb/87e5d527c283a42e0919d07a44af3641/raw/8f1612b8f2c9d10f484e54f3f23dff5edbd6e473/29237df2-688d-11e7-be43-cfe49cbb0ea2.png
  
https://gist.github.com/rohieb/87e5d527c283a42e0919d07a44af3641/raw/8f1612b8f2c9d10f484e54f3f23dff5edbd6e473/fd2ff4f6-688b-11e7-beb0-dfc6959582bc.png

After:
  
https://gist.github.com/rohieb/87e5d527c283a42e0919d07a44af3641/raw/8f1612b8f2c9d10f484e54f3f23dff5edbd6e473/cca5934e-688c-11e7-b185-376b499e80bb.png
  
https://gist.github.com/rohieb/87e5d527c283a42e0919d07a44af3641/raw/8f1612b8f2c9d10f484e54f3f23dff5edbd6e473/b581da92-688c-11e7-8fb3-8792133838e3.png

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 doc/_static/css/custom.css | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/doc/_static/css/custom.css b/doc/_static/css/custom.css
index ee2c545e7..0efa6f92c 100644
--- a/doc/_static/css/custom.css
+++ b/doc/_static/css/custom.css
@@ -95,3 +95,17 @@ nav.wy-nav-side #menu-resize .fa {
 nav.wy-nav-side #menu-resize .fa:not(:first-child) {
 margin-left: 0.25em;
 }
+
+.important {
+   background-color: #fff4dd !important;
+}
+.important .admonition-title {
+   background-color: #ff9b00 !important;
+}
+
+.note {
+   background-color: #f2f9e5 !important;
+}
+.note .admonition-title {
+   background-color: #83983e !important;
+}
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH 1/4] doc: document git patch workflow

2017-07-14 Thread Roland Hieber

On 14.07.2017 14:21, Bastian Stender wrote:

+.. note:: Optionally, you can enable the setting *Developer Options →
use git to
+  apply patches* in `ptxdist setup` to enable this permanently.
+  However, note that this setting is still experimental.


Maybe we should mention that this can lead to unexpected side effects. I
remember debugging a package configured with autoconf and AX_IS_RELEASE:

  https://www.gnu.org/software/autoconf-archive/ax_is_release.html

This lead to treating warnings as errors with "use git to apply patches"
and thus compilation failed.


Yes, I remembered something like that, but I couldn't reproduce the 
exact error so I just formulated it generally.



+After commit your patches, call ``git ptx-patches`` to regenerate the
patches
+and the series file in the ``patches/foo-0.1`` folder, so they don't
get lost
+when cleaning the package.


This should be consistent, so ``patches/foo-1.1.0``.


Oh, I changed it afterwards and overlooked that one. Thanks, will send v2.

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 2/4] doc: promote faq to own section

2017-07-14 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 doc/daily_work_section.rst | 1 -
 doc/{faq.inc => faq.rst}   | 0
 doc/index.rst  | 1 +
 3 files changed, 1 insertion(+), 1 deletion(-)
 rename doc/{faq.inc => faq.rst} (100%)

diff --git a/doc/daily_work_section.rst b/doc/daily_work_section.rst
index daec36dca..0e4e6e767 100644
--- a/doc/daily_work_section.rst
+++ b/doc/daily_work_section.rst
@@ -5,4 +5,3 @@ Various Aspects of Daily Work
 .. include:: nfsroot.inc
 .. include:: working_with_git_sources.inc
 .. include:: including_bsp_doc.inc
-.. include:: faq.inc
diff --git a/doc/faq.inc b/doc/faq.rst
similarity index 100%
rename from doc/faq.inc
rename to doc/faq.rst
diff --git a/doc/index.rst b/doc/index.rst
index 9aad6cddb..7ab42d4c7 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -17,6 +17,7 @@ Welcome to the PTXdist Universe
dev_manual
ref_manual
daily_work_section
+   faq
getting_help
 
 * :ref:`search`
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 3/4] doc: faq: apply more structure

2017-07-14 Thread Roland Hieber
Give the FAQ section some more structure by inserting one heading per
FAQ item, and separate questions and answers visible. This also causes
the questions to appear in the table of contents. Both should lead to
more readability of the FAQ section.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 doc/faq.rst | 330 +---
 1 file changed, 181 insertions(+), 149 deletions(-)

diff --git a/doc/faq.rst b/doc/faq.rst
index 952705883..2ebbba17c 100644
--- a/doc/faq.rst
+++ b/doc/faq.rst
@@ -1,157 +1,189 @@
 Frequently Asked Questions (FAQ)
 
 
-Q: PTXdist does not support to generate some files in a way I need them. What 
can I do?
-A: Everything PTXdist builds is controlled by “package rule files”,
-which in fact are Makefiles (``rules/*.make``). If you modify such a
-file you can change it’s behaviour in a way you need. It is generally
-no good idea to modify the generic package rule files installed by
-PTXdist, but it is always possible to copy one of them over into the
-``rules/`` directory of a project. Package rule files in the project
-will precede global rule files with the same name.
-
-Q: My kernel build fails. But I cannot detect the correct position,
-due to parallel building. How can I stop PTXdist to build in parallel?
-A: Force PTXdist to stop building in parallel which looks somehow
-like:
-
-::
-
-$ ptxdist -j1 go
-
-Q: I made my own rule file and now I get error messages like
-
-::
-
-my_project/rules/test.make:30: *** unterminated call to function `call': 
missing `)'.  Stop.
-
-But line 30 only contains ``@$(call targetinfo, $@)`` and it seems all
-right. What does it mean?
-A: Yes, this error message is confusing. But it usually only means
-that you should check the following (!) lines for missing backslashes
-(line separators).
-
-Q: I got a message similar to “package  is empty. not
-generating.” What does it mean?
-A: The ’ipkg’ tool was advised to generate a new ipkg-packet, but the
-folder was empty. Sometime it means a typo in the package name when
-the ``install_copy`` macro was called. Ensure all these macros are using
-the same package name. Or did you disable a menuentry and now nothing
-will be installed?
-
-Q: How do I download all required packages at once?
-A: Run this command prior the build:
-
-::
-
-$ ptxdist make get
-
-This starts to download all required packages in one run. It does
-nothing if the archives are already present in the source path. (run
-“PTXdist setup” first).
-
-Q: I want to backup the source archives my PTXdist project relys on.
-How can I find out what packages my project requires to build?
-A: First build your PTXdist project completely and then run the
-following command:
-
-::
-
-$ ptxdist export_src 
-
-It copies all archives from where are your source archives stored to
- which can be your backup media.
-
-Q: To avoid building the OSELAS toolchain on each development host, I
-copied it to another machine. But on this machine I cannot build any
-BSP with this toolchain correctly. All applications on the target are
-failing to start due to missing libraries.
-A: This happens when the toolchain was copied without regarding to
-retain links. There are archive programs around that convert links
-into real files. When you are using such programs to create a
-toolchain archive this toolchain will be broken after extracting it
-again. Solution: Use archive programs that retain links as they are
-(tar for example). Here an example for a broken toolchain:
-
-::
-
-$ ll `find . -name "libcrypt*"`
--rwxr-xr-x 1 mkl ptx 55K 2007-07-25 14:54 ./lib/libcrypt-2.5.so*
--rwxr-xr-x 1 mkl ptx 55K 2007-07-25 14:54 ./lib/libcrypt.so.1*
--rw-r--r-- 1 mkl ptx 63K 2007-07-25 14:54 ./usr/lib/libcrypt.a
--rw-r--r-- 1 mkl ptx 64K 2007-07-25 14:54 ./usr/lib/libcrypt_p.a
--rwxr-xr-x 1 mkl ptx 55K 2007-07-25 14:54 ./usr/lib/libcrypt.so*
-
-And in contrast, this one is intact:
-
-::
-
-$ ll `find . -name "libcrypt*"`
--rwxr-xr-x 1 mkl ptx 55K 2007-11-03 13:30 ./lib/libcrypt-2.5.so*
-lrwxrwxrwx 1 mkl ptx  15 2008-02-20 14:52 ./lib/libcrypt.so.1 -> 
libcrypt-2.5.so*
--rw-r--r-- 1 mkl ptx 63K 2007-11-03 13:30 ./usr/lib/libcrypt.a
--rw-r--r-- 1 mkl ptx 64K 2007-11-03 13:30 ./usr/lib/libcrypt_p.a
-lrwxrwxrwx 1 mkl ptx  23 2008-02-20 14:52 ./usr/lib/libcrypt.so -> 
../../lib/libcrypt.so.1*
-
-Q: I followed the instructions how to integrate my own plain source
-project into PTXdist. But when I try to build it, I get:
-
-::
+PTXdist does not support to generate some files in a way I need them. What can 
I do?
+
+Answer:
+  Everything PTXdist builds is controlled by “package rule files”,
+  which in fact are Makefiles (``rules/*.make``). If you modify such a
+  file you can change it’s behaviour in a way you need.

[ptxdist] [PATCH 4/4] doc: faq: copy editing, small rewrites for more clarity

2017-07-14 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 doc/faq.rst | 69 +
 1 file changed, 37 insertions(+), 32 deletions(-)

diff --git a/doc/faq.rst b/doc/faq.rst
index 2ebbba17c..e194dd914 100644
--- a/doc/faq.rst
+++ b/doc/faq.rst
@@ -6,12 +6,15 @@ PTXdist does not support to generate some files in a way I 
need them. What can I
 Answer:
   Everything PTXdist builds is controlled by “package rule files”,
   which in fact are Makefiles (``rules/*.make``). If you modify such a
-  file you can change it’s behaviour in a way you need. It is generally
-  no good idea to modify the generic package rule files installed by
+  file you can change its behaviour in a way you need. It is generally
+  not a good idea to modify the generic package rule files installed by
   PTXdist, but it is always possible to copy one of them over into the
-  ``rules/`` directory of a project. Package rule files in the project
+  ``rules/`` directory of your project. Package rule files in the project
   will precede global rule files with the same name.
 
+  Read the section :ref:`_ptx_dev_manual` in the Developer’s Manual to get
+  more information.
+
 How can I stop PTXdist to build in parallel?
 
 Question:
@@ -36,16 +39,16 @@ Question:
 Answer:
   Yes, this error message is confusing. But it usually only means
   that you should check the following (!) lines for missing backslashes
-  (line separators).
+  (line continuation).
 
 I got a message similar to “package  is empty. not generating.” What 
does it mean?
 

 Answer:
-  The ’ipkg’ tool was advised to generate a new ipkg-packet, but the
-  folder was empty. Sometime it means a typo in the package name when
+  The ``ipkg`` tool was advised to generate a new ipkg archive, but the
+  folder was empty. Sometimes this is just a typo in the package name when
   the ``install_copy`` macro was called. Ensure all these macros are using
-  the same package name. Or did you disable a menuentry and now nothing
-  will be installed?
+  the same package name. Or did you disable a menu entry and now nothing
+  is installed?
 
 How do I download all required packages at once?
 
@@ -55,8 +58,8 @@ Answer:
   $ ptxdist make get
 
   This starts to download all required packages in one run. It does
-  nothing if the archives are already present in the source path. (run
-  “PTXdist setup” first).
+  nothing if the archives are already present in the source path. Run
+  ``ptxdist setup`` first to set up the desired source folder.
 
 I want to backup all source archives for my BSP
 ~~~
@@ -71,7 +74,7 @@ Answer:
   $ ptxdist export_src 
 
   It copies all archives from where are your source archives stored to
-   which can be your backup media.
+  the path  which can be on your backup media.
 
 OSELAS toolchain fails to start due to missing libraries
 
@@ -82,12 +85,14 @@ Question:
   failing to start due to missing libraries.
 
 Answer:
-  This happens when the toolchain was copied without regarding to
-  retain links. There are archive programs around that convert links
+  This happens when the toolchain was copied without regard to
+  retaining symlinks. There are archive programs around that convert links
   into real files. When you are using such programs to create a
   toolchain archive this toolchain will be broken after extracting it
-  again. Solution: Use archive programs that retain links as they are
-  (tar for example). Here an example for a broken toolchain::
+  again.
+  
+  Solution: Use archive programs that retain symlinks as they are
+  (tar for example). Here is an example of a broken toolchain::
 
   $ ll `find . -name "libcrypt*"`
   -rwxr-xr-x 1 mkl ptx 55K 2007-07-25 14:54 ./lib/libcrypt-2.5.so*
@@ -130,27 +135,27 @@ Using more than one kernel version per BSP
 ~~
 Question:
   I want to use more than one kernel revision in my BSP. How can I
-  avoid maintaining one ptxconfig per kernel?
+  avoid maintaining one platformconfig per kernel?
 
 Answer:
   One solution could be to include the kernel revision into the name
-  of the kernel config file. Instead of the default kernelconfig.target
-  name you should use ``kernelconfig-.target``. In the kernel
-  config file menu entry you should enter
-  ``kernelconfig-$PTXCONF_KERNEL_VERSION.target``. Whenever you change
-  the linux kernel Version menu entry now, this will ensure using a
-  different kernel config file, too.
+  of the kernel config file. Instead of the default ``kernelconfig``
+  name you could use ``kernelconfig-`` instead. In ``ptxdist
+  menuconfig platform`` under *Linux kernel → patching

[ptxdist] [PATCH 1/4] doc: document git patch workflow

2017-07-14 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 doc/dev_manual.rst | 40 +---
 1 file changed, 37 insertions(+), 3 deletions(-)

diff --git a/doc/dev_manual.rst b/doc/dev_manual.rst
index a54888b43..3fe64a343 100644
--- a/doc/dev_manual.rst
+++ b/doc/dev_manual.rst
@@ -1223,7 +1223,6 @@ Creating Patches for a Package
 PTXdist uses the utilities *git*, *patch* or *quilt* to work with
 patches or patch series. We recommend *git*, as it can manage patch
 series in a very easy way.
-For this manual and the example we use *quilt* instead.
 
 Creating a Patch Series for a Package
 ^
@@ -1248,6 +1247,9 @@ and an empty ``patch`` file.
 $ touch patches/foo-1.1.0/dummy
 $ echo dummy > patches/foo-1.1.0/series
 
+Using quilt
+"""""""""""
+
 Next is to extract the package (if already done, we must remove it
 first):
 
@@ -1263,11 +1265,43 @@ present in ``patches/foo-1.1.0`` and can be used the 
next time we
 extract the package again.
 
 All we have to do now is to do the modification we need to make the
-package work. We change into the build directory and use *quilt* to
+package work. We change into the build directory and use quilt_ to
 create new patches, add files to respective patches, modify these files
 and refresh the patches to save our changes.
+See the *quilt* documentation for more information.
+
+.. _quilt: http://savannah.nongnu.org/projects/quilt
+
+Using Git
+"""""""""
+
+After touching the series file like above, apply an additional command line
+switch to extract the package into a Git repository:
+
+::
+
+$ ptxdist --git extract foo
+
+.. note:: Optionally, you can enable the setting *Developer Options → use git 
to
+  apply patches* in `ptxdist setup` to enable this permanently.
+  However, note that this setting is still experimental.
+
+Then, change into the package build directory, patch the required files, and
+make Git commits on the way.
+The Git history should now look something like this:
+
+::
+
+$ git log --oneline --decorate
+* df343e821851 (HEAD -> master) Makefile: don't build the tests
+* 65a360c2bd60 strfry.c: frobnicate the excusator
+* fdc315f6844c (tag: foobar-1.1.0, tag: base) initial commit
+
+After commit your patches, call ``git ptx-patches`` to regenerate the patches
+and the series file in the ``patches/foo-0.1`` folder, so they don't get lost
+when cleaning the package.
 
-We recommend this way when modifying source files. But this way is
+We recommend working with patches when modifying source files. But this way is
 improper when an autotools based buildsystem itself needs modifications.
 Refer to section :ref:`configure_rebuild` on how PTXdist can
 handle this special task.
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v3 1/5] doc: document git patch workflow

2017-07-17 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>

---
v3:
 - improve connecting passage about autotools according to Uwes wording
 - rest of the patch series can stay the same
---
 doc/dev_manual.rst | 55 ++
 1 file changed, 51 insertions(+), 4 deletions(-)

diff --git a/doc/dev_manual.rst b/doc/dev_manual.rst
index a54888b43..8e480656e 100644
--- a/doc/dev_manual.rst
+++ b/doc/dev_manual.rst
@@ -1223,7 +1223,6 @@ Creating Patches for a Package
 PTXdist uses the utilities *git*, *patch* or *quilt* to work with
 patches or patch series. We recommend *git*, as it can manage patch
 series in a very easy way.
-For this manual and the example we use *quilt* instead.
 
 Creating a Patch Series for a Package
 ^
@@ -1231,6 +1230,9 @@ Creating a Patch Series for a Package
 To create a patch series for the first time, we can run the following
 steps. We are still using our *foo-1.1.0* example package here:
 
+Using quilt
+"""""""""""
+
 We create a special directory for the patch series in the local project
 directory:
 
@@ -1263,12 +1265,57 @@ present in ``patches/foo-1.1.0`` and can be used the 
next time we
 extract the package again.
 
 All we have to do now is to do the modification we need to make the
-package work. We change into the build directory and use *quilt* to
+package work. We change into the build directory and use quilt_ to
 create new patches, add files to respective patches, modify these files
 and refresh the patches to save our changes.
+See the *quilt* documentation (``man 1 quilt``) for more information.
+
+.. _quilt: http://savannah.nongnu.org/projects/quilt
+
+Using Git
+"""""""""
+
+Create the patch directory like above for *quilt*,
+but only add an empty series file::
+
+$ mkdir -p patches/foo-1.1.0
+$ touch patches/foo-1.1.0/series
+
+Then extract the package with an additional command line switch:
+
+::
+
+$ ptxdist --git extract foo
+
+The empty series file makes PTXdist create a Git repository in the
+respective package build directory,
+and import the package source as the first commit.
+
+.. note:: Optionally, you can enable the setting *Developer Options →
+  use git to apply patches* in `ptxdist setup` to get this behaviour
+  as a default for every package.
+  However, note that this setting is still experimental and can lead to
+  failures for some packages.
+
+Then you can change into the package build directory
+(``platform-/build-target/foo-1.1.0``),
+patch the required source files,
+and make Git commits on the way.
+The Git history should now look something like this:
+
+::
+
+$ git log --oneline --decorate
+* df343e821851 (HEAD -> master) Makefile: don't build the tests
+* 65a360c2bd60 strfry.c: frobnicate the excusator
+* fdc315f6844c (tag: foobar-1.1.0, tag: base) initial commit
+
+Finally, call ``git ptx-patches`` to regenerate the patch series in the
+``patches/foo-1.1.0`` folder.
+This way they don't get lost when cleaning the package.
 
-We recommend this way when modifying source files. But this way is
-improper when an autotools based buildsystem itself needs modifications.
+Both approaches (Git and quilt) are not suitable for modifying files
+that are autogenerated in autotools-based buildsystems.
 Refer to section :ref:`configure_rebuild` on how PTXdist can
 handle this special task.
 
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH] doc: pre-built packages: fix typos, enhance some formulations & occasionally add information

2017-07-19 Thread Roland Hieber
Some more changes you could include:

On 18.07.2017 15:27, Ulrich Ölmann wrote:
> Signed-off-by: Ulrich Ölmann 
> ---
>  doc/daily_work.inc | 134 
> -
>  1 file changed, 71 insertions(+), 63 deletions(-)
> 
> diff --git a/doc/daily_work.inc b/doc/daily_work.inc
> index 460693021606..46c4852c2547 100644
> --- a/doc/daily_work.inc
> +++ b/doc/daily_work.inc
> @@ -566,10 +566,10 @@ packages at the same time. Never worry again about your 
> local host and
>  how slow it is. With the help of *ICECC* every host will be a high speed
>  development machine.
>  
> -Using pre-build archives
> +Using Pre-Built Archives
>  
>  
> -PTXdist is a tool which creates all the required parts of a target’s
> +PTXdist is a tool which creates all the required parts of a target's

Is there a reason why you changed Unicode quotation marks for ASCII apostrophes?

>  filesystem to breathe life into it. And it creates these parts from any
>  kind of source files. If a PTXdist project consists of many packages the
>  build may take a huge amount of time.
> @@ -582,30 +582,30 @@ about 6 hours.
>  Introduction
>  
>  
> -While the development of a PTXdist project it is needed to clean and
> +While developing a PTXdist project it is necessary to clean and
>  re-build everything from time to time to get a re-synced project result
>  which honors all changes made in the project. But since cleaning and
> -re-building everything from time to time is a very good test case if
> +re-building everything from time to time is a very good test case for if
>  some adaptions are still missing or if everything is complete, it can be
>  a real time sink to do so.
>  
> -To not lose developer’s temper when doing such tests, PTXdist can keep
> -archives from the last run which includes all the files the package’s
> -build system has installed while the PTXdist’s *install* stage runs for
> +To not lose developer's temper when doing such tests, PTXdist can keep
> +archives from the last run which includes all the files the package's
> +build system has installed while the PTXdist's *install* stage runs for
>  it.
>  
> -The next time PTXdist should build a package it can use the results from
> +The next time PTXdist shall build a package it can use the results from
>  the last run instead. This feature can drastically reduce the time to
>  re-build the whole project. But also, this PTXdist feature must handle

  while we're at it:  must be handled --^

>  with care and so it is not enabled and used as default.
>  
>  This section describes how to make use of this PTXdist feature and what
> -pitfalls exists when doing so.
> +pitfalls exist when doing so.
>  
> -Creating pre-build archives
> +Creating Pre-Built Archives
>  ~~~
>  
> -To make PTXdist creating pre-build archives, enable this feature prior a
> +To make PTXdist create pre-built archives, enable this feature prior to a
>  build in the menu:
>  
>  ::
> @@ -613,7 +613,7 @@ build in the menu:
>  $ ptxdist menuconfig
>  
>  Project Name & Version --->
> -[*] create pre-build archives
> +[*] create pre-built archives
>  
>  Now run a regular build of the whole project:
>  
> @@ -622,14 +622,14 @@ Now run a regular build of the whole project:
>  $ ptxdist go
>  
>  When the build is finished, the directory ``packages`` contains
> -additional archives files with the name scheme ``*-dev.tar.gz``. These
> -files are the pre-build archives which PTXdist can use later on to
> +additional archive files with the name scheme ``*-dev.tar.gz``. These
> +files are the pre-built archives which PTXdist can use later on to
>  re-build the project.
>  
> -Using pre-build archives
> +Using Pre-Built Archives
>  
>  
> -To make PTXdist using pre-build archives, enable this feature prior a
> +To make PTXdist use pre-built archives, enable this feature prior to a
>  build in the menu:
>  
>  ::
> @@ -637,90 +637,96 @@ build in the menu:
>  $ ptxdist menuconfig
>  
>  Project Name & Version --->
> -[*] use pre-build archives
> +[*] use pre-built archives
>  ()
>  
> -With the next build (e.g. ``ptxdist go``) PTXdist will look for a
> -specific package if its corresponding pre-build archive does exist. If
> -it does exist and the used hash value in the pre-build archive’s
> +During the next build (e.g. ``ptxdist go``) PTXdist will look for a
> +specific package if its corresponding pre-built archive exists. If
> +it exists and the used hash value in the pre-built archive's
>  filename matches, PTXdist will skip all source archive handling
>  (extract, patch, compile and install) and just extract and use the
> -pre-build archive’s content.
> +pre-built archive's content.
>  
> -A regular and save usecase of pre-build archives is:
> +Sufficient 

[ptxdist] [PATCH] urshd: version bump 1.0.2 -> 1.1.1

2017-07-25 Thread Roland Hieber
The new update brings IPv6 support.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/urshd.make | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/rules/urshd.make b/rules/urshd.make
index fff5c873..544de154 100644
--- a/rules/urshd.make
+++ b/rules/urshd.make
@@ -16,11 +16,11 @@ PACKAGES-$(PTXCONF_URSHD) += urshd
 #
 # Paths and names
 #
-URSHD_VERSION  := 1.0.2
-URSHD_MD5  := f41da5fca7dfc78aac0ecfa858c3c4b8
+URSHD_VERSION  := 1.1.1
+URSHD_MD5  := 816f2513e765cf5672f2608f2e239df9
 URSHD  := urshd-$(URSHD_VERSION)
 URSHD_SUFFIX   := tar.bz2
-URSHD_URL  := 
http://www.pengutronix.de/software/urshd/download/v1.0/$(URSHD).$(URSHD_SUFFIX)
+URSHD_URL  := 
http://public.pengutronix.de/software/urshd/v1.0/$(URSHD).$(URSHD_SUFFIX)
 URSHD_SOURCE   := $(SRCDIR)/$(URSHD).$(URSHD_SUFFIX)
 URSHD_DIR  := $(BUILDDIR)/$(URSHD)
 URSHD_LICENSE  := BSD-4-Clause
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] SWupdate patch

2017-04-25 Thread Roland Hieber
Hi,

On 24.04.2017 15:41, Pedro Lafuente wrote:
> commit 862120ca23a0be3f865c3b566a8d50e9c55f3517
> Author: pedro.lafue...@avt-stoye.de 

Minor cosmetics, but you probably want to set user.name to your name,
not your e-mail address, in your ~/.gitconfig. After that, git commit
--amend --reset-author should correct this.

> Date:   Mon Apr 24 15:20:31 2017 +0200
> 
> SWupdate package support for ptxdist.
> 
> diff --git a/rules/swupdate.in b/rules/swupdate.in
> new file mode 100644
> index 000..43517b6
> --- /dev/null
> +++ b/rules/swupdate.in
> @@ -0,0 +1,618 @@
> +## SECTION=applications
> +
> +menuconfig SWUPDATE
> +bool
> +prompt "SWupdate"

This could benefit from a "help" option, to give the users a hint what
the package is about :-)

> +
> +if SWUPDATE
> +
> +menu "Swupdate Settings"
> +
> +menu "General Configuration"
> +
> +config SCRIPTS

All of these config options also need the SWUPDATE_ prefix for correct 
namespacing. Otherwise it could lead to problems when a different package 
defines a config option with the same name. (Also see my note further below.)

> +bool "enable pre and postinstall scripts"
> +default y
> +help
> +  Enabling this option, the installer will run
> +  pre- and postinstall scripts, if they are present
> +  in the image. For security reason, this option
> +  can be switched off.
> +
> +config HW_COMPATIBILITY
> +bool "check for hardware / software compatibility"
> +default n
> +help
> +  If enabled, check if the hardware revision
> +  supports the software version. Detecting the hardware
> +  revision is very board specific, and it cannot be generalized.
> +  For this reason, the software expects that the detected
> +  version is written into a file by a previous software.
> +
> +config HW_COMPATIBILITY_FILE
> +string "File with detected hardware revisions"
> +depends on HW_COMPATIBILITY
> +default "/etc/hwrevision"
> +help
> +  File where to read the detected hardware revsion
> +  that must be compared with the software version.
> +  The file has simple entries (one per line) in the
> +  format of "major.minor".
> +
> +config SW_VERSIONS_FILE
> +string "File with detected software version"
> +default "/etc/sw-versions"
> +help
> +  This is an optional file that is scanned at the
> +  beginning to read the installed versions of
> +  all sw-components. Each entry in the file is a
> +  a pair of "name version".
> +  In sw-description,  an image can have the
> +  optional attributes:
> +"name" : key for searching in SW_VERSIONS_FILE
> +"version" : version contained in the .swu
> +"install-if-different" : if set, version
> +  is compared with the one in SW_VERSIONS_FILE.
> +  The image is installed only if there is a version mismatch.
> +  This lets reduce risks in case of components that are not
> +  safe to be updated, such as the bootloader. Updating it is a risk,
> +  but in some cases it can be required to do it. Having a check,
> +  the risky-component is not always updated.
> +
> +config MTD
> +bool "MTD support"
> +default y
> +#depends on HAVE_LIBMTD

Is there a reason this is commented out?

> +select MTD_UTILS
> +help
> +  Enable MTD support.
> +
> +config SWUPDATE_LUA
> +bool "lua"
> +default y
> +#depends on HAVE_LUA
> +select LUA
> +select LUA_INSTALL_LUA

...like here. You see that the LUA_ prefix also makes it possible to
depend on sub-features of other packages.

 - Roland

> +select LUA_INSTALL_LUAC
> +select LUA_INSTALL_LIBLUA
> +
> +help
> +  Enable LUA interpreter.
> +
> +#config LUAPKG
> +#string "LUA pkg-config name"
> +#default "lua"
> +##depends on LUA
> +#select LUA
> +#select LUA_INSTALL_LUA
> +#select LUA_INSTALL_LUAC
> +#select LUA_INSTALL_LIBLUA
> +#help
> +#  Which pkg-config package supplies the Lua API.
> +
> +# These are auto-selected by other options
> +
> +config FEATURE_SYSLOG
> +bool #No description makes it a hidden option
> +default n
> +#help
> +#  This option is auto-selected when you select any applet which may
> +#  send its output to syslog. You do not need to select it manually.
> +
> +endmenu
> +
> +menu 'Build Options'
> +
> +config STATIC
> +bool "Build swupdate as a static binary (no shared libs)"
> +default n
> +help
> +  If you want to build a static swupdate binary, which does not
> +  use or require any shared libraries, then enable this option.
> +  This can cause swupdate to be considerably larger, so you should
> +  leave this option false unless you have a good reason (i.e.
> +  your target platform does not support shared libraries, or
> +  you are building an initrd which doesn't need anything but
> +  swupdate, etc).
> +
> +  Most people 

[ptxdist] [PATCH v2] libwebsockets: version bump to 1.7.9

2017-08-03 Thread Roland Hieber
Signed-off-by: Denis Osterland <denis.osterl...@diehl.com>
[rhi: fixed whitespace issues]
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/libwebsockets.make | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rules/libwebsockets.make b/rules/libwebsockets.make
index ffaede3bc..fe1d1c40f 100644
--- a/rules/libwebsockets.make
+++ b/rules/libwebsockets.make
@@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_LIBWEBSOCKETS) += libwebsockets
 #
 # Paths and names
 #
-LIBWEBSOCKETS_VERSION  := v1.3-chrome37-firefox30
-LIBWEBSOCKETS_MD5  := 63117f35174a5fe4ec062f6baa411638
+LIBWEBSOCKETS_VERSION  := v1.7.9
+LIBWEBSOCKETS_MD5  := 7b3692ead5ae00fd0e1d56c080170f07
 LIBWEBSOCKETS  := libwebsockets-$(LIBWEBSOCKETS_VERSION)
 LIBWEBSOCKETS_SUFFIX   := tar.gz
 LIBWEBSOCKETS_URL  := 
https://github.com/warmcat/libwebsockets/archive/$(LIBWEBSOCKETS_VERSION).$(LIBWEBSOCKETS_SUFFIX)
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] Newbie: Howto add luajit 2.x as a new package in ptxdist

2017-06-19 Thread Roland Hieber

Hi Michael,

there is no need to add a -dev package for luajit, at least not for 
installing on the target. When crosscompiling, the install stage of your 
rules/luajit.make effectively calls `make install` in the luajit source 
folder, which should install the development headers to 
/sysroot-target/. When other packages depend on luajit, 
they will look there for the includes and libraries to link against.


What is installed into the target root file system is different from 
that; your `targetinstall` stage is responsible for that and should copy 
all the files needed on the target to /root (e.g. by 
using $(call install_lib), $(call install_alternative) etc., see Section 
5.2 in the PTXdist manual [1]).


Hope that helps!

 - Roland

[1]: 
http://www.pengutronix.de/software/ptxdist/appnotes/OSELAS.BSP-Pengutronix-Generic-arm-Quickstart.pdf


On 18.06.2017 01:10, Michael Deiters wrote:

Hi,

I'm a newbie on ptxdist. I successfully managed to build my 1st BSP
based on Generic-arm recently.

I'm getting lost on how to add luajit including the libluajit-5.1-dev as
package to ptxdist. I understand the approach to add an autotoolized
package, but for the desired luajit-5.1-dev, I can only find the apt-get
source on my host.

I'm wondering if there isn't an easy way to let ptxdisk know about the
required package. I searched the web, but didn't found enlightenment...

I would be grateful if somebody could point me the right direction.

Many thanks in advance!

Kind regards
Michael

___
ptxdist mailing list
ptxdist@pengutronix.de


--
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

Re: [ptxdist] Best BSP to start with Raspberry?

2017-06-23 Thread Roland Hieber

On 23.06.2017 16:44, Fritz Emboli wrote:

Thanks,

i looked at DistroKit and the RPI branch looks like a dead end.
Is there someone from Pengutronix who can confirm that the latest
version is intended to work on the Raspi?


*hrm*, someone should update the documentation. You can use 
platform-v7a, which supports multiple ARMv7A platforms, like BeagleBone 
and also the Raspberry Pi 2/3. I'm not sure however how complete the 
support for RPi 3 is, there may be some DTB overlays missing.


 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH] stress: add new package: workload generator for POSIX systems

2017-05-19 Thread Roland Hieber
---
 Changes since v3:
 - use MAKEINFO=: in prepare stage instead of patching Makefiles
 - bring back section header for prepare stage

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/stress.in   |  9 
 rules/stress.make | 64 +++
 2 files changed, 73 insertions(+)
 create mode 100644 rules/stress.in
 create mode 100644 rules/stress.make

diff --git a/rules/stress.in b/rules/stress.in
new file mode 100644
index 000..d8b2213
--- /dev/null
+++ b/rules/stress.in
@@ -0,0 +1,9 @@
+## SECTION=test_suites
+
+config STRESS
+   tristate
+   prompt "stress"
+   help
+ stress is a deliberately simple workload generator for POSIX
+ systems. It imposes a configurable amount of CPU, memory, I/O, and
+ disk stress on the system.
diff --git a/rules/stress.make b/rules/stress.make
new file mode 100644
index 000..3e57204
--- /dev/null
+++ b/rules/stress.make
@@ -0,0 +1,64 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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_STRESS) += stress
+
+#
+# Paths and names
+#
+STRESS_VERSION := 1.0.4
+STRESS_MD5 := 890a4236dd1656792f3ef9a190cf99ef
+STRESS := stress-$(STRESS_VERSION)
+STRESS_SUFFIX  := tar.gz
+STRESS_URL := 
https://people.seas.harvard.edu/~apw/stress/$(STRESS).$(STRESS_SUFFIX)
+STRESS_SOURCE  := $(SRCDIR)/$(STRESS).$(STRESS_SUFFIX)
+STRESS_DIR := $(BUILDDIR)/$(STRESS)
+STRESS_LICENSE := GPL-2.0+
+
+# 
+# Prepare
+# 
+
+#
+# autoconf
+#
+STRESS_CONF_TOOL   := autoconf
+STRESS_CONF_OPT:= \
+   $(CROSS_AUTOCONF_USR) \
+   --disable-dependency-tracking
+
+# prevent errors when building the documentation, which is not installed 
anyways
+STRESS_CONF_ENV:= \
+   $(CROSS_ENV) \
+   MAKEINFO=:
+
+# 
+# Target-Install
+# 
+
+$(STATEDIR)/stress.targetinstall:
+   @$(call targetinfo)
+
+   @$(call install_init, stress)
+   @$(call install_fixup, stress,PRIORITY,optional)
+   @$(call install_fixup, stress,SECTION,base)
+   @$(call install_fixup, stress,AUTHOR,"Roland Hieber 
<r.hie...@pengutronix.de>")
+   @$(call install_fixup, stress,DESCRIPTION,missing)
+
+   @$(call install_copy, stress, 0, 0, 0755, -, /usr/bin/stress)
+
+   @$(call install_finish, stress)
+
+   @$(call touch)
+
+# vim: syntax=make
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH v3] stress: add new package: workload generator for POSIX systems

2017-05-19 Thread Roland Hieber

On 18.05.2017 14:38, Michael Olbrich wrote:

I looked a bit closer at the source. Add this to the rule and you should be
able to drop the patch:

STRESS_CONF_ENV := \
$(CROSS_ENV) \
MAKEINFO=:


Oh yes, that is a much more elegant solution.


 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH 3/5] python3-six: new package

2017-06-07 Thread Roland Hieber

On 06.06.2017 16:37, Lucas Stach wrote:

Six is a Python 2 and 3 compatibility library.


Does it make sense to build that also for python2 ?

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH] freetype: version bump 2.6.3 -> 2.8

2017-06-07 Thread Roland Hieber



On 06.06.2017 16:36, Clemens Gruber wrote:

diff --git a/rules/freetype.make b/rules/freetype.make
index 2ee85ef15..c306f9466 100644
--- a/rules/freetype.make
+++ b/rules/freetype.make
@@ -17,8 +17,8 @@ PACKAGES-$(PTXCONF_FREETYPE) += freetype
 #
 # Paths and names
 #
-FREETYPE_VERSION   := 2.6.3
-FREETYPE_MD5   := 0037b25a8c090bc8a1218e867b32beb1
+FREETYPE_VERSION   := 2.8
+FREETYPE_MD5   := 2413ac3eaf508ada019c63959ea81a92
 FREETYPE   := freetype-$(FREETYPE_VERSION)
 FREETYPE_SUFFIX:= tar.bz2
 FREETYPE_SOURCE:= $(SRCDIR)/$(FREETYPE).$(FREETYPE_SUFFIX)
@@ -46,10 +46,19 @@ FREETYPE_CONF_TOOL  := autoconf
 FREETYPE_CONF_OPT  := \
$(CROSS_AUTOCONF_USR) \
--disable-static \
+   --disable-biarch-config \
+   $(GLOBAL_LARGE_FILE_OPTION) \
+   --enable-mmap \
--with-zlib \
--without-bzip2 \
--without-png \
-   --without-harfbuzz
+   --without-harfbuzz \


So after your other patch for harfbuzz, this can probably be changed to 
--with-harfbuzz? :-)



+   --without-old-mac-fonts \
+   --without-fsspec \
+   --without-fsref \
+   --without-quickdraw-toolbox \
+   --without-quickdraw-carbon \
+   --without-ats


 # 



--
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

Re: [ptxdist] Status of ptxdist and distrokit raspberry pi 2 images

2017-09-18 Thread Roland Hieber

Hi,

On 11.09.2017 20:22, Anton Botvalde wrote:

Hello,

I am new to the world of ptxdist and firmware image building. To get my 
feet wet I have tried to build an image for my raspberry pi 2 with 
ptxdist and distrokit following the blog post on the pengutronix 
homepage 
(http://pengutronix.de/en/2017-08-28-distrokit-a-playground-bsp-for-ptxdist.html 
).


The image for rpi2 is successfully built but I am unable to get the 
image working on my rpi2. Nothing happens after the gpu firmware has 
booted and using serial to usb connector gives nothing but radio silence 
so I am guessing that the kernel is not booting at all. I have tried 
several sd cards and another rpi2 so I have ruled out faulty hardware. I 
also tried building an image for rpi1 but it didn't work as well.
I just tried it out, and you're right. We should see some barebox 
messages, and then some systemd startup messages, followed by a login 
prompt. However, the system does not even seem to start the barebox 
bootloader.


I'm not sure how to debug this, but you could try to work-around this 
bug by copy /boot/zImage from the second partition on the SD card to the 
boot partition, and changing "kernel=barebox.bin" to "kernel=zImage" in 
config.txt.


I found the following github repo 
(https://github.com/rohieb/DistroKit-rpi-ibrdtn 
) which seemed aimed at 
distrokit and rpi images so I tried to build an image with it instead 
and managed to get an image that actually boots on my rpi2.


This is one of my old repos which I used as a playground for DistroKit 
when working on my master's thesis. It is a fork of an old version of 
the official DistroKit Git repo. Back then, I only had access to a RPi1, 
so I used platform-rpi. Also, this was before platform-rpi and 
platform-v7a was recently overhauled in DistroKit in July.



What is the official status of the distrokit support for raspberry pi?


RPi 1 should work with platform-rpi, RPi 2 should work with 
platform-v7a. RPi 3 should in theory also work with platform-v7a, but I 
think no one has come around yet to testing that...


 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH 2/7] qpdf: new package: PDF inspection library and tools

2017-09-22 Thread Roland Hieber



On 11.09.2017 12:11, Juergen Borleis wrote:

Hi Roland,

On Thursday 24 August 2017 00:39:06 Roland Hieber wrote:

[...]
+#
+# 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


Downloading the qpdf archive leads to a different content and thus the MD5
sum differs. The a0601b0bc56d3f412fd3afecfce2721c package contains an
unreleased version, which needs to create the 'configure' script first.

Where did you download your archive?


Huh, indeed. When I downloaded it from SourceForge (through ptxdist 
get), I got the version with the a0601b0 MD5, which didn't have a 
configure script. The maintainers seem to have released a new tarball 
under the same name. Will update the rules in v2.


 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH 6/7] host-cups: new package: CUPS PPD compiler

2017-09-22 Thread Roland Hieber

On 22.09.2017 16:04, Michael Olbrich wrote:

On Fri, Sep 22, 2017 at 02:06:58PM +0200, Juergen Borleis wrote:

When you install to "$(PTXDIST_SYSROOT_HOST)/bin" and
"$(PTXDIST_SYSROOT_HOST)/lib" the cross-ppdc variant can be reduced to:

( \
echo '#!/bin/sh'; \
echo $(PTXDIST_SYSROOT_HOST)/bin/ppdc -I 
$(PTXDIST_SYSROOT_HOST)/share/cups/ppdc "$$@"'; \
) > $(CROSS_PPDC)


This realy depends on what '-I' means and the difference between the
content of $(SYSROOT)/usr/share/cups/ppdc and
$(PTXDIST_SYSROOT_HOST)/share/cups/ppdc.

ppdc is used at build-time by packages that create extra cups filters,
right? If there are differences, then the original command-line is correct.
In that case host-cups must depend on cup and the package using ppdc must
depend on host-cups.
Or, if such packages depend on cups anyways (maybe link to something?) you
could create an options CUPS_PPDC that trigger a dependency on host-cups
and create the cross ppdc wrapper in cups.make.


That was also my first thought. But a diff -r on 
$(PTXDIST_SYSROOT_HOST)/share/cups/ppdc and 
$(PTXDIST_SYSROOT_TARGET)/usr/share/cups/ppdc shows that they don't 
differ. So I think we can spare a dependency on target-CUPS if only the 
host ppdc is needed.


 - Roland


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH v2 6/7] host-cups: new package: CUPS host tools

2017-09-27 Thread Roland Hieber
On 27.09.2017 14:22, Roland Hieber wrote:
[...]
> diff --git a/rules/host-cups.make b/rules/host-cups.make
> new file mode 100644
> index 0..5dd88e47b
> --- /dev/null
> +++ b/rules/host-cups.make
> @@ -0,0 +1,114 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
> +#
> +# 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
> +# 
> 
> +
> +#
> +# 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=/ \
> + --libdir=/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
> +
> +# 
> 
> +# Compile
> +# 
> 
> +
> +$(STATEDIR)/host-cups.compile:
> + @$(call targetinfo)
> + @$(call world/compile, HOST_CUPS)
> + @# ppdc isn't built by --with-components=core
> + @$(call compile, HOST_CUPS, -C ${HOST_CUPS_DIR}/ppdc)
> + @$(call touch)
> +
> +# 
> 
> +# Install
> +# 
> 
> +
> +HOST_CUPS_MAKE_ENV := \
> + DSTROOT=$(HOST_CUPS_PKGDIR)
> +
> +$(STATEDIR)/host-cups.install:
> + @$(call targetinfo)
> + @$(call world/install, HOST_CUPS)
> + @# ppdc isn't included in --with-components=core
> + @$(call install, HOST_CUPS, ${HOST_CUPS_DIR}/ppdc)

Strange, this single call seems to delete already installed files. I've
guarded this line with a

find ${HOST_CUPS_PKGDIR}/share/
@$(call install, HOST_CUPS, ${HOST_CUPS_DIR}/ppdc)
find ${HOST_CUPS_PKGDIR}/share/

and the first call shows files which are all missing in the second call.
But it works like intended if I replace this line with

@$(call compile, HOST_CUPS, -C ${HOST_CUPS_DIR}/ppdc install)

(like suggested by mol last month). Any hints what's going on here, so I
can fix this in v3?

 - Roland

> + @$(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 'CUPS_DATADIR=$(PTXDIST_SYSROOT_HOST)/share/cups 
> $(PTXDIST_SYSROOT_HOST)/bin/ppdc "$$@"'; \
> + ) > $(CROSS_PPDC)
> + chmod +x $(CROSS_PPDC)
> +
> + @$(call touch)
> +
> +# 
> --------
> +# Clean
> +# 
> 
> +
> +$(STATEDIR)/host-cups.clean:
> + @$(call targetinfo)
> + @$(call clean_pkg, HOST_CUPS)
> + @rm -vf $(CROSS_PPDC)
> +
> +# vim: ft=make ts=8 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

Re: [ptxdist] [PATCH 1/7] libpaper: new package: system-wide papersize configuration

2017-08-28 Thread Roland Hieber

On 24.08.2017 09:32, Juergen Borleis wrote:

+config LIBPAPER_SIZE
+   string "default fallback paper size"
+   default "letter"
+   help
+ Paper size that is used if nothing else is specified in /etc/papersize


Can you list valid names which can be used here? Or a pointer to a file
where the user can get the valid names from?


Yes, good idea! I'll send v2 after feedback for the rest of the series.

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH 7/7] cups-filters: new package: additional filters and backends for CUPS

2017-08-28 Thread Roland Hieber

On 28.08.2017 15:03, Michael Olbrich wrote:

On Thu, Aug 24, 2017 at 12:39:11AM +0200, Roland Hieber wrote:

Upstream is very responsive, merged some patches and made a new release
while I was still packaging the old one :)


Please update to the new release, so we can avoid the patch.


Oh, that sentence referred to 1.14, and I already did a version bump to 
1.16.1 shortly before writing the patch. But now I see there is already 
a 1.17.2! I'll do another version bump then :)


 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH 5/7] cups: new package: Common Unix Printing System

2017-08-28 Thread Roland Hieber

On 28.08.2017 14:51, Michael Olbrich wrote:

On Thu, Aug 24, 2017 at 12:39:09AM +0200, Roland Hieber wrote:

>> [...]

+# - config files, install as daemon:lp


You can use the user and group names below.


Oh, ok. I always thought they would then refer to the users/groups on 
the host system.



+   @$(call install_alternative, cups, 1, 110, 0640, 
/etc/cups/cups-files.conf)
+   @$(call install_alternative, cups, 1, 110, 0640, /etc/cups/cupsd.conf)
+   @$(call install_alternative, cups, 1, 110, 0600, /etc/cups/classes.conf)
+   @$(call install_alternative, cups, 1, 110, 0600, /etc/cups/client.conf)
+   @$(call install_alternative, cups, 1, 110, 0640, /etc/cups/mailto.conf)

>> [...]

+ifdef PTXCONF_CUPS_WEBINTERFACE
+   @$(call install_lib, cups, 0, 0, 0755, libcupscgi)
+   @$(call install_tree, cups, 0, 0, -, /usr/lib/cups/cgi-bin)
+   @$(call install_tree, cups, 0, 0, -, /usr/share/cups/templates)
+   @$(call install_tree, cups, 0, 0, -, /usr/share/doc/cups)


Why docs?


The web interface serves them under /help, and it would create broken 
links if those are missing. I find them rather helpful for the web 
interface.


 - Roland

--
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

Re: [ptxdist] [PATCH 4/7] poppler: version bump 0.18.0 -> 0.57.0

2017-08-28 Thread Roland Hieber

On 28.08.2017 12:18, Michael Olbrich wrote:

On Thu, Aug 24, 2017 at 12:39:08AM +0200, Roland Hieber wrote:

>> [...]

+ifdef PTXCONF_POPPLER_SPLASH_FP
+ifdef PTXCONF_POPPLER_SPLASH_FP_DOUBLE
+POPPLER_CONF_OPT += \
+   --disable-single-precision \
+   --disable-fixedpoint
+else # PTXCONF_POPPLER_SPLASH_FP && !PTXCONF_POPPLER_SPLASH_FP_DOUBLE
+POPPLER_CONF_OPT += \
+   --enable-single-precision \
+   --disable-fixedpoint
+endif
+else # !PTXCONF_POPPLER_SPLASH_FP
+POPPLER_CONF_OPT += \
+   --disable-single-precision \
+   --enable-fixedpoint
+endif


Can't you use ptx/disen here? The single-precision option should be ignored
for fixedpoint, right?


No, ./configure --enable-fixedpoint --enable-single-precision is not 
accepted and fails. Is there a way to check for two separate variables 
inside ptx/disen?


 - Roland

--
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

[ptxdist] [PATCH 4/7] poppler: version bump 0.18.0 -> 0.57.0

2017-08-23 Thread Roland Hieber
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 <r.hie...@pengutronix.de>
---
 ...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 <r.hie...@pengutronix.de>
+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 <r.hie...@pengutronix.de>
+---
+ 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

[ptxdist] [PATCH 2/7] qpdf: new package: PDF inspection library and tools

2017-08-23 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 .../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 <r.hie...@pengutronix.de>
+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 <r.hie...@pengutronix.de>
+---
+ 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 <r.hie...@pengutronix.de>
+#
+# 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).$

[ptxdist] [PATCH 1/7] libpaper: new package: system-wide papersize configuration

2017-08-23 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 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 <r.hie...@pengutronix.de>
+#
+# 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 
<r.hie...@pengutronix.de>")
+   @$(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

2017-08-23 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 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 <r.hie...@pengutronix.de>
+#
+# 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 
<r.hie...@pengutronix.de>")
+   @$(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

2017-08-23 Thread Roland Hieber
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 <r.hie...@pengutronix.de>
---
 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
+Wa

[ptxdist] [PATCH 7/7] cups-filters: new package: additional filters and backends for CUPS

2017-08-23 Thread Roland Hieber
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 <r.hie...@pengutronix.de>
---
 .../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 <r.hie...@pengutronix.de>
+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 <r.hie...@pengutronix.de>
+---
+ 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 <b...@redhat.com>
++#   Copyright (c) 2012 Zack Weinberg <za...@panix.com>
++#   Copyright (c) 2013 Roy Stogner <royst...@ices.utexas.edu>
++#   Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov 
<soko...@google.com>
++#   Copyright (c) 2015 Paul Norman <penor...@mac.com>
++#   Copyright (c) 2015 Moritz Klammler <mor...@klammler.eu>
++#   Copyright (c) 2016 Krzesimir Nowak <qdl...@gmail.com>
++#
++#   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"],
++

[ptxdist] [PATCH 6/7] host-cups: new package: CUPS PPD compiler

2017-08-23 Thread Roland Hieber
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 <r.hie...@pengutronix.de>
---
 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 <r.hie...@pengutronix.de>
+#
+# 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

2017-08-23 Thread Roland Hieber
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.c

[ptxdist] [PATCH] qrencode: new package: library and tools for encoding QR codes

2017-08-23 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>

---
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 <r.hie...@pengutronix.de>
+#
+# 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 
<r.hie...@pengutronix.de>")
+   @$(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] README: update documentation URL

2017-08-24 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README b/README
index 33cf90e0b..2f9d641ac 100644
--- a/README
+++ b/README
@@ -112,7 +112,7 @@ Bugs
 For documentation please refer:
 ---
 
-http://www.pengutronix.de/software/ptxdist/documentation_en.html
+http://testbed.ptxdist.org/doc
 
 For Patch Tagging please refer:
 ---
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH 5/7] cups: new package: Common Unix Printing System

2017-09-27 Thread Roland Hieber

On 28.08.2017 14:51, Michael Olbrich wrote:

+CUPS_CONF_OPT  += \
+   --with-components=all \
+   --with-cachedir=/var/cache \
+   --with-logdir=/var/log \
+   --with-rundir=/run \
+   --with-rcdir=/etc \
+   --with-languages=none \
+   --with-cups-user=daemon \
+   --with-cups-group=lp \
+   $(call ptx/ifdef,PTXCONF_CUPS_JAVA,--with-java=/usr/bin/java,) \
+   $(call ptx/ifdef,PTXCONF_CUPS_PERL,--with-perl=/usr/bin/perl,) \
+   $(call ptx/ifdef,PTXCONF_CUPS_PHP,--with-php=/usr/bin/php5,) \
+   $(call ptx/ifdef,PTXCONF_CUPS_PYTHON,--with-python=/usr/bin/python,)


Are these options only to set the executable path? If yes then always set
those and remove the options and dependencies. Just add a comment to the
webinterface option.


configure defines HAVE_JAVA etc. in these cases, which influences the 
scheduler code. Nevertheless, configure is a bit broken here, PATCH v2 
will patch it for proper --without-* handling.


 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v2 2/7] qpdf: new package: PDF inspection library and tools

2017-09-27 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes in v1 -> v2:
 - version bump to 7.0.0
   - now with the right md5sum
   - dropped libpcre dependency
   - tests no longer fail to compile, remove our patch
   - but we need to patch for libjpeg's missing pkg-config
 - use default prepare stage
 - always use /dev/urandom

 ...Remove-libjpeg-dependency-from-pkg-config.patch | 40 +
 patches/qpdf-7.0.0/series  |  4 +
 rules/qpdf.in  | 22 +
 rules/qpdf.make| 95 ++
 4 files changed, 161 insertions(+)
 create mode 100644 
patches/qpdf-7.0.0/0001-Remove-libjpeg-dependency-from-pkg-config.patch
 create mode 100644 patches/qpdf-7.0.0/series
 create mode 100644 rules/qpdf.in
 create mode 100644 rules/qpdf.make

diff --git 
a/patches/qpdf-7.0.0/0001-Remove-libjpeg-dependency-from-pkg-config.patch 
b/patches/qpdf-7.0.0/0001-Remove-libjpeg-dependency-from-pkg-config.patch
new file mode 100644
index 0..7255159a1
--- /dev/null
+++ b/patches/qpdf-7.0.0/0001-Remove-libjpeg-dependency-from-pkg-config.patch
@@ -0,0 +1,40 @@
+From: Roland Hieber <r.hie...@pengutronix.de>
+Date: Mon, 25 Sep 2017 13:01:04 +0200
+Subject: [PATCH] Remove libjpeg dependency from pkg-config
+
+I'm linking QPDF with the original libjpeg-9a from http://ijg.org. This
+works well. But when I then compile cups-filters with QPDF support,
+cups-filters' configure is confused about it, because libjpeg does not
+ship pkg-config definitions:
+
+   [...]
+   checking for ZLIB... yes
+   checking for LIBQPDF... no
+   configure: error: Package requirements (libqpdf >= 3.0.2) were not met:
+
+   Package 'libjpeg', required by 'libqpdf', not found
+
+   Consider adjusting the PKG_CONFIG_PATH environment variable if you
+   installed software in a non-standard prefix.
+
+We cannot solve this problem in QPDF, so just remove the libjpeg
+dependency from the Requires.private variable.
+
+Forwarded: https://github.com/qpdf/qpdf/pull/157
+Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
+---
+ libqpdf.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libqpdf.pc.in b/libqpdf.pc.in
+index d45df49ed73b..8ece48734941 100644
+--- a/libqpdf.pc.in
 b/libqpdf.pc.in
+@@ -6,6 +6,6 @@ includedir=@includedir@
+ Name: libqpdf
+ Description: PDF transformation library
+ Version: @PACKAGE_VERSION@
+-Requires.private: zlib, libjpeg
++Requires.private: zlib
+ Libs: -L${libdir} -lqpdf
+ Cflags: -I${includedir}
diff --git a/patches/qpdf-7.0.0/series b/patches/qpdf-7.0.0/series
new file mode 100644
index 0..0de60c199
--- /dev/null
+++ b/patches/qpdf-7.0.0/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-Remove-libjpeg-dependency-from-pkg-config.patch
+# c373cfc66b49ecd3549c751d0c0febbe  - git-ptx-patches magic
diff --git a/rules/qpdf.in b/rules/qpdf.in
new file mode 100644
index 0..387e49166
--- /dev/null
+++ b/rules/qpdf.in
@@ -0,0 +1,22 @@
+## SECTION=system_libraries
+
+menuconfig QPDF
+   tristate
+   prompt "qpdf  "
+
+   select LIBJPEG
+   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
+
+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..8d03a8b8b
--- /dev/null
+++ b/rules/qpdf.make
@@ -0,0 +1,95 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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   := 7.0.0
+QPDF_MD5   := c3ff408f69b3a6b2b3b4c8b373b2600c
+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
+# 
+
+# We emulate --enable-external-libs as minimally as possible
+QPDF_CONF_ENV  := \
+   $(CROSS_ENV) \
+   LIBS="-lz -ljpeg"
+
+#
+# autoconf
+#
+# Note: --with-random sets RANDOM_SOURCE, which is not used at all when
+# --enable-insecure-random is giv

[ptxdist] [PATCH v2 1/7] libpaper: new package: system-wide papersize configuration

2017-09-27 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes in v1 -> v2:
 - include list of known paper sizes in kconfig help
 - use snapshot.debian.org URL for future stability
 - properly use patches/autogen.sh instead of calling autoreconf in the
   prepare stage

 patches/libpaper-1.1.24+nmu5/autogen.sh |  2 +
 rules/libpaper.in   | 38 ++
 rules/libpaper.make | 69 +
 3 files changed, 109 insertions(+)
 create mode 100755 patches/libpaper-1.1.24+nmu5/autogen.sh
 create mode 100644 rules/libpaper.in
 create mode 100644 rules/libpaper.make

diff --git a/patches/libpaper-1.1.24+nmu5/autogen.sh 
b/patches/libpaper-1.1.24+nmu5/autogen.sh
new file mode 100755
index 0..5d4c48990
--- /dev/null
+++ b/patches/libpaper-1.1.24+nmu5/autogen.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec autoreconf --install
diff --git a/rules/libpaper.in b/rules/libpaper.in
new file mode 100644
index 0..b70c1000b
--- /dev/null
+++ b/rules/libpaper.in
@@ -0,0 +1,38 @@
+## 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. Currently libpaper knows about the following formats:
+
+ 10x14 11x17 Comm10 DL Monarch a0 a1 a10 a2 a3 a4 a5 a6 a7 a8 a9 archA
+ archB archC archD archE b0 b1 b10 b2 b3 b4 b5 b6 b7 b8 b9 c2 c3 c4 c5
+ c6 c7 c8 csheet dsheet esheet executive flsa flse folio halfexecutive
+ halfletter ledger legal letter note quarto statement tabloid
+
+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..6107841f0
--- /dev/null
+++ b/rules/libpaper.make
@@ -0,0 +1,69 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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://snapshot.debian.org/archive/debian-debug/20161113T151229Z/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
+#
+LIBPAPER_CONF_TOOL := autoconf
+#
+# 
+# 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 
<r.hie...@pengutronix.de>")
+   @$(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 v2 7/7] cups-filters: new package: additional filters and backends for CUPS

2017-09-27 Thread Roland Hieber
Upstream is very responsive, merged my patches and made a new release
while I was still packaging the old one :) Release frequency is high,
with 5 point releases in September alone, mostly small fixes.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes in v1 -> v2:
 - kconfig changes due to poppler float/fixed simplification
 - version bump 1.16.6 -> 1.17.7 (they release fast!)
 - remove unneeded code

 rules/cups-filters.in   | 67 +++
 rules/cups-filters.make | 94 +
 2 files changed, 161 insertions(+)
 create mode 100644 rules/cups-filters.in
 create mode 100644 rules/cups-filters.make

diff --git a/rules/cups-filters.in b/rules/cups-filters.in
new file mode 100644
index 0..09652443f
--- /dev/null
+++ b/rules/cups-filters.in
@@ -0,0 +1,67 @@
+## SECTION=applications
+
+menuconfig CUPS_FILTERS
+   tristate
+   prompt "cups-filters  "
+
+   select LIBC_DL
+   select HOST_CUPS
+   select CUPS
+   select GLIB
+   select ZLIB
+   select LCMS
+   select FREETYPE
+   select FONTCONFIG
+   select QPDF
+
+   # Note: configure does not check for these poppler options:
+   select POPPLER  if CUPS_FILTERS_POPPLER
+   select POPPLER_BIN  if CUPS_FILTERS_POPPLER # for pdftops
+   select POPPLER_CPP  if CUPS_FILTERS_POPPLER
+   select POPPLER_CMS  if CUPS_FILTERS_POPPLER
+   select POPPLER_SPLASH   if CUPS_FILTERS_POPPLER
+   select POPPLER_XPDF if CUPS_FILTERS_POPPLER
+
+   select LIBJPEG  if CUPS_FILTERS_JPEG
+   select LIBPNG   if CUPS_FILTERS_PNG
+
+   help
+ cups-filters contains backends, filters, and other software that
+ was once part of the core CUPS distribution but is no longer
+ maintained by Apple Inc. In addition it contains additional filters
+ and software developed independently of Apple, especially filters for
+ the PDF-centric printing workflow introduced by OpenPrinting and a
+ daemon to browse Bonjour broadcasts of remote CUPS printers and makes
+ these printers available locally.
+
+if CUPS_FILTERS
+
+config CUPS_FILTERS_POPPLER
+   bool "build with poppler support"
+   help
+ Build with poppler support, needed for pdfto* filters and banners.
+
+comment "poppler support will not build with POPPLER_SPLASH_FIXED!"
+   depends on (POPPLER_SPLASH_FIXED && CUPS_FILTERS_POPPLER)
+
+config CUPS_FILTERS_IMAGEFILTERS
+   bool "build image filters"
+   help
+ Build imagetopdf and imagetoraster filters
+
+config CUPS_FILTERS_JPEG
+   bool "with JPEG support"
+   depends on CUPS_FILTERS_IMAGEFILTERS
+   default y
+   help
+ Enable JPEG support in image filters
+
+config CUPS_FILTERS_PNG
+   bool "with PNG support"
+   depends on CUPS_FILTERS_IMAGEFILTERS
+   default y
+   help
+ Enable PNG support in image filters
+
+endif
+# vim: ft=kconfig ts=8 noet tw=80
diff --git a/rules/cups-filters.make b/rules/cups-filters.make
new file mode 100644
index 0..0f19d6c11
--- /dev/null
+++ b/rules/cups-filters.make
@@ -0,0 +1,94 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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_CUPS_FILTERS) += cups-filters
+
+#
+# Paths and names
+#
+CUPS_FILTERS_VERSION   := 1.17.7
+CUPS_FILTERS_MD5   := 015caac191e9520abb7cde2fb9ce5961
+CUPS_FILTERS   := cups-filters-$(CUPS_FILTERS_VERSION)
+CUPS_FILTERS_SUFFIX:= tar.xz
+CUPS_FILTERS_URL   := 
http://openprinting.org/download/cups-filters/$(CUPS_FILTERS).$(CUPS_FILTERS_SUFFIX)
+CUPS_FILTERS_SOURCE:= $(SRCDIR)/$(CUPS_FILTERS).$(CUPS_FILTERS_SUFFIX)
+CUPS_FILTERS_DIR   := $(BUILDDIR)/$(CUPS_FILTERS)
+CUPS_FILTERS_LICENSE   := GPL-2.0 AND GPL-2.0+ AND GPL-3.0 AND GPL-3.0+ AND 
LGPL-2 AND LGPL-2.1+ AND MIT AND BSD-4-clause
+
+# 
+# Prepare
+# 
+
+#
+# autoconf
+#
+# We have to set --exec-prefix and --libdir, otherwise the libs end up in
+# ${prefix}/lib64 due to broken autoconf magic, which is not what we want.
+#
+CUPS_FILTERS_CONF_TOOL := autoconf
+CUPS_FILTERS_CONF_OPT  := \
+   $(CROSS_AUTOCONF_USR) \
+   --exec-prefix=/usr/ \
+   --libdir=/usr/lib/ \
+   --disable-silent-rules \
+   --disable-driverless \
+   --disable-auto-setup-driverless \
+   --$(ca

[ptxdist] [PATCH v2 4/7] poppler: version bump 0.18.0 -> 0.59.0

2017-09-27 Thread Roland Hieber
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 I disabled it.

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 <r.hie...@pengutronix.de>
---

Notes:
changes in v1 -> v2:
 - version bump to 0.59.0, includes our 0.57.0 patches from v1
 - bring back old vim modeline
 - simplify single-precision/fixed-point logic

 rules/poppler.in   | 88 ++
 rules/poppler.make | 51 ++-
 2 files changed, 106 insertions(+), 33 deletions(-)

diff --git a/rules/poppler.in b/rules/poppler.in
index b107dc7a5..af0306493 100644
--- a/rules/poppler.in
+++ b/rules/poppler.in
@@ -4,18 +4,21 @@ menuconfig POPPLER
tristate
prompt "poppler   "
select FONTCONFIG
+   select FREETYPE
select HOST_GETTEXT
-   select GLIB if POPPLER_GLIB
-   select LIBPNG   if POPPLER_PNG
-   select LIBJPEG  if POPPLER_JPEG
-   select CAIROif POPPLER_CAIRO
-   select GTK  if POPPLER_SPLASH && POPPLER_GLIB
-   select ZLIB if POPPLER_ZLIB
-   select LIBCURL  if POPPLER_CURL
-   select LCMS if POPPLER_CMS
-   select QT4  if POPPLER_QT4
-   select QT4_BUILD_GUIif POPPLER_QT4
-   select QT4_BUILD_XMLif POPPLER_QT4
+   select POPPLER_DATA if POPPLER_WITH_DATA
+   select GLIB if POPPLER_GLIB
+   select LIBPNG   if POPPLER_PNG
+   select LIBJPEG  if POPPLER_JPEG
+   select CAIROif POPPLER_CAIRO
+   select CAIRO_FREETYPE   if POPPLER_CAIRO
+   select ZLIB if POPPLER_ZLIB
+   select LIBCURL  if POPPLER_CURL
+   select LCMS if POPPLER_CMS
+   select QT4  if POPPLER_QT4
+   select QT4_BUILD_GUIif POPPLER_QT4
+   select QT4_BUILD_XMLif POPPLER_QT4
+   select QT4_BUILD_QTESTLIB   if POPPLER_QT4
help
  Poppler is a PDF rendering library based on the xpdf-3.0 code base.
 
@@ -29,6 +32,35 @@ config POPPLER_BIN
  pdffonts, pdfimages, pdfinfo, pdftoabw, pdftohtml, pdftoppm, pdftops,
  pdftotext.
 
+config POPPLER_XPDF
+   bool
+   prompt "install unsupported xpdf headers"
+   help
+ Install XPDF headers for software that still depends on them.
+ Normally, this option should not be needed.
+
+config POPPLER_BUILD_DEBUG
+   bool
+   prompt "enable poppler debug build"
+   help
+ Build with debug information and without optimization. You probably
+ don't want this in a production system.
+
+config POPPLER_WITH_DATA
+   bool
+   prompt "install poppler-data"
+   help
+ poppler-data contains the encoding files which enable poppler to
+ correctly render CJK and Cyrillic.
+
+config POPPLER_CMYK
+   bool
+   prompt "enable poppler CMYK raster support"
+
+config POPPLER_CPP
+   bool
+   prompt "enable poppler cpp wrapper"
+
 config POPPLER_GLIB
select POPPLER_CAIRO
bool
@@ -42,14 +74,14 @@ config POPPLER_QT4
help
  build poppler Qt4 wrapper.
 
-comment "least one graphics backend should be selected"
-   depends on !(POPPLER_CAIRO || POPPLER_SPLASH)
+comment "at least one graphics backend should be selected"
+   depends on !(POPPLER_CAIRO || POPPLER_SPLASH || POPPLER_QT4)
 
 config POPPLER_CAIRO
bool
prompt "enable poppler cairo graphics backend"
help
- built cairo graphics backend
+ build cairo graphics backend
 
 config POPPLER_SPLASH

[ptxdist] [PATCH v2 3/7] poppler-data: new package: optional encoding data for poppler

2017-09-27 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes in v1 -> v2:
 - version bump to 0.4.8
 - use default compile stage, remove unneeded stage templates

 rules/poppler-data.in   | 10 +
 rules/poppler-data.make | 58 +
 2 files changed, 68 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..93edb7cea
--- /dev/null
+++ b/rules/poppler-data.make
@@ -0,0 +1,58 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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.8
+POPPLER_DATA_MD5   := 00f8989c804de84af0ba2ea629949980
+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
+
+# 
+# Install
+# 
+
+POPPLER_DATA_INSTALL_OPT := prefix=/usr install
+
+# 
+# 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 
<r.hie...@pengutronix.de>")
+   @$(call install_fixup, poppler-data,DESCRIPTION,missing)
+
+   @$(call install_tree, poppler-data, 0, 0, -, /usr/share/poppler)
+
+   @$(call install_finish, poppler-data)
+
+   @$(call touch)
+
+# vim: ft=make ts=8 tw=80
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v2 6/7] host-cups: new package: CUPS host tools

2017-09-27 Thread Roland Hieber
Most printer drivers compile model-specific PPDs from a generic schema
during the build process, using ppdc, the PPD compiler. ppdc must be
able to find CUPS' internal include files, which are architecture-
independent and can be used from sysroot-host.

Unfortunately, the CUPS build system is rather inflexible, so we have to
build the whole core distribution to get a working ppdc.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes in v1 -> v2:
 - remove unused code in host-cups.make
 - compile ppdc in compile stage, not in install stage
 - use @$(call compile) and $(call install), not $(MAKE) directly
 - use --exec-prefix=/ and --libdir=/lib/ to get rid of LD_LIBRARY_PATH
 - set CUPS_DATADIR in sysroot-cross wrapper, so an additional include path 
is
   no longer needed, and ppdc also doesn't look for files on the host file
   system!
 - make clean stage more silent

 rules/host-cups.in   |   7 
 rules/host-cups.make | 114 +++
 2 files changed, 121 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..5dd88e47b
--- /dev/null
+++ b/rules/host-cups.make
@@ -0,0 +1,114 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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
+# 
+
+#
+# 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=/ \
+   --libdir=/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
+
+# 
+# Compile
+# 
+
+$(STATEDIR)/host-cups.compile:
+   @$(call targetinfo)
+   @$(call world/compile, HOST_CUPS)
+   @# ppdc isn't built by --with-components=core
+   @$(call compile, HOST_CUPS, -C ${HOST_CUPS_DIR}/ppdc)
+   @$(call touch)
+
+# 
+# Install
+# 
+
+HOST_CUPS_MAKE_ENV := \
+   DSTROOT=$(HOST_CUPS_PKGDIR)
+
+$(STATEDIR)/host-cups.install:
+   @$(call targetinfo)
+   @$(call world/install, HOST_CUPS)
+   @# ppdc isn't included in --with-components=core
+   @$(call install, HOST_CUPS, ${HOST_CUPS_DIR}/ppdc)
+   @$(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 'CUPS_DATADIR=$(PTXDIST_SYSROOT_HOST)/share/cups 
$(PTXDIST_SYSROOT_HOST)/bin/ppdc "$$@"'; \
+   ) > $(CROSS_PPDC)
+   chmod +x $(CROSS_PPDC)
+
+   @$(call touch)
+
+# -

[ptxdist] [PATCH v2 5/7] cups: new package: Common Unix Printing System

2017-09-27 Thread Roland Hieber
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 <r.hie...@pengutronix.de>
---

Notes:
changes in v1 -> v2:
 - move CUPS_BBINIT_LINK into separate .in file
 - correct license specification
 - improve scripting languages integration (via configure.ac patch)
 - change hard php-cli dependency into soft dependency of php-cli or php-cgi
 - break long lines in cups.make
 - targetinstall: install links to cupsaccept into /sbin
 - targetinstall: use user/group names instead of IDs
 - targetinstall: create config directories with correct permissions
 - targetinstall: fix permissions for readonly config files

 ...llow-explicit-disabling-of-Java-PHP-Perl-.patch |  92 
 ...-remove-leftover-check-for-empty-CUPS_PHP.patch |  29 +++
 ...e-make-interpreter-detection-more-verbose.patch |  88 
 patches/cups-2.2.4/autogen.sh  |   7 +
 patches/cups-2.2.4/series  |   6 +
 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-bbinit.in   |   8 +
 rules/cups.in  | 140 
 rules/cups.make| 243 +
 19 files changed, 678 insertions(+)
 create mode 100644 
patches/cups-2.2.4/0001-configure-allow-explicit-disabling-of-Java-PHP-Perl-.patch
 create mode 100644 
patches/cups-2.2.4/0002-configure-remove-leftover-check-for-empty-CUPS_PHP.patch
 create mode 100644 
patches/cups-2.2.4/0003-configure-make-interpreter-detection-more-verbose.patch
 create mode 100755 patches/cups-2.2.4/autogen.sh
 create mode 100644 patches/cups-2.2.4/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
 create mode 100644 rules/cups-bbinit.in
 create mode 100644 rules/cups.in
 create mode 100644 rules/cups.make

diff --git 
a/patches/cups-2.2.4/0001-configure-allow-explicit-disabling-of-Java-PHP-Perl-.patch
 
b/patches/cups-2.2.4/0001-configure-allow-explicit-disabling-of-Java-PHP-Perl-.patch
new file mode 100644
index 0..f110f5aaa
--- /dev/null
+++ 
b/patches/cups-2.2.4/0001-configure-allow-explicit-disabling-of-Java-PHP-Perl-.patch
@@ -0,0 +1,92 @@
+From: Roland Hieber <r.hie...@pengutronix.de>
+Date: Mon, 25 Sep 2017 15:00:16 +0200
+Subject: [PATCH] configure: allow explicit disabling of Java/PHP/Perl/Python
+ support
+
+Currently, when configure is called with --with-java or --with-java=,
+auto-detection is performed. When called with --without-java, HAVE_JAVA
+is still being defined. This is unfortunate when cross-compiling for
+embedded systems, we would end up with Java on the host being
+auto-detected (which is not what we have on the target), or with a wrong
+HAVE_JAVA define. We need a way to explicitely disable scripting support
+for all supported languages.
+
+Forwarded: https://github.com/apple/cups/pull/5122
+Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
+---
+ config-scripts/cups-scripting.m4 | 24 
+ 1 file changed, 16 insertions(+), 8 deletions(-)
+
+diff --git a/config-scripts/cups-scripting.m4 
b/config-scripts/cups-scripting.m4
+index bff3e9a0505c..137c3be72cb0 100644
+--- a/config-scripts/cups-scripting.m4
 b/config-scripts/cups-scripting.m4
+@@ -14,11 +14,13 @@ dnl
+ dnl Do we hav

Re: [ptxdist] [PATCH v2 2/7] qpdf: new package: PDF inspection library and tools

2017-09-27 Thread Roland Hieber

On 27.09.2017 14:22, Roland Hieber wrote:

+
+# 
+# Clean
+# 
+
+#$(STATEDIR)/qpdf.clean:
+#  @$(call targetinfo)
+#  @$(call clean_pkg, QPDF)


Somehow this slipped through. Will fix in v3.

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v2] openssh: version bump 7.5p1 -> 7.6p1

2017-11-13 Thread Roland Hieber
SSH1-specific parts have been removed and the LICENSE file has been
updated to reflect that changes, otherwise the license terms have not
changed.

This version removes support for the hmac-ripemd160 MAC, and the
arcfour, blowfish and CAST ciphers. RSA keys with less than 1024 bytes
are now refused by the server.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes v1 -> v2:
 - update LICENSE md5
 - improve commit message

 rules/openssh.make | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/rules/openssh.make b/rules/openssh.make
index ef5eec8f0..a7f708153 100644
--- a/rules/openssh.make
+++ b/rules/openssh.make
@@ -17,8 +17,8 @@ PACKAGES-$(PTXCONF_OPENSSH) += openssh
 #
 # Paths and names
 #
-OPENSSH_VERSION:= 7.5p1
-OPENSSH_MD5:= 652fdc7d8392f112bef11cacf7e69e23
+OPENSSH_VERSION:= 7.6p1
+OPENSSH_MD5:= 06a88699018e5fef13d4655abfed1f63
 OPENSSH:= openssh-$(OPENSSH_VERSION)
 OPENSSH_SUFFIX := tar.gz
 OPENSSH_URL:= \
@@ -28,7 +28,7 @@ OPENSSH_URL   := \
 OPENSSH_SOURCE := $(SRCDIR)/$(OPENSSH).$(OPENSSH_SUFFIX)
 OPENSSH_DIR:= $(BUILDDIR)/$(OPENSSH)
 OPENSSH_LICENSE:= BSD, 2-term BSD, 3-term BSD, MIT, THE BEER-WARE 
LICENSE
-OPENSSH_LICENSE_FILES := file://LICENCE;md5=e326045657e842541d3f35aada442507
+OPENSSH_LICENSE_FILES := file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8
 
 # 
 # Prepare
@@ -64,7 +64,6 @@ OPENSSH_CONF_OPT  := \
--disable-pututline \
--disable-pututxline \
--with-openssl \
-   --without-ssh1 \
--with-stackprotect \
--with-hardening \
--without-rpath \
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH] iptables: remove dependency on KERNEL_HEADERS

2017-11-28 Thread Roland Hieber

On 28.11.2017 11:58, Oleksij Rempel wrote:

with latest toolchain iptables will build with KERNEL_HEADERS


Sorry, that commit message is not clear to me. If it builds with 
KERNEL_HEADERS, why do you remove it?


Also you should probably capitalize the first character of a line :)

 - Roland



Signed-off-by: Oleksij Rempel <o.rem...@pengutronix.de>
---
  rules/iptables.in | 1 -
  1 file changed, 1 deletion(-)

diff --git a/rules/iptables.in b/rules/iptables.in
index 0c4ded12a..3cad506d0 100644
--- a/rules/iptables.in
+++ b/rules/iptables.in
@@ -3,7 +3,6 @@
  menuconfig IPTABLES
tristate
prompt "iptables  "
-   select KERNEL_HEADER
select LIBC_M
select LIBC_DL
select GCCLIBS_GCC_S



--
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

Re: [ptxdist] [PATCH v2] nginx: version bump 1.10.3 -> 1.12.1

2017-11-22 Thread Roland Hieber

On 21.11.2017 14:49, Clemens Gruber wrote:

Hi,

On Tue, Nov 21, 2017 at 01:46:52AM +0100, Roland Hieber wrote:

[...]


diff --git a/rules/nginx.make b/rules/nginx.make
index ef98c0adb..0f8ce65f2 100644
--- a/rules/nginx.make
+++ b/rules/nginx.make
@@ -17,8 +17,8 @@ PACKAGES-$(PTXCONF_NGINX) += nginx
  #
  # Paths and names
  #
-NGINX_VERSION  := 1.10.3
-NGINX_MD5  := 204a20cb4f0b0c9db746c630d89ff4ea
+NGINX_VERSION  := 1.12.1
+NGINX_MD5  := a307e74aca95403e5ee00f153807ce58
  NGINX := nginx-$(NGINX_VERSION)
  NGINX_SUFFIX  := tar.gz
  NGINX_URL := https://nginx.org/download/$(NGINX).$(NGINX_SUFFIX)
@@ -44,7 +44,8 @@ NGINX_CONF_ENV := \
ngx_force_have_map_anon=yes \
ngx_force_have_map_devzero=yes \
ngx_force_have_sysvshm=yes \
-   ngx_force_have_posix_sem=yes
+   ngx_force_have_posix_sem=yes \


I cannot get IPv6 to work, because nginx complains about "the INET6
sockets are not supported on this platform" when I try to have it listen
on [::]:443. This happens because NGX_HAVE_INET6 apparently gets defined
to "yes" in objs/ngx_auto_config.h, and it works well if I change this line:


+   ngx_force_ipv6=$(call ptx/ifdef, PTXCONF_GLOBAL_IPV6, yes, no)


to
ngx_force_ipv6=$(call ptx/ifdef, PTXCONF_GLOBAL_IPV6, 1, 0)

Can you reproduce this?


Yes, my mistake. I assumed, they use #ifdef NGX_HAVE_INET6 and not
#if (NGX_HAVE_INET6)..
So NGX_HAVE_INET6 is defined to yes in ngx_autoconfig.h, which evaluates
to 0.

It's a little bit misleading because for ngx_feature_run != value, "yes"
is a possible value, so all other ngx_force_foo can be set to yes and
no.

Now we could just use 1 and 0 for ngx_force_ipv6. But maybe it would be
preferable to translate yes and no into 1 and 0 respectively in case of
ngx_feature_run = value (in auto/feature) to be consistent with other
passed ngx_force_ environment variables?


OK, whatever you say, both seems fine to me.

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 5/5] qpdf: correct license and pin down license MD5sum

2017-11-23 Thread Roland Hieber
A quick glance at QPDF's LICENSE.txt shows that it identifies itself at
the Apache 2.0 license, not the Artistic license.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/qpdf.make | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/rules/qpdf.make b/rules/qpdf.make
index eecfe4b39..5995f22b2 100644
--- a/rules/qpdf.make
+++ b/rules/qpdf.make
@@ -23,7 +23,8 @@ 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
+QPDF_LICENSE   := Apache-2.0
+QPDF_LICENSE_FILES := 
file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57
 
 # 
 # Prepare
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 1/5] nginx: pin down license MD5sum

2017-11-23 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/nginx.make | 1 +
 1 file changed, 1 insertion(+)

diff --git a/rules/nginx.make b/rules/nginx.make
index c2f58da1a..bdadc6b64 100644
--- a/rules/nginx.make
+++ b/rules/nginx.make
@@ -25,6 +25,7 @@ NGINX_URL := 
https://nginx.org/download/$(NGINX).$(NGINX_SUFFIX)
 NGINX_SOURCE   := $(SRCDIR)/$(NGINX).$(NGINX_SUFFIX)
 NGINX_DIR  := $(BUILDDIR)/$(NGINX)
 NGINX_LICENSE  := BSD-2-Clause
+NGINX_LICENSE_FILES:= file://LICENSE;md5=903753de5f86a1ee0341fd2f9491b282
 
 # 
 # Prepare
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 3/5] cups: pin down license MD5sum

2017-11-23 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/cups.make | 1 +
 1 file changed, 1 insertion(+)

diff --git a/rules/cups.make b/rules/cups.make
index 7eb209e25..c9d8e4e35 100644
--- a/rules/cups.make
+++ b/rules/cups.make
@@ -24,6 +24,7 @@ CUPS_URL  := 
https://github.com/apple/cups/releases/download/v$(CUPS_VERSION)/$(C
 CUPS_SOURCE:= $(SRCDIR)/$(CUPS)-source.$(CUPS_SUFFIX)
 CUPS_DIR   := $(BUILDDIR)/cups-$(CUPS_VERSION)
 CUPS_LICENSE   := LGPL-2.0 AND GPL-2.0
+CUPS_LICENSE_FILES := 
file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460
 
 # 
 # Prepare
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 4/5] libpaper: pin down license MD5sum

2017-11-23 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/libpaper.make | 1 +
 1 file changed, 1 insertion(+)

diff --git a/rules/libpaper.make b/rules/libpaper.make
index 0d68dc62a..6a8128b8e 100644
--- a/rules/libpaper.make
+++ b/rules/libpaper.make
@@ -27,6 +27,7 @@ LIBPAPER_URL  := 
http://snapshot.debian.org/archive/debian-debug/20161113T151229
 LIBPAPER_SOURCE:= $(SRCDIR)/$(LIBPAPER).$(LIBPAPER_SUFFIX)
 LIBPAPER_DIR   := $(BUILDDIR)/$(LIBPAPER)
 LIBPAPER_LICENSE   := GPL-2.0
+LIBPAPER_LICENSE_FILES := file://COPYING;md5=0278281246c1e59af1ef0ae1784a4948
 
 # 
 # Prepare
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 2/5] cups-filters: pin down license MD5sum

2017-11-23 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/cups-filters.make | 1 +
 1 file changed, 1 insertion(+)

diff --git a/rules/cups-filters.make b/rules/cups-filters.make
index ceac6a33d..2694ac75d 100644
--- a/rules/cups-filters.make
+++ b/rules/cups-filters.make
@@ -24,6 +24,7 @@ CUPS_FILTERS_URL  := 
http://openprinting.org/download/cups-filters/$(CUPS_FILTERS
 CUPS_FILTERS_SOURCE:= $(SRCDIR)/$(CUPS_FILTERS).$(CUPS_FILTERS_SUFFIX)
 CUPS_FILTERS_DIR   := $(BUILDDIR)/$(CUPS_FILTERS)
 CUPS_FILTERS_LICENSE   := GPL-2.0 AND GPL-2.0+ AND GPL-3.0 AND GPL-3.0+ AND 
LGPL-2 AND LGPL-2.1+ AND MIT AND BSD-4-clause
+CUPS_FILTERS_LICENSE_FILES := 
file://COPYING;md5=94bc12f02f100806cd5f19304d03f7b
 
 # 
 # Prepare
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 6/5] poppler-data: pin down license MD5sum

2017-11-23 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
... oops, forgot to send this in the series... :)

---
 rules/poppler-data.make | 4 
 1 file changed, 4 insertions(+)

diff --git a/rules/poppler-data.make b/rules/poppler-data.make
index 93edb7cea..1272cb65f 100644
--- a/rules/poppler-data.make
+++ b/rules/poppler-data.make
@@ -24,6 +24,10 @@ POPPLER_DATA_URL := 
https://poppler.freedesktop.org/$(POPPLER_DATA).$(POPPLER_DA
 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
+POPPLER_DATA_LICENSE_FILES := \
+   file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \
+   file://COPYING.adobe;md5=63c6a8a9df204c00461fa5f163d8a663 \
+   file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe
 
 # 
 # Prepare
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v2 1/2] lcms: version bump 1.19 -> 2.9

2017-11-23 Thread Roland Hieber
lcms 1.19 was released 2009, and is no longer maintained, so it is
about time. Python support has been removed. MD5 for the license file
has changed, but it's still the MIT License. Also make the tools
installable.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
--
changes v1 -> v2:
 * correct a small typo in commit message (libcms -> lcms, thanks to rsc)
 * poppler patch is unchanged, not resending it.

---
 rules/lcms.in   | 13 +++--
 rules/lcms.make | 20 
 2 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/rules/lcms.in b/rules/lcms.in
index b7bae423b..f03776c59 100644
--- a/rules/lcms.in
+++ b/rules/lcms.in
@@ -1,9 +1,18 @@
 ## SECTION=system_libraries
 
-config LCMS
+menuconfig LCMS
tristate
-   prompt "lcms"
+   prompt "lcms  "
select LIBC_M
help
  LittleCMS intends to be a small-footprint, speed
  optimized color management engine in open source form.
+
+if LCMS
+
+config LCMS_BIN
+   bool "install tools"
+   help
+ Install transicc, psicc, linkicc
+
+endif
diff --git a/rules/lcms.make b/rules/lcms.make
index 55bb10e6d..7ca10dd7a 100644
--- a/rules/lcms.make
+++ b/rules/lcms.make
@@ -16,15 +16,15 @@ PACKAGES-$(PTXCONF_LCMS) += lcms
 #
 # Paths and names
 #
-LCMS_VERSION   := 1.19
-LCMS_MD5   := 8af94611baf20d9646c7c2c285859818
-LCMS   := lcms-$(LCMS_VERSION)
+LCMS_VERSION   := 2.9
+LCMS_MD5   := 45865f3faf3cc1a9778f89e255495331
+LCMS   := lcms2-$(LCMS_VERSION)
 LCMS_SUFFIX:= tar.gz
 LCMS_URL   := $(call ptx/mirror, SF, lcms/$(LCMS).$(LCMS_SUFFIX))
 LCMS_SOURCE:= $(SRCDIR)/$(LCMS).$(LCMS_SUFFIX)
-LCMS_DIR   := $(BUILDDIR)/lcms-1.19
+LCMS_DIR   := $(BUILDDIR)/$(LCMS)
 LCMS_LICENSE   := MIT
-LCMS_LICENSE_FILES := file://COPYING;md5=156745cad721a8783cb847e82b79f586
+LCMS_LICENSE_FILES := file://COPYING;md5=6c786c3b7a4afbd3c990f1b81261d516
 
 # 
 # Prepare
@@ -40,8 +40,7 @@ LCMS_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
--without-tiff \
--without-zlib \
-   --without-jpeg \
-   --without-python
+   --without-jpeg
 
 # 
 # Target-Install
@@ -56,8 +55,13 @@ $(STATEDIR)/lcms.targetinstall:
@$(call install_fixup, lcms,AUTHOR,"Michael Olbrich 
<m.olbr...@pengutronix.de>")
@$(call install_fixup, lcms,DESCRIPTION,missing)
 
-   @$(call install_lib, lcms, 0, 0, 0644, liblcms)
+   @$(call install_lib, lcms, 0, 0, 0644, liblcms2)
 
+ifdef PTXCONF_LCMS_BIN
+   @$(call install_copy, lcms, 0, 0, 0755, -, /usr/bin/transicc)
+   @$(call install_copy, lcms, 0, 0, 0755, -, /usr/bin/psicc)
+   @$(call install_copy, lcms, 0, 0, 0755, -, /usr/bin/linkicc)
+endif
@$(call install_finish, lcms)
 
@$(call touch)
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [ptxdist-commit] [public/git/ptxdist] 15/26: Doc: improve the 'build the docs' documentation

2017-11-23 Thread Roland Hieber

Hi,

On 23.11.2017 14:29, gitolite+pub...@pengutronix.de wrote:

This is an automated email from the git hooks/post-receive script.

pengutronix.michael.olbrich pushed a commit to branch master
in repository git/ptxdist.

commit efebcad7d3bd4d3d1e4cbdc280ce5bf29f298cdf
Author: Juergen Borleis <j...@pengutronix.de>
AuthorDate: Tue Nov 14 16:33:43 2017 +0100

 Doc: improve the 'build the docs' documentation
 
 Signed-off-by: Juergen Borleis <j...@pengutronix.de>

---
  doc/including_bsp_doc.inc | 101 +-
  1 file changed, 64 insertions(+), 37 deletions(-)

diff --git a/doc/including_bsp_doc.inc b/doc/including_bsp_doc.inc
index c24e40e27a24..f1f65ff48acc 100644
--- a/doc/including_bsp_doc.inc
+++ b/doc/including_bsp_doc.inc
@@ -1,42 +1,17 @@
-Integrate project specific Documentaion into the Manual

+The PTXdist User Manual
+---
  


[...]

  
+Using a Python virtual environment

+^^
+
+*Sphinx* is *Python* based and thus can be installed via a virtual environment
+when not globally present in the host system.
+
+.. code-block:: text
+
+   $ pip3 install --upgrade --user pip virtualenv


Is there a "$ virtualenv env/" missing here? Or how is the virtualenv 
expected to come into existence?


 - Roland


+   $ source env/bin/activate
+   $ pip3 install sphinx
+   $ pip3 install sphinx_rtd_theme
+
+.. note:: Whenever you want to create the PTXdist user manual, you must first
+   source the ``env/bin/activate`` file if not already done.
+
  Building the Documentation
  ~~
  
@@ -56,7 +47,7 @@ documentation from the sources.
  
  The command:
  
-::

+.. code-block:: text
  
  $ ptxdist docs-html
  
@@ -65,13 +56,49 @@ file for this kind of documentation is ``Documentation/html/index.html``.
  
  The command:
  
-::

+.. code-block:: text
  
  $ ptxdist docs-latex
  
  will build the Latex based documentation which results into the final

  *Portable Document Format* document. This result can be found in
-``Documentation/latex/``.
+``Documentation/latex/OSELAS.BSP-Pengutronix-Example-Quickstart.pdf``.
  
  Both commands can be executed in the BSP or the toplevel PTXdist directory

  to create the BSP specific or generic documentation respectively.
+
+Integrate project specific Documentation into the Manual
+
+
+PTXdist supports the ability to integrate project specific documentation
+into the final PTXdist manual. To do so, PTXdist handles file replacements and
+additions, while generating the documentation.
+
+File replacement is working in the same manner like for all other files in
+a PTXdist based project: a local file with the same name superseds a global 
file
+from PTXdist.
+
+With this mechanism we can replace existing PTXdist documentation or add new 
one.
+
+If we want to add a new global section to the manual we can copy the global
+PTXdist ``doc/index.rst`` file into our local ``doc/`` directory and adapt it
+accordingly.
+
+To change or add things less intrusive we can do it on the various ``*.inc``
+files in the PTXdist's ``doc/`` directory which define the content of the
+sections.
+
+For example to change the image createn section's content, we can copy the
+global PTXdist ``doc/user_images.inc`` into our local ``doc/`` directory and
+adapt it to the behaviour of our project.
+
+In the generic documentation source many text uses variables instead of fixed
+content. These variables are filled with values extracted from the current 
PTXdist
+project prior building the final documentation. Since PTXdist projects are 
bound
+to a defined PTXdist version and toolchain version, this kind of information is
+extracted from the current settings and substituted in the documentation. This
+behaviour ensures the documentaiton includes the project's exact definition to
+external dependencies.
+
+Refer the PTXdist file ``doc/conf.py`` for more information on variable
+substitution. This PTXdist global file can be superseded by a local copy as 
well.



--
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

[ptxdist] [PATCH v2 2/6] cups-filters: pin down license MD5sum

2017-11-23 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
changes in v1 -> v2:
 * sorry, the md5sum was missing a '7' in the front...

---
 rules/cups-filters.make | 1 +
 1 file changed, 1 insertion(+)

diff --git a/rules/cups-filters.make b/rules/cups-filters.make
index ceac6a33d..7b3e848da 100644
--- a/rules/cups-filters.make
+++ b/rules/cups-filters.make
@@ -24,6 +24,7 @@ CUPS_FILTERS_URL  := 
http://openprinting.org/download/cups-filters/$(CUPS_FILTERS
 CUPS_FILTERS_SOURCE:= $(SRCDIR)/$(CUPS_FILTERS).$(CUPS_FILTERS_SUFFIX)
 CUPS_FILTERS_DIR   := $(BUILDDIR)/$(CUPS_FILTERS)
 CUPS_FILTERS_LICENSE   := GPL-2.0 AND GPL-2.0+ AND GPL-3.0 AND GPL-3.0+ AND 
LGPL-2 AND LGPL-2.1+ AND MIT AND BSD-4-clause
+CUPS_FILTERS_LICENSE_FILES := 
file://COPYING;md5=794bc12f02f100806cd5f19304d03f7b
 
 # 
 # Prepare
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 2/2] rootfs: correctly escape /etc/issue figlets

2017-11-30 Thread Roland Hieber
Use install_replace_figlet's newly introduced 'getty' escape mode to
escape '\' with '\\' and prevent any possible variable interpolation
when /etc/issue is displayed by getty.

Signed-off-by: Roland Hieber <roh...@rohieb.name>
---
 rules/rootfs.make | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/rules/rootfs.make b/rules/rootfs.make
index 81d4cd93a..ef5bba7df 100644
--- a/rules/rootfs.make
+++ b/rules/rootfs.make
@@ -194,10 +194,12 @@ ifdef PTXCONF_ROOTFS_ISSUE
$(call remove_quotes,$(PTXCONF_ROOTFS_ETC_HOSTNAME)))
@$(call install_replace_figlet, rootfs, /etc/issue, \
@FIGLET:VENDOR@, \
-   `sed -r 's/ ?([\.:;,]) ?/ \1 /' <<< $(PTXCONF_PROJECT_VENDOR)`)
+   `sed -r 's/ ?([\.:;,]) ?/ \1 /' <<< $(PTXCONF_PROJECT_VENDOR)`, 
\
+   etcissue)
@$(call install_replace_figlet, rootfs, /etc/issue, \
@FIGLET:HOSTNAME@, \
-   `sed -r 's/ ?([\.:;,]) ?/ \1 /' <<< 
$(PTXCONF_ROOTFS_ETC_HOSTNAME)`)
+   `sed -r 's/ ?([\.:;,]) ?/ \1 /' <<< 
$(PTXCONF_ROOTFS_ETC_HOSTNAME)`, \
+   etcissue)
 endif
 
 ifdef PTXCONF_ROOTFS_HOSTS
-- 
2.15.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 0/2] improve type design in the login banner

2017-11-30 Thread Roland Hieber
Every time I look at the login prompt, the banner looks a bit off. It's
not much, but it's enough for me to notice and sigh internally at the
unroundness and leakiness of the letters, and I find the letters a bit
hard to parse.

The reason for this appearance is that backslashes in the banner output
are replaced by backticks when it is written to /etc/issue, probably as
a quick-fix to avoid variable expansion by getty.

This patch series brings the login banner back to its usual appearance.
Judge for yourself:

Before:
 _   _
|  _ ` ___ _ __   __ _ _   _| |_ _ __ ___  _ __ (_)_  __
| |_) / _ ` '_ ` / _` | | | | __| '__/ _ `| '_ `| ` `/ /
|  __/  __/ | | | (_| | |_| | |_| | | (_) | | | | |>  <
|_|   `___|_| |_|`__, |`__,_|`__|_|  `___/|_| |_|_/_/`_`
 |___/
   _ _ _  ___ _
|  _ `(_)___| |_ _ __ ___ | |/ (_) |_
| | | | / __| __| '__/ _ `| ' /| | __|
| |_| | `__ ` |_| | | (_) | . `| | |_
|/|_|___/`__|_|  `___/|_|`_`_|`__|

After:
 _   _
|  _ \ ___ _ __   __ _ _   _| |_ _ __ ___  _ __ (_)_  __
| |_) / _ \ '_ \ / _` | | | | __| '__/ _ \| '_ \| \ \/ /
|  __/  __/ | | | (_| | |_| | |_| | | (_) | | | | |>  <
|_|   \___|_| |_|\__, |\__,_|\__|_|  \___/|_| |_|_/_/\_\
 |___/
   _ _ _  ___ _
|  _ \(_)___| |_ _ __ ___ | |/ (_) |_
| | | | / __| __| '__/ _ \| ' /| | __|
| |_| | \__ \ |_| | | (_) | . \| | |_
|/|_|___/\__|_|  \___/|_|\_\_|\__|


Roland Hieber (2):
  install_replace_figlet: allow escaping the figlet output
  rootfs: correctly escape /etc/issue figlets

 rules/post/install.make   |  4 +++-
 rules/rootfs.make |  6 --
 scripts/lib/ptxd_make_xpkg_pkg.sh | 20 ++--
 3 files changed, 25 insertions(+), 5 deletions(-)

-- 
2.15.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH 1/2] install_replace_figlet: allow escaping the figlet output

2017-11-30 Thread Roland Hieber
All known gettys in PTXdist allow inserting variables into /etc/issue by
prefixing certain characters with backslashes (e.g. a literal '\v'
expands to the kernel version from uname -v). In this case, '\'s in the
figlet output must be escaped accordingly so they are displayed as '\'s
on the screen.

For readability, refactor the code into a new local function. Then
add a new parameter describing the escape mode ('etcissue' or none, the
default) as a new, fifth parameter to install_replace_figlet. Currently,
install_replace_figlet is only used in rootfs.make on /etc/issue, and
the chance that we break existing code with the new default should be
small.

Signed-off-by: Roland Hieber <roh...@rohieb.name>
---
 rules/post/install.make   |  4 +++-
 scripts/lib/ptxd_make_xpkg_pkg.sh | 20 ++--
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/rules/post/install.make b/rules/post/install.make
index c40e36eb6..c0e24569e 100644
--- a/rules/post/install.make
+++ b/rules/post/install.make
@@ -301,14 +301,16 @@ install_replace = \
 # $2: filename
 # $3: placeholder
 # $4: value
+# $5: escape mode (empty or 'etcissue')
 #
 install_replace_figlet = \
XPKG=$(subst _,-,$(strip $(1)));
\
FILE=$(strip $(2)); 
\
PLACEHOLDER=$(strip $(3));  
\
VALUE=$(strip $(4));
\
+   ESCAPEMODE=$(strip $(5));   
\
$(call install_check, install_replace); 
\
-   echo "ptxd_install_replace_figlet '$$FILE' '$$PLACEHOLDER' '$$VALUE'" 
>> "$(STATEDIR)/$$XPKG.cmds"
+   echo "ptxd_install_replace_figlet '$$FILE' '$$PLACEHOLDER' '$$VALUE' 
'$$ESCAPEMODE'" >> "$(STATEDIR)/$$XPKG.cmds"
 
 #
 # install_script_replace
diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh 
b/scripts/lib/ptxd_make_xpkg_pkg.sh
index 4efc31630..eb3452e3a 100644
--- a/scripts/lib/ptxd_make_xpkg_pkg.sh
+++ b/scripts/lib/ptxd_make_xpkg_pkg.sh
@@ -567,6 +567,7 @@ ptxd_install_replace_figlet() {
 local dst="$1"
 local placeholder="$2"
 local value="$3"
+local escapemode="$4"
 local -a dirs ndirs pdirs sdirs ddirs
 local mod_nfs mod_rw
 
@@ -578,8 +579,23 @@ install replace figlet:
 " &&
 
 ptxd_exist "${dirs[@]/%/${dst}}" &&
-figlet="$(figlet -d "${PTXDIST_SYSROOT_HOST}/share/figlet" -- "${value}" | 
\
-   awk '{ gsub("", "`"); if ($0 !~ "^ *$") printf("%s\\n", $0) }')" && 
#`
+ptxd_figlet_helper() {
+local value="$1"
+local escapemode="$2"
+figlet -d "${PTXDIST_SYSROOT_HOST}/share/figlet" -- "${value}" | \
+case "$escapemode" in
+# a lot of leaning toothpicks because we need to escape a literal
+# '\' with '\\' on multiple levels:
+# - one level for the string inside awk:  -> 

+# - one level for the shell string after sed -e:  -> 
+# - one level for the s expression inside sed:-> \\
+# - and finally, one level for /etc/issue:-> \
+etcissue)  awk '{ gsub("", ""); print }' ;;
+*) ;;
+esac | \
+awk '{ if ($0 !~ "^ *$") printf("%s\\n", $0) }'  # newlines for sed
+} &&
+figlet="$(ptxd_figlet_helper "$value" "$escapemode")" &&
 sed -i -e "s#${placeholder}#${figlet}#g" "${dirs[@]/%/${dst}}" ||
 
 ptxd_install_error "install_replace failed!"
-- 
2.15.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH] openssh: version bump 7.5p1 -> 7.6p1

2017-11-10 Thread Roland Hieber
--without-ssh1 has been removed from configure.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/openssh.make | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/rules/openssh.make b/rules/openssh.make
index ef5eec8f0..17ccfdfdc 100644
--- a/rules/openssh.make
+++ b/rules/openssh.make
@@ -17,8 +17,8 @@ PACKAGES-$(PTXCONF_OPENSSH) += openssh
 #
 # Paths and names
 #
-OPENSSH_VERSION:= 7.5p1
-OPENSSH_MD5:= 652fdc7d8392f112bef11cacf7e69e23
+OPENSSH_VERSION:= 7.6p1
+OPENSSH_MD5:= 06a88699018e5fef13d4655abfed1f63
 OPENSSH:= openssh-$(OPENSSH_VERSION)
 OPENSSH_SUFFIX := tar.gz
 OPENSSH_URL:= \
@@ -64,7 +64,6 @@ OPENSSH_CONF_OPT  := \
--disable-pututline \
--disable-pututxline \
--with-openssl \
-   --without-ssh1 \
--with-stackprotect \
--with-hardening \
--without-rpath \
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

Re: [ptxdist] [PATCH v2] nginx: version bump 1.10.3 -> 1.12.1

2017-11-20 Thread Roland Hieber
Hi,

I'm currently trying to backport this patch onto a BSP based on an older
PTXdist. I'll shorten the context to the relevant parts:

On 03.08.2017 16:49, Clemens Gruber wrote:
> Also update patches from buildroot and replace the missing --with-ipv6
> flag by overriding the feature build test results for IPv6 depending on
> the GLOBAL_IPV6_OPTION in PTXdist.
> 
> Signed-off-by: Clemens Gruber <clemens.gru...@pqgruber.com>
> ---
> 
> Changes since v1:
> - Do not depend on build-time autodetection and force IPv6 test result
> - Readd buildroot git-ptx-patches tag after base
> 

[...]

> diff --git 
> a/patches/nginx-1.12.1/0101-auto-unix-allow-overriding-the-IPv6-build-test.patch
>  
> b/patches/nginx-1.12.1/0101-auto-unix-allow-overriding-the-IPv6-build-test.patch
> new file mode 100644
> index 0..93813beb7
> --- /dev/null
> +++ 
> b/patches/nginx-1.12.1/0101-auto-unix-allow-overriding-the-IPv6-build-test.patch
> @@ -0,0 +1,33 @@
> +From: Clemens Gruber <clemens.gru...@pqgruber.com>
> +Date: Thu, 3 Aug 2017 15:47:08 +0200
> +Subject: [PATCH] auto/unix: allow overriding the IPv6 build tests
> +
> +Signed-off-by: Clemens Gruber <clemens.gru...@pqgruber.com>
> +---
> + auto/unix | 7 ---
> + 1 file changed, 4 insertions(+), 3 deletions(-)
> +
> +diff --git a/auto/unix b/auto/unix
> +index ed821b5a5aaa..dba1be478b9d 100644
> +--- a/auto/unix
>  b/auto/unix
> +@@ -412,7 +412,8 @@ ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_PKTINFO, 
> NULL, 0)"
> + 
> + ngx_feature="IPV6_RECVPKTINFO"
> + ngx_feature_name="NGX_HAVE_IPV6_RECVPKTINFO"
> +-ngx_feature_run=no
> ++ngx_feature_run_force_result="$ngx_force_ipv6"
> ++ngx_feature_run=value
> + ngx_feature_incs="#include 
> +   #include "
> + ngx_feature_path=
> +@@ -640,7 +640,8 @@ ngx_param=NGX_MAX_TIME_T_VALUE; 
> ngx_value=$ngx_max_value; . auto/types/value
> + 
> + ngx_feature="AF_INET6"
> + ngx_feature_name="NGX_HAVE_INET6"
> +-ngx_feature_run=no
> ++ngx_feature_run_force_result="$ngx_force_ipv6"
> ++ngx_feature_run=value
> + ngx_feature_incs="#include 
> +   #include 
> +   #include "

[...]

> diff --git a/rules/nginx.make b/rules/nginx.make
> index ef98c0adb..0f8ce65f2 100644
> --- a/rules/nginx.make
> +++ b/rules/nginx.make
> @@ -17,8 +17,8 @@ PACKAGES-$(PTXCONF_NGINX) += nginx
>  #
>  # Paths and names
>  #
> -NGINX_VERSION:= 1.10.3
> -NGINX_MD5:= 204a20cb4f0b0c9db746c630d89ff4ea
> +NGINX_VERSION:= 1.12.1
> +NGINX_MD5:= a307e74aca95403e5ee00f153807ce58
>  NGINX:= nginx-$(NGINX_VERSION)
>  NGINX_SUFFIX := tar.gz
>  NGINX_URL:= https://nginx.org/download/$(NGINX).$(NGINX_SUFFIX)
> @@ -44,7 +44,8 @@ NGINX_CONF_ENV := \
>   ngx_force_have_map_anon=yes \
>   ngx_force_have_map_devzero=yes \
>   ngx_force_have_sysvshm=yes \
> - ngx_force_have_posix_sem=yes
> + ngx_force_have_posix_sem=yes \

I cannot get IPv6 to work, because nginx complains about "the INET6
sockets are not supported on this platform" when I try to have it listen
on [::]:443. This happens because NGX_HAVE_INET6 apparently gets defined
to "yes" in objs/ngx_auto_config.h, and it works well if I change this line:

> + ngx_force_ipv6=$(call ptx/ifdef, PTXCONF_GLOBAL_IPV6, yes, no)

to
ngx_force_ipv6=$(call ptx/ifdef, PTXCONF_GLOBAL_IPV6, 1, 0)

Can you reproduce this?

 - Roland

-- 
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

[ptxdist] [PATCH 2/2] poppler: version bump 0.60.1 -> 0.61.1

2017-11-20 Thread Roland Hieber
Patches have gone upstream or are no longer needed because we now link
with libcms2, as libcms1 support will soon be dropped upstream.

Apparently pthread detection in CMake has changed, work around it.

Also include MD5 sums for the license files.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 ...dd-the-custom-buildtests-target-only-once.patch | 58 --
 ...Make-make-FindLCMS.cmake-cross-compatible.patch | 69 --
 patches/poppler-0.60.1/series  |  5 --
 rules/poppler.in   |  3 +-
 rules/poppler.make | 17 --
 5 files changed, 14 insertions(+), 138 deletions(-)
 delete mode 100644 
patches/poppler-0.60.1/0001-CMake-add-the-custom-buildtests-target-only-once.patch
 delete mode 100644 
patches/poppler-0.60.1/0002-CMake-make-FindLCMS.cmake-cross-compatible.patch
 delete mode 100644 patches/poppler-0.60.1/series

diff --git 
a/patches/poppler-0.60.1/0001-CMake-add-the-custom-buildtests-target-only-once.patch
 
b/patches/poppler-0.60.1/0001-CMake-add-the-custom-buildtests-target-only-once.patch
deleted file mode 100644
index 7d996760a..0
--- 
a/patches/poppler-0.60.1/0001-CMake-add-the-custom-buildtests-target-only-once.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From: Roland Hieber <r.hie...@pengutronix.de>
-Date: Mon, 6 Nov 2017 15:36:34 +0100
-Subject: [PATCH] CMake: add the custom `buildtests` target only once
-
-This fixes building with -DBUILD_QT4_TESTS=NO or -DBUILD_QT5_TESTS=NO,
-which resulted in error messages like:
-
-  CMake Error at cmake/modules/PopplerMacros.cmake:41 (add_custom_target):
-add_custom_target cannot create target "buildtests" because another
-target with the same name already exists.  The existing target is a
-custom target created in source directory
-"[...]/poppler-0.60.1/qt4/tests".
-See documentation for policy CMP0002 for more details.
-  Call Stack (most recent call first):
-qt4/tests/CMakeLists.txt:30 (poppler_add_unittest)
-qt4/tests/CMakeLists.txt:52 (qt4_add_qtest)
-
-Solve this by making BUILDTESTS_ADDED a global property so it is only
-remembered once per project instead of per directory.
-
-Fixes bug #103003.
-
-Forwarded: https://bugs.freedesktop.org/show_bug.cgi?id=103003#c5
-Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>

- cmake/modules/PopplerMacros.cmake | 8 
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/cmake/modules/PopplerMacros.cmake 
b/cmake/modules/PopplerMacros.cmake
-index ba4bceb36ba4..4542751a0857 100644
 a/cmake/modules/PopplerMacros.cmake
-+++ b/cmake/modules/PopplerMacros.cmake
-@@ -13,10 +13,10 @@ macro(POPPLER_ADD_TEST exe build_flag)
- 
-   # if the tests are EXCLUDE_FROM_ALL, add a target "buildtests" to build all 
tests
-   if(NOT build_test AND NOT MSVC_IDE)
--get_directory_property(_buildtestsAdded BUILDTESTS_ADDED)
-+get_property(_buildtestsAdded GLOBAL PROPERTY BUILDTESTS_ADDED)
- if(NOT _buildtestsAdded)
-   add_custom_target(buildtests)
--  set_directory_properties(PROPERTIES BUILDTESTS_ADDED TRUE)
-+  set_property(GLOBAL PROPERTY BUILDTESTS_ADDED TRUE)
- endif(NOT _buildtestsAdded)
- add_dependencies(buildtests ${exe})
-   endif(NOT build_test AND NOT MSVC_IDE)
-@@ -33,10 +33,10 @@ macro(POPPLER_ADD_UNITTEST exe build_flag)
- 
-   # if the tests are EXCLUDE_FROM_ALL, add a target "buildtests" to build all 
tests
-   if(NOT build_test)
--get_directory_property(_buildtestsAdded BUILDTESTS_ADDED)
-+get_property(_buildtestsAdded GLOBAL PROPERTY BUILDTESTS_ADDED)
- if(NOT _buildtestsAdded)
-   add_custom_target(buildtests)
--  set_directory_properties(PROPERTIES BUILDTESTS_ADDED TRUE)
-+  set_property(GLOBAL PROPERTY BUILDTESTS_ADDED TRUE)
- endif(NOT _buildtestsAdded)
- add_dependencies(buildtests ${exe})
-   endif(NOT build_test)
diff --git 
a/patches/poppler-0.60.1/0002-CMake-make-FindLCMS.cmake-cross-compatible.patch 
b/patches/poppler-0.60.1/0002-CMake-make-FindLCMS.cmake-cross-compatible.patch
deleted file mode 100644
index 2e9285c62..0
--- 
a/patches/poppler-0.60.1/0002-CMake-make-FindLCMS.cmake-cross-compatible.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From: Roland Hieber <r.hie...@pengutronix.de>
-Date: Mon, 6 Nov 2017 17:31:17 +0100
-Subject: [PATCH] CMake: make FindLCMS.cmake cross-compatible
-
-FindLCMS.make complains when being run in cross-compile mode:
-
-  -- Checking for module 'lcms'
-  --   Found lcms, version 1.19
-  CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the
-  following cache variables appropriately:
- LCMS_VERSION (advanced)
- LCMS_VERSION__TRYRUN_OUTPUT (advanced)
-  For details see [...]/poppler-0.60.1-build/TryRunResults.cmake
-  -- Found lcms version P.LE, [...]/sysroot-target/usr/lib/liblcms.so
-
-To work around this, replace try_run(

[ptxdist] [PATCH] php5: don't build a SAPI module by default

2017-11-02 Thread Roland Hieber
With PHP5_SAPI_APXSFILTER as the top-most selectable choice, it gets
selected as default when PHP5 is selected. This pulls in a fairly high
footprint of other dependencies, namely (host-)apache2, which might not
even be needed when PHP5 is selected as a dependency by other packages
for PHP5_SAPI_CLI only.

Bring PHP5_SAPI_NONE to the top of the choice block so it gets selected
by default when PHP5 is selected. This pulls in PHP5_SAPI_CLI, but no
further external dependencies.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/php5.in | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/rules/php5.in b/rules/php5.in
index df352a062..4b88a585d 100644
--- a/rules/php5.in
+++ b/rules/php5.in
@@ -37,6 +37,11 @@ config PHP5_INI
 choice
prompt "SAPI Module"
 
+config PHP5_SAPI_NONE
+   bool
+   prompt "none"
+   select PHP5_SAPI_CLI
+
 config PHP5_SAPI_AOLSERVER
bool
prompt "aolserver"
@@ -153,11 +158,6 @@ config PHP5_SAPI_CGI
help
  Build CGI version of PHP.
 
-config PHP5_SAPI_NONE
-   bool
-   prompt "none"
-   select PHP5_SAPI_CLI
-
 endchoice
 
 config PHP5_SAPI_CLI
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v2] php5: don't build a SAPI module by default

2017-11-02 Thread Roland Hieber
With PHP5_SAPI_APXSFILTER as the top-most selectable choice, it gets
selected as default when PHP5 is selected. This pulls in a fairly high
footprint of other dependencies, namely (host-)apache2. These might not
even be needed when PHP5 is selected as a dependency by other packages
for PHP5_SAPI_CLI only.

Default to PHP5_SAPI_NONE instead. This also selects PHP5_SAPI_CLI
(preventing configure from complaining that nothing is being built), but
no further external dependencies, resulting in a much smaller default
footprint.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>

---
 v2:
  - don't reorder options, but only set the default choice.
  - improve commit message

---
 rules/php5.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/rules/php5.in b/rules/php5.in
index df352a062..fe76d4bd5 100644
--- a/rules/php5.in
+++ b/rules/php5.in
@@ -36,6 +36,7 @@ config PHP5_INI
 
 choice
prompt "SAPI Module"
+   default PHP5_SAPI_NONE
 
 config PHP5_SAPI_AOLSERVER
bool
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v4 5/7] cups: new package: Common Unix Printing System

2017-11-07 Thread Roland Hieber
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 <r.hie...@pengutronix.de>
---

Notes:
changes in v3 -> v4:
 - remove leftover 2.2.4 patches from last bump, all merged upstream
 - improve dependency handling for scripting languages:
   * don't depend on x86-only Oracle Java, remind the user to install
 Java if needed, and make path to Java interpreter configurable
   * introduce choices between php5-cli and php5-cgi for CUPS_PHP, and
 between python2 and python3 for CUPS_PYTHON. This way third-party
 packages can still depend on CUPS_PYTHON or CUPS_PHP if needed.
   * make all scripting languages a RUNTIME dependency
   * wrap everything into a "if CUPS_WEBINTERFACE ... endif" block
 - improve wording in CUPS_WEBINTERFACE help
 - install libraries as mode 0644, not 0755

 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-bbinit.in|   8 +
 rules/cups.in   | 147 +++
 rules/cups.make | 241 
 14 files changed, 461 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-bbinit.in
 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 00

[ptxdist] [PATCH v4 7/7] cups-filters: new package: additional filters and backends for CUPS

2017-11-07 Thread Roland Hieber
Filters for a PDF-based printing workflow, and more backends for widely
available printing protocols. No PostScript and Foomatic support (yet)
because we are missing the respective dependencies in PTXdist.

Release frequency is high, with mostly small changes per release.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes in v3 -> v4:
 - install libs as mode 0644, not 0755

 rules/cups-filters.in   | 73 +++
 rules/cups-filters.make | 90 +
 2 files changed, 163 insertions(+)
 create mode 100644 rules/cups-filters.in
 create mode 100644 rules/cups-filters.make

diff --git a/rules/cups-filters.in b/rules/cups-filters.in
new file mode 100644
index 0..b385d60cf
--- /dev/null
+++ b/rules/cups-filters.in
@@ -0,0 +1,73 @@
+## SECTION=applications
+
+menuconfig CUPS_FILTERS
+   tristate
+   prompt "cups-filters  "
+
+   select LIBC_DL
+   select HOST_CUPS
+   select CUPS
+   select GLIB
+   select ZLIB
+   select LCMS
+   select FREETYPE
+   select FONTCONFIG
+   select QPDF
+
+   # Note: configure does not check for these poppler options:
+   select POPPLER  if CUPS_FILTERS_POPPLER
+   select POPPLER_BIN  if CUPS_FILTERS_POPPLER # for pdftops
+   select POPPLER_CPP  if CUPS_FILTERS_POPPLER
+   select POPPLER_CMS  if CUPS_FILTERS_POPPLER
+   select POPPLER_SPLASH   if CUPS_FILTERS_POPPLER
+   select POPPLER_XPDF if CUPS_FILTERS_POPPLER
+
+   select LIBJPEG  if CUPS_FILTERS_JPEG
+   select LIBPNG   if CUPS_FILTERS_PNG
+
+   help
+ cups-filters contains backends, filters, and other software that
+ was once part of the core CUPS distribution but is no longer
+ maintained by Apple Inc. In addition it contains additional filters
+ and software developed independently of Apple, especially filters for
+ the PDF-centric printing workflow introduced by OpenPrinting and a
+ daemon to browse Bonjour broadcasts of remote CUPS printers and makes
+ these printers available locally.
+
+if CUPS_FILTERS
+
+config CUPS_FILTERS_POPPLER
+   bool "build with poppler support"
+   help
+ Build with poppler support, needed for pdfto* filters and banners.
+
+comment "poppler support will not build with POPPLER_SPLASH_FIXED!"
+   depends on (POPPLER_SPLASH_FIXED && CUPS_FILTERS_POPPLER)
+
+config CUPS_FILTERS_IMAGEFILTERS
+   bool "build image filters"
+   help
+ Build imagetopdf and imagetoraster filters
+
+config CUPS_FILTERS_PCLM
+   bool "with PCLm support"
+   help
+ Enable PCLm support for printing on Wi-Fi Direct printers via
+ rastertopclm filter
+
+config CUPS_FILTERS_JPEG
+   bool "with JPEG support"
+   depends on CUPS_FILTERS_IMAGEFILTERS
+   default y
+   help
+ Enable JPEG support in image filters
+
+config CUPS_FILTERS_PNG
+   bool "with PNG support"
+   depends on CUPS_FILTERS_IMAGEFILTERS
+   default y
+   help
+ Enable PNG support in image filters
+
+endif
+# vim: ft=kconfig ts=8 noet tw=80
diff --git a/rules/cups-filters.make b/rules/cups-filters.make
new file mode 100644
index 0..ceac6a33d
--- /dev/null
+++ b/rules/cups-filters.make
@@ -0,0 +1,90 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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_CUPS_FILTERS) += cups-filters
+
+#
+# Paths and names
+#
+CUPS_FILTERS_VERSION   := 1.17.9
+CUPS_FILTERS_MD5   := 2ef5f2b902bcdcb963c5ef5858976bbc
+CUPS_FILTERS   := cups-filters-$(CUPS_FILTERS_VERSION)
+CUPS_FILTERS_SUFFIX:= tar.xz
+CUPS_FILTERS_URL   := 
http://openprinting.org/download/cups-filters/$(CUPS_FILTERS).$(CUPS_FILTERS_SUFFIX)
+CUPS_FILTERS_SOURCE:= $(SRCDIR)/$(CUPS_FILTERS).$(CUPS_FILTERS_SUFFIX)
+CUPS_FILTERS_DIR   := $(BUILDDIR)/$(CUPS_FILTERS)
+CUPS_FILTERS_LICENSE   := GPL-2.0 AND GPL-2.0+ AND GPL-3.0 AND GPL-3.0+ AND 
LGPL-2 AND LGPL-2.1+ AND MIT AND BSD-4-clause
+
+# 
+# Prepare
+# 
+
+#
+# autoconf
+#
+CUPS_FILTERS_CONF_TOOL := autoconf
+CUPS_FILTERS_CONF_OPT  := \
+   $(CROSS_AUTOCONF_USR) \
+   --disable-silent-rules \
+   --disable-driverless \
+   --disable-auto-setup-driverless \
+   --$(call ptx/endis,PTXCONF_CUPS_FILTERS_IMAGEFILTERS)

[ptxdist] [PATCH v4 3/7] poppler-data: new package: optional encoding data for poppler

2017-11-07 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
(no changes in v3 -> v4)

 rules/poppler-data.in   | 10 +
 rules/poppler-data.make | 58 +
 2 files changed, 68 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..93edb7cea
--- /dev/null
+++ b/rules/poppler-data.make
@@ -0,0 +1,58 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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.8
+POPPLER_DATA_MD5   := 00f8989c804de84af0ba2ea629949980
+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
+
+# 
+# Install
+# 
+
+POPPLER_DATA_INSTALL_OPT := prefix=/usr install
+
+# 
+# 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 
<r.hie...@pengutronix.de>")
+   @$(call install_fixup, poppler-data,DESCRIPTION,missing)
+
+   @$(call install_tree, poppler-data, 0, 0, -, /usr/share/poppler)
+
+   @$(call install_finish, poppler-data)
+
+   @$(call touch)
+
+# vim: ft=make ts=8 tw=80
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v4 6/7] host-cups: new package: CUPS host tools

2017-11-07 Thread Roland Hieber
Most printer drivers compile model-specific PPDs from a generic schema
during the build process, using ppdc, the PPD compiler. ppdc must be
able to find CUPS' internal include files, which are architecture-
independent and can be used from sysroot-host.

Unfortunately, the CUPS build system is rather inflexible, so we have to
build the whole core distribution to get a working ppdc.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes in v3 -> v4:
 - adjust formatting, use := instead of =

 rules/host-cups.in   |   7 
 rules/host-cups.make | 114 +++
 2 files changed, 121 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..af757b331
--- /dev/null
+++ b/rules/host-cups.make
@@ -0,0 +1,114 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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
+# 
+
+#
+# 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).
+#
+# --libdir has to end with a /, otherwise due to broken autoconf magic, the 
libs
+# end up in ${prefix}/lib64, which is not what we want.
+#
+HOST_CUPS_CONF_TOOL:= autoconf
+HOST_CUPS_CONF_OPT := \
+   $(HOST_AUTOCONF) \
+   --libdir=/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 \
+   --enable-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
+
+# 
+# Compile
+# 
+
+$(STATEDIR)/host-cups.compile:
+   @$(call targetinfo)
+   @$(call world/compile, HOST_CUPS)
+   @# ppdc isn't built by --with-components=core
+   @$(call compile, HOST_CUPS, -C ${HOST_CUPS_DIR}/ppdc)
+   @$(call touch)
+
+# 
+# Install
+# 
+
+HOST_CUPS_MAKE_ENV := \
+   DSTROOT=$(HOST_CUPS_PKGDIR)
+
+$(STATEDIR)/host-cups.install:
+   @$(call targetinfo)
+   @$(call world/install, HOST_CUPS)
+   @# ppdc isn't included in --with-components=core
+   @$(call compile, HOST_CUPS, -C ${HOST_CUPS_DIR}/ppdc 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 'CUPS_DATADIR=$(PTXDIST_SYSROOT_HOST)/share/cups 
$(PTXDIST_SYSROOT_HOST)/bin/ppdc "$$@"'; \
+   ) > $(CROSS_PPDC)
+   @chmod +x $(CROSS_PPDC)
+
+   @$(call touch)
+
+# 
+# Clean
+# 
+
+$(STATEDIR)/host-cups.clean:
+   @$(call targetinfo)
+   @$(call clean_pkg, HOST_CUPS)
+   @rm -vf $(CROSS_PPDC)
+
+# vim: ft=make ts=8 tw=80
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v4 4/7] poppler: version bump 0.18.0 -> 0.60.1

2017-11-07 Thread Roland Hieber
This is quite a version bump, spanning six years of poppler development.

Upstream now provides data for rendering cyrillic and CJK languages in
the package poppler-data, but this dependency is only detected at
compile time, so we make sure the build order is right. The build system
has changed from autotools to CMake.

Some applications require the old xpdf headers, the CPP wrapper or CMYK
support, so make these 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, but it is officially unmaintained, so we leave it
out. Likewise, poppler allows using zlib to uncompress flate streams,
but with the warning that this is "not totally safe", so it is disabled
for now. The GTK dependency has been dropped as it is only necessary
for the documentation or some tests, which we don't build.

Additionally, poppler could benefit from packaging libopenjpeg and
libtiff in ptxdist for parsing JPEG2000 or TIFF embedded in PDFs.
Likewise, libnss could be packaged for PDF signature support. Also the
Qt5 wrapper is now selectable, but this is currently only build-tested
and needs to be tested in runtime.

Finally harmonize the wording of the kconfig options.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes in v3 -> v4:
 - version bump 0.59.0 -> 0.60.1
   * 0.60 dropped autotools support, migrate to cmake
 - remove old 0.18 patches (they were only patching autoconf)
 - specify missing license
 - remove the debug options again, there is no equivalent in cmake and
   stripping the binaries correctly is a problem.
 - install introspection data and libpoppler-qt5.so when told to do so
 - rename POPPLER_GOI -> POPPLER_INTROSPECTION, and remove its prompt
 - CMYK is really an option for the splash backend, rename accordingly
 - Qt4 wrapper is not a rendering backend, remove it from the
   no-selected-backends warning in kconfig
 - "default n" makes no sense, remove it from float/fixed point options
 - make POPPLER_XPDF a silent option, normally not needed by users
 - reorganize the Splash sub-options into an if ... endif
 - improve structure of commit message

 .../0001-make-qt4-tests-optional.patch |  60 -
 patches/poppler-0.18.0/autogen.sh  |   1 -
 patches/poppler-0.18.0/series  |   3 -
 ...dd-the-custom-buildtests-target-only-once.patch |  58 
 ...Make-make-FindLCMS.cmake-cross-compatible.patch |  69 ++
 patches/poppler-0.60.1/series  |   5 +
 rules/poppler.in   | 146 -
 rules/poppler.make |  92 -
 8 files changed, 308 insertions(+), 126 deletions(-)
 delete mode 100644 patches/poppler-0.18.0/0001-make-qt4-tests-optional.patch
 delete mode 12 patches/poppler-0.18.0/autogen.sh
 delete mode 100644 patches/poppler-0.18.0/series
 create mode 100644 
patches/poppler-0.60.1/0001-CMake-add-the-custom-buildtests-target-only-once.patch
 create mode 100644 
patches/poppler-0.60.1/0002-CMake-make-FindLCMS.cmake-cross-compatible.patch
 create mode 100644 patches/poppler-0.60.1/series

diff --git a/patches/poppler-0.18.0/0001-make-qt4-tests-optional.patch 
b/patches/poppler-0.18.0/0001-make-qt4-tests-optional.patch
deleted file mode 100644
index 599535ecf..0
--- a/patches/poppler-0.18.0/0001-make-qt4-tests-optional.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From: Michael Olbrich <m.olbr...@pengutronix.de>
-Date: Sat, 11 Jun 2011 20:23:02 +0200
-Subject: [PATCH] make qt4 tests optional
-
-Signed-off-by: Michael Olbrich <m.olbr...@pengutronix.de>

- configure.ac  |   13 ++---
- qt4/tests/Makefile.am |2 +-
- 2 files changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 471f909..aff11d8 100644
 a/configure.ac
-+++ b/configure.ac
-@@ -482,19 +482,17 @@ AC_ARG_ENABLE(poppler-qt4,
- if test x$enable_poppler_qt4 = xyes; then
-   PKG_CHECK_MODULES(POPPLER_QT4, 
-   QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0)
--  PKG_CHECK_MODULES(POPPLER_QT4_TEST, 
--  QtTest >= 4.4.0)
- elif test x$enable_poppler_qt4 = xtry; then
-   PKG_CHECK_MODULES(POPPLER_QT4,
- QtCore >= 4.4.0 QtGui >= 4.4.0 QtXml >= 4.4.0,
- [enable_poppler_qt4="yes"],
- [enable_poppler_qt4="no"])
--  if test x$enable_poppler_qt4 = xyes; then
--PKG_CHECK_MODULES(POPPLER_QT4_TEST,
-+fi
-+if test x$enable_poppler_qt4 = xyes; then
-+  PKG_CHECK_MODULES(POPPLER_QT4_TEST,
- QtTest >= 4.4.0,
--[enable_poppler_qt4="yes"],
-- 

[ptxdist] [PATCH v4 1/7] libpaper: new package: system-wide papersize configuration

2017-11-07 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes in v3 -> v4:
 - remove superfluous dependencies to HOST_AUTOTOOLS
 - install libraries as mode 0644, not 0755

 patches/libpaper-1.1.24+nmu5/autogen.sh |  2 +
 rules/libpaper.in   | 36 +
 rules/libpaper.make | 69 +
 3 files changed, 107 insertions(+)
 create mode 100755 patches/libpaper-1.1.24+nmu5/autogen.sh
 create mode 100644 rules/libpaper.in
 create mode 100644 rules/libpaper.make

diff --git a/patches/libpaper-1.1.24+nmu5/autogen.sh 
b/patches/libpaper-1.1.24+nmu5/autogen.sh
new file mode 100755
index 0..5d4c48990
--- /dev/null
+++ b/patches/libpaper-1.1.24+nmu5/autogen.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec autoreconf --install
diff --git a/rules/libpaper.in b/rules/libpaper.in
new file mode 100644
index 0..f7800489a
--- /dev/null
+++ b/rules/libpaper.in
@@ -0,0 +1,36 @@
+## SECTION=multimedia_libs
+
+menuconfig LIBPAPER
+   tristate
+   prompt "libpaper  "
+   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. Currently libpaper knows about the following formats:
+
+ 10x14 11x17 Comm10 DL Monarch a0 a1 a10 a2 a3 a4 a5 a6 a7 a8 a9 archA
+ archB archC archD archE b0 b1 b10 b2 b3 b4 b5 b6 b7 b8 b9 c2 c3 c4 c5
+ c6 c7 c8 csheet dsheet esheet executive flsa flse folio halfexecutive
+ halfletter ledger legal letter note quarto statement tabloid
+
+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..0d68dc62a
--- /dev/null
+++ b/rules/libpaper.make
@@ -0,0 +1,69 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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://snapshot.debian.org/archive/debian-debug/20161113T151229Z/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
+#
+LIBPAPER_CONF_TOOL := autoconf
+#
+# 
+# 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 
<r.hie...@pengutronix.de>")
+   @$(call install_fixup, libpaper,DESCRIPTION,missing)
+
+   @$(call install_lib, libpaper, 0, 0, 0644, libpaper)
+
+ifdef PTXCONF_LIBPAPER_PAPERCONFIG
+   @$(call install_copy, libpaper, 0, 0, 755, -, /usr/sbin/paperconfig)
+endif
+ifdef PTXCONF_LIBPAPER_PAPERCONF
+   @$(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] doc: update link to toolchain download

2017-12-05 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
I'm not quite sure if this is the right place ("The content on
public.pengutronix.de is mostly temporary, so it might vanish into thin
air any time"), but the original link is now dead and this one works.
Otherwise I did not find any reference to the toolchains on the new
PTX homepage.
---
 doc/environment.rst | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/doc/environment.rst b/doc/environment.rst
index 9cad2f300..8bf828209 100644
--- a/doc/environment.rst
+++ b/doc/environment.rst
@@ -60,9 +60,9 @@ Package Descriptions:
 Toolchains:
 PTXdist does not come with a pre-built binary toolchain.
 Nevertheless, PTXdist itself is able to build toolchains, which are
-provided by the OSELAS.Toolchain() project. More in-deep information
-about the OSELAS.Toolchain() project can be found here:
-http://www.pengutronix.de/oselas/toolchain/index_en.html
+provided by the OSELAS.Toolchain() project.
+The different OSELAS toolchains can be found at
+http://public.pengutronix.de/oselas/toolchain/.
 
 Building a toolchain is not part of this manual, refer for
 application note “Building Toolchains” instead.
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH] openssh: fix SPDX license identifier for Beerware license

2017-12-05 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---
 rules/openssh.make | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rules/openssh.make b/rules/openssh.make
index f1faa1224..882611e98 100644
--- a/rules/openssh.make
+++ b/rules/openssh.make
@@ -27,7 +27,7 @@ OPENSSH_URL   := \
 
 OPENSSH_SOURCE := $(SRCDIR)/$(OPENSSH).$(OPENSSH_SUFFIX)
 OPENSSH_DIR:= $(BUILDDIR)/$(OPENSSH)
-OPENSSH_LICENSE:= BSD AND BSD-2-Clause AND BSD-3-Clause AND MIT AND 
THE BEER-WARE LICENSE AND ISC
+OPENSSH_LICENSE:= BSD AND BSD-2-Clause AND BSD-3-Clause AND MIT AND 
Beerware AND ISC
 OPENSSH_LICENSE_FILES := file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8
 
 # 
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v3 4/7] poppler: version bump 0.18.0 -> 0.59.0

2017-10-25 Thread Roland Hieber
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 we 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 I disabled it.

Additionally, poppler could benefit from packaging libopenjpeg and
libtiff in ptxdist for parsing JPEG2000 or TIFF embedded in PDFs.
Likewise, libnss could be packaged for PDF signature support.  Also
there is the option to build a Qt5 wrapper, but this is currently only
build-tested and needs to be tested in runtime.

Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
changes in v2 -> v3:
 - POPPLER_GLIB also needs HOST_GLIB for sysroot-host/bin/glib-mkenums
 - add optional dependency for gobject-introspection
 - add POPPLER_OPENJPEG, POPPLER_TIFF, POPPLER_NSS with depends on
   BROKEN for future use
 - respect PTXCONF_TARGET_DEBUG_* instead of introducing an extra
   POPPLER_BUILD_DEBUG
 - enable qt5 wrapper (only build-tested)
 - order kconfig options by usage and add section headers for more
   structure

 rules/poppler.in   | 138 -
 rules/poppler.make |  56 --
 2 files changed, 156 insertions(+), 38 deletions(-)

diff --git a/rules/poppler.in b/rules/poppler.in
index b107dc7a5..3a74ead41 100644
--- a/rules/poppler.in
+++ b/rules/poppler.in
@@ -4,23 +4,33 @@ menuconfig POPPLER
tristate
prompt "poppler   "
select FONTCONFIG
+   select FREETYPE
select HOST_GETTEXT
-   select GLIB if POPPLER_GLIB
-   select LIBPNG   if POPPLER_PNG
-   select LIBJPEG  if POPPLER_JPEG
-   select CAIROif POPPLER_CAIRO
-   select GTK  if POPPLER_SPLASH && POPPLER_GLIB
-   select ZLIB if POPPLER_ZLIB
-   select LIBCURL  if POPPLER_CURL
-   select LCMS if POPPLER_CMS
-   select QT4  if POPPLER_QT4
-   select QT4_BUILD_GUIif POPPLER_QT4
-   select QT4_BUILD_XMLif POPPLER_QT4
+   select POPPLER_DATA if POPPLER_WITH_DATA
+   select GLIB if POPPLER_GLIB
+   select HOST_GLIBif POPPLER_GLIB
+   select GOBJECT_INTROSPECTION_HELPER if POPPLER_GOI
+   select GOBJECT_INTROSPECTIONif POPPLER_GOI
+   select LIBPNG   if POPPLER_PNG
+   select LIBJPEG  if POPPLER_JPEG
+   select CAIROif POPPLER_CAIRO
+   select CAIRO_FREETYPE   if POPPLER_CAIRO
+   select ZLIB if POPPLER_ZLIB
+   select LIBCURL  if POPPLER_CURL
+   select LCMS if POPPLER_CMS
+   select QT4  if POPPLER_QT4
+   select QT4_BUILD_GUIif POPPLER_QT4
+   select QT4_BUILD_XMLif POPPLER_QT4
+   select QT4_BUILD_QTESTLIB   if POPPLER_QT4
+   select QT5  if POPPLER_QT5
+   select QT5_MODULE_QTBASEif POPPLER_QT5
help
  Poppler is a PDF rendering library based on the xpdf-3.0 code base.
 
 if POPPLER
 
+comment "--- Install components ---"
+
 config POPPLER_BIN
bool
prompt "install poppler utilities"
@@ -29,6 +39,26 @@ config POPPLER_BIN
  pdffonts, pdfimages, pdfinfo, pdftoabw, pdftohtml, pdftoppm, pdftops,
  pdftotext.
 
+config POPPLER_XPDF
+   bool
+   prompt "install unsupported xpdf headers"
+   help
+ Install XPDF headers for software that still depends on them.
+ Normally, this option should not be needed.
+
+config POPPLER_WITH_DATA
+   bool
+   prompt "install poppler-data"
+   help
+ poppler-data contains the encoding files which enable poppler to
+ correctly render CJK and Cyrillic.
+
+comment "--- Wrappers ---"
+
+config POPPLER_CPP
+   bool
+   prompt "enable poppler cpp wrapper"
+
 config POPPLER_GLIB
select POPPLER_CAIRO
 

[ptxdist] [PATCH v3 3/7] poppler-data: new package: optional encoding data for poppler

2017-10-25 Thread Roland Hieber
Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
---

Notes:
(no changes in v2 -> v3)

 rules/poppler-data.in   | 10 +
 rules/poppler-data.make | 58 +
 2 files changed, 68 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..93edb7cea
--- /dev/null
+++ b/rules/poppler-data.make
@@ -0,0 +1,58 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Roland Hieber <r.hie...@pengutronix.de>
+#
+# 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.8
+POPPLER_DATA_MD5   := 00f8989c804de84af0ba2ea629949980
+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
+
+# 
+# Install
+# 
+
+POPPLER_DATA_INSTALL_OPT := prefix=/usr install
+
+# 
+# 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 
<r.hie...@pengutronix.de>")
+   @$(call install_fixup, poppler-data,DESCRIPTION,missing)
+
+   @$(call install_tree, poppler-data, 0, 0, -, /usr/share/poppler)
+
+   @$(call install_finish, poppler-data)
+
+   @$(call touch)
+
+# vim: ft=make ts=8 tw=80
-- 
2.11.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH v3 5/7] cups: new package: Common Unix Printing System

2017-10-25 Thread Roland Hieber
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 <r.hie...@pengutronix.de>
---

Notes:
changes in v2 -> v3:
 - version bump 2.2.4 -> 2.2.5
 - fix SPDX license identifiers
 - $(PKGDIR)/$(CUPS) -> $(CUPS_PKGDIR)
 - with CROSS_AUTOCONF_USR, --exec-prefix and --libdir is not needed
 - always build multithreaded, remove kconfig option
 - remove debugging options, can easily be enabled by creating a local
   rules/cups-debug.make
 - fix install_copy for /etc/cups/ssl (missing permissions)

 ...llow-explicit-disabling-of-Java-PHP-Perl-.patch |  92 
 ...-remove-leftover-check-for-empty-CUPS_PHP.patch |  29 +++
 ...e-make-interpreter-detection-more-verbose.patch |  88 
 patches/cups-2.2.4/autogen.sh  |   7 +
 patches/cups-2.2.4/series  |   6 +
 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-bbinit.in   |   8 +
 rules/cups.in  | 113 ++
 rules/cups.make| 238 +
 19 files changed, 646 insertions(+)
 create mode 100644 
patches/cups-2.2.4/0001-configure-allow-explicit-disabling-of-Java-PHP-Perl-.patch
 create mode 100644 
patches/cups-2.2.4/0002-configure-remove-leftover-check-for-empty-CUPS_PHP.patch
 create mode 100644 
patches/cups-2.2.4/0003-configure-make-interpreter-detection-more-verbose.patch
 create mode 100755 patches/cups-2.2.4/autogen.sh
 create mode 100644 patches/cups-2.2.4/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
 create mode 100644 rules/cups-bbinit.in
 create mode 100644 rules/cups.in
 create mode 100644 rules/cups.make

diff --git 
a/patches/cups-2.2.4/0001-configure-allow-explicit-disabling-of-Java-PHP-Perl-.patch
 
b/patches/cups-2.2.4/0001-configure-allow-explicit-disabling-of-Java-PHP-Perl-.patch
new file mode 100644
index 0..f110f5aaa
--- /dev/null
+++ 
b/patches/cups-2.2.4/0001-configure-allow-explicit-disabling-of-Java-PHP-Perl-.patch
@@ -0,0 +1,92 @@
+From: Roland Hieber <r.hie...@pengutronix.de>
+Date: Mon, 25 Sep 2017 15:00:16 +0200
+Subject: [PATCH] configure: allow explicit disabling of Java/PHP/Perl/Python
+ support
+
+Currently, when configure is called with --with-java or --with-java=,
+auto-detection is performed. When called with --without-java, HAVE_JAVA
+is still being defined. This is unfortunate when cross-compiling for
+embedded systems, we would end up with Java on the host being
+auto-detected (which is not what we have on the target), or with a wrong
+HAVE_JAVA define. We need a way to explicitely disable scripting support
+for all supported languages.
+
+Forwarded: https://github.com/apple/cups/pull/5122
+Signed-off-by: Roland Hieber <r.hie...@pengutronix.de>
+---
+ config-scripts/cups-scripting.m4 | 24 
+ 1 file changed, 16 insertions(+), 8 deletions(-)
+
+diff --git a/config-scripts/cups-scripting.m4 
b/config-scripts/cups-scripting.m4
+index bff3e9a0505c..137c3be72cb0 100644
+--- a/config-scripts/cups-scripting.m4
 b/config-scripts/cups-scripting.m4
+@@ -14,11 +14,13 @@ dnl
+ dnl Do we have Java?
+ AC_ARG_WITH(java, [  --with-java set Java interpreter for web 
interfaces ],
+   CUPS_JAVA=&q

Re: [ptxdist] [PATCH v3 4/7] poppler: version bump 0.18.0 -> 0.59.0

2017-10-25 Thread Roland Hieber
On 25.10.2017 22:57, Roland Hieber wrote:

> -POPPLER_VERSION  := 0.18.0
> -POPPLER_MD5  := 4cd3bf2a0a13fa8eaf00d31368915f77
> +POPPLER_VERSION  := 0.59.0
> +POPPLER_MD5  := 6e44408a3b4f4a738f8a6770d0aea8a5

Oh, I forgot to check for a new version here. They released 0.60 two
weeks ago, which changes the build system from autotools to CMake... I
guess I'll get to work and send v4 then.

 - Roland

___
ptxdist mailing list
ptxdist@pengutronix.de

  1   2   3   4   5   6   7   8   9   10   >