GNU bug report logs - #54390
YACC rules don't check DESTDIR existence for VPATH builds

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: automake; Reported by: Sam James <sam@HIDDEN>; dated Mon, 14 Mar 2022 17:35:01 UTC; Maintainer for automake is bug-automake@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 14 Mar 2022 17:34:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 14 13:34:29 2022
Received: from localhost ([127.0.0.1]:46220 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1nToaS-0001zT-Nb
	for submit <at> debbugs.gnu.org; Mon, 14 Mar 2022 13:34:28 -0400
Received: from lists.gnu.org ([209.51.188.17]:54290)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sam@HIDDEN>) id 1nToaQ-0001zL-6P
 for submit <at> debbugs.gnu.org; Mon, 14 Mar 2022 13:34:27 -0400
Received: from eggs.gnu.org ([209.51.188.92]:38508)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <sam@HIDDEN>) id 1nToaQ-0005YC-02
 for bug-automake@HIDDEN; Mon, 14 Mar 2022 13:34:26 -0400
Received: from woodpecker.gentoo.org ([140.211.166.183]:53586
 helo=smtp.gentoo.org)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256)
 (Exim 4.90_1) (envelope-from <sam@HIDDEN>) id 1nToaM-0007Ly-9Q
 for bug-automake@HIDDEN; Mon, 14 Mar 2022 13:34:24 -0400
From: Sam James <sam@HIDDEN>
Content-Type: multipart/signed;
 boundary="Apple-Mail=_514B1C6D-BA69-4A7A-91BB-D583CEEF1195";
 protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 15.0 \(3693.60.0.1.1\))
Subject: YACC rules don't check DESTDIR existence for VPATH builds
Message-Id: <5D3EB010-35AF-4D10-811E-981AA1EF45AB@HIDDEN>
Date: Mon, 14 Mar 2022 17:21:58 +0000
To: bug-automake@HIDDEN
X-Mailer: Apple Mail (2.3693.60.0.1.1)
Received-SPF: pass client-ip=140.211.166.183; envelope-from=sam@HIDDEN;
 helo=smtp.gentoo.org
X-Spam_score_int: -68
X-Spam_score: -6.9
X-Spam_bar: ------
X-Spam_report: (-6.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5,
 RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)


--Apple-Mail=_514B1C6D-BA69-4A7A-91BB-D583CEEF1195
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hi,

It appears that YACC rules don't check for whether the destination =
directory exists before executing ylwrap.

When trying to package libaacs =
(https://code.videolan.org/videolan/libaacs) with an out-of-source =
build, I hit an unexpected build failure:
```
=
/var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/src/file/ke=
ydbcfg-parser.y: warning: fix-its can be applied.  Rerun with option =
'--update'. [-Wother]
=
/var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/build-aux/y=
lwrap: 206: cannot create ../src/file/keydbcfg-parser.c: Directory =
nonexistent
updating src/file/keydbcfg-parser.h
mv: cannot move 'tmp-keydbcfg-parser.h' to =
'../src/file/keydbcfg-parser.h': No such file or directory
make: *** [Makefile:1150: src/file/keydbcfg-parser.c] Error 2
```

I can workaround this by running `mkdir -p ${BUILD_DIR}/src/file` to =
ensure that the necessary directory exists within the build directory =
beforehand, but
it feels like I shouldn't have to.

Their Makefile.am can be found here: =
https://code.videolan.org/videolan/libaacs/-/blob/master/Makefile.am. =
Snippet:
```
libaacs_la_SOURCES=3D\
	src/libaacs/aacs.h \
[...]
	src/file/dirs.h \
	src/file/file.h \
	src/file/file.c \
	src/file/filesystem.h \
	src/file/filesystem.c \
	src/file/keydbcfg.c \
	src/file/keydbcfg.h \
	src/file/keydb.h \
	src/file/keydbcfg-parser.y \
	src/file/keydbcfg-lexer.l \
	src/file/mmc_device.h \
[...]
```

While src/libaacs exists within the build dir, src/file/ doesn't exist =
at all, hence the failure.

automake yacc rules should mkdir -p the needed directories within the =
build dir for VPATH builds before running ylwrap/yacc.

Best,
sam

--Apple-Mail=_514B1C6D-BA69-4A7A-91BB-D583CEEF1195
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQGTBAEBCgB9FiEEYOpPv/uDUzOcqtTy9JIoEO6gSDsFAmIvebZfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDYw
RUE0RkJGRkI4MzUzMzM5Q0FBRDRGMkY0OTIyODEwRUVBMDQ4M0IACgkQ9JIoEO6g
SDt1lgf/XDwyu37lrATMDKyIRHPbTVEaaQpQ1983ltKWhtlCFUk5MQI1qkqdxXfe
NTHj1Vi3FSNYwJbGkEagn061arIP/W00O5nvIOfap5Q/Rfo94eKyDsxmpvVHPhmm
P1DGN7SqOOLuBWf+MP/hiTWYKyCZ8e5IdlW6XIU6tnkrsplETUn5uWhWX0AUybq/
jftbaxRwzTz71UxIbFLy+fffqJXy6x9egiIDDTEHTW5zVwLECly2W/HI/W+nxkIl
932L1A4KzVKA17FsLtUADmoVgladL8ubiqfOXz8vAzrnD08hyglVNPaZ/YUo8a6h
Tu9iqLuVgIRp37vL2nWFdFoeKx+9TA==
=MfX9
-----END PGP SIGNATURE-----

--Apple-Mail=_514B1C6D-BA69-4A7A-91BB-D583CEEF1195--




Acknowledgement sent to Sam James <sam@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-automake@HIDDEN. Full text available.
Report forwarded to bug-automake@HIDDEN:
bug#54390; Package automake. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 14 Mar 2022 17:45:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.