[Home]

Summary:ASTERISK-22480: Embedded pjproject: build.mak contains hardcoded full path to version.mak
Reporter:Matt Jordan (mjordan)Labels:
Date Opened:2013-09-06 15:06:10Date Closed:2016-10-27 13:31:39
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Core/BuildSystem
Versions:13.11.2 14.0.2 GIT Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) pjproject-11-realpath.patch
Description:After an initial {{configure}}, pjproject (in {{res/pjproject/build.mak}}) will embed the full path to version.mak:

{noformat}
export PJDIR := /srv/bamboo/xml-data/build-dir/AST-ATRUNKFULLBUILD3-C632BB/asterisk/res/pjproject
include $(PJDIR)/version.mak
{noformat}

This is done in {{build.mak.in}}:

{noformat}
export PJDIR := @ac_pjdir@
include $(PJDIR)/version.mak
export PJ_DIR := $(PJDIR)
{noformat}

Not using a relative path is okay; however, if the directory of Asterisk is moved, Asterisk will no longer compile. Worse, a {{make clean}} or {{make distclean}} won't fix the issue as the make target itself is borked:

{noformat}
mjordan@asterisk-testsuite-32-centos:/srv/bamboo/xml-data/build-dir/AST-ATRUNKUNIT3-C632UT/asterisk$ sudo make distclean
[sudo] password for mjordan:
build.mak:2: /srv/bamboo/xml-data/build-dir/AST-ATRUNKFULLBUILD3-C632BB/asterisk/res/pjproject/version.mak: No such file or directory
make[2]: *** No rule to make target `/srv/bamboo/xml-data/build-dir/AST-ATRUNKFULLBUILD3-C632BB/asterisk/res/pjproject/version.mak'.  Stop.
make[1]: *** [clean] Error 2
make: *** [res-dist-clean] Error 2
mjordan@asterisk-testsuite-32-centos:/srv/bamboo/xml-data/build-dir/AST-ATRUNKUNIT3-C632UT/asterisk$
{noformat}

Comments:By: Corey Farrell (coreyfarrell) 2013-09-06 22:05:39.053-0500

I'm not sure how portable the MAKEFILE_LIST variable is, but asterisk seems to require GNU make anyways.

Tested by compiling, moving, recompiling res_rtp_asterisk, and cleaning.

By: Corey Farrell (coreyfarrell) 2013-09-06 23:04:55.909-0500

I've removed the patch with relative directories as it actually made embedding slightly more difficult.

By: Corey Farrell (coreyfarrell) 2016-10-26 21:25:39.175-0500

Asterisk 11 is out, but this is also an issue with 13+ {{--with-pjproject-bundled}}.

By: Friendly Automation (friendly-automation) 2016-10-27 09:33:37.744-0500

Change 4199 had a related patch set uploaded by George Joseph:
pjproject_bundled:  Remove usage of tar's --strip-components option

[https://gerrit.asterisk.org/4199|https://gerrit.asterisk.org/4199]

By: Friendly Automation (friendly-automation) 2016-10-27 09:34:07.476-0500

Change 4200 had a related patch set uploaded by George Joseph:
pjproject_bundled:  Remove usage of tar's --strip-components option

[https://gerrit.asterisk.org/4200|https://gerrit.asterisk.org/4200]

By: Friendly Automation (friendly-automation) 2016-10-27 09:34:42.883-0500

Change 4201 had a related patch set uploaded by George Joseph:
pjproject_bundled:  Remove usage of tar's --strip-components option

[https://gerrit.asterisk.org/4201|https://gerrit.asterisk.org/4201]

By: Friendly Automation (friendly-automation) 2016-10-27 13:31:40.808-0500

Change 4200 merged by Joshua Colp:
pjproject_bundled:  Remove usage of tar's --strip-components option

[https://gerrit.asterisk.org/4200|https://gerrit.asterisk.org/4200]

By: Friendly Automation (friendly-automation) 2016-10-27 14:22:36.533-0500

Change 4201 merged by zuul:
pjproject_bundled:  Remove usage of tar's --strip-components option

[https://gerrit.asterisk.org/4201|https://gerrit.asterisk.org/4201]

By: Friendly Automation (friendly-automation) 2016-10-27 15:05:37.102-0500

Change 4199 merged by zuul:
pjproject_bundled:  Remove usage of tar's --strip-components option

[https://gerrit.asterisk.org/4199|https://gerrit.asterisk.org/4199]