Bug#906330:

2021-04-01 Thread Andrej Shadura
Control: retitle -1 bmake: sanitise MAKEFLAGS in the debhelper plugin

Hi,

On Thu, 1 Apr 2021, at 12:09, Yangfl wrote:
> > On Thu, 1 Apr 2021, at 11:51, Yangfl wrote:
> > > `sbuild --no-arch-all --no-run-lintian -j1 -d unstable csh` will fail
> > > (which use bmake) and `sbuild --no-arch-all --no-run-lintian -d
> > > unstable csh` does not, since in the former case bmake will get
> > > `MAKEFLAGS='w -j1'`.

> 1. sbuild --no-arch-all --no-run-lintian -j1 -d unstable csh
> 2. sbuild --no-arch-all --no-run-lintian -d unstable csh

I see. This is, in fact, a different bug: bmake required MAKEFLAGS to start 
with a dash while GNU make accepts it anyway.

-- 
Cheers,
  Andrej



Bug#906330:

2021-04-01 Thread Yangfl
Andrej Shadura  于2021年4月1日周四 下午5:55写道:
>
> Control: tag -1 moreinfo
>
> Hi,
>
> On Thu, 1 Apr 2021, at 11:51, Yangfl wrote:
> > `sbuild --no-arch-all --no-run-lintian -j1 -d unstable csh` will fail
> > (which use bmake) and `sbuild --no-arch-all --no-run-lintian -d
> > unstable csh` does not, since in the former case bmake will get
> > `MAKEFLAGS='w -j1'`.
>
> Please provide more info (logs etc).
>
> Thanks!
>
> --
> Cheers,
>   Andrej

1. sbuild --no-arch-all --no-run-lintian -j1 -d unstable csh
2. sbuild --no-arch-all --no-run-lintian -d unstable csh


csh2.build
Description: Binary data


csh1.build
Description: Binary data


Bug#906330:

2021-04-01 Thread Andrej Shadura
Control: tag -1 moreinfo

Hi,

On Thu, 1 Apr 2021, at 11:51, Yangfl wrote:
> `sbuild --no-arch-all --no-run-lintian -j1 -d unstable csh` will fail
> (which use bmake) and `sbuild --no-arch-all --no-run-lintian -d
> unstable csh` does not, since in the former case bmake will get
> `MAKEFLAGS='w -j1'`.

Please provide more info (logs etc).

Thanks!

-- 
Cheers,
  Andrej



Bug#906330: bmake: debhelper plugin's exists_make_target() misbehaves when -j is in $MAKEFLAGS

2019-01-07 Thread Andrej Shadura
On Fri, 17 Aug 2018 10:05:31 + Damyan Ivanov  wrote:
> Package: bmake
> Version: 20160220-2+b1
> Severity: normal
> Tags: patch
> 
> Hi,
> 
> While rebuilding some packages that were using bmake, I stumbled on a couple 
> failures, which were only triggered when `-j X` was passed to sbuild. Even 
> `-j 
> 1` caused failure.
> 
> The failure looks like:
> 
>  dh_auto_test -O--buildsystem=bmake
>   bmake test VERBOSE=1
>   bmake[1]: bmake[1]: don't know how to make test. Stop
> 
>   bmake[1]: stopped in /<>
>   dh_auto_test: bmake test VERBOSE=1 returned exit code 2
> 
> This seems to be caused by an oddity in bmake, which changes its output when 
> `-j` is used:
> 
> An example is the udfclient package:
> 
> Compare:
> 
>  $ bmake -s -n test 2>/dev/null
> 
>  bmake: stopped in /home/dam/w/tmp/udfclient-0.8.8
>  $
> 
> with
> 
>  $ bmake -s -n -j 1 test 2>/dev/null
>  `test' was not built (made 3, flags 2049, type 200)!
>  $
> 
> The check in bmake.pm¹ uses the first line of STDOUT as an indicator whether 
> the given target exists and is fooled by the diagnostic output when -j is 
> used.
> 
>  ¹ https://sources.debian.org/src/bmake/20160220-2/debian/bmake.pm/#L32
> 
> Adding a call to clean_jobserver_flags() doesn't help, because that routine 
> only acts when a job server is used² (--jobserver-... present in $MAKEFLAGS)
> 
>  ² 
> https://sources.debian.org/src/debhelper/11.3.5/lib/Debian/Debhelper/Dh_Lib.pm/#L2166
> 
> My tests show that temporarily removing MAKEFLAGS from the environment in 
> bmake.pm/exists_make_target() works around the problem.
> 
> A proper fix may be to direct the diagnostic output of bmake to STDERR, or to 
> add an empty line before it to make it similar to the non-`-j` case, but I 
> guess that's an upstream decision to make.
> 
> 
> BTW, that bug report could have been accompanied by a merge request if the 
> packaging of bmake was available on salsa.debian.org :)

Thanks for your report. bmake is in fact at salsa:
https://salsa.debian.org/salsa/bmake

-- 
Cheers,
  Andrej



Bug#906330: bmake: debhelper plugin's exists_make_target() misbehaves when -j is in $MAKEFLAGS

2018-08-17 Thread Damyan Ivanov
Package: bmake
Version: 20160220-2+b1
Severity: normal
Tags: patch

Hi,

While rebuilding some packages that were using bmake, I stumbled on a couple 
failures, which were only triggered when `-j X` was passed to sbuild. Even `-j 
1` caused failure.

The failure looks like:

 dh_auto_test -O--buildsystem=bmake
  bmake test VERBOSE=1
  bmake[1]: bmake[1]: don't know how to make test. Stop

  bmake[1]: stopped in /<>
  dh_auto_test: bmake test VERBOSE=1 returned exit code 2

This seems to be caused by an oddity in bmake, which changes its output when 
`-j` is used:

An example is the udfclient package:

Compare:

 $ bmake -s -n test 2>/dev/null

 bmake: stopped in /home/dam/w/tmp/udfclient-0.8.8
 $

with

 $ bmake -s -n -j 1 test 2>/dev/null
 `test' was not built (made 3, flags 2049, type 200)!
 $

The check in bmake.pm¹ uses the first line of STDOUT as an indicator whether 
the given target exists and is fooled by the diagnostic output when -j is used.

 ¹ https://sources.debian.org/src/bmake/20160220-2/debian/bmake.pm/#L32

Adding a call to clean_jobserver_flags() doesn't help, because that routine 
only acts when a job server is used² (--jobserver-... present in $MAKEFLAGS)

 ² 
https://sources.debian.org/src/debhelper/11.3.5/lib/Debian/Debhelper/Dh_Lib.pm/#L2166

My tests show that temporarily removing MAKEFLAGS from the environment in 
bmake.pm/exists_make_target() works around the problem.

A proper fix may be to direct the diagnostic output of bmake to STDERR, or to 
add an empty line before it to make it similar to the non-`-j` case, but I 
guess that's an upstream decision to make.


BTW, that bug report could have been accompanied by a merge request if the 
packaging of bmake was available on salsa.debian.org :)


-- dam

-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'stable'), 
(500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.17.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=bg_BG.UTF-8, LC_CTYPE=bg_BG.UTF-8 (charmap=UTF-8), 
LANGUAGE=bg_BG.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages bmake depends on:
ii  libc6  2.27-5

bmake recommends no packages.

bmake suggests no packages.