Received: (at 54390) by debbugs.gnu.org; 13 Jan 2023 08:45:26 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 13 03:45:26 2023 Received: from localhost ([127.0.0.1]:49513 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pGFgk-0001oD-3S for submit <at> debbugs.gnu.org; Fri, 13 Jan 2023 03:45:26 -0500 Received: from woodpecker.gentoo.org ([140.211.166.183]:56384 helo=smtp.gentoo.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <sam@HIDDEN>) id 1pGFgh-0001nz-VU for 54390 <at> debbugs.gnu.org; Fri, 13 Jan 2023 03:45:24 -0500 Content-Type: multipart/signed; boundary="Apple-Mail=_B3B054A9-C39B-481F-AB62-D273F46FDC6B"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.300.101.1.3\)) Subject: Re: bug#54390: YACC rules don't check DESTDIR existence for VPATH builds From: Sam James <sam@HIDDEN> In-Reply-To: <Y8EZzZo5o47cZQzh@vapier> Date: Fri, 13 Jan 2023 08:45:04 +0000 Message-Id: <51F76F83-CDF8-41D2-8E2A-8137A81CBC96@HIDDEN> References: <5D3EB010-35AF-4D10-811E-981AA1EF45AB@HIDDEN> <Y8D2ou17RmQu+rhY@vapier> <906C5A7C-2D9C-46F4-8971-87E0E8E7DF97@HIDDEN> <Y8EB4R/9XV7EOwXG@vapier> <94654BE3-11F1-43AF-95A9-51E30753C2F6@HIDDEN> <Y8EZzZo5o47cZQzh@vapier> To: Mike Frysinger <vapier@HIDDEN> X-Mailer: Apple Mail (2.3731.300.101.1.3) X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54390 Cc: 54390 <at> debbugs.gnu.org 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=_B3B054A9-C39B-481F-AB62-D273F46FDC6B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On 13 Jan 2023, at 08:43, Mike Frysinger <vapier@HIDDEN> wrote: >=20 > On 13 Jan 2023 07:07, Sam James wrote: >> $ /tmp/libaacs/configure YACC=3Dbison LEX=3Dflex >=20 > the problem is you're forcing `YACC=3Dbison`. Automake defaults to = `bison -y` > which tells bison to operate in POSIX-yacc-compatible mode because = Automake's > rules target POSIX. the end result is that you've forced a non-POSIX = mode, > and bison is writing files to the cwd which is not what Automake = expects. > it isn't that the src/file/ directory doesn't exist -- you can see = from your > log that files have been generated in src/file/ before the failure. thanks, duh. That makes sense. --Apple-Mail=_B3B054A9-C39B-481F-AB62-D273F46FDC6B 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----- iNUEARYKAH0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCY8EaEF8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MAAKCRBzhAn1IN+R kAm3AQDy3i4eSjrIXxn//uKfam+WzAiRNgIdqaymgrQ/Y7avRQEAqMG01on7o9nI SuuymwrV9CMiKdlkOt019pMY7PMDSQ4= =9VyQ -----END PGP SIGNATURE----- --Apple-Mail=_B3B054A9-C39B-481F-AB62-D273F46FDC6B--
bug-automake@HIDDEN:bug#54390; Package automake.
Full text available.Received: (at 54390) by debbugs.gnu.org; 13 Jan 2023 08:44:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 13 03:44:07 2023 Received: from localhost ([127.0.0.1]:49509 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1pGFfS-0001lx-OM for submit <at> debbugs.gnu.org; Fri, 13 Jan 2023 03:44:06 -0500 Received: from woodpecker.gentoo.org ([140.211.166.183]:56244 helo=smtp.gentoo.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <vapier@HIDDEN>) id 1pGFfR-0001lM-9O for 54390 <at> debbugs.gnu.org; Fri, 13 Jan 2023 03:44:05 -0500 Received: by smtp.gentoo.org (Postfix, from userid 559) id 085AE33BE68; Fri, 13 Jan 2023 08:43:59 +0000 (UTC) Date: Fri, 13 Jan 2023 03:43:57 -0500 From: Mike Frysinger <vapier@HIDDEN> To: Sam James <sam@HIDDEN> Subject: Re: bug#54390: YACC rules don't check DESTDIR existence for VPATH builds Message-ID: <Y8EZzZo5o47cZQzh@vapier> References: <5D3EB010-35AF-4D10-811E-981AA1EF45AB@HIDDEN> <Y8D2ou17RmQu+rhY@vapier> <906C5A7C-2D9C-46F4-8971-87E0E8E7DF97@HIDDEN> <Y8EB4R/9XV7EOwXG@vapier> <94654BE3-11F1-43AF-95A9-51E30753C2F6@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Q/wQt+dmWnGIkEnN" Content-Disposition: inline In-Reply-To: <94654BE3-11F1-43AF-95A9-51E30753C2F6@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54390 Cc: 54390 <at> debbugs.gnu.org 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 (---) --Q/wQt+dmWnGIkEnN Content-Type: text/plain; charset=utf-8 Content-Disposition: inline On 13 Jan 2023 07:07, Sam James wrote: > $ /tmp/libaacs/configure YACC=bison LEX=flex the problem is you're forcing `YACC=bison`. Automake defaults to `bison -y` which tells bison to operate in POSIX-yacc-compatible mode because Automake's rules target POSIX. the end result is that you've forced a non-POSIX mode, and bison is writing files to the cwd which is not what Automake expects. it isn't that the src/file/ directory doesn't exist -- you can see from your log that files have been generated in src/file/ before the failure. -mike --Q/wQt+dmWnGIkEnN Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEuQK1JxMl+JKsJRrUQWM7n+g39YEFAmPBGc0ACgkQQWM7n+g3 9YFgbg/+J3NZTcDicxV49tnEckgJZXAwO+nDvedM8Wdbe1U9I6UcsALsedYychRr 0zcb4qD2ebgz3l7Ztlf96z3Z7G6WQo/3OOkV9YvhL2REMtSMTRg0v6OoYmgftvw/ r3oXj0AOBnjh3XUAcAt1rohsqyX8bMTDUbYU50hUgWvIZMHPqv5f08tMp/n+V4G7 GHRLl33ypagi1Xhu1rNTPBsoMcKSzLIvpQfALZfnnhpmrpP0TyLdOlnV1lPx1xQk 5gwcSk4XpMOQZVLZYQ0kjoh1wP3oeeA5WwmL2+iyozZbCAMmC3qF/ApIMoleKhcB eA4KQWQql/1OEUMuu98ijdvN8IWxqvUyUpRi/Vl2roNtLop7gWrxW4o8F+6sbvQ8 IjUNfxvNuz7335O7l7xdZlZPxOMKgE0Ct9IaXKoG6Y/DW80ijyWRJjk/c9AV54df 1ZUMQur4HLqhjwQxDWZZpJKyBe1fIR2uZ0hJUtaVfzrQV17ju5BFWDGn46wlmTjl s7UHVTZgenllTRXA2Vb3CIUB7kxyyg6rReGAWZhT7FtD6CwID6zB2qQBq7uxa/JF e/UoVi/8lKnsTB/9h4a7KFhVq5TxcF+JtkDP4pdHoAkGMWpPs+ngU9PqFOLMywcq RweUV/qOa8+pzmsEL2Bd287TZXj768g8UB7mkPNgyuVH1tkk+AM= =GxMW -----END PGP SIGNATURE----- --Q/wQt+dmWnGIkEnN--
bug-automake@HIDDEN:bug#54390; Package automake.
Full text available.
Received: (at 54390) by debbugs.gnu.org; 13 Jan 2023 07:08:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 13 02:08:00 2023
Received: from localhost ([127.0.0.1]:49391 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1pGEAS-0007aq-3M
for submit <at> debbugs.gnu.org; Fri, 13 Jan 2023 02:08:00 -0500
Received: from woodpecker.gentoo.org ([140.211.166.183]:46548
helo=smtp.gentoo.org) by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <sam@HIDDEN>) id 1pGEAQ-0007aa-Uv
for 54390 <at> debbugs.gnu.org; Fri, 13 Jan 2023 02:07:59 -0500
Content-Type: multipart/signed;
boundary="Apple-Mail=_E298C910-1BEF-413E-9BA9-593E5CCABA8F";
protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.300.101.1.3\))
Subject: Re: bug#54390: YACC rules don't check DESTDIR existence for VPATH
builds
From: Sam James <sam@HIDDEN>
In-Reply-To: <Y8EB4R/9XV7EOwXG@vapier>
Date: Fri, 13 Jan 2023 07:07:39 +0000
Message-Id: <94654BE3-11F1-43AF-95A9-51E30753C2F6@HIDDEN>
References: <5D3EB010-35AF-4D10-811E-981AA1EF45AB@HIDDEN>
<Y8D2ou17RmQu+rhY@vapier> <906C5A7C-2D9C-46F4-8971-87E0E8E7DF97@HIDDEN>
<Y8EB4R/9XV7EOwXG@vapier>
To: Mike Frysinger <vapier@HIDDEN>
X-Mailer: Apple Mail (2.3731.300.101.1.3)
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 54390
Cc: 54390 <at> debbugs.gnu.org
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=_E298C910-1BEF-413E-9BA9-593E5CCABA8F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=us-ascii
> On 13 Jan 2023, at 07:01, Mike Frysinger <vapier@HIDDEN> wrote:
>=20
> On 13 Jan 2023 06:29, Sam James wrote:
>>> On 13 Jan 2023, at 06:13, Mike Frysinger <vapier@HIDDEN> wrote:
>>> On 14 Mar 2022 17:21, Sam James wrote:
>>>> It appears that YACC rules don't check for whether the destination =
directory exists before executing ylwrap.
>>>>=20
>>>> 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
>>>> ```
>>>>=20
>>>> 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.
>>>>=20
>>>> 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 \
>>>> [...]
>>>> ```
>>>>=20
>>>> While src/libaacs exists within the build dir, src/file/ doesn't =
exist at all, hence the failure.
>>>>=20
>>>> automake yacc rules should mkdir -p the needed directories within =
the build dir for VPATH builds before running ylwrap/yacc.
>>>=20
>>> i think there's more to it. if you're using a release tarball for =
this project
>>> created by `make dist`, then you shouldn't be running yacc in the =
first place.
>>>=20
>>> =
https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
>>=20
>> Curiosity got the better of me (see previous reply) so:
>> ```
>> $ cd /tmp
>> $ git clone https://code.videolan.org/videolan/libaacs/
>> $(cd libaacs && ./bootstrap.sh)
>> $mkdir libaacs-oos && cd libaacs
>=20
> guessing you meant `cd libaacs-oos`
>=20
>> $ /tmp/libaacs/configure YACC=3Dbison LEX=3Dflex
>> $ make
>> $ make
>> YACC src/file/keydbcfg-parser.c
>> keydbcfg-parser.tab.c is unchanged
>> keydbcfg-parser.tab.h is unchanged
>> make[1]: Entering directory '/tmp/libaacs-oos'
>> YACC src/file/keydbcfg-parser.c
>> keydbcfg-parser.tab.c is unchanged
>> keydbcfg-parser.tab.h is unchanged
>> make[1]: Leaving directory '/tmp/libaacs-oos'
>> make all-am
>> make[1]: Entering directory '/tmp/libaacs-oos'
>> YACC src/file/keydbcfg-parser.c
>> keydbcfg-parser.tab.c is unchanged
>> keydbcfg-parser.tab.h is unchanged
>> CC src/file/keydbcfg-parser.lo
>> cc1: fatal error: src/file/keydbcfg-parser.c: No such file or =
directory
>> compilation terminated.
>> make[1]: *** [Makefile:1009: src/file/keydbcfg-parser.lo] Error 1
>> make[1]: Leaving directory '/tmp/libaacs-oos'
>> make: *** [Makefile:638: all] Error 2
>> ```
>>=20
>> so it's still looking in the source rather than the build directory =
for the generated file?
>=20
> i'm not sure what you're trying to show here. that running make twice =
in a
> row produces weird/inconsistent results ? if that's the case, that's =
not
> the behavior i'm seeing over here.
>=20
No, that was just an error in copying stuff into email. It happens with =
running make once,
so it should be:
```
$ cd /tmp
$ git clone https://code.videolan.org/videolan/libaacs/
$ (cd libaacs && ./bootstrap)
$ mkdir libaacs-oos && cd libaacs-oos
$ /tmp/libaacs/configure YACC=3Dbison LEX=3Dflex
$ make
YACC src/file/keydbcfg-parser.c
updating keydbcfg-parser.tab.c
updating keydbcfg-parser.tab.h
make[1]: Entering directory '/tmp/libaacs-oos'
YACC src/file/keydbcfg-parser.c
keydbcfg-parser.tab.c is unchanged
keydbcfg-parser.tab.h is unchanged
make[1]: Leaving directory '/tmp/libaacs-oos'
LEX src/file/keydbcfg-lexer.c
make all-am
make[1]: Entering directory '/tmp/libaacs-oos'
CC src/examples/aacs_info-aacs_info.o
CC src/libaacs/aacs.lo
CC src/libaacs/cci.lo
CC src/libaacs/content_cert.lo
CC src/libaacs/crypto.lo
CC src/libaacs/mkb.lo
CC src/libaacs/mmc.lo
CC src/libaacs/unit_key.lo
CC src/file/file.lo
CC src/file/filesystem.lo
CC src/file/keydbcfg.lo
YACC src/file/keydbcfg-parser.c
keydbcfg-parser.tab.c is unchanged
keydbcfg-parser.tab.h is unchanged
CC src/file/keydbcfg-parser.lo
cc1: fatal error: src/file/keydbcfg-parser.c: No such file or directory
compilation terminated.
make[1]: *** [Makefile:1009: src/file/keydbcfg-parser.lo] Error 1
make[1]: Leaving directory '/tmp/libaacs-oos'
make: *** [Makefile:638: all] Error 2
```
You can't reproduce the build failure?
> i'll note that the default configure+make works because dependency =
tracking
> is enabled which prepopulates the directory tree. it's failing for =
you in
> Gentoo because econf automatically adds --disable-dependency-tracking =
which
> turns all that logic off, and the directory tree doesn't exist.
I'm not sure how that corresponds with when I run configure manually as =
above?
What am I missing, or am I misunderstanding?
Thanks.
--Apple-Mail=_E298C910-1BEF-413E-9BA9-593E5CCABA8F
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-----
iNUEARYKAH0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCY8EDO18UgAAAAAAuAChp
c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB
NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MAAKCRBzhAn1IN+R
kMXsAP9a3PbifpD0aFHB9YGhm6fVUjpq0ycLYuVizskgEU/yBwEA27Ha8l8d7dav
2TmXCnNnHstiG4VsolJsj8Y6e38OxQ0=
=bNV+
-----END PGP SIGNATURE-----
--Apple-Mail=_E298C910-1BEF-413E-9BA9-593E5CCABA8F--
bug-automake@HIDDEN:bug#54390; Package automake.
Full text available.
Received: (at 54390) by debbugs.gnu.org; 13 Jan 2023 07:02:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 13 02:02:03 2023
Received: from localhost ([127.0.0.1]:49386 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1pGE4h-0007RO-22
for submit <at> debbugs.gnu.org; Fri, 13 Jan 2023 02:02:03 -0500
Received: from woodpecker.gentoo.org ([140.211.166.183]:45862
helo=smtp.gentoo.org) by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <vapier@HIDDEN>) id 1pGE4e-0007Qq-Ga
for 54390 <at> debbugs.gnu.org; Fri, 13 Jan 2023 02:02:01 -0500
Received: by smtp.gentoo.org (Postfix, from userid 559)
id D83343408DD; Fri, 13 Jan 2023 07:01:54 +0000 (UTC)
Date: Fri, 13 Jan 2023 02:01:53 -0500
From: Mike Frysinger <vapier@HIDDEN>
To: Sam James <sam@HIDDEN>
Subject: Re: bug#54390: YACC rules don't check DESTDIR existence for VPATH
builds
Message-ID: <Y8EB4R/9XV7EOwXG@vapier>
References: <5D3EB010-35AF-4D10-811E-981AA1EF45AB@HIDDEN>
<Y8D2ou17RmQu+rhY@vapier>
<906C5A7C-2D9C-46F4-8971-87E0E8E7DF97@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
protocol="application/pgp-signature"; boundary="wrusJiKEqHi8YIov"
Content-Disposition: inline
In-Reply-To: <906C5A7C-2D9C-46F4-8971-87E0E8E7DF97@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 54390
Cc: 54390 <at> debbugs.gnu.org
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 (---)
--wrusJiKEqHi8YIov
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On 13 Jan 2023 06:29, Sam James wrote:
> > On 13 Jan 2023, at 06:13, Mike Frysinger <vapier@HIDDEN> wrote:
> > On 14 Mar 2022 17:21, Sam James wrote:
> >> It appears that YACC rules don't check for whether the destination dir=
ectory exists before executing ylwrap.
> >>=20
> >> When trying to package libaacs (https://code.videolan.org/videolan/lib=
aacs) 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/fil=
e/keydbcfg-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-a=
ux/ylwrap: 206: cannot create ../src/file/keydbcfg-parser.c: Directory none=
xistent
> >> updating src/file/keydbcfg-parser.h
> >> mv: cannot move 'tmp-keydbcfg-parser.h' to '../src/file/keydbcfg-parse=
r.h': No such file or directory
> >> make: *** [Makefile:1150: src/file/keydbcfg-parser.c] Error 2
> >> ```
> >>=20
> >> I can workaround this by running `mkdir -p ${BUILD_DIR}/src/file` to e=
nsure that the necessary directory exists within the build directory before=
hand, but
> >> it feels like I shouldn't have to.
> >>=20
> >> Their Makefile.am can be found here: https://code.videolan.org/videola=
n/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 \
> >> [...]
> >> ```
> >>=20
> >> While src/libaacs exists within the build dir, src/file/ doesn't exist=
at all, hence the failure.
> >>=20
> >> automake yacc rules should mkdir -p the needed directories within the =
build dir for VPATH builds before running ylwrap/yacc.
> >=20
> > i think there's more to it. if you're using a release tarball for this=
project
> > created by `make dist`, then you shouldn't be running yacc in the first=
place.
> >=20
> > https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
>=20
> Curiosity got the better of me (see previous reply) so:
> ```
> $ cd /tmp
> $ git clone https://code.videolan.org/videolan/libaacs/
> $(cd libaacs && ./bootstrap.sh)
> $mkdir libaacs-oos && cd libaacs
guessing you meant `cd libaacs-oos`
> $ /tmp/libaacs/configure YACC=3Dbison LEX=3Dflex
> $ make
> $ make
> YACC src/file/keydbcfg-parser.c
> keydbcfg-parser.tab.c is unchanged
> keydbcfg-parser.tab.h is unchanged
> make[1]: Entering directory '/tmp/libaacs-oos'
> YACC src/file/keydbcfg-parser.c
> keydbcfg-parser.tab.c is unchanged
> keydbcfg-parser.tab.h is unchanged
> make[1]: Leaving directory '/tmp/libaacs-oos'
> make all-am
> make[1]: Entering directory '/tmp/libaacs-oos'
> YACC src/file/keydbcfg-parser.c
> keydbcfg-parser.tab.c is unchanged
> keydbcfg-parser.tab.h is unchanged
> CC src/file/keydbcfg-parser.lo
> cc1: fatal error: src/file/keydbcfg-parser.c: No such file or directory
> compilation terminated.
> make[1]: *** [Makefile:1009: src/file/keydbcfg-parser.lo] Error 1
> make[1]: Leaving directory '/tmp/libaacs-oos'
> make: *** [Makefile:638: all] Error 2
> ```
>=20
> so it's still looking in the source rather than the build directory for t=
he generated file?
i'm not sure what you're trying to show here. that running make twice in a
row produces weird/inconsistent results ? if that's the case, that's not
the behavior i'm seeing over here.
i'll note that the default configure+make works because dependency tracking
is enabled which prepopulates the directory tree. it's failing for you in
Gentoo because econf automatically adds --disable-dependency-tracking which
turns all that logic off, and the directory tree doesn't exist.
Automake is VPATH-ing the source file. we prob should change that to use an
explicit $(srcdir) prefix when nodist is not utilized. then it would always
write the generated .c/.h to the source tree.
-mike
--wrusJiKEqHi8YIov
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEuQK1JxMl+JKsJRrUQWM7n+g39YEFAmPBAeEACgkQQWM7n+g3
9YHUlg/8C+wobIFIV3/pd5Bgl0KLRrmWDWaW13ZHREHAevXz/sR05y9jHnA0CdGk
poE7q/5kkp7OgDkJD7UebPLeMavXJLx0/wBBmVncNTqZ4eZcjPHSxw3Qey+R1yYa
grX2yzuU4bdkfoJfr1mjSt1y9yJVrgCkPsX9gcUkgF57Y6WelBCMtndyu8v4d193
zVNveatX28J7V2m3cENNwsUGddZ4ofGD4E9il/fYr3979Hk74GubZgJFX6gf7IzX
bfkOQbNXnvJT3ImyK67etWNHrCE0pXD/hYeXZe6xZ3KK6c6ScZNvZkcsboohIR7a
H4ZcJFZZzFSFdGdWQCRQjmUI0qo4RMuU6VjG/w9O6r+dud5fm9+XgAniG7jrtvNL
ea2NLCTihOB164DKYJNzlNhGw9NJ+8KVtkQ9UPBwqdhkEfOLNDqUMEXc2XKy1A6U
a4E+8bsuYqzVcIHg/5vVlaGXdU9bX7EsoY/kO6N2dG4rTVSoA1KmUwnXxuE7qkLe
kH/K2p0aQUcYG7/G6FfoxwM4AwsOApIdoaZWW5kpXTPr0VTqCMb6o8/UV6MEG+fK
N1mR0nVLCRz/Meu3z6lvT7RSaxYTDyfNZzfnwns5xNHfjq59KG+VQI78fKazJ3el
JA2g2szr2elLcI0PSwBbtoYvRQFOS1pmjolhEWakzO9vgSR0bHE=
=gepH
-----END PGP SIGNATURE-----
--wrusJiKEqHi8YIov--
bug-automake@HIDDEN:bug#54390; Package automake.
Full text available.
Received: (at 54390) by debbugs.gnu.org; 13 Jan 2023 06:30:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 13 01:30:18 2023
Received: from localhost ([127.0.0.1]:49305 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1pGDZx-0002dd-Lb
for submit <at> debbugs.gnu.org; Fri, 13 Jan 2023 01:30:18 -0500
Received: from woodpecker.gentoo.org ([140.211.166.183]:42934
helo=smtp.gentoo.org) by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <sam@HIDDEN>) id 1pGDZv-0002Dt-Tf
for 54390 <at> debbugs.gnu.org; Fri, 13 Jan 2023 01:30:17 -0500
Content-Type: multipart/signed;
boundary="Apple-Mail=_370DE771-1796-4AF5-858A-A1B63B230FA9";
protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.300.101.1.3\))
Subject: Re: bug#54390: YACC rules don't check DESTDIR existence for VPATH
builds
From: Sam James <sam@HIDDEN>
In-Reply-To: <Y8D2ou17RmQu+rhY@vapier>
Date: Fri, 13 Jan 2023 06:29:56 +0000
Message-Id: <906C5A7C-2D9C-46F4-8971-87E0E8E7DF97@HIDDEN>
References: <5D3EB010-35AF-4D10-811E-981AA1EF45AB@HIDDEN>
<Y8D2ou17RmQu+rhY@vapier>
To: Mike Frysinger <vapier@HIDDEN>
X-Mailer: Apple Mail (2.3731.300.101.1.3)
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 54390
Cc: 54390 <at> debbugs.gnu.org
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=_370DE771-1796-4AF5-858A-A1B63B230FA9
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=us-ascii
> On 13 Jan 2023, at 06:13, Mike Frysinger <vapier@HIDDEN> wrote:
>=20
> On 14 Mar 2022 17:21, Sam James wrote:
>> It appears that YACC rules don't check for whether the destination =
directory exists before executing ylwrap.
>>=20
>> 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
>> ```
>>=20
>> 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.
>>=20
>> 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 \
>> [...]
>> ```
>>=20
>> While src/libaacs exists within the build dir, src/file/ doesn't =
exist at all, hence the failure.
>>=20
>> automake yacc rules should mkdir -p the needed directories within the =
build dir for VPATH builds before running ylwrap/yacc.
>=20
> i think there's more to it. if you're using a release tarball for =
this project
> created by `make dist`, then you shouldn't be running yacc in the =
first place.
>=20
> =
https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
Curiosity got the better of me (see previous reply) so:
```
$ cd /tmp
$ git clone https://code.videolan.org/videolan/libaacs/
$(cd libaacs && ./bootstrap.sh)
$mkdir libaacs-oos && cd libaacs
$ /tmp/libaacs/configure YACC=3Dbison LEX=3Dflex
$ make
$ make
YACC src/file/keydbcfg-parser.c
keydbcfg-parser.tab.c is unchanged
keydbcfg-parser.tab.h is unchanged
make[1]: Entering directory '/tmp/libaacs-oos'
YACC src/file/keydbcfg-parser.c
keydbcfg-parser.tab.c is unchanged
keydbcfg-parser.tab.h is unchanged
make[1]: Leaving directory '/tmp/libaacs-oos'
make all-am
make[1]: Entering directory '/tmp/libaacs-oos'
YACC src/file/keydbcfg-parser.c
keydbcfg-parser.tab.c is unchanged
keydbcfg-parser.tab.h is unchanged
CC src/file/keydbcfg-parser.lo
cc1: fatal error: src/file/keydbcfg-parser.c: No such file or directory
compilation terminated.
make[1]: *** [Makefile:1009: src/file/keydbcfg-parser.lo] Error 1
make[1]: Leaving directory '/tmp/libaacs-oos'
make: *** [Makefile:638: all] Error 2
```
so it's still looking in the source rather than the build directory for =
the generated file?
--Apple-Mail=_370DE771-1796-4AF5-858A-A1B63B230FA9
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-----
iNUEARYKAH0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCY8D6ZV8UgAAAAAAuAChp
c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB
NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MAAKCRBzhAn1IN+R
kJINAQCxzNV6Fm5w86pB8xu8Hn9rioV7aumTh/jWJv6KxidmRgD+IyW8I4jSFrST
HekWuMZccgQ7Kv67NF5YZpWHgGyprAw=
=Ko5N
-----END PGP SIGNATURE-----
--Apple-Mail=_370DE771-1796-4AF5-858A-A1B63B230FA9--
bug-automake@HIDDEN:bug#54390; Package automake.
Full text available.
Received: (at 54390) by debbugs.gnu.org; 13 Jan 2023 06:22:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 13 01:22:53 2023
Received: from localhost ([127.0.0.1]:49289 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1pGDSn-0001Vt-7O
for submit <at> debbugs.gnu.org; Fri, 13 Jan 2023 01:22:53 -0500
Received: from woodpecker.gentoo.org ([140.211.166.183]:42292
helo=smtp.gentoo.org) by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <sam@HIDDEN>) id 1pGDSl-0001Vc-BX
for 54390 <at> debbugs.gnu.org; Fri, 13 Jan 2023 01:22:51 -0500
Content-Type: multipart/signed;
boundary="Apple-Mail=_C511B064-8D13-494E-A486-93303C53F603";
protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.300.101.1.3\))
Subject: Re: bug#54390: YACC rules don't check DESTDIR existence for VPATH
builds
From: Sam James <sam@HIDDEN>
In-Reply-To: <Y8D2ou17RmQu+rhY@vapier>
Date: Fri, 13 Jan 2023 06:22:30 +0000
Message-Id: <E08046E8-71A9-49BC-A358-21B8B39EC302@HIDDEN>
References: <5D3EB010-35AF-4D10-811E-981AA1EF45AB@HIDDEN>
<Y8D2ou17RmQu+rhY@vapier>
To: Mike Frysinger <vapier@HIDDEN>
X-Mailer: Apple Mail (2.3731.300.101.1.3)
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 54390
Cc: 54390 <at> debbugs.gnu.org
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=_C511B064-8D13-494E-A486-93303C53F603
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
> On 13 Jan 2023, at 06:13, Mike Frysinger <vapier@HIDDEN> wrote:
>=20
> On 14 Mar 2022 17:21, Sam James wrote:
>> It appears that YACC rules don't check for whether the destination =
directory exists before executing ylwrap.
>>=20
>> 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
>> ```
>>=20
>> 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.
>>=20
>> 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 \
>> [...]
>> ```
>>=20
>> While src/libaacs exists within the build dir, src/file/ doesn't =
exist at all, hence the failure.
>>=20
>> automake yacc rules should mkdir -p the needed directories within the =
build dir for VPATH builds before running ylwrap/yacc.
>=20
> i think there's more to it. if you're using a release tarball for =
this project
> created by `make dist`, then you shouldn't be running yacc in the =
first place.
>=20
> =
https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
>> The intermediate files generated by yacc (or lex) will be included in =
any
>> distribution that is made. That way the user doesn=E2=80=99t need to =
have yacc or lex.
>=20
> cloning that repo and running `make dist` shows the file is generated, =
and it's
> listed in am__DIST_COMMON, but it still doesn't make it into the =
tarball. oh,
> it looks like this is self-inflicted:
> =
https://code.videolan.org/videolan/libaacs/-/blob/0.11.1/Makefile.am#L88
> =
https://code.videolan.org/videolan/libaacs/-/commit/f60f46da1dc5e87f70b6ed=
c965a8909d3f21c247
>=20
> that makes no sense. file a bug with them.
Thanks - IIRC I hit this when running from git too, which is why I filed =
the bug, but that's definitely
wrong on their side anyway, and I can't say I want to bother trying to =
build it again from git.
I'll report it over there.
--Apple-Mail=_C511B064-8D13-494E-A486-93303C53F603
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-----
iNUEARYKAH0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCY8D4p18UgAAAAAAuAChp
c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB
NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MAAKCRBzhAn1IN+R
kHBLAP0cCKcjWr777v+iByts+DOTPl85gaIVWAePXbScCx0vuQD8CX2o9QGd/dXU
TZJtMKI3ZM5C9gbfzcqUikKODCfYFws=
=yO84
-----END PGP SIGNATURE-----
--Apple-Mail=_C511B064-8D13-494E-A486-93303C53F603--
bug-automake@HIDDEN:bug#54390; Package automake.
Full text available.Mike Frysinger <vapier@HIDDEN>
to control <at> debbugs.gnu.org.
Full text available.
Received: (at 54390) by debbugs.gnu.org; 13 Jan 2023 06:14:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 13 01:14:03 2023
Received: from localhost ([127.0.0.1]:49270 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1pGDKF-0001H6-8B
for submit <at> debbugs.gnu.org; Fri, 13 Jan 2023 01:14:03 -0500
Received: from woodpecker.gentoo.org ([140.211.166.183]:41448
helo=smtp.gentoo.org) by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <vapier@HIDDEN>) id 1pGDKD-0001GW-RF
for 54390 <at> debbugs.gnu.org; Fri, 13 Jan 2023 01:14:02 -0500
Received: by smtp.gentoo.org (Postfix, from userid 559)
id 4023B340441; Fri, 13 Jan 2023 06:13:56 +0000 (UTC)
Date: Fri, 13 Jan 2023 01:13:54 -0500
From: Mike Frysinger <vapier@HIDDEN>
To: Sam James <sam@HIDDEN>
Subject: Re: bug#54390: YACC rules don't check DESTDIR existence for VPATH
builds
Message-ID: <Y8D2ou17RmQu+rhY@vapier>
References: <5D3EB010-35AF-4D10-811E-981AA1EF45AB@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
protocol="application/pgp-signature"; boundary="HguK3SCBmGfvoo7q"
Content-Disposition: inline
In-Reply-To: <5D3EB010-35AF-4D10-811E-981AA1EF45AB@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 54390
Cc: 54390 <at> debbugs.gnu.org
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 (---)
--HguK3SCBmGfvoo7q
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On 14 Mar 2022 17:21, Sam James wrote:
> It appears that YACC rules don't check for whether the destination direct=
ory exists before executing ylwrap.
>=20
> When trying to package libaacs (https://code.videolan.org/videolan/libaac=
s) 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/k=
eydbcfg-parser.y: warning: fix-its can be applied. Rerun with option '--up=
date'. [-Wother]
> /var/tmp/portage/media-libs/libaacs-0.11.1/work/libaacs-0.11.1/build-aux/=
ylwrap: 206: cannot create ../src/file/keydbcfg-parser.c: Directory nonexis=
tent
> 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
> ```
>=20
> I can workaround this by running `mkdir -p ${BUILD_DIR}/src/file` to ensu=
re that the necessary directory exists within the build directory beforehan=
d, but
> it feels like I shouldn't have to.
>=20
> Their Makefile.am can be found here: https://code.videolan.org/videolan/l=
ibaacs/-/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 \
> [...]
> ```
>=20
> While src/libaacs exists within the build dir, src/file/ doesn't exist at=
all, hence the failure.
>=20
> automake yacc rules should mkdir -p the needed directories within the bui=
ld dir for VPATH builds before running ylwrap/yacc.
i think there's more to it. if you're using a release tarball for this pro=
ject
created by `make dist`, then you shouldn't be running yacc in the first pla=
ce.
https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
> The intermediate files generated by yacc (or lex) will be included in any
> distribution that is made. That way the user doesn=E2=80=99t need to have=
yacc or lex.
cloning that repo and running `make dist` shows the file is generated, and =
it's
listed in am__DIST_COMMON, but it still doesn't make it into the tarball. =
oh,
it looks like this is self-inflicted:
https://code.videolan.org/videolan/libaacs/-/blob/0.11.1/Makefile.am#L88
https://code.videolan.org/videolan/libaacs/-/commit/f60f46da1dc5e87f70b6edc=
965a8909d3f21c247
that makes no sense. file a bug with them.
-mike
--HguK3SCBmGfvoo7q
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEuQK1JxMl+JKsJRrUQWM7n+g39YEFAmPA9p0ACgkQQWM7n+g3
9YGErQ//b/xG0LUloZPT+A1I6YBl7XpOmZNu+/e2YqRSLYpEeJm6ymJC6V7a7Qsq
QYLIa+l50YRsbIzfrQJxdfODoGXymLqYXv7rBGz5JA6Xv++BxyukaSiHN+5tlWo3
cBiEtNMfvXUO2+PaokN4ii9boTVmWGF1oinD/cY0nhUUBaIgnYwRzxsVsBneRTyU
1qRGDQMtFpXCzlQrb8M2CSQFfMfA3wGfR9ctEGSBQnD0wG+/34EjEJLl3Br9IO5f
/8TjnUQwo1zj65jgVtmufzRXizHGY4ul1q+0MShtyHSgezKM2hDesQwNCT/iY8ID
dkEzZp9/W//pObycMv9n027IlhMEPgZtmWqHS0+0bYBEJ/clLJY+XCw1x+4P/sfy
uvsoJny+4kUCaGRuR6dKEaCdvvlvR16YeNo/P3SmSfIJudKXVO9VOEmYwgzkZD8v
Im39CnMvYiDlzMDENTFA31JdbX2jnTwZ5j048Gp9MakeSewuonHPtbbfyiTThynG
4LX5uPUCbZK3oaaIF3tr1ECG2ZGqSOviNmMe6PL6hzVJBWvYnxQ3G+mp9oDjy/q/
I6uba9SqXw95TcezF+MKLOB1UjMQ+JJENLL9XlcK6FiQEnQs614MEMcpgZhor2Vy
hsTvgVgnp9RJ1GC0lv19Le+1c9MvjZgPRgZLeyynbDYkXxsX1u8=
=SVoD
-----END PGP SIGNATURE-----
--HguK3SCBmGfvoo7q--
bug-automake@HIDDEN:bug#54390; Package automake.
Full text available.
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--
Sam James <sam@HIDDEN>:bug-automake@HIDDEN.
Full text available.bug-automake@HIDDEN:bug#54390; Package automake.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.