Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 May 2020 12:01:30 +0200
From:      Guido Falsi <madpilot@FreeBSD.org>
To:        Christoph Moench-Tegeder <cmt@burggraben.net>
Cc:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   Re: svn commit: r533475 - in head/net/asterisk16: . files
Message-ID:  <39e52c6c-8e59-b12c-9518-617f27bf066c@FreeBSD.org>
In-Reply-To: <20200430235617.GB2431@elch.exwg.net>
References:  <202004302028.03UKSgs1063077@repo.freebsd.org> <20200430235617.GB2431@elch.exwg.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 01/05/20 01:56, Christoph Moench-Tegeder wrote:
> Hi,
> 
> ## Guido Falsi (madpilot@FreeBSD.org):
> 
>> Log:
>>   - Update asterisk16 to 16.10.0
> 
> This fails in poudriere in very intersting ways, and it's entirely not
> your fault :)
> During configure, I get
> 
> : [pjproject]  Verifying /portdistfiles/asterisk/pjproject-2.9.tar.bz2
> : [pjproject]  Verify successful
> : touch: /portdistfiles/asterisk/pjproject-2.9.tar.bz2: Permission denied
> : rm: /portdistfiles/asterisk/pjproject-2.9.tar.bz2: Permission denied
> : [pjproject]  Downloading https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.9/pjproject-2.9.tar.bz2 to /portdistfiles/asterisk/pjproject>
> : /bin/sh: cannot create /portdistfiles/asterisk/pjproject-2.9.tar.bz2: Permission denied
> 
> and then configure bombs out, failed, etc.
> After a wild goose chase (16.9.0 built just fine, and I couldn't see any
> relevant change), I figured out:
> 
> asterisk-16.10.0/third-party/pjproject/Makefile l. 91:
> : $(DOWNLOAD_DIR)/$(TARBALL_FILE): ../versions.mak
> :     $(CMD_PREFIX) ($(TARBALL_EXISTS) && $(TARBALL_VERIFY) && touch $@) || (rm -rf $@ ;\
> :     $(TARBALL_DOWNLOAD)) || (rm -rf $@ ;\
> :     $(SHELL_ECHO_PREFIX) Retrying download ; $(TARBALL_DOWNLOAD))
> 
> (BTW the code is the same in 16.9.0).

I actually tried to plug into asterisk own logic without changing it,
and I did not notice this prolbem.

I think we can simply get all this logic out of the way, since the ports
framework is getting the tarball for us.

> 
> DOWNLOAD_DIR points to /portdistfiles/asterisk.
> That means: whenever asterisk's source time stamps are newer than the
> (unchanged since weeks) pjproject-2.9.tar.bz2, this snippet will happily
> try to "VERIFY" (md5 check, that's ok) and touch (why? oh WHY?) that
> tarball, which of course fails as /portdistfiles is read-only.
> 
> The correct approach would be to patch out that verify-and-download
> step: we do know that we have our pjproject tarball, and it's checksum
> has been verified by the ports framework. If nobody else beats me to
> it, I'll cook up a patch tomorrow ("I'll just update asterisk", he said,
> and then it was 02:00).

This (making it up till late) happens to me all the time. I'll be
waiting for your patch.

> 
> The quick workaround was to touch ${DISTDIR}/asterisk/pjproject-2.9tar.bz2
> myself - that bumped modification time and allowed the build to pass.
> 
> While practicing my staring-in-disbelief with the configure output, I
> noticed that we get a few errors in there:
> 
> : ./configure: PJPROJECT_CONFIGURE_OPTS+= --build=amd64-portbld-freebsd12.1: not found
> : ./configure: PJPROJECT_CONFIGURE_OPTS+= --host=: not found
> : ./configure: PJPROJECT_CONFIGURE_OPTS+= --with-ssl=/usr: not found
> 
> That looks like we got a few bashisms in there, despite configure
> claiming to be "/bin/sh" and may result in a few wrong arguments being
> used when configuring pjproject.

I'll take a look at those.  Those missing options don't look harmful though.


BTW thanks for reporting these issues. Asterisk is a relatively complex
port and I always end up missing something!

-- 
Guido Falsi <madpilot@freebsd.org>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39e52c6c-8e59-b12c-9518-617f27bf066c>