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

From: Michal Suchánek
Date: Wed Jun 02 2021 - 13:59:35 EST


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.

That's functionality that is lost.

Now without the script separate from the makefile inserting hacks will
be required.

I would like to avoid that.

Thanks

Michal

> > Regardless of whther the new code works correctly or not in the usual
> > case it removes the ability to regenearte the makefile for a specific
> > target location.
> >
> > Thanks
> >
> > Michal
> >
> > > >
> > > > During package build you have four directories
> > > >
> > > > - the source directory
> > > > - the build directory
> > > > - the staging directory where files are installed to be included in the
> > > > package
> > > > - the target directory where files will be installed on the target
> > > > system once the package is installed by the user
> > > >
> > > > The makefile is generated for the build directory, not the target
> > > > directory. What is needed is a way to generate a makefile in the staging
> > > > directory that will work when installed in the target directory.
> > > > When mkmakefile is folded into makefile the makefile can no longer be
> > > > regenerated because it is up-to-date, and it can no longer be specified
> > > > that it should be generated for the target directory, not the staging
> > > > directory.
> > > >
> > > > Thanks
> > > >
> > > > Michal
> > >
> > >
> > >
> > > --
> > > Best Regards
> > > Masahiro Yamada
>
>
>
> --
> Best Regards
> Masahiro Yamada