Date: Thu, 7 Dec 2023 01:04:10 +0000 From: Jessica Clarke <jrtc27@freebsd.org> To: "Simon J. Gerraty" <sjg@juniper.net> Cc: "src-committers@freebsd.org" <src-committers@freebsd.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@freebsd.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@freebsd.org> Subject: Re: git: 0c3627f44d49 - main - bsdinstall avoid subdir depending on parent Message-ID: <86F10ECA-6011-4F3C-A287-3DB076B9C935@freebsd.org> In-Reply-To: <69192.1701910000@kaos.jnpr.net> References: <202304210501.33L51PBT011707@gitrepo.freebsd.org> <09DDC25F-63F8-440A-A674-31F190C087B4@freebsd.org> <107720F5-1196-4E6C-AABE-48285D7B18B2@freebsd.org> <69192.1701910000@kaos.jnpr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 7 Dec 2023, at 00:46, Simon J. Gerraty <sjg@juniper.net> wrote: >=20 > Jessica Clarke <jrtc27@freebsd.org> wrote: >> On 21 Apr 2023, at 06:14, Jessica Clarke <jrtc27@FreeBSD.org> wrote: >=20 > Sorry, I didn't your mail back in April. >=20 > I can move the generation of the header to its own subdir. > Does usr.sbin/bsdinstall/osname sound reasonable? > other common options would include gen/ include/ inc/ ? include sounds ok to me. osname seems a bit too specific. Thanks, Jess >>> On 21 Apr 2023, at 06:01, Simon J. Gerraty <sjg@FreeBSD.org> wrote: >>>>=20 >>>> The branch main has been updated by sjg: >>>>=20 >>>> URL: = https://urldefense.com/v3/__https://cgit.FreeBSD.org/src/commit/?id=3D0c36= 27f44d49b460d5b9156145dec9d4a91beb2c__;!!NEt6yMaO-gk!CduM38y2LXW3snhYZYZdt= UNWv4VGMwaMwEOIOUMDYGZMRJwin7i46yHWwp5pG_pq3GGTzT-7Czg7AA$ >>>>=20 >>>> commit 0c3627f44d49b460d5b9156145dec9d4a91beb2c >>>> Author: Simon J. Gerraty <sjg@FreeBSD.org> >>>> AuthorDate: 2023-04-21 05:00:40 +0000 >>>> Commit: Simon J. Gerraty <sjg@FreeBSD.org> >>>> CommitDate: 2023-04-21 05:00:40 +0000 >>>>=20 >>>> bsdinstall avoid subdir depending on parent >>>>=20 >>>> When not doing tree walks, it is bad for sub-dirs to depend on >>>> parents. Move the generation of opt_osname.h to distextract >>>> and have others that need that depend on it. >>>>=20 >>>> In usr.sbin/bsdinstall use SUBDIR_DEPEND_ so tree walking still = works. >>>>=20 >>>> Reviewed by: obrien >>>> Differential Revision: = https://urldefense.com/v3/__https://reviews.freebsd.org/D39742__;!!NEt6yMa= O-gk!CduM38y2LXW3snhYZYZdtUNWv4VGMwaMwEOIOUMDYGZMRJwin7i46yHWwp5pG_pq3GGTz= T_oIs2qhw$ >>>> --- >>>> usr.sbin/bsdinstall/Makefile | 9 ++------- >>>> usr.sbin/bsdinstall/distextract/Makefile | 11 ++++++++++- >>>> usr.sbin/bsdinstall/distfetch/Makefile | 2 +- >>>> usr.sbin/bsdinstall/partedit/Makefile | 2 +- >>>> 4 files changed, 14 insertions(+), 10 deletions(-) >>>>=20 >>>> diff --git a/usr.sbin/bsdinstall/Makefile = b/usr.sbin/bsdinstall/Makefile >>>> index e71cae726536..aaa006694222 100644 >>>> --- a/usr.sbin/bsdinstall/Makefile >>>> +++ b/usr.sbin/bsdinstall/Makefile >>>> @@ -3,19 +3,14 @@ >>>> OSNAME?=3D FreeBSD >>>> SUBDIR=3D distextract distfetch partedit runconsoles scripts >>>> SUBDIR_PARALLEL=3D >>>> +SUBDIR_DEPEND_distfetch =3D distextract >>>> +SUBDIR_DEPEND_partedit =3D distextract >>>> SCRIPTS=3D bsdinstall >>>> MAN=3D bsdinstall.8 >>>> PACKAGE=3D bsdinstall >>>> -GENHDRS=3D opt_osname.h >>>> -SRCS+=3D ${GENHDRS} >>>> -CLEANFILES+=3D ${GENHDRS} >>>>=20 >>>> SCRIPTS+=3D startbsdinstall >>>> SCRIPTSDIR_startbsdinstall=3D ${LIBEXECDIR}/bsdinstall >>>>=20 >>>> -opt_osname.h: .PHONY >>>> - if ! grep -q "^#define OSNAME \"${OSNAME}\"$"" ${.TARGET}; then \ >>>> - echo "#define OSNAME \"${OSNAME}\"" > ${.TARGET}; \ >>>> - fi >>>>=20 >>>> .include <bsd.prog.mk> >>>> diff --git a/usr.sbin/bsdinstall/distextract/Makefile = b/usr.sbin/bsdinstall/distextract/Makefile >>>> index 6ae9bb65e8fb..0292c01e78f4 100644 >>>> --- a/usr.sbin/bsdinstall/distextract/Makefile >>>> +++ b/usr.sbin/bsdinstall/distextract/Makefile >>>> @@ -2,9 +2,18 @@ >>>>=20 >>>> BINDIR=3D ${LIBEXECDIR}/bsdinstall >>>> PROG=3D distextract >>>> -CFLAGS+=3D -I${SRCTOP}/contrib/bsddialog/lib -I${.OBJDIR}/.. >>>> +CFLAGS+=3D -I${SRCTOP}/contrib/bsddialog/lib -I. >>>> LIBADD=3D archive bsddialog m >>>> +SRCS=3D distextract.c >>>>=20 >>>> MAN=3D >>>> +GENHDRS=3D opt_osname.h >>>> +SRCS+=3D ${GENHDRS} >>>> +CLEANFILES+=3D ${GENHDRS} >>>> + >>>> +opt_osname.h: .PHONY >>>> + if ! grep -q "^#define OSNAME \"${OSNAME}\"$"" ${.TARGET}; then \ >>>> + echo "#define OSNAME \"${OSNAME}\"" > ${.TARGET}; \ >>>> + fi >>>>=20 >>>> .include <bsd.prog.mk> >>>> diff --git a/usr.sbin/bsdinstall/distfetch/Makefile = b/usr.sbin/bsdinstall/distfetch/Makefile >>>> index 0104df0e3aec..1555719dd15d 100644 >>>> --- a/usr.sbin/bsdinstall/distfetch/Makefile >>>> +++ b/usr.sbin/bsdinstall/distfetch/Makefile >>>> @@ -2,7 +2,7 @@ >>>>=20 >>>> BINDIR=3D ${LIBEXECDIR}/bsdinstall >>>> PROG=3D distfetch >>>> -CFLAGS+=3D -I${SRCTOP}/contrib/bsddialog/lib -I${.OBJDIR}/.. >>>> +CFLAGS+=3D -I${SRCTOP}/contrib/bsddialog/lib = -I${.OBJDIR}/../distextract >>>> LIBADD=3D fetch bsddialog >>>>=20 >>>> MAN=3D >>>> diff --git a/usr.sbin/bsdinstall/partedit/Makefile = b/usr.sbin/bsdinstall/partedit/Makefile >>>> index 96c4ddb53961..df17028eab2a 100644 >>>> --- a/usr.sbin/bsdinstall/partedit/Makefile >>>> +++ b/usr.sbin/bsdinstall/partedit/Makefile >>>> @@ -5,7 +5,7 @@ PROG=3D partedit >>>> LINKS=3D ${BINDIR}/partedit ${BINDIR}/autopart \ >>>> ${BINDIR}/partedit ${BINDIR}/scriptedpart >>>> SYMLINKS=3D ../libexec/bsdinstall/partedit /usr/sbin/sade >>>> -CFLAGS+=3D -I${SRCTOP}/contrib/bsddialog/lib -I${.OBJDIR}/.. >>>> +CFLAGS+=3D -I${SRCTOP}/contrib/bsddialog/lib = -I${.OBJDIR}/../distextract >>>=20 >>> Surely this is a sign that this is a worse solution? The header = isn=E2=80=99t a >>> part of distextract any more than partedit, so this is entirely >>> arbitrary. It also blocks the ability to do the subdirectories in >>> parallel with each other. >=20 >>>=20 >>> I would much rather this reverted; this feels like a regression to = me, >>> with the only justification being that it =E2=80=9Cis bad=E2=80=9D, = according to your >>> commit message, but so is this, and I would argue it=E2=80=99s = worse. >>>=20 >>> Or go put it in its own common directory. >>=20 >> This was never addressed. Moreover, the current code is in fact = broken; >> OSNAME is not defined within distextract=E2=80=99s Makefile, only the = parent=E2=80=99s, >> so opt_osname.h ends up with #define OSNAME "" in it. I guess I=E2=80=99= m the >> first to notice that the top left of the screen says " Installer" >> during 14.0=E2=80=99s distextract. >>=20 >> I am therefore once again asking for this commit to be reverted, but >> this time because it doesn=E2=80=99t work, not just because I = disagree with the >> design.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86F10ECA-6011-4F3C-A287-3DB076B9C935>