Re: [ptxdist] [PATCH 1/3] host-faketime: new package
Hi, On Tue, Oct 16, 2018 at 01:34:15PM +0200, Alexander Dahl wrote: > Am Dienstag, 16. Oktober 2018, 10:51:04 CEST schrieb Michael Olbrich: > > On Fri, Oct 12, 2018 at 07:47:35AM +, Baeuerle, Florian wrote: > > > Is there also a mechanism in ptxdist that allows leaving out system > > > packages if the provided tools are already present? > > > > No, and we prefer to keep things working for a long time, so minimizing > > external dependencies is important. > > So, host-system-* is for big stuff, like perl/python/... or really stable > > things like bc. > > What about CMake? That takes quite a lot of time to build. > > % time p -q -j15 install host-cmake [...] > That's more than 5 minutes! The problem is, that system cmake is sometimes too old. It's not so bad these days but it can be a problem. Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] [PATCH 1/3] host-faketime: new package
Hello, Am Dienstag, 16. Oktober 2018, 10:51:04 CEST schrieb Michael Olbrich: > On Fri, Oct 12, 2018 at 07:47:35AM +, Baeuerle, Florian wrote: > > Is there also a mechanism in ptxdist that allows leaving out system > > packages if the provided tools are already present? > > No, and we prefer to keep things working for a long time, so minimizing > external dependencies is important. > So, host-system-* is for big stuff, like perl/python/... or really stable > things like bc. What about CMake? That takes quite a lot of time to build. % time p -q -j15 install host-cmake started : host-cmake.4b2327f4c98f307e852ac59967b0fbba.cfghash finished: host-cmake.4b2327f4c98f307e852ac59967b0fbba.cfghash started : host-cmake.get finished: host-cmake.get started : host-cmake.extract finished: host-cmake.extract started : host-cmake.extract.post finished: host-cmake.extract.post started : host-cmake.prepare finished: host-cmake.prepare started : host-cmake.compile finished: host-cmake.compile started : host-cmake.install finished: host-cmake.install started : host-cmake.install.pack finished: host-cmake.install.pack started : host-cmake.install.post finished: host-cmake.install.post ptxdist -q -j15 install host-cmake 320,24s user 39,07s system 203% cpu 2:56,40 total That's more than 5 minutes! Greets Alex ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] [PATCH 1/3] host-faketime: new package
On Thu, Oct 11, 2018 at 02:19:15PM +, Baeuerle, Florian wrote: > Signed-off-by: Florian Bäuerle > --- > rules/host-faketime.in | 10 + > rules/host-faketime.make | 47 > 2 files changed, 57 insertions(+) > create mode 100644 rules/host-faketime.in > create mode 100644 rules/host-faketime.make > > diff --git a/rules/host-faketime.in b/rules/host-faketime.in > new file mode 100644 > index 0..1a2e7ae19 > --- /dev/null > +++ b/rules/host-faketime.in > @@ -0,0 +1,10 @@ > +## SECTION=hosttools_noprompt > +## SECTION=hosttools_platform > + > +config HOST_FAKETIME > + tristate > + default ALLYES > + help > + libfaketime intercepts various system calls that programs use to > + retrieve the current date and time. It then reports modified (faked) > + dates and times to these programs. > diff --git a/rules/host-faketime.make b/rules/host-faketime.make > new file mode 100644 > index 0..462854eb9 > --- /dev/null > +++ b/rules/host-faketime.make > @@ -0,0 +1,47 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2018 by Florian Bäuerle > +# > +# 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_FAKETIME) += host-faketime > + > +# > +# Paths and names > +# > +HOST_FAKETIME_VERSION= $(LIBFAKETIME_VERSION) > +HOST_FAKETIME_MD5= $(LIBFAKETIME_MD5) > +HOST_FAKETIME= $(LIBFAKETIME) > +HOST_FAKETIME_SUFFIX = $(LIBFAKETIME_SUFFIX) > +HOST_FAKETIME_URL= $(LIBFAKETIME_URL) > +HOST_FAKETIME_SOURCE = $(LIBFAKETIME_SOURCE) > +HOST_FAKETIME_LICENSE= $(LIBFAKETIME_LICENSE) > +HOST_FAKETIME_DIR= $(HOST_BUILDDIR)/$(HOST_FAKETIME) > + > +# > > +# Prepare > +# > > + > +HOST_FAKETIME_CONF_TOOL = NO > + > +# > > +# Compile > +# > > + > +HOST_FAKETIME_MAKE_ENV = $(HOST_ENV) > +HOST_FAKETIME_MAKE_OPT = PREFIX=$(PTXCONF_SYSROOT_HOST) DESTDIR= Why is this needed? I'd prefer to have things relocatable. This works like fakeroot, right? Maybe you can do something like patches/fakeroot-1.21/0100-make-fakeroot-relocatable.patch Michael > + > +# > > +# Install > +# > > + > +HOST_FAKETIME_INSTALL_OPT= PREFIX=$(PTXCONF_SYSROOT_HOST) DESTDIR= > install > + > +# vim: syntax=make > -- > 2.19.0 > > ___ > ptxdist mailing list > ptxdist@pengutronix.de -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] [PATCH 1/3] host-faketime: new package
On Fri, Oct 12, 2018 at 07:47:35AM +, Baeuerle, Florian wrote: > Am Donnerstag, den 11.10.2018, 16:43 +0200 schrieb Roland Hieber: > > Hmmm, we had a similar patch in August that added libfaketime as a > > runtime dependency to PTXdist in order to detect changes to packages' > > patch series: > > > > https://www.mail-archive.com/ptxdist@pengutronix.de/msg13198.html > > > > If we can be sure that faketime is present at run time, we could leave > > it out as a host package (or maybe only need a host-system-faketime > > package instead). > > Is there also a mechanism in ptxdist that allows leaving out system packages > if > the provided tools are already present? No, and we prefer to keep things working for a long time, so minimizing external dependencies is important. So, host-system-* is for big stuff, like perl/python/... or really stable things like bc. > I did not want to introduce a hard dependency for ptxdist (i. e. host-system- > faketime package), because libfaketime does not seem to be a first class > citizen > in some distributions (community repo in archlinux, epel in centos). I think libfaketime is small enough that building it should not be problematic. Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] [PATCH 1/3] host-faketime: new package
On Tue, Oct 16, 2018 at 07:33:48AM +, Baeuerle, Florian wrote: > Hi, > > Am Donnerstag, den 11.10.2018, 17:30 -0400 schrieb Jon Ringle: > > > > +# > > > > +HOST_FAKETIME_VERSION= $(LIBFAKETIME_VERSION) > > > > +HOST_FAKETIME_MD5= $(LIBFAKETIME_MD5) > > > > +HOST_FAKETIME= $(LIBFAKETIME) > > > > +HOST_FAKETIME_SUFFIX = $(LIBFAKETIME_SUFFIX) > > > > +HOST_FAKETIME_URL= $(LIBFAKETIME_URL) > > > > +HOST_FAKETIME_SOURCE = $(LIBFAKETIME_SOURCE) > > > > +HOST_FAKETIME_LICENSE= $(LIBFAKETIME_LICENSE) > > > > +HOST_FAKETIME_DIR= $(HOST_BUILDDIR)/$(HOST_FAKETIME) > > > > I would suggest that it should be called host-libfaketime, which > > should then allow much of the boilerplate code above to be removed > > I tried that first, but probably I did something wrong – ptxdist did not > download the sources. > > I'll give it another try. There is a bug in the latest release. If the host package is selected but not the target package, then downloading fails. Try this with master or an older release. Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] [PATCH 1/3] host-faketime: new package
Hi, Am Donnerstag, den 11.10.2018, 17:30 -0400 schrieb Jon Ringle: > > > +# > > > +HOST_FAKETIME_VERSION= $(LIBFAKETIME_VERSION) > > > +HOST_FAKETIME_MD5= $(LIBFAKETIME_MD5) > > > +HOST_FAKETIME= $(LIBFAKETIME) > > > +HOST_FAKETIME_SUFFIX = $(LIBFAKETIME_SUFFIX) > > > +HOST_FAKETIME_URL= $(LIBFAKETIME_URL) > > > +HOST_FAKETIME_SOURCE = $(LIBFAKETIME_SOURCE) > > > +HOST_FAKETIME_LICENSE= $(LIBFAKETIME_LICENSE) > > > +HOST_FAKETIME_DIR= $(HOST_BUILDDIR)/$(HOST_FAKETIME) > > I would suggest that it should be called host-libfaketime, which > should then allow much of the boilerplate code above to be removed I tried that first, but probably I did something wrong – ptxdist did not download the sources. I'll give it another try. - Florian ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] [PATCH 1/3] host-faketime: new package
Hi Roland, Am Donnerstag, den 11.10.2018, 16:43 +0200 schrieb Roland Hieber: > Hmmm, we had a similar patch in August that added libfaketime as a > runtime dependency to PTXdist in order to detect changes to packages' > patch series: > > https://www.mail-archive.com/ptxdist@pengutronix.de/msg13198.html > > If we can be sure that faketime is present at run time, we could leave > it out as a host package (or maybe only need a host-system-faketime > package instead). Is there also a mechanism in ptxdist that allows leaving out system packages if the provided tools are already present? I did not want to introduce a hard dependency for ptxdist (i. e. host-system- faketime package), because libfaketime does not seem to be a first class citizen in some distributions (community repo in archlinux, epel in centos). - Florian ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] [PATCH 1/3] host-faketime: new package
On Thu, Oct 11, 2018 at 10:43 AM Roland Hieber wrote: > > Hmmm, we had a similar patch in August that added libfaketime as a > runtime dependency to PTXdist in order to detect changes to packages' > patch series: > > https://www.mail-archive.com/ptxdist@pengutronix.de/msg13198.html > > If we can be sure that faketime is present at run time, we could leave > it out as a host package (or maybe only need a host-system-faketime > package instead). > > Jon (or mol?), I think the patches from that series were never applied, > but in light of recent development I don't know if they are still > needed. In any case, does it make more sense to have faketime as a host > system dependency available at PTXdist startup, or is a host-* package > in PTXdist as proposed by Florian here sufficient? mol had suggested the following as an alternative to my patch, but I haven't gotten around to trying it: > I think it should be possible to provide the correct timestamps with > GIT_AUTHOR_DATE and/or GIT_COMMITTER_DATE or something like that. In any case, what I proposed was independent of having a host faketime. > > - Roland > > On Thu, Oct 11, 2018 at 02:19:15PM +, Baeuerle, Florian wrote: > > Signed-off-by: Florian Bäuerle > > --- > > rules/host-faketime.in | 10 + > > rules/host-faketime.make | 47 > > 2 files changed, 57 insertions(+) > > create mode 100644 rules/host-faketime.in > > create mode 100644 rules/host-faketime.make > > > > diff --git a/rules/host-faketime.in b/rules/host-faketime.in > > new file mode 100644 > > index 0..1a2e7ae19 > > --- /dev/null > > +++ b/rules/host-faketime.in > > @@ -0,0 +1,10 @@ > > +## SECTION=hosttools_noprompt > > +## SECTION=hosttools_platform > > + > > +config HOST_FAKETIME > > + tristate > > + default ALLYES > > + help > > + libfaketime intercepts various system calls that programs use to > > + retrieve the current date and time. It then reports modified (faked) > > + dates and times to these programs. > > diff --git a/rules/host-faketime.make b/rules/host-faketime.make > > new file mode 100644 > > index 0..462854eb9 > > --- /dev/null > > +++ b/rules/host-faketime.make > > @@ -0,0 +1,47 @@ > > +# -*-makefile-*- > > +# > > +# Copyright (C) 2018 by Florian Bäuerle > > +# > > +# 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_FAKETIME) += host-faketime > > + > > +# > > +# Paths and names > > +# > > +HOST_FAKETIME_VERSION= $(LIBFAKETIME_VERSION) > > +HOST_FAKETIME_MD5= $(LIBFAKETIME_MD5) > > +HOST_FAKETIME= $(LIBFAKETIME) > > +HOST_FAKETIME_SUFFIX = $(LIBFAKETIME_SUFFIX) > > +HOST_FAKETIME_URL= $(LIBFAKETIME_URL) > > +HOST_FAKETIME_SOURCE = $(LIBFAKETIME_SOURCE) > > +HOST_FAKETIME_LICENSE= $(LIBFAKETIME_LICENSE) > > +HOST_FAKETIME_DIR= $(HOST_BUILDDIR)/$(HOST_FAKETIME) I would suggest that it should be called host-libfaketime, which should then allow much of the boilerplate code above to be removed ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] [PATCH 1/3] host-faketime: new package
Hmmm, we had a similar patch in August that added libfaketime as a runtime dependency to PTXdist in order to detect changes to packages' patch series: https://www.mail-archive.com/ptxdist@pengutronix.de/msg13198.html If we can be sure that faketime is present at run time, we could leave it out as a host package (or maybe only need a host-system-faketime package instead). Jon (or mol?), I think the patches from that series were never applied, but in light of recent development I don't know if they are still needed. In any case, does it make more sense to have faketime as a host system dependency available at PTXdist startup, or is a host-* package in PTXdist as proposed by Florian here sufficient? - Roland On Thu, Oct 11, 2018 at 02:19:15PM +, Baeuerle, Florian wrote: > Signed-off-by: Florian Bäuerle > --- > rules/host-faketime.in | 10 + > rules/host-faketime.make | 47 > 2 files changed, 57 insertions(+) > create mode 100644 rules/host-faketime.in > create mode 100644 rules/host-faketime.make > > diff --git a/rules/host-faketime.in b/rules/host-faketime.in > new file mode 100644 > index 0..1a2e7ae19 > --- /dev/null > +++ b/rules/host-faketime.in > @@ -0,0 +1,10 @@ > +## SECTION=hosttools_noprompt > +## SECTION=hosttools_platform > + > +config HOST_FAKETIME > + tristate > + default ALLYES > + help > + libfaketime intercepts various system calls that programs use to > + retrieve the current date and time. It then reports modified (faked) > + dates and times to these programs. > diff --git a/rules/host-faketime.make b/rules/host-faketime.make > new file mode 100644 > index 0..462854eb9 > --- /dev/null > +++ b/rules/host-faketime.make > @@ -0,0 +1,47 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2018 by Florian Bäuerle > +# > +# 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_FAKETIME) += host-faketime > + > +# > +# Paths and names > +# > +HOST_FAKETIME_VERSION= $(LIBFAKETIME_VERSION) > +HOST_FAKETIME_MD5= $(LIBFAKETIME_MD5) > +HOST_FAKETIME= $(LIBFAKETIME) > +HOST_FAKETIME_SUFFIX = $(LIBFAKETIME_SUFFIX) > +HOST_FAKETIME_URL= $(LIBFAKETIME_URL) > +HOST_FAKETIME_SOURCE = $(LIBFAKETIME_SOURCE) > +HOST_FAKETIME_LICENSE= $(LIBFAKETIME_LICENSE) > +HOST_FAKETIME_DIR= $(HOST_BUILDDIR)/$(HOST_FAKETIME) > + > +# > > +# Prepare > +# > > + > +HOST_FAKETIME_CONF_TOOL = NO > + > +# > > +# Compile > +# > > + > +HOST_FAKETIME_MAKE_ENV = $(HOST_ENV) > +HOST_FAKETIME_MAKE_OPT = PREFIX=$(PTXCONF_SYSROOT_HOST) DESTDIR= > + > +# > > +# Install > +# > > + > +HOST_FAKETIME_INSTALL_OPT= PREFIX=$(PTXCONF_SYSROOT_HOST) DESTDIR= > install > + > +# vim: syntax=make > -- > 2.19.0 > > ___ > ptxdist mailing list > ptxdist@pengutronix.de -- Roland Hieber | r.hie...@pengutronix.de | Pengutronix e.K. | https://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