gprolog DESTDIR and optional install directories
Keri Harris <[email protected]> Sat, 10 Jul 2021 14:55:25 +0200
| Newsgroups | gmane.comp.gnu.prolog.bugs |
|---|---|
| Message-ID | <[email protected]> |
--=-macf7EMlSukngXWLdfmN
Content-Type: multipart/alternative; boundary="=-R589uzd44bj9l/UTIOvV"
--=-R589uzd44bj9l/UTIOvV
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Hi
I ran into the following issue when installing gprolog-1.5.0 when
DESTDIR is set:
In src/Makefile.in the target install directories are defined such that
DESTDIR is respected:
INSTALL_DIR = $(DESTDIR)@INSTALL_DIR@LINKS_DIR = $(DESTDIR)@
LINKS_DIR@DOC_DIR = $(DESTDIR)@DOC_DIR@HTML_DIR =
$(DESTDIR)@HTML_DIR@EXAMPLES_DIR = $(DESTDIR)@EXAMPLES_DIR@
So far so good. However, there are special checks in the Makefile to
see if these destination directories are disabled by way of them being
set to "none", e.g:
if test $(LINKS_DIR) != none; then ... if test $(DOC_DIR) !=
none; then ...
if test $(HTML_DIR) != none; then ...
if test $(EXAMPLES_DIR) != none; then ...
If DESTDIR is set, then the above comparisons will always succeed even
if the the configure script has set the directories to none. In this
case we are comparing "$(DESTDIR)none" vs "none".
There are two ways of addressing this:
1. compare against $(DESTDIR)none. e.g:
if test $(LINKS_DIR) != $(DESTDIR)none; then ...
2. compare the directories without DESTDIR against none. e.g:
if test @LINKS_DIR@ != none; then ...
I've attached a patch I'm using on Gentoo Linux. (The patch applies
cleanly on top of the gprolog-1.5.0-links.patch [1]).
Thanks
Keri
[1] https://mail.gnu.org/archive/html/bug-prolog/2021-07/msg00001.html
--=-R589uzd44bj9l/UTIOvV
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
<html dir=3D"ltr"><head></head><body style=3D"text-align:left; direction:lt=
r;"><div>Hi</div><div><br></div><div>I ran into the following issue when in=
stalling gprolog-1.5.0 when DESTDIR is set:</div><div><br>In src/Makefile.i=
n the target install directories are defined such that DESTDIR is respected=
:<br><br></div><div>INSTALL_DIR =3D $(DESTDIR)@INSTA=
LL_DIR@</div><div>LINKS_DIR =3D $(DESTDI=
R)@LINKS_DIR@</div><div>DOC_DIR &n=
bsp;=3D $(DESTDIR)@DOC_DIR@</div><div>HTML_DIR  =
; =3D $(DESTDIR)@HTML_DIR@</div><div>EXAMPLES_DIR &nb=
sp;=3D $(DESTDIR)@EXAMPLES_DIR@</div><div><br></div><div>So far so good. Ho=
wever, there are special checks in the Makefile to see if these destination=
directories are disabled by way of them being set to "none", e.g:</div><di=
v><br></div><div> if test $(LINKS_DIR) !=3D none; then ..=
.</div><div><div> if test $(DOC_DIR) !=3D none; then ...</div>=
<div><div> if test $(HTML_DIR) !=3D none; then ...</div></div>=
<div><div> if test $(EXAMPLES_DIR) !=3D none; then ...</div></=
div><div><br></div></div><div>If DESTDIR is set, then the above comparisons=
will always succeed even if the the configure script has set the directori=
es to none. In this case we are comparing "$(DESTDIR)none" vs "none".</div>=
<div><br></div><div>There are two ways of addressing this:<br><br></div><di=
v>1. compare against $(DESTDIR)none. e.g:</div><div><br></div><div><div>&nb=
sp; if test $(LINKS_DIR) !=3D $(DESTDIR)none; then ...</div><div></d=
iv></div><div><br></div><div>2. compare the directories without DESTDIR aga=
inst none. e.g:</div><div><br></div><div><div><div> if test @L=
INKS_DIR@ !=3D none; then ...</div><div></div></div></div><div><br></div><d=
iv><br></div><div>I've attached a patch I'm using on Gentoo Linux. (The pat=
ch applies cleanly on top of the gprolog-1.5.0-links.patch [1]).</div><div>=
<br></div><div><br></div><div>Thanks</div><div><br></div><div>Keri</div><di=
v><br></div><div>[1] <a href=3D"https://mail.gnu.org/archive/html/bug-=
prolog/2021-07/msg00001.html">https://mail.gnu.org/archive/html/bug-prolog/=
2021-07/msg00001.html</a></div><div></div><div></div></body></html>
--=-R589uzd44bj9l/UTIOvV--
--=-macf7EMlSukngXWLdfmN
Content-Disposition: attachment; filename="gprolog-1.5.0-destdir.patch"
Content-Type: text/x-patch; name="gprolog-1.5.0-destdir.patch"; charset="UTF-8"
Content-Transfer-Encoding: base64
LS0tIGdwcm9sb2ctMS41LjAub3JpZy9zcmMvTWFrZWZpbGUuaW4JMjAyMS0wNy0wNyAxNjowNjox
Ni4wMDAwMDAwMDAgLTAwMDAKKysrIGdwcm9sb2ctMS41LjAvc3JjL01ha2VmaWxlLmluCTIwMjEt
MDctMTAgMTI6NDk6NDAuOTY3MTcyMjYwIC0wMDAwCkBAIC04NSwxMyArODUsMTMgQEAKICMgLS0t
IExpbmtzIC0tLSAjCiAKIGluc3RhbGwtbGlua3M6IGluc3RhbGwtc3lzdGVtIHVuaW5zdGFsbC1s
aW5rcwotCWlmIHRlc3QgJChMSU5LU19ESVIpICE9IG5vbmU7IHRoZW4gXAorCWlmIHRlc3QgQExJ
TktTX0RJUkAgIT0gbm9uZTsgdGhlbiBcCiAJICAgLi9ta2luc3RhbGxkaXJzICQoTElOS1NfRElS
KTsgXAogCSAgIChjZCAkKExJTktTX0RJUikgOyAkKExOX1MpICQod2lsZGNhcmQgJChJTlNUQUxM
X0RJUikvYmluLyopIC4pOyBcCiAJZmkKIAogdW5pbnN0YWxsLWxpbmtzOgotCS1pZiB0ZXN0ICQo
TElOS1NfRElSKSAhPSBub25lOyB0aGVuIFwKKwktaWYgdGVzdCBATElOS1NfRElSQCAhPSBub25l
OyB0aGVuIFwKIAkgICAoY2QgJChMSU5LU19ESVIpIDI+L2Rldi9udWxsICYmIHJtIC1mICQoQklO
X0ZJTEVTKSk7IFwKIAkgICBybWRpciAkKExJTktTX0RJUikgMj4vZGV2L251bGw7IFwKIAlmaSB8
fCBleGl0IDA7CkBAIC0xMDAsMTQgKzEwMCwxNCBAQAogIyAtLS0gRG9jdW1lbnRhdGlvbiAtLS0g
IwogCiBpbnN0YWxsLWRvYzoKLQlpZiB0ZXN0ICQoRE9DX0RJUikgIT0gbm9uZTsgdGhlbiBcCisJ
aWYgdGVzdCBARE9DX0RJUkAgIT0gbm9uZTsgdGhlbiBcCiAJICAgLi9ta2luc3RhbGxkaXJzICQo
RE9DX0RJUik7IFwKIAkgICAoRj1gY2QgLi4vZG9jOyBlY2hvICQoRE9DX0ZJTEVTKWA7IFwKIAkg
ICBmb3IgaSBpbiAkJEY7IGRvICQoSU5TVEFMTF9EQVRBKSAuLi9kb2MvJCRpICQoRE9DX0RJUik7
IGRvbmUpOyBcCiAJZmkKIAogdW5pbnN0YWxsLWRvYzoKLQktaWYgdGVzdCAkKERPQ19ESVIpICE9
IG5vbmU7IHRoZW4gXAorCS1pZiB0ZXN0IEBET0NfRElSQCAhPSBub25lOyB0aGVuIFwKIAkgICAo
Y2QgJChET0NfRElSKTsgcm0gLWYgJChET0NfRklMRVMpKTsgXAogCSAgIHJtZGlyICQoRE9DX0RJ
UikgMj4vZGV2L251bGw7IFwKIAlmaSB8fCBleGl0IDA7CkBAIC0xMTYsMTQgKzExNiwxNCBAQAog
IyAtLS0gSFRNTCAtLS0gIwogCiBpbnN0YWxsLWh0bWw6Ci0JaWYgdGVzdCAkKEhUTUxfRElSKSAh
PSBub25lOyB0aGVuIFwKKwlpZiB0ZXN0IEBIVE1MX0RJUkAgIT0gbm9uZTsgdGhlbiBcCiAJICAg
Li9ta2luc3RhbGxkaXJzICQoSFRNTF9ESVIpOyBcCiAJICAgKEY9YGNkIC4uL2RvYy9odG1sX25v
ZGU7IGVjaG8gJChIVE1MX0ZJTEVTKWA7IFwKIAkgICBmb3IgaSBpbiAkJEY7IGRvICQoSU5TVEFM
TF9EQVRBKSAuLi9kb2MvaHRtbF9ub2RlLyQkaSAkKEhUTUxfRElSKTsgZG9uZSk7IFwKIAlmaQog
CiB1bmluc3RhbGwtaHRtbDoKLQktaWYgdGVzdCAkKEhUTUxfRElSKSAhPSBub25lOyB0aGVuIFwK
KwktaWYgdGVzdCBASFRNTF9ESVJAICE9IG5vbmU7IHRoZW4gXAogCSAgIChjZCAkKEhUTUxfRElS
KTsgcm0gLWYgJChIVE1MX0ZJTEVTKSk7IFwKIAkgICBybWRpciAkKEhUTUxfRElSKSAyPi9kZXYv
bnVsbDsgXAogCWZpIHx8IGV4aXQgMDsKQEAgLTEzMiw3ICsxMzIsNyBAQAogIyAtLS0gRXhhbXBs
ZXMgLS0tICMKIAogaW5zdGFsbC1leGFtcGxlczoKLQlpZiB0ZXN0ICQoRVhBTVBMRVNfRElSKSAh
PSBub25lOyB0aGVuIFwKKwlpZiB0ZXN0IEBFWEFNUExFU19ESVJAICE9IG5vbmU7IHRoZW4gXAog
CSAgIC4vbWtpbnN0YWxsZGlycyAkKEVYQU1QTEVTX0RJUikvRXhhbXBsZXNQbDsgXAogCSAgIChG
PWBjZCAuLi9leGFtcGxlcy9FeGFtcGxlc1BsOyBlY2hvICQoRVhQTF9GSUxFUylgOyBcCiAJICAg
Zm9yIGkgaW4gJCRGOyBkbyAkKElOU1RBTExfREFUQSkgLi4vZXhhbXBsZXMvRXhhbXBsZXNQbC8k
JGkgJChFWEFNUExFU19ESVIpL0V4YW1wbGVzUGw7IGRvbmUpOyBcCg==
--=-macf7EMlSukngXWLdfmN--