On 2/24/21 10:59 AM, Sebastiaan Couwenberg wrote:
> On 2/23/21 7:25 PM, Sebastiaan Couwenberg wrote:
>> On 2/23/21 5:51 AM, Sebastiaan Couwenberg wrote:
>>> On 2/22/21 11:42 PM, Wookey wrote:
>>>> On 2021-02-22 18:23 +0100, Bas Couwenberg wrote:
>>>>> Your package FTBFS with PROJ 8.0.0, it hung at `make samples`:
>>>>> faketime "" /usr/bin/make samples
>>>>
>>>> This is an issue with faketime, which was added to make the package
>>>> reproducible. For some reason I don't understand it works on the
>>>> buildds bug hangs under a local sbuild build unless you do that build
>>>> as root.
>>>>
>>>> Fiddling with Rule-Requires-Root doesn't seem to affect this.
>>>>
>>>> So I am pretty certain that this is an artifact of the way you are
>>>> doing the build test, rather than a genuine issue with Proj v8.
>>>>
>>>> I would like to remove this issue because I have to remember to do
>>>> builds as root. Knowing why it works OK on the real buildds would be
>>>> helpful.
>>>
>>> You can close this issue as notfound if you can confirm that it builds
>>> successfully with proj from experimental.
>>>
>>> I don't use sbuild. I used pdebuild with --use-pdebuild-internal to not
>>> require the build dependencies outside the chroot for the clean target.
>>
>> Logging in to the chroot and building as root doesn't resolve the issue,
>> sed still hangs.
>
> This change helps to not pass an empty string to faketime:
>
> --- a/debian/rules 2021-01-04 03:47:31.000000000 +0100
> +++ b/debian/rules 2021-02-24 10:44:56.455089240 +0100
> @@ -2,6 +2,8 @@
>
> export DEB_BUILD_MAINT_OPTIONS=hardening=+bindnow future=+lfs
> export DH_VERBOSE=1
> +export FAKETIME_DATE=$(shell dpkg-parsechangelog -S Date)
> +
> %:
> dh $@
>
> @@ -11,7 +13,7 @@
> # We need therion itself to build the samples
> $(MAKE) therion
> # create HTML documentation for samples
> - faketime "$(dpkg-parsechangelog -S Date)" $(MAKE) samples
> + faketime "$(FAKETIME_DATE)" $(MAKE) samples
> endif
> $(MAKE) thbook
>
> Now we see:
>
> faketime "Sat, 06 Feb 2021 16:24:25 +0000" /usr/bin/make samples
>
> Instead of:
>
> faketime "" /usr/bin/make samples
>
> The build still hangs on the sed call to get the PROJ major version, though.
If awk is used instead of sed like so:
--- therion-5.5.7ds1.orig/Makefile
+++ therion-5.5.7ds1/Makefile
@@ -159,7 +159,7 @@ ifneq ($(filter $(PROJ_VER),$(PROJ_UNSUP
$(error unsupported Proj version: $(PROJ_VER))
endif
PROJ_LIBS ?= $(shell $(CROSS)pkg-config proj --libs)
-PROJ_MVER ?= $(shell echo $(PROJ_VER) | sed 's/\..*//')
+PROJ_MVER ?= $(shell echo $(PROJ_VER) | awk -F. '{print $$1}')
ifeq ($(shell [ "$(PROJ_MVER)" -gt 5 ] && [ "$(THPLATFORM)" = "WIN32" ]
&& [ -z "$(CROSS)" ]; echo $$?),0)
PROJ_LIBS += -lsqlite3
endif
There is some progress, but then the build hangs with 100% CPU on:
mkdir -p ./extern/poly2tri/sweep/
It's proving hard to fix the arch-indep target.
Kind Regards,
Bas
--
GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146 50D1 6750 F10A E88D 4AF1