Re: [PATCH] Revert "kbuild: merge scripts/mkmakefile to top Makefile"

From: Michal Suchánek
Date: Thu Jun 17 2021 - 03:57:58 EST


On Thu, Jun 03, 2021 at 03:35:24AM +0900, Masahiro Yamada wrote:
> On Thu, Jun 3, 2021 at 2:59 AM Michal Suchánek <msuchanek@xxxxxxx> wrote:
> >
> > On Thu, Jun 03, 2021 at 12:44:48AM +0900, Masahiro Yamada wrote:
> > > On Thu, Jun 3, 2021 at 12:18 AM Michal Suchánek <msuchanek@xxxxxxx> wrote:
> > > >
> > > > On Wed, Jun 02, 2021 at 06:45:58PM +0900, Masahiro Yamada wrote:
> > > > > On Sat, May 29, 2021 at 2:35 PM Michal Suchánek <msuchanek@xxxxxxx> wrote:
> > > > > >
> > > > > > On Sat, May 29, 2021 at 02:15:55AM +0900, Masahiro Yamada wrote:
> > > > > > > On Thu, May 27, 2021 at 5:28 AM Michal Suchánek <msuchanek@xxxxxxx> wrote:
> > > > > > > >
> > > > > > > > On Thu, May 27, 2021 at 03:56:41AM +0900, Masahiro Yamada wrote:
> > > > > > > > > On Thu, May 27, 2021 at 2:39 AM Michal Suchanek <msuchanek@xxxxxxx> wrote:
> > > > > > > > > >
> > > > > > > > > > This reverts commit 243b50c141d71fcf7b88e94474b3b9269f0b1f9d.
> > > > > > > > > >
> > > > > > > > > > When packaging the kernel it is built in different place from the one in
> > > > > > > > > > which it will be installed. After build the makefile needs to be
> > > > > > > > > > regenerated with the target location but with mkmakefile merged into
> > > > > > > > > > Makefile tehre is no way to do that.
> > > > > > > > > >
> > > > > > > > > > Signed-off-by: Michal Suchanek <msuchanek@xxxxxxx>
> > > > > > > > >
> > > > > > > > > My patch was not working as expected
> > > > > > > > > regardless of packaging.
> > > > > > > > >
> > > > > > > > > Does the following fix-up work for you?
> > > > > > > >
> > > > > > > > For the packaging I need some way to regenerate the Makefile and fake
> > > > > > > > the directory where the Makefile will be on the user system (ie DESTDIR)
> > > > > > > >
> > > > > > > > Without the mkmakefile I do not see any way to do it.
> > > > > > > >
> > > > > > > > If the kernel makefile is no longer location dependent there is no need
> > > > > > > > any more, of course.
> > > > > > > >
> > > > > > > > Thanks
> > > > > > > >
> > > > > > > > Michal
> > > > > > >
> > > > > > > Sorry, I do not understand this.
> > > > > > >
> > > > > > > IIUC, this patch does not change any functionality.
> > > > > > > The generated Makefile is still the same.
> > > > > > > Why is it a problem?
> > > > > >
> > > > > > It cannot be regenerated.
> > > > >
> > > > > This is an issue regardless of your packaging.
> > > > > That is why I suggested a patch in my previous reply.
> > > > >
> > > > > https://lore.kernel.org/linux-kbuild/CAK7LNASEqKwQeLPXedyut+ykSJGPuq3CO1g_fS=sVDaZrwBPBQ@xxxxxxxxxxxxxx/
> > > > >
> > > > >
> > > > > Anyway, please try next-20210602
> > > > > and see if you still have a problem.
> > > >
> > > > Yes, I still have a problem.
> > > >
> > > > My packaging script calls mkmakefile which no longer exists.
> > >
> > >
> > > So, we are not talking about the functionality any more.
> > >
> > > What is important for you is, you have a separate file.
> > >
> > > You overwrite scripts/mkmakefile for doing
> > > whatever hacks you like.
> > >
> > > If the code is moved into the Makefile,
> > > it will be more difficult to insert hacks.
> > >
> > > This is what I understood from your statement.
> >
> > I did not insert hacks. I called the script that your patch removes.
>
>
> You can copy scripts/mkmakefile
> to your packaging project if it is needed.
>
> It is a very short code that generates two lines.
>
> cat << EOF > Makefile
> # Automatically generated by $0: don't edit
> include $1/Makefile
> EOF
>
> You can also copy-paste it to your packaging script.

Hello

In fact the mkmakefile script dropped support for the second argument
that tells it where to genereate the makefile and thus became unusable
for packaging some time ago already.

With simplification of the makefile to the point it is trivial no script
to regenereate it is necessary. It can be generated with a simple echo
command.

Thanks

Michal