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:10 | Date Closed: | 2016-10-27 13:31:39 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | 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] |