[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH v4] scripts/package/builddeb: split generating packaging and build



Riku,

2018-03-27 22:28 GMT+09:00 Riku Voipio <riku.voipio@linaro.org>:

>> If I use GNU Make 4.2
>>
>> $ cat deb_pkg_log.txt
>> MAKEFLAGS for deb-pkg: rR -I/home/masahiro/ref/linux -j8
>> --jobserver-auth=3,4 --no-print-directory -- obj=scripts/package
>> MAKEFLAGS for mkdebian internal: rR -I/home/masahiro/ref/linux -j
>> --jobserver-fds=5,6 --no-print-directory -- obj=scripts/package
>
> I'll make a wild guess, and "outside" make is your 4.2 build while the
> intdeb-pkg ends up calling the make 4.0 that comes with your ubuntu?
> observe the --jobserver-auth vs ---jobsserver-fds arguments.
>

Ah, you are right!


Probably this

>
> -if [ "x$1" = "xdeb-pkg" ]
> -then
> -    cat <<EOF > debian/rules
> -#!/usr/bin/make -f
> -
> -build:
> -       \$(MAKE)



I installed Make 4.2 into /home/masahiro/bin/,
but /usr/bin/make is still distro-bundled older Make.

/home/masahiro/bin is listed before /usr/bin in my PATH environment,

So, if I type "make" from the command line, /home/masahiro/bin/make is chosen.
Then, the outer Makefile is executed by Make 4.2.

But, due to the shebang '#!/usr/bin/make -f'
debian/rules is executed by older Make.


Due to the incompatibility of MAKEFLAGS, Make went insane.

Hmm, do you have an idea for solution?

I would be possible to forcibly overwrite MAKEFLAGS, but
IMHO, it is kind of strange to run dpkg-buildpackage
from Makefile.




-- 
Best Regards
Masahiro Yamada


Reply to: