Re: [PATCH] Revert "kbuild: merge scripts/mkmakefile to top Makefile"
From: Masahiro Yamada
Date: Wed Jun 02 2021 - 11:45:48 EST
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.
>
> 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