Thread (11 messages) 11 messages, 2 authors, 2021-06-17

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

From: Michal Suchánek <hidden>
Date: 2021-06-02 17:59:34
Also in: lkml

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 [off-list ref] wrote:
quoted
On Wed, Jun 02, 2021 at 06:45:58PM +0900, Masahiro Yamada wrote:
quoted
On Sat, May 29, 2021 at 2:35 PM Michal Suchánek [off-list ref] wrote:
quoted
On Sat, May 29, 2021 at 02:15:55AM +0900, Masahiro Yamada wrote:
quoted
On Thu, May 27, 2021 at 5:28 AM Michal Suchánek [off-list ref] wrote:
quoted
On Thu, May 27, 2021 at 03:56:41AM +0900, Masahiro Yamada wrote:
quoted
On Thu, May 27, 2021 at 2:39 AM Michal Suchanek [off-list ref] wrote:
quoted
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 <redacted>
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@mail.gmail.com/ (local)


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
quoted
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
quoted
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help