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

From: Masahiro Yamada
Date: Wed Jun 02 2021 - 14:36:27 EST


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.







> 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
>






--
Best Regards
Masahiro Yamada