On Wed, Sep 27, 2017 at 11:40:38PM +0200, Roland Hieber wrote:
> 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 000000000..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?

world/install and install both delete <PKG>_PKGDIR. This is to make sure
that the directory does not contain old files, e.g. after a config change
triggered a new prepare/compile/install run.
Things like install_tree depend on this.

Michael

> > +   @$(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-5555 |
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to