Bug#1062262: pipewire-alsa: adversarial description

2024-01-31 Thread наб
Package: pipewire-alsa
Version: 1.0.1-2
Severity: normal

Dear Maintainer,

$ apt info pipewire-alsa
Package: pipewire-alsa
Version: 1.0.1-2
Priority: optional
Section: sound
Source: pipewire
Maintainer: Utopia Maintenance Team 

Installed-Size: 247 kB
Depends: pipewire (= 1.0.1-2), libasound2 (>= 1.1.7), libc6 (>= 2.17), 
libpipewire-0.3-0 (= 1.0.1-2)
Conflicts: pulseaudio
Breaks: pipewire-audio-client-libraries (<< 0.3.54-1~)
Replaces: pipewire-audio-client-libraries (<< 0.3.54-1~)
Homepage: https://pipewire.org/
Download-Size: 55.1 kB
APT-Manual-Installed: yes
APT-Sources: http://deb.debian.org/debian sid/main arm64 Packages
Description: PipeWire ALSA plugin
 PipeWire is a server and user space API to deal with multimedia
 pipelines. This includes:
 .
  - Making available sources of audio and video (such as from a capture devices
or application provided streams) and multiplexing this with clients.
  - Accessing sources of audio and video for consumption.
  - Generating graphs for audio and video processing.
 .
 This package contains the ALSA plugin.

This doesn't actually say what it is.

From the arch wiki I found out this is a
plugin /for ALSA/ (clients) to output to pipewire sinks.
That's not what I wanted.

Maybe the package
"contains a plugin for ALSA applications to output via PipeWire"?
Maybe the diest line should also be something similar to
"ALSA->PipeWire plugin".

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: arm64 (aarch64)

Kernel: Linux 6.6.11 (SMP w/4 CPU threads)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages pipewire-alsa depends on:
ii  libasound2 1.2.10-3
ii  libc6  2.37-13
ii  libpipewire-0.3-0  1.0.1-2
ii  pipewire   1.0.1-2

pipewire-alsa recommends no packages.

pipewire-alsa suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1043462: ltrace: breaks suid/sgid semantics in forked processes without -f (works with strace)

2023-08-11 Thread наб
Package: ltrace
Version: 0.7.3-6.15
Severity: normal

Dear Maintainer,

If program does a fork+exec of a sgid executable, then:
(a) ltrace -f program and strace -f program expectedly
don't let the child gain new provileges.
(b) strace program does, since it's not tracing the child
(c) ltrace program doesn't

This makes ltrace borderline useless for debugging stuff like
crontab(1).

Best,
наб

-- System Information:
Debian Release: 12.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ltrace depends on:
ii  libc62.36-9+deb12u1
ii  libelf1  0.188-2.1
ii  libselinux1  3.4-1+b6

ltrace recommends no packages.

ltrace suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1074776: coreutils: $'\t' and $'\123' escapes are real now

2024-07-02 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: minor

Dear Maintainer,

printf(1) says:
  escaping non-printable characters with the proposed POSIX $'' syntax.
this syntax is real as of Issue 8 (POSIX.1-2024).

ls is probably also affected by this since it outputs these.

Best,
наб

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#989239: dash: support $'…' style quotes

2024-07-03 Thread наб
Control: severity -1 normal
Control: found -1 0.5.12-2
Control: found -1 0.5.12-9

On Sun, May 30, 2021 at 02:41:43AM +0200, Christoph Anton Mitterer wrote:
> It would be nice if dash could support $'…' style strings as bash does.
It is mandatory dash supports $'-escapes, because they are part of
Issue 8 (POSIX.1-2024).

Consult your PDFs' XCU, 2 Shell Command Language, 2.2 Quoting,
2.2.4 Dollar-Single-Quotes.

Currently dash yields
  $ printf '%s\n' $'\123'
  $\123

But it must do
  $ printf '%s\n' $'\123'
  S

Best,


signature.asc
Description: PGP signature


Bug#1075768: coreutils: ls doesn't honour COLUMNS if writing to a teletype

2024-07-04 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

Quoth POSIX.1-2024:
103406  ENVIRONMENT VARIABLES
103407  The following environment variables shall affect the execution of ls:
103408  COLUMNS  Override the system-selected horizontal display line size, 
used to determine the
103409   column position width for writing multiple text-column output. 
See XBD Chapter
103410   8 (on page 167) for valid values and results when it is unset 
or null. The ls utility
103411   shall use this value to calculate how many pathname text 
columns to write (see
103412   −C). The column width chosen to write the names of files in 
any given directory
103413   shall be constant. Filenames shall not be truncated to fit 
into the multiple text-
103414   column output.

Quoth UNIX™ System V ‒ Release 2.0 User Reference Manual, DEC™ Processors 
(1984):
  There are three major listing formats.  The default format is to list one 
entry
  per line, the -C and -x options enable multi-column formats, and the -m
  option enables stream output format in which files are listed across the page,
  separated by commas.  In order to determine output formats for the -C, -x,
  and -m options, /s uses an environment variable, COLUMNS, to determine the
  number of character positions available on one output line.  If this variable 
is
  not set, the terminfo database is used to determine the number of columns,
  based on the environment variable TERM.  If this information cannot be
  obtained, 80 columns are assumed.

Compare:
  $ /bin/ls
  ababa.gif  boot.dump  dead.letter  dump1.stty   dump1.worms.c  dump2.stty 
  dump2.worms.c  equivs rustup-init setup.log  tarta.d  worms.c
  awk  bin   code   dump1.cmddump1.worms  dump2.cmd  
dump2.worms  dupa   reportbug.report~  rustup-init.sh  srcworms
  $ COLUMNS=80 /bin/ls
  ababa.gif  boot.dump  dead.letter  dump1.stty   dump1.worms.c  dump2.stty 
  dump2.worms.c  equivs rustup-init setup.log  tarta.d  worms.c
  awk  bin   code   dump1.cmddump1.worms  dump2.cmd  
dump2.worms  dupa   reportbug.report~  rustup-init.sh  srcworms

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1075777: RFS: archivemount/1-1 -- mounts an archive or compressed file for access as a filesystem

2024-07-04 Thread наб
Package: sponsorship-requests
Severity: normal

Dear mentors,

I am looking for a sponsor for my package "archivemount":

 * Package name : archivemount
   Version  : 1-1
   Upstream contact : https://lists.sr.ht/~nabijaczleweli/archivemount-ng
 * URL  : https://sr.ht/~nabijaczleweli/archivemount-ng
 * License  : 0BSD, LGPL-2+
 * Vcs  : https://git.sr.ht/~nabijaczleweli/archivemount.deb
   Section  : misc

The source builds the following binary packages:

  archivemount - mounts an archive or compressed file for access as a filesystem

To access further information about this package, please visit the following 
URL:

  https://mentors.debian.net/package/archivemount/

Alternatively, you can download the package with 'dget' using this command:

  dget -x 
https://mentors.debian.net/debian/pool/main/a/archivemount/archivemount_1-1.dsc

Changes since the last upload:

 archivemount (1-1) unstable; urgency=medium
 .
   * New upstream version 1 (+ changelog & NEWS)
 (Closes: #687710, #799563, #832823, #838597, #891749, #974679)
   * New debian/

archivemount is currently maintained by cnanakos@, who agreed to cede it to me.
See attached thread for proof.

The original author and maintainer died irl
(obit 2020-11-27: https://trauer.mt.de/traueranzeigen-suche/andr%C3%A9-landwehr)
and no-one decided to take up regency so far,
so I have decided to fill the power vacuum myself as the new maintainer.
This package is based on my updated upstream.
The old upstream and some other downstreams were also notified of this.

Regards,
-- 
  наб
--- Begin Message ---
Hi!

Currently, both upstream and downstream archivemount are in a sorry state.

Upstream seems to have ended with the death of the maintainer
(presumed around 2020). The TLS in the site in d/watch is broken
(cf. DDPO https://qa.debian.org/developer.php?login=cnanakos%40debian.org 
ERROR),
and there are no commits by him since around 2020. Issues accumulate.

In Debian, #799563 is a grave issue and has a patch from 2015 that
wasn't taken in, I see three "new version" bugs, and most without followups.
It appears you have little interest in this package, so I'd like to
thank you for keeping it in Debian so far and take it off your hands.
This is a package I use (well, will, once I fix it) for my day-to-day work.

For reference, please see my DDPO
  https://qa.debian.org/developer.php?login=nabijaczlew...@nabijaczleweli.xyz
where I've done this exact thing with urlview
(reassembled all known upstreams, all debian patches, some upstream patches
 and fixed all debian bugs, then restructured in-situ to fix more bugs
 and modernise/future-proof the code; the entire debian packaging was
 rederived from scratch).

Best,
наб


signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
Hi,
yes of course you can. 

Thank you very much for your contribution so far. 

Kind regards. 

> On 14 Jun 2024, at 21:47, наб  wrote:
> 
> Hi!
> 
> Currently, both upstream and downstream archivemount are in a sorry state.
> 
> Upstream seems to have ended with the death of the maintainer
> (presumed around 2020). The TLS in the site in d/watch is broken
> (cf. DDPO https://qa.debian.org/developer.php?login=cnanakos%40debian.org 
> ERROR),
> and there are no commits by him since around 2020. Issues accumulate.
> 
> In Debian, #799563 is a grave issue and has a patch from 2015 that
> wasn't taken in, I see three "new version" bugs, and most without followups.
> It appears you have little interest in this package, so I'd like to
> thank you for keeping it in Debian so far and take it off your hands.
> This is a package I use (well, will, once I fix it) for my day-to-day work.
> 
> For reference, please see my DDPO
>  https://qa.debian.org/developer.php?login=nabijaczlew...@nabijaczleweli.xyz
> where I've done this exact thing with urlview
> (reassembled all known upstreams, all debian patches, some upstream patches
> and fixed all debian bugs, then restructured in-situ to fix more bugs
> and modernise/future-proof the code; the entire debian packaging was
> rederived from scratch).
> 
> Best,
> наб
> 

--- End Message ---
--- Begin Message ---
On Fri, Jun 14, 2024 at 10:14:05PM +0300, Chrysostomos Nanakos wrote:
> yes of course you can. 
Thanks, FYI I uploaded archivemount 1-1
(based on the new archivemount-ng upstream)
to mentors.d.o
  https://mentors.debian.net/package/archivemount/

Best,


signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---

Thank you.

On 17/06/2024 04:48, наб wrote:

On Fri, Jun 14, 2024 at 10:14:05PM +0300, Chrysostomos Nanakos wrote:

yes of course you can.

Thanks, FYI I uploaded archivemount 1-1
(based on the new archivemount-ng upstream)
to mentors.d.o
  https://mentors.debian.net/package/archivemount/

Best,
--- End Message ---


signature.asc
Description: PGP signature


Bug#1075806: Patch: Bug#1075806: xclip: enters infinite read(4, ..., 4096) = -1 EISDIR error loop when given a directory

2024-07-05 Thread наб
Control: tags -1 + patch
Control: forwarded -1 https://github.com/astrand/xclip/pull/153

See attached patch, which fixes the way xclip uses stdio:
  $ ./xclip < .
  ./xclip: (stdin): Is a directory
  $ ./xclip  .
  ./xclip: .: Is a directory

Best,


signature.asc
Description: PGP signature


Bug#910556: Close file right away after reading

2024-07-05 Thread наб
Control: tags -1 + fixed-upstream

Fixed upstream on 2020-11-08:
  
https://github.com/astrand/xclip/commit/ccfd9a06a55e267fa680145fcc658f18aedf3941


signature.asc
Description: PGP signature


Bug#1075809: d/control: Build-Depends hard-requires xvfb, should be annotated

2024-07-05 Thread наб
Source: xclip
Version: 0.13-4
Severity: minor

Dear Maintainer,

$ grep -rC2 xvfb
debian/rules-override_dh_auto_test:
debian/rules-ifeq "$(filter nocheck,$(DEB_BUILD_OPTIONS))" ""
debian/rules:   xvfb-run -a ./xctest
debian/rules-endif
--
debian/changelog-  * Add get-orig-source rule
debian/changelog-  * Update DEP5 formatting for d/copyright
debian/changelog:  * Run tests inside xvfb
debian/changelog:- Build depends on xvfb, xauth and psmisc
debian/changelog-
debian/changelog- -- Alessandro Ghedini   Mon, 06 Feb 2012 
12:30:49 +0100
--
debian/control- psmisc,
debian/control- xauth,
debian/control: xvfb,
debian/control-Rules-Requires-Root: no
debian/control-Standards-Version: 4.6.2


$ dpkg-buildpackage -us -uc -sa -j25 -Pnocheck
dpkg-buildpackage: info: source package xclip
dpkg-buildpackage: info: source version 0.13-4.1
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by наб 

dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build .
dpkg-checkbuilddeps: error: Unmet build dependencies: xvfb
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)


Please s/xvfb/& / debian/control

Best,

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-- no debconf information


signature.asc
Description: PGP signature


Bug#1075806: Patch: Bug#1075806: xclip: enters infinite read(4, ..., 4096) = -1 EISDIR error loop when given a directory

2024-07-05 Thread наб
Didn't attach a patch. Good, because I found a bug. Attaching fixed.
Subject: proper stdio error handling

Correctly detect errors from stdio:
  $ ./xclip < .
  ./xclip: (stdin): Is a directory
  $ ./xclip .
  ./xclip: .: Is a directory
  $ xclip .
  ^C
also, by reordering the loop and the condition this way,
we only allocate more if we know there's more,
and only check for EOF if we encountered an EOF or error.

Bug-Debian: https://bugs.debian.org/1075806
Forwarded: https://github.com/astrand/xclip/pull/153
Last-Update: 2024-07-05

--- xclip-0.13.orig/xclip.c
+++ xclip-0.13/xclip.c
@@ -229,8 +229,9 @@ doIn(Window win, const char *progname)
}
else {
if ((fil_handle = fopen(fil_names[fil_current], "r")) == NULL) {
-   errperror(3, progname, ": ", fil_names[fil_current]
-   );
+   err:
+   errperror(3, progname, ": ",
+   fil_number ? fil_names[fil_current] : "(stdin)");
return EXIT_FAILURE;
}
else {
@@ -243,8 +244,17 @@ doIn(Window win, const char *progname)
}
}
 
-   fil_current++;
-   while (!feof(fil_handle)) {
+   for (;;) {
+   size_t rd = fread(sel_buf + sel_len, sizeof(char), sel_all - 
sel_len, fil_handle);
+   if (rd != sel_all - sel_len) {
+   if (feof(fil_handle)) {
+   sel_len += rd;
+   break;
+   }
+   goto err;
+   }
+   sel_len += rd;
+
/* If sel_buf is full (used elems =
 * allocated elems)
 */
@@ -256,9 +266,8 @@ doIn(Window win, const char *progname)
sel_buf = (unsigned char *) xcrealloc(sel_buf, sel_all * 
sizeof(char)
);
}
-   sel_len += fread(sel_buf + sel_len, sizeof(char), sel_all - 
sel_len, fil_handle);
}
-} while (fil_current < fil_number);
+} while (++fil_current < fil_number);
 
 /* remove the last newline character if necessary */
 if (frmnl && sel_len && sel_buf[sel_len - 1] == '\n') {


signature.asc
Description: PGP signature


Bug#1075918: coreutils: timeout: -pf missing

2024-07-07 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

POSIX.1-2024 specifies timeout, including -pf.

coreutils doesn't have either.

Some of the existing extensions sound similar to -p and -f,
so these should probably be aligned with -pf and made available thus.

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1075977: coreutils: tsort: missing -w, exits 1 for no apparent reason?

2024-07-08 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

  $ tsort -w
  tsort: invalid option -- 'w'
  Try 'tsort --help' for more information.
compare POSIX.1-2024
  118357  SYNOPSIS
  118358  tsort [-w] [file]

  $ tsort
  a b  b a
  A B  B A
  /bin/tsort: -: input contains a loop:
  /bin/tsort: A
  /bin/tsort: B
  A
  B
  /bin/tsort: -: input contains a loop:
  /bin/tsort: a
  /bin/tsort: b
  a
  b
  $ echo $?
  1
compare POSIX.1-2024
  118411  EXIT STATUS
  118412The following exit values shall be returned:
  1184130  Successful completion.
  118414>0 An error occurred. If the −w option is specified and one or more 
cycles were found in the
  118415   input, the exit status shall be the number of cycles found, or 
an implementation-defined
  118416   maximum if more cycles than that maximum were found.

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1076035: dash: missing positional conversions (printf %2$s), required by POSIX.1-2024

2024-07-09 Thread наб
Package: dash
Version: 0.5.12-2
Version: 0.5.12-9
Severity: normal

Dear Maintainer,

$ printf '%2$s %1$s' b a
dash: 1: printf: %2$: invalid directive

This syntax is mandated by POSIX.1-2024.

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dash depends on:
ii  debianutils  5.17
ii  libc62.38-13

dash recommends no packages.

dash suggests no packages.

-- debconf information excluded


signature.asc
Description: PGP signature


Bug#1076047: coreutils: timeout: doesn't properly intercept all deadly signals

2024-07-09 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

POSIX.1-2024, XCU, timeout, ASYNCHRONOUS EVENTS:
117587  If the signal specified with the −s option, or any signal whose default 
action is to terminate
117588  the process, is delivered to the timeout utility, then unless the 
signal is SIGKILL or
117589  SIGSTOP, the timeout utility shall immediately send the same signal to 
the process or
117590  processes to which it would send a signal when the time limit is 
reached. If the delivered
117591  signal is SIGALRM, timeout may behave as if the time limit had been 
reached instead of
117592  sending SIGALRM.

And yet:
  $ /bin/timeout -v 1 env -I SYS sleep 20 &
  [2] 2588815
  $ kill -SYS $!
  $
  [2]-  Bad system call /bin/timeout -v 1 env -I SYS sleep 20

A correct session looks like:
  $ timeout 1 env -I SYS sleep 20 &
  [2] 2588094
  $ kill -SYS $!
  timeout: env (group): sending SIGSYS
  $ timeout: env (group): sending SIGTERM
  [2]-  Exit 124out/cmd/timeout 1 env -I SYS sleep 20
  $

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1076054: coreutils: readlink: doesn't produce a diagnostic when given a non-symlink, must per POSIX

2024-07-09 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

POSIX.1-2024, XCU, readlink, DESCRIPTION:
113034  If file does not name a symbolic link, readlink shall write a 
diagnostic message to standard error
113035  and exit with non-zero status.

me, 45 seconds ago, sid:
$ readlink .
$ echo $?
1

Half-right, I s'pose.

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1076071: coreutils: realpath: POSIX wants a -E flag to reverse default behaviour

2024-07-10 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

POSIX.1-2024:
113096  SYNOPSIS
113097realpath [-E|-e] file

113170  APPLICATION USAGE
113171If neither the −e nor the −E option is specified, some 
implementations behave as if −e had been
113172specified and others as if −E had been specified, but there are also 
implementations where the
113173behavior differs from both of these. For example, the mksh shell has 
an internal implementation

I will spare you the standardese for -e and -E,
but -e is as you have it, and -E is your default behaviour.

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1075777: RFS: archivemount/1-1 -- mounts an archive or compressed file for access as a filesystem

2024-07-14 Thread наб
Control: tags -1 - moreinfo

On Sun, Jul 14, 2024 at 07:28:55PM +0100, Phil Wyett wrote:
> A. Please update 'Standards-Version' in 'debian/control' to 4.7.0 as per
> Debian policy[5].
lintian newer-standards-versions this on sid
  https://builds.sr.ht/~nabijaczleweli/job/1275803#task-lintian
but yes.

Updated and uploaded to mentors.d.o,
which /also/ flags this as as newer-standards-version.

Best,


signature.asc
Description: PGP signature


Bug#1076383: coreutils: --backup=existing isn't if the existing backup is numbered 0

2024-07-15 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

$ > f
$ > g.~0~
$ ln -v --backup=existing f g
'g' => 'f'
$ ln -v --backup=existing f g
'g~' ~ 'g' => 'f'

$ > g.~1~
$ ln -v --backup=existing f g
'g.~2~' ~ 'g' => 'f'

Quoth ln(1)
   existing, nil
  numbered if numbered backups exist, simple otherwise
so this is obviously wrong.

I tried to consult /usr/share/info/coreutils.info.gz
but that also doesn't describe the backup scheme.
Well, except calling it similar to Emacs, which is hardly relevant.

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1076608: gv: password-protected PDF errors instead of prompting

2024-07-19 Thread наб
Package: gv
Version: 1:3.7.4-2+b1
Severity: wishlist

Dear Maintainer,

Opening a passphrase-protected PDF yields:

stdout
    Error: Couldn't initialise file.
   Output may be incorrect.
and a Ghostscript Messages window containing
  GPL Ghostscript 10.000.0:
  This file requires a password for access.
  Error: Couldn't initialise file.
 Output may be incorrect.
 No pages will be processed (FiestPage > LastPage).

I think gv should prompt for a passphrase in this case.

Best,

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages gv depends on:
ii  ghostscript-x  10.0.0~dfsg-11+deb12u3
ii  libc6  2.36-9+deb12u4
ii  libx11-6   2:1.8.4-2+deb12u2
ii  libxinerama1   2:1.1.4-3
ii  libxmu62:1.1.3-3
ii  libxt6 1:1.2.1-1.1
ii  xaw3dg 1.5+F-1.1

gv recommends no packages.

gv suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1076813: libnorm-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/norm.pc: specs "Libs.private: libprotokit.a", must be "-lprotokit" to work

2024-07-23 Thread наб
Package: libnorm-dev
Version: 1.5.9+dfsg-3.1
Severity: normal

Dear Maintainer,

/usr/lib/x86_64-linux-gnu/pkgconfig/norm.pc says
  prefix=/usr
  exec_prefix=${prefix}
  libdir=${prefix}/lib/x86_64-linux-gnu
  includedir=${prefix}/include
  
  Name: norm
  Version: 1.5.8
  Description: NACK-Oriented Reliable Multicast (NORM) library
  Libs: -L${libdir} -lnorm
  Libs.private: libprotokit.a
  Requires.private:   libxml-2.0
  Cflags: -I${includedir}
and thus
  $ pkg-config --libs --static libzmq
  -lzmq -lstdc++ -lrt -L/usr/lib/x86_64-linux-gnu/mit-krb5 -lgssapi_krb5 
-L/usr/lib/x86_64-linux-gnu/mit-krb5 -lkrb5 -lk5crypto -lcom_err -lkrb5support 
-lsodium -pthread -lpgm -lpthread -lm -lnorm libprotokit.a -lxml2 -licui18n 
-licuuc -licudata -lz -llzma -lm -lbsd -lmd

Which naturally doesn't work because ./libprotokit.a doesn't exist.
But /usr/lib/x86_64-linux-gnu/libprotokit.a does.

Whatever generates this should be corrected to spec
  Libs.private: -lprotokit
and applying that locally works.

Best,

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libnorm-dev depends on:
ii  libnorm1 1.5.9+dfsg-2
ii  libxml2-dev  2.9.14+dfsg-1.3~deb12u1

libnorm-dev recommends no packages.

Versions of packages libnorm-dev suggests:
pn  libnorm-doc  


signature.asc
Description: PGP signature


Bug#1078088: cool-retro-term: creates fonts which are Architecture: amd64 &c. instead of Architecture: all

2024-08-06 Thread наб
Source: cool-retro-term
Version: 1.2.0+ds2
Severity: normal
Tags: patch

Dear Maintainer,

Having done
  $ apt list fonts-* | cut -d/ -f1  | tail -n+2 | xargs apt download
I now see
  $ l | grep -v _all
  total 1.3G
  -rw-r--r-- 1 nabijaczleweli users   37.1k 2022-11-14  
fonts-hermit_1.2.0+ds2-1+b1_amd64.deb
  -rw-r--r-- 1 nabijaczleweli users   10.4k 2022-11-14  
fonts-proggy_1.2.0+ds2-1+b1_amd64.deb
  -rw-r--r-- 1 nabijaczleweli users 79k 2022-11-14  
fonts-terminus_1.2.0+ds2-1+b1_amd64.deb

These all appear to come from src:cool-retro-term, whose d/control says
  Package: fonts-hermit
  Architecture: any
  Multi-Arch: foreign
  Section: fonts
  Depends: ${misc:Depends}
  Description: Monospace Hermit Font for programming
   This is a monospace font designed to be clear, pragmatic and very readable.
   Its creation has been focused on programming. Every glyph was carefully
   planned and calculated, according to defined principles and rules. For this
   reason, Hermit is coherent and regular.
  
  Package: fonts-terminus
  Architecture: any
  Multi-Arch: foreign
  Section: fonts
  Depends: ${misc:Depends}
  Description: Terminus monospace font
   This is a fixed-width vector font called Terminus. It is suitable for
   terminals, editors, etc. If you have to work for extended time in front of
   monitor (i.e. over eight hours), you may find that using this font reduces
   your eyes-fatigue.
  
  Package: fonts-proggy
  Architecture: any
  Multi-Arch: foreign
  Section: fonts
  Depends: ${misc:Depends}
  Description: Monospaced bitmap programming font
   These are a set of fixed-width screen fonts that are designed for code
   listings. This is only the tiny version of the font collection.

These should just be Architecture: all, like every other font in the
distribution; there shouldn't be a different identical fonts-hermit
(&c.) for every debian architecture.

I'm attaching a patch based on the current Salsa HEAD
(944b0b37bc5a3f4e2cec4f58663ae98bce3275e5) that changes this to arch=all,
and builds and updates correctly.

Best,

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
From 51d0cb792692d51f7059096dd2d9203632b8f335 Mon Sep 17 00:00:00 2001
From: наб 
Date: Tue, 6 Aug 2024 21:11:05 +0200
Subject: [PATCH] d/control: fonts-* packages should be Architecture: all
 instead of any

---
 debian/control | 9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/debian/control b/debian/control
index c6be944..78a1adb 100644
--- a/debian/control
+++ b/debian/control
@@ -31,8 +31,7 @@ Description: terminal emulator which mimics old screens
  customizable, and reasonably lightweight.
 
 Package: fonts-hermit
-Architecture: any
-Multi-Arch: foreign
+Architecture: all
 Section: fonts
 Depends: ${misc:Depends}
 Description: Monospace Hermit Font for programming
@@ -42,8 +41,7 @@ Description: Monospace Hermit Font for programming
  reason, Hermit is coherent and regular.
 
 Package: fonts-terminus
-Architecture: any
-Multi-Arch: foreign
+Architecture: all
 Section: fonts
 Depends: ${misc:Depends}
 Description: Terminus monospace font
@@ -53,8 +51,7 @@ Description: Terminus monospace font
  your eyes-fatigue.
 
 Package: fonts-proggy
-Architecture: any
-Multi-Arch: foreign
+Architecture: all
 Section: fonts
 Depends: ${misc:Depends}
 Description: Monospaced bitmap programming font
-- 
2.45.2



signature.asc
Description: PGP signature


Bug#1078107: bash: time (...; exec ...) doesn't output the time

2024-08-06 Thread наб
Package: bash
Version: 5.2.15-2+b2
Version: 5.2.21-2
Severity: normal

Dear Maintainer,

time (cd statedir; exec ../accrue > fonts.json) didn't output anything.

I gamed it down to just "time (exec echo)",
the subshell and echo obviously run, but the time prefix never does anything.

This is a regression from ksh, which correctly times the subshell.

Best,

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages bash depends on:
ii  base-files   12.4+deb12u4
ii  debianutils  5.7-0.5~deb12u1
ii  libc62.36-9+deb12u4
ii  libtinfo66.4+20231121-1

Versions of packages bash recommends:
ii  bash-completion  1:2.11-6

Versions of packages bash suggests:
pn  bash-doc  

-- Configuration Files:
/etc/bash.bashrc changed [not included]
/etc/skel/.bashrc changed [not included]

-- no debconf information


signature.asc
Description: PGP signature


Bug#1056344: libefivar1: sleeps for 10ms twice for every variable read

2023-11-21 Thread наб
= 1000
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\7\0\0\0", 4)  = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\5\0\4\0\1\0\2\0\3\0", 4096)   = 10
read(4, "", 4086)   = 0
close(4)= 0
geteuid()   = 1000
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Boot0003-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\7\0\0\0", 4)  = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\1\0\0\0\r\0U\0E\0F\0I\0:\0N\0e\0t\0w\0o\0r\0k\0 \0"..., 4096) = 59
read(4, "", 4037)   = 0
close(4)= 0
geteuid()   = 1000
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Boot0002-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\7\0\0\0", 4)  = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\1\0\0\0\r\0U\0E\0F\0I\0:\0R\0e\0m\0o\0v\0a\0b\0l\0"..., 4096) = 63
read(4, "", 4033)   = 0
close(4)= 0
geteuid()   = 1000
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Boot0001-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\7\0\0\0", 4)  = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\1\0\0\0\r\0U\0E\0F\0I\0:\0C\0D\0/\0D\0V\0D\0 \0D\0"..., 4096) = 55
read(4, "", 4041)   = 0
close(4)= 0
geteuid()   = 1000
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Boot0005-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\7\0\0\0", 4)  = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\7\0\0\0\314\0D\0e\0b\0i\0a\0n\0 \0G\0N\0U\0/\0L\0i\0"..., 4096) = 686
read(4, "", 3410)   = 0
close(4)= 0
geteuid()   = 1000
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Boot0004-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\7\0\0\0", 4)  = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\7\0\0\0\314\0D\0e\0b\0i\0a\0n\0 \0G\0N\0U\0/\0L\0i\0"..., 4096) = 686
read(4, "", 3410)   = 0
close(4)= 0
geteuid()   = 1000
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/731b69f0dac147efadfed92f12712736-a8a9ad3a-f831-11ea-946d-674ccd7415cc",
 O_RDONLY) = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, "\7\0\0\0", 4)  = 4
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000}, NULL) = 0
read(4, 
"\0\0break\0\0\0\4\374\264\240\3027\231\v\264V8t\371\245\214\200\203\237\205f\3076"...,
 4096) = 363
read(4, "", 3733)   = 0
close(4)= 0
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 4
-- >8 --
which is 14 10ms sleeps, which by itself accounts for 36% of the run-time.

For the case of efibootmgr above, that's 16 of them(!)
and they account for 82% of the run-time!

There is no need for this in the general case (clearly, since it's a
filesystem you can read correctly with cat), and I scarcely believe
there are specific cases that do need it. Please remove this.

Best,
наб

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

Kernel: Linux 6.1.0-9-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libefivar1 depends on:
ii  libc6  2.37-12

libefivar1 recommends no packages.

libefivar1 suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1056344: libefivar1: sleeps for 10ms twice for every variable read

2023-11-21 Thread наб
Control: tags -1 + upstream patch

A sequence of two simple patches fixes this, making the reads instant:
-- >8 --
$ time efibootmgr
BootCurrent: 0006
Timeout: 1 seconds
BootOrder: 0006,0005,0002,0003,0004
Boot0002* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0003* UEFI:Removable Device BBS(130,,0x0)
Boot0004* UEFI:Network Device   BBS(131,,0x0)
Boot0005* Debian GNU/Linux trixie/sid with Linux 6.4.0-1-amd64
HD(1,GPT,2823eeb4-962f-cb4d-86ea-c0a4e460bc9c,0x800,0xfa000)/File(\KLAPKI\A2B398A10F5F4AF99258999E14093599\6.4.0-1-AMD64\VMLINUZ-6.4.0-1-AMD64)69006e0069007400720064003d005c006b006c00610070006b0069005c00610032006200330039003800610031003000660035006600340061006600390039003200350038003900390039006500310034003000390033003500390039005c0036002e0034002e0030002d0031002d0061006d006400360034005c0069006e0069007400720064002e0069006d0067002d0036002e0034002e0030002d0031002d0061006d00640036003400200072006f006f0074003d007a00660073003a004100550054004f00200072006500730075006d0065003d0050004100520054004c004100420045004c003d0072006f007a006200690061006e002d007300770061007000200071007500690065007400200069006f006d006d0075003d006f006e00
Boot0006* Debian GNU/Linux trixie/sid with Linux 6.4.0-1-amd64
HD(1,GPT,2823eeb4-962f-cb4d-86ea-c0a4e460bc9c,0x800,0xfa000)/File(\KLAPKI\A2B398A10F5F4AF99258999E14093599\6.4.0-1-AMD64\VMLINUZ-6.4.0-1-AMD64)69006e0069007400720064003d005c006b006c00610070006b0069005c00610032006200330039003800610031003000660035006600340061006600390039003200350038003900390039006500310034003000390033003500390039005c0036002e0034002e0030002d0031002d0061006d006400360034005c0069006e0069007400720064002e0069006d0067002d0036002e0034002e0030002d0031002d0061006d00640036003400200072006f006f0074003d007a00660073003a004100550054004f00200072006500730075006d0065003d0050004100520054004c004100420045004c003d0072006f007a006200690061006e002d007300770061007000200071007500690065007400200069006f006d006d0075003d006f006e00

real0m0.002s
user0m0.001s
sys 0m0.000s
-- >8 --
(some would say this is a .168/.002=84x speed improvement).

And bumps the actual max read rate by 50%:
-- >8 --
fcntl(4, F_SETFD, FD_CLOEXEC)   = 0
getdents64(4, 0x55cd1adb8420 /* 104 entries */, 32768) = 7568
getdents64(4, 0x55cd1adb8420 /* 0 entries */, 32768) = 0
close(4)= 0
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Boot0002-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
read(4, "\7\0\0\0\1\0\0\0\r\0U\0E\0F\0I\0:\0C\0D\0/\0D\0V\0D\0"..., 4096) = 59
read(4, "", 4037)   = 0
close(4)= 0
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Boot0003-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
read(4, "\7\0\0\0\1\0\0\0\r\0U\0E\0F\0I\0:\0R\0e\0m\0o\0v\0a\0"..., 4096) = 67
read(4, "", 4029)   = 0
close(4)= 0
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Boot0004-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
read(4, "\7\0\0\0\1\0\0\0\r\0U\0E\0F\0I\0:\0N\0e\0t\0w\0o\0r\0"..., 4096) = 63
read(4, "", 4033)   = 0
close(4)= 0
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Boot0005-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
read(4, "\7\0\0\0\7\0\0\0\314\0D\0e\0b\0i\0a\0n\0 \0G\0N\0U\0/\0"..., 4096) = 
610
read(4, "", 3486)   = 0
close(4)= 0
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Boot0006-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
read(4, "\7\0\0\0\7\0\0\0\314\0D\0e\0b\0i\0a\0n\0 \0G\0N\0U\0/\0"..., 4096) = 
610
read(4, "", 3486)   = 0
close(4)= 0
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/BootNext-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
read(4, "\6\0\0\0\6\0", 4096)   = 6
read(4, "", 4090)   = 0
close(4)= 0
newfstatat(1, "", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x2), ...}, 
AT_EMPTY_PATH) = 0
write(1, "BootCurrent: 0006\n", 18BootCurrent: 0006
) = 18
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/Timeout-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
read(4, "\7\0\0\0\1\0", 4096)   = 6
read(4, "", 4090)   = 0
close(4)= 0
write(1, "Timeout: 1 seconds\n", 19Timeout: 1 seconds
)= 19
openat(AT_FDCWD, 
"/sys/firmware/efi/efivars/BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c", 
O_RDONLY) = 4
read(4, "\7\0\0\0\6\0\5\0\2\0\3\0\4\0", 4096) = 14
read(4, "", 4082)   = 0
close(4)= 0
-- >8 --

Patches attached, tested against 38-2.
From 3e2a0142e4b19e45f455542994b2b0d6d3f86886 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= 
Date: Tue, 21 Nov 2023 14:44:53 +0100
Subject: [PATCH 1/2] Remo

Bug#1055889: RFS: urlview/1b-1 [ITA] -- Extracts URLs from text

2023-11-26 Thread наб
Hi!

On Sun, Nov 26, 2023 at 06:10:05PM +0100, Tobias Frost wrote:
> - d/copyright misses a few files/has inaccuracies, e.g enter.h
>   please review & update.
Indeed, fixed in
  
https://git.sr.ht/~nabijaczleweli/urlview.deb/commit/e975623d2973b8555065eae89424c2c15aa8858b
thanks.

Uploaded a fixed 1b-1 to mentors.d.n.

Best,
наб


signature.asc
Description: PGP signature


Bug#906725: urlview: please lower sensible-utils dependency to Recommends, as just needed in the default config

2023-12-03 Thread наб
Control: tags -1 + fixed-upstream

On Mon, Aug 20, 2018 at 10:23:59AM +0200, Vincent Lefevre wrote:
> Package: urlview
> 
> The dependency on sensible-utils is too strong, as sensible-browser is
> just used by /etc/urlview/url_handler.sh, which is a config file; the
> handler can also be changed in /etc/urlview/system.urlview (COMMAND).
Agree with your assessment
(plus, even in the default config,
 sensible-browser is part of a fallback group).

> Thus is should just be a Recommends.
Applied in
  
https://git.sr.ht/~nabijaczleweli/urlview.deb/commit/ab7c83ebf2a4f023866b689278c565f620d9e7bb

Best,
наб


signature.asc
Description: PGP signature


Bug#1043334: urlview is insecure: URL visible to everyone with commands like ps

2023-12-03 Thread наб
Control: tags -1 + fixed-upstream

On Wed, Aug 09, 2023 at 11:18:31AM +0200, Vincent Lefevre wrote:
> Package: urlview
> 
> So it should provide a way to pass the URL via a pipe. For instance,
> this can be useful with xclip (the user can then paste the URL to the
> web browser).
Agree, this would be quite useful in general.

> Moreover, when the URL is to be passed as an arguemnt, a warning
> should be displayed by default about this issue.
Disagree an additional warning is needed, urlview already writes
"Executing: www-browser 'URL'...", so this is blatantly obvious.
But, sure, this can warrant a note in the manual.

https://git.sr.ht/~nabijaczleweli/urlview-ng/commit/88a54e2ca0e86cce1fc62e264a822a5cb7d528ae
adds a VIA config option;
what you describe can be done by setting
"VIA pipe" and "COMMAND xclip"
   (or "COMMAND xclip -selection clipboard", or whatever).

Best,
наб


signature.asc
Description: PGP signature


Bug#1057411: urlview: bad display

2023-12-04 Thread наб
Control: tags -1 + confirmed upstream fixed-upstream

On Mon, Dec 04, 2023 at 03:19:00PM +0100, Vincent Lefevre wrote:
> Package: urlview
> Version: 1b-1
> 
> With the new urlview version, when I invoke it from Mutt, I get
> something like for the first line:
> 
> 3 URLs   urlview-ng 1bAppuyez sur q ou ^C pour 
> quitter !
> 
> in French, or
> 
> 3 URLs   urlview-ng 1b-1  Press q or ^C to 
> quit!
> 
> in English. This is poorly aligned, specially with the French message,
> which overwrites the version number.
These are aligned to left/right margins and center-of-screen,
which looks fine with my usual size of teletype,
but I agree it do be pretty goofy at 80.

I s'pose they could instead be aligned to left/right margins and
center-of-remaining, which'd fix this:
-- >8 --
17 URLsurlview-ng 1b-1Appuyez sur q ou ^C pour quitter !
->1 http://www.cs.hmc.edu/~me
  2 http://www.cs.hmc.edu
  3 https://www.cs.hmc.edu
-- >8 --
and
-- >8 --
17 URLs  urlview-ng 1b-1  Press q or ^C to quit!
->1 http://www.cs.hmc.edu/~me
  2 http://www.cs.hmc.edu
  3 https://www.cs.hmc.edu
-- >8 --
is much more reasonable.

Having modeled that, it was quite easy to implement,
and the results match the model above, incl.
-- >8 --
17 URLi urlview-ng 1b-1Wyjście: q lub ^C
->1 http://www.cs.hmc.edu/~me
  2 http://www.cs.hmc.edu
  3 https://www.cs.hmc.edu
-- >8 --

This is what
  
https://git.sr.ht/~nabijaczleweli/urlview-ng/commit/af9bf97584c015c9417428aa4eca5c64486ff816
does.

Best,
наб


signature.asc
Description: PGP signature


Bug#1035358: urlview does not work with URLs containing parentheses

2023-12-04 Thread наб
On Mon, May 01, 2023 at 09:45:46PM +0200, Francesco Ariis wrote:
> A workaround is to `cp /etc/urlview/system.urlview ~/.urlview` and
> then replace REGEXP with
> REGEXP (((http|https|ftp|gopher)|mailto):(//)?[^ 
> <>"\t]*|(www|ftp)[0-9]?\.[-a-z0-9.]+)[^ .,;\t\n\r<">\):]?[^, <>"\t]*[^ 
> .,;\t\n\r<">:]
> (i.e. erasing that last “\)”).
This is quite detrimental to the very common case of a URL that's
entirely parenthesised, or one that ends a parenthetical; compare:
  $ tail -n3 text
  Debian#1035358: https://en.wikipedia.org/wiki/Close_Combat_(series)
  vs (https://en.wikipedia.org/wiki/Debian)
  vs  
https://en.wikipedia.org/wiki/(You_Gotta)_Fight_for_Your_Right_(To_Party!)
  $ grep -Eio '((http|https|ftp|gopher|gemini|mailto):(//)?[^ 
<>"]*|(www|ftp)[0-9]?\.[-a-z0-9.]+)[^ .,;<">\):]?[^, <>"]*[^ .,;<">:\)]' text | 
tail -n3
  https://en.wikipedia.org/wiki/Close_Combat_(series
  https://en.wikipedia.org/wiki/Debian
  https://en.wikipedia.org/wiki/(You_Gotta)_Fight_for_Your_Right_(To_Party!
  $ grep -Eio '((http|https|ftp|gopher|gemini|mailto):(//)?[^ 
<>"]*|(www|ftp)[0-9]?\.[-a-z0-9.]+)[^ .,;<">\):]?[^, <>"]*[^ .,;<">:]' text | 
tail -n3
  https://en.wikipedia.org/wiki/Close_Combat_(series)
  https://en.wikipedia.org/wiki/Debian)
  https://en.wikipedia.org/wiki/(You_Gotta)_Fight_for_Your_Right_(To_Party!)
so this trivial solution fixes an IME rare case of an URL ending with a ')'
by breaking the much more common one.

It is quite likely something /can/ be cooked here,
I haven't managed to in a good few minutes of fiddling.

Attaching my test driver.

Best,
наб
static auto regex =
// R"DUPA(((http|https|ftp|gopher|gemini|mailto):(//)?[^ 
<>"]*|(www|ftp)[0-9]?\.[-a-z0-9.]+)[^ .,;<">\):]?(([^, <>"]*)|(\([^, 
<>"]*\)))*[^ .,;<">:\)])DUPA";
R"DUPA(((http|https|ftp|gopher|gemini|mailto):(//)?[^ 
<>"]*|(www|ftp)[0-9]?\.[-a-z0-9.]+)[^ .,;<">\):]?[^, <>"]*[^ .,;<">:\)])DUPA";

#include 
#include 
#include 
#include 


int main() {
regex_t rgx;
if(regcomp(&rgx, regex, REG_EXTENDED | REG_ICASE))
abort();

for(auto l : {"Debian#1035358: 
https://en.wikipedia.org/wiki/Close_Combat_(series)",  //
  "vs (https://en.wikipedia.org/wiki/Debian)",  
  //
  "vs  
https://en.wikipedia.org/wiki/(You_Gotta)_Fight_for_Your_Right_(To_Party!)"}) {
regmatch_t matches[20];
if(regexec(&rgx, l, 20, matches, 0))
abort();

puts(l);
for(size_t i = 0; i <= rgx.re_nsub; ++i)
std::printf("%zu: \"%.*s\"\n", i, 
(int)(matches[i].rm_eo - matches[i].rm_so), l + matches[i].rm_so);
puts("");
}
}


signature.asc
Description: PGP signature


Bug#1072487: xpra: /usr/lib/python3/dist-packages/xpra/scripts/main.py:2758 and /usr/lib/python3/dist-packages/OpenGL/GL/AMD/vertex_shader_tessellator.py:1: SyntaxWarning: invalid escape sequence '\.'

2024-06-02 Thread наб
Package: xpra
Version: 3.1.5+dfsg1-0.2+b4
Severity: normal

Dear Maintainer,

From my dist-upgrade log:
:- >8 --
Setting up libclang-common-16-dev (1:16.0.6-27) ...
Setting up xpra (3.1.5+dfsg1-0.2+b4) ...
/usr/lib/python3/dist-packages/xpra/scripts/main.py:2758: SyntaxWarning: 
invalid escape sequence '\.'
  alphanum = lambda key: [convert(c) for c in 
re.split('([-+]?[0-9]*\.?[0-9]*)', key)]
Setting up quilt (0.68-1) ...
Setting up libxenstore4t64:amd64 (4.17.3+36-g54dacb5c02-1) ...
Setting up libclang1-16t64 (1:16.0.6-27) ...
Setting up python3-opengl (3.1.7+dfsg-1) ...
/usr/lib/python3/dist-packages/OpenGL/GL/AMD/vertex_shader_tessellator.py:1: 
SyntaxWarning: invalid escape sequence '\ '
  '''OpenGL extension AMD.vertex_shader_tessellator
Setting up libgwenhywfar79t64:amd64 (5.11.2beta-1) ...
Setting up libxencall1t64:amd64 (4.17.3+36-g54dacb5c02-1) ...
-- >8 --

And indeed
-- >8 --
   2756 def sort_human(l):
   2757 convert = lambda text: float(text) if text.isdigit() else text
   2758 alphanum = lambda key: [convert(c) for c in 
re.split('([-+]?[0-9]*\.?[0-9]   2758 *)', key)]
   2759 l.sort(key=alphanum)
   2760 return l
/usr/lib/python3/dist-packages/xpra/scripts/main.py lines 2739-2760/2925 byte 
116982/123106 95%  (press RETURN)
-- >8 --
and
-- >8 --
 26 i o
 27   |\
 28   | \
 29   *--*
 30   |\ |\
 31   | \| \
 32   *--*--*
 33   |\ |\ |\
 34   | \| \| \
 35 j o--*--*--o k
/usr/lib/python3/dist-packages/OpenGL/GL/AMD/vertex_shader_tessellator.py lines 
12-35/85 byte 1032/2624 39%  (press RETURN)
-- >8 --

Best,
наб

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

Kernel: Linux 6.5.0-5-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages xpra depends on:
ii  adduser   3.137
ii  gir1.2-gtk-3.03.24.42-1
ii  init-system-helpers   1.66
ii  libavcodec60  7:6.1.1-4+b2
ii  libavformat60 7:6.1.1-4+b2
ii  libavutil58   7:6.1.1-4+b2
ii  libc6 2.38-12
ii  libcairo2 1.18.0-3+b1
ii  libglib2.0-0t64   2.80.2-2
ii  libgtk-3-0t64 3.24.42-1
ii  libpam0g  1.5.3-7
ii  libswscale7   7:6.1.1-4+b2
ii  libsystemd0   256~rc3-7
ii  libturbojpeg0 1:2.1.5-3
ii  libvpx9   1.14.0-2
ii  libwebp7  1.4.0-0.1
ii  libx11-6  2:1.8.7-1+b1
ii  libx264-164   2:0.164.3108+git31e19f9-1
ii  libx265-199   3.5-2+b1
ii  libxcomposite11:0.4.5-1+b1
ii  libxdamage1   1:1.1.6-1+b1
ii  libxext6  2:1.3.4-1+b1
ii  libxfixes31:6.0.0-2+b1
ii  libxi62:1.8.1-1
ii  libxkbfile1   1:1.1.0-1+b1
ii  libxrandr22:1.5.4-1
ii  libxtst6  2:1.2.3-1.1+b1
ii  python3   3.11.8-1
ii  python3-cairo 1.26.0-1
ii  python3-gi3.48.2-1
ii  python3-rencode   1.0.6-2+b5
ii  x11-xserver-utils 7.7+10+b1
ii  xserver-xorg-video-dummy  1:0.4.0-1
ii  xvfb  2:21.1.12-1

Versions of packages xpra recommends:
ii  keyboard-configuration  1.227
ii  openssh-client  1:9.7p1-5
ii  python3-brotli  1.1.0-2+b3
ii  python3-cpuinfo 9.0.0+git20221119-1
ii  python3-cryptography42.0.5-2
ii  python3-dbus1.3.2-5+b2
ii  python3-dns 4.0.1-1
ii  python3-gssapi  1.8.3-1
ii  python3-kerberos1.1.14-3.1+b8
ii  python3-lz4 4.0.2+dfsg-1+b3
ii  python3-lzo 1.15-1
ii  python3-numpy   1:1.26.4+ds-10
ii  python3-opengl  3.1.7+dfsg-1
ii  python3-paramiko3.4.0-1
ii  python3-pil 10.3.0-2
ii  python3-pyinotify   0.9.6-2
ii  python3-setproctitle1.3.3-1+b2
ii  python3-uritools4.0.1-1
ii  python3-xdg 0.28-2
ii  python3-zeroconf0.132.2-2
ii  ssh-askpass 1:1.2.4.1-16+b1

Versions of packages xpra suggests:
ii  cups-client 2.4.7-1.2+b1
ii  cups-common 2.4.7-1.2
ii  cups-filters1.28.17-4
ii  gstreamer1.0-plugins-base   1.24.4-1
ii  gstreamer1.0-plugins-good   1.24.4-1
ii  openssh-server  1:9.7p1-5
ii  printer-driver-cups-pdf [cups-pdf]  3.0.1-15
pn  pulseaudio

Bug#1072489: apt: what does this recommendation mean? (curl | lynx .. fonts-lato \n | wget)

2024-06-02 Thread наб
Package: apt
Version: 2.9.4
Severity: normal

Dear Maintainer,

apt build-dep just asked me this in a sid chroot:
-- >8 --
Suggested packages:
  autoconf-archive  cargo-doc  gettext-doc   libssl-doc   | 
fortran95-compiler  apparmor libmail-box-perl  libjs-mathjax
  gnu-standards python3libasprintf-dev   libtool-doc  gcj-jdk   
less riruby-kramdown-parser-gfm
  autoconf-doc  dh-makelibgettextpo-dev  gfortran m4-doc
www-browser  ruby-dev  bundler

Recommended packages:
  curl| lynx   imagemagick  netpbm   libarchive-cpio-perl  
libldap-common  publicsuffix  libltdl-devzip fonts-lato
  | wget  ghostscript  libpaper1psutils  javascript-common libgpm2  
   libsasl2-modules  libmail-sendmail-perl  ruby-rouge  rust-llvm

Summary:
  Upgrading: 0, Installing: 88, Removing: 0, Not Upgrading: 0
  Download size: 153 MB
  Space needed: 625 MB / 50.7 GB available
-- >8 --
what does it mean?

I'm assuming the suggestion is "libssl-doc | fortran95-compiler" (odd but 
maybe).

But what's the recommendations?
"curl | lynx", "fonts-lato | wget"?
I think something like "curl | lynx | wget" makes the most sense,
but in that case why is "fonts-lato" textually before "| wget"?
If the alternatives are vertical too, then how does ghostscript factor
into them? 

The build-deps are 
  Build-Depends: debhelper, debhelper-compat (= 12), bash-completion, ronn (>= 
0.9.0), locales, cargo, pkg-config, libssl-dev,

Best,
наб

-- Package-specific info:

-- apt-config dump --

APT "";
APT::Architecture "amd64";
APT::Build-Essential "";
APT::Build-Essential:: "build-essential";
APT::Install-Recommends "1";
APT::Install-Suggests "0";
APT::Sandbox "";
APT::Sandbox::User "_apt";
APT::Authentication "";
APT::Authentication::TrustCDROM "true";
APT::NeverAutoRemove "";
APT::NeverAutoRemove:: "^firmware-linux.*";
APT::NeverAutoRemove:: "^linux-firmware$";
APT::NeverAutoRemove:: "^linux-image-[a-z0-9]*$";
APT::NeverAutoRemove:: "^linux-image-[a-z0-9]*-[a-z0-9]*$";
APT::VersionedKernelPackages "";
APT::VersionedKernelPackages:: "linux-.*";
APT::VersionedKernelPackages:: "kfreebsd-.*";
APT::VersionedKernelPackages:: "gnumach-.*";
APT::VersionedKernelPackages:: ".*-modules";
APT::VersionedKernelPackages:: ".*-kernel";
APT::Never-MarkAuto-Sections "";
APT::Never-MarkAuto-Sections:: "metapackages";
APT::Never-MarkAuto-Sections:: "tasks";
APT::Move-Autobit-Sections "";
APT::Move-Autobit-Sections:: "oldlibs";
APT::Get "";
APT::Get::AutomaticRemove "";
APT::Get::AutomaticRemove::Kernels "false";
APT::Architectures "";
APT::Architectures:: "amd64";
APT::Architectures:: "i386";
APT::Compressor "";
APT::Compressor::. "";
APT::Compressor::.::Name ".";
APT::Compressor::.::Extension "";
APT::Compressor::.::Binary "";
APT::Compressor::.::Cost "0";
APT::Compressor::zstd "";
APT::Compressor::zstd::Name "zstd";
APT::Compressor::zstd::Extension ".zst";
APT::Compressor::zstd::Binary "zstd";
APT::Compressor::zstd::Cost "60";
APT::Compressor::zstd::CompressArg "";
APT::Compressor::zstd::CompressArg:: "-19";
APT::Compressor::zstd::UncompressArg "";
APT::Compressor::zstd::UncompressArg:: "-d";
APT::Compressor::lz4 "";
APT::Compressor::lz4::Name "lz4";
APT::Compressor::lz4::Extension ".lz4";
APT::Compressor::lz4::Binary "lz4";
APT::Compressor::lz4::Cost "50";
APT::Compressor::lz4::CompressArg "";
APT::Compressor::lz4::CompressArg:: "-1";
APT::Compressor::lz4::UncompressArg "";
APT::Compressor::lz4::UncompressArg:: "-d";
APT::Compressor::gzip "";
APT::Compressor::gzip::Name "gzip";
APT::Compressor::gzip::Extension ".gz";
APT::Compressor::gzip::Binary "gzip";
APT::Compressor::gzip::Cost "100";
APT::Compressor::gzip::CompressArg "";
APT::Compressor::gzip::CompressArg:: "-6n";
APT::Compressor::gzip::UncompressArg "";
APT::Compressor::gzip::UncompressArg:: "-d";
APT::Compressor::xz "";
APT::Compressor::xz::Name "xz";
APT::Compressor::xz::Extension ".xz";
APT::Compressor::xz::Binary "xz";
APT::Compressor::xz::Cost "200";
APT::Compressor::xz::CompressArg "";
APT::Compressor::xz::CompressArg:: "-6";
APT::Compressor::xz::UncompressArg "";
APT::Compressor::x

Bug#1072489: apt: what does this recommendation mean? (curl | lynx .. fonts-lato \n | wget)

2024-06-02 Thread наб
Hi!

On Sun, Jun 02, 2024 at 10:10:14PM +0200, David Kalnischkies wrote:
> On Sun, Jun 02, 2024 at 08:08:35PM +0200, наб wrote:
> > apt build-dep just asked me this in a sid chroot:
> The reading order for the "new" column view is according to its name:
>   111  477
>   22   55   888
>   3666  9
hm. this is atrocious to me. is there a layout option that makes the
text go from left to right instead of top to bottom?
i expect to be reading polish or english
(and, indeed, the UI and package names are english),
so the mongolian layout is, well, baffling

> So:
> > Suggested packages:
> >   autoconf-archive  cargo-doc  gettext-doc   libssl-doc   | 
> > fortran95-compiler  apparmor libmail-box-perl  libjs-mathjax
> >   gnu-standards python3libasprintf-dev   libtool-doc  gcj-jdk   
> > less riruby-kramdown-parser-gfm
> >   autoconf-doc  dh-makelibgettextpo-dev  gfortran m4-doc
> > www-browser  ruby-dev  bundler
> gfortan | fortran95-compiler
you cannot in good conscience try to tell me that anyone in their right
mind will EVER read it like this lol

> > Recommended packages:
> >   curl| lynx   imagemagick  netpbm   libarchive-cpio-perl  
> > libldap-common  publicsuffix  libltdl-devzip 
> > fonts-lato
> >   | wget  ghostscript  libpaper1psutils  javascript-common libgpm2  
> >libsasl2-modules  libmail-sendmail-perl  ruby-rouge  rust-llvm
> curl | wget | lynx
> 
> > But what's the recommendations?
> I think the alternatives group might be better of written together and
> then the individual columns separated with ~4 spaces like in the
> future-suggested "oldname => newname" case.
At the very least the groups should form blocks that only break if
they are taller than the row, rather than anywhere. The fortran
thing is indefensible imo.

If you insist on the mongolian order, then having them form an actual
chain, like
  |curl
  |wget
  |lynx
feels much better than the spaced-out
everything-is-two-cells-apart-so-nothing-is-related soup you get now.

> The individual columns could get quiet big given package names can be
> long, but that is a problem for the column display anyhow.
Again, I would like to read the packages in the text order I'm used to,
not in mongolian. This will also instantly clear up any problems that
fall out of an ambiguous spacing because the fallback of "just read it"
will be correct.

Thanks, this was enlightening


signature.asc
Description: PGP signature


Bug#799563: archivemount bug

2024-06-14 Thread наб
Control: found -1 0.8.7-1
Control: tags -1 + patch
Control: forwarded -1 https://github.com/cybernoid/archivemount/issues/28

I discovered this independently and reported it;
the OP's patch works against 0.8.7-1.


signature.asc
Description: PGP signature


Bug#1073228: archivemount: uthash is BSD-1-Clause, not BSD-2-Clause

2024-06-14 Thread наб
Source: archivemount
Version: 0.8.7-1
Severity: normal

Dear Maintainer,

The text in d/copyright (and the header) is clearly of 1-clause BSD,
but it's tagged BSD-2-Clause.

Best,

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-- no debconf information


signature.asc
Description: PGP signature


Bug#838597: archivemount: Unmount instructions in man page lead to "Permission denied" error.

2024-06-14 Thread наб
On Thu, Sep 22, 2016 at 07:30:12PM +0100, George Bateman wrote:
> The man page for archivemount states that
> The umount(8) command performs the corresponding unmount operation.
> 
> and uses umount in the example section. However, on my machine, if I
> create a (.deb) archive I own and a directory, with ll showing
> reasonable permissions
> 
> - -rw--- 1 bateman bateman 47276 2016-09-22 19:08 /tmp/tmp.QVX9KmDmyp
> drwx-- 0 bateman bateman 47276 1970-01-01 01:00 /tmp/tmp.XdXuw43Zsv/
> 
> then umount /tmp/tmp.XdXuw43Zsv gives the error
> umount: /tmp/tmp.XdXuw43Zsv: Permission denied
Cannot reproduce this. Admittedly maybe mostly bcause I can't reproduce
you writing ar archives, but still.

the setup is unclear as well, but regardless how stringently i
permission this it's not exploding so idk


signature.asc
Description: PGP signature


Bug#1058560: libncursesw6: getch(3ncurses) returns -1 with errno unchanged, only documented to return -1 with errno=EINTR

2023-12-12 Thread наб
Package: libncursesw6
Version: 6.4+20231121-1
Severity: normal

Dear Maintainer,

urlview 1c-1 whose xterm was killed but which didn't die consumes 100% CPU.
The event loop is for(;;) switch(getch()) ... and ignores -1
(https://git.sr.ht/~nabijaczleweli/urlview-ng/tree/1c/item/urlview.c#L576).

strace -p:
  read(0, "", 1)  = 0
  read(0, "", 1)  = 0
  read(0, "", 1)  = 0
  read(0, "", 1)  = 0
  read(0, "", 1)  = 0
  read(0, "", 1)  = 0
&c.

ltrace -p:
  wgetch(0x55e356e14860, 0, 0, 1)   = 0x
  wgetch(0x55e356e14860, 0x, 0, 0x) = 0x
  wgetch(0x55e356e14860, 0, 0, 1)   = 0x
  wgetch(0x55e356e14860, 0x, 0, 0x) = 0x
  wgetch(0x55e356e14860, 0, 0, 1)   = 0x
  wgetch(0x55e356e14860, 0x, 0, 0x) = 0x
  wgetch(0x55e356e14860, 0, 0, 1)   = 0x
  wgetch(0x55e356e14860, 0x, 0, 0x) = 0x
&c.

gdb -p, b ./urlview.c:576:
  (gdb) cont
  Continuing.
  
  Breakpoint 1, main (argc=, argv=) at 
./urlview.c:576
  576 int c = getch();
  (gdb) n
  578 switch(c) {
  (gdb) p c
  $1 = -1
  (gdb) p *__errno_location()
  $3 = 5
this is EIO. By resetting *__errno_location() = 0 and letting it rip for
a few more loops, I see it continue to be 0,
so it just returns 0 but doesn't change errno
(I'm assuming changing errno is a side-effect of read(),
 which completes successfully but emptily here),
presumably the EIO is from an earlier refresh to a dead pty.

getch(3ncurses) on bookworm and sid says
  RETURN VALUE
All routines return the integer ERR upon failure and an integer
value other than ERR (OK in the case of ungetch) upon successful
completion.

wgetch returns ERR if the window pointer is null, or if its
timeout expires without having any data, or if the execution
was interrupted by a signal (errno will be set to EINTR).
so how precisely you're meant to handle this is unclear to me.

The first sentence implies "case ERR: exit(1)",
but the second implies "case ERR: if(errno != EINTR) exit(1); break"
to me.

I set no timeouts so I expect that bit to not apply,
but I read this as the EINTR parenthetical applying to both the
interruption and timeout cases.

Either way, if errno isn't (re)set, then returning ERR isn't really
reliable or meaningful i think (lest you "errno=0, getch()" always?
which kinda sucks).

I see SUSv2 XCURSES say:
  Upon successful completion getch(), mvgetch(), mvwgetch() and
  wgetch() return the single-byte character, KEY_ value, or ERR.
  When in the nodelay mode and no data is available, ERR is returned.
which makes it silent on the issue.

Reopening its pty fails with EIO, as expected, but consulting stty
against urlview in a live xterm I see
  speed 38400 baud; rows 54; cols 172; line = 0;
  -brkint -icrnl -imaxbel iutf8
  -onlcr
  -icanon -echo
so -icanon min=1 time=0, which is by no means a "nodelay" mode,
and it doesn't have a "timeout" set.

Naturally, setting min=0 time=1 I reproduce the empty-returning read()s,
and the unchanging errno.

So to this point, I think this just needs disambiguation to the tune of
"having any data (with errno unchanged)".

Empty read()s from a hung-up teletype aren't covered by the
documentation. Naturally this is an adversarial reading,
but it may not be obvious to all readers that these are homologous
conditions:
"or if the read from returns empty \(em be it due to a timeout
 expiring with no data or due to a hangup (with errno unchanged),"

In a similar vein, I see a lot of references to a "cbreak mode"
(sometimes in bold) and a "nocbreak mode" (never in bold).
I suppose this is a left-over from old berkeley manuals(?),
but that's not a feature of the Linux teletype driver,
and according to my notes[1] the CBREAK mode features in [V7, 4.4BSD)
exclusively, which isn't really useful to the modern reader,
with the 4.4BSD URM being released close to 30 years ago now.
The only remnant of this remains in stty(1), but that consistently calls
it cbreak/-cbreak mapping it to -icanon/icanon. This makes it even more
jarring to a modern reader.

Anyway, is this behaviour expected, and is the loop best-served as
  for(;;) switch(errno=0, getch()) case ERR: if(errno != EINTR) { err = true; 
break 2; }
? Or is there a better way to drive this?

Best,
наб

[1]: 
https://lfs.nabijaczleweli.xyz/0012-groff-mdoc-*q-spacing/2022-10-23-stty.1-preprint/a4.pdf
 pp. 20, 67-68

-- System Information:
Debian Release: 12.2
  APT prefers stable-updates
  APT policy: (500, 'stable-

Bug#1058560: libncursesw6: getch(3ncurses) returns -1 with errno unchanged, only documented to return -1 with errno=EINTR

2023-12-13 Thread наб
On Tue, Dec 12, 2023 at 08:30:02PM -0500, Thomas Dickey wrote:
> On Wed, Dec 13, 2023 at 01:33:59AM +0100, наб wrote:
> > On Tue, Dec 12, 2023 at 05:55:38PM -0500, Thomas Dickey wrote:
> > > On Tue, Dec 12, 2023 at 11:09:13PM +0100, наб wrote:
> > > > urlview 1c-1 whose xterm was killed but which didn't die consumes 100% 
> > > > CPU.
> > > > The event loop is for(;;) switch(getch()) ... and ignores -1
> > > If it's going to ignore the error return (while at the same time
> > > manipulating the time delays with mousemask), then this is expected
> > > (mis)behavior.
> > Sure.
> > 
> > Still, it doesn't set errno to EINTR,
> ...and the manual page does not say it would do that.
> 
> It lists three possible causes for ERR being returned,
> and on the third it mentions that errno will be set:
>returns ERR if the window pointer is null, or if its timeout
>expires without having any data, or if the execution was interrupted by
>a signal (errno will be set to EINTR).
> 
> It could be reformatted like this without changing its meaning:
>returns ERR
>* if the window pointer is null, or
>* if its timeout expires without having any data, or
>* if the execution was interrupted by a signal (errno will be set to
>  EINTR).
That, to me, wasn't clear from the page itself.
"any data (errno unchanged)" would make it so.

> > and instant empty reads you get from a hung-up teletype
> > definitely aren't exceeding the timeout.
> 
> https://git.sr.ht/~nabijaczleweli/urlview-ng/tree/1c/item/urlview.c#L441
> 
> mouseinterval(0) tells it to not wait for mouse events,
Well, mouseinterval(3curses) says
  Use mouseinterval(0) to disable click resolution.
which is different from "not wait for mouse events".

> That looks like someone's attempting to make the wheel mouse work at
> infinite velocity
The mouse wheel is checked-for with BUTTON[45]_PRESSED,
so click resolution doesn't factor in here at all.

I picked mouseinterval(0) because the default 166 value is completely
unusable. Clearly it doesn't actually disable click resolution either.

htop uses mouseinterval(0) as well.

Regardless of the mouseinterval argument I can click-hold-release
for however long I want, so long as I don't move the cursor too
much and it registers.
With the default value it just sleeps after I release.

In addition to my usual X teletype (st(1)),
this also happens with xterm(1) under both X configs I have,
so with it being under the dickey umbrella as well,
that clearly indicates that something's wrong to me.

This is also the case under gpm, on a 2002 Celeron laptop.
(And under X on that one as well.)

> I'd have used a 5msec delay (or 1msec for "modern" computers :-)
So is this a UI design choice or is it a VT-compat choice?
What's the point of this function, why does it not just correctly
associate clicks with clicks? Or, rather, why do you need mouseinterval(0)
to correctly associate clicks with clicks,
without "clearly broken" levels of delay?

Why do you suggest any delay at all?
Why 5ms or 1ms?
When is this (supposedly) needed?
What does computer recency have to do with it,
and why is that notion dispelled on the oldest piece of shit I have?
Why is none of this documented?

> -- and might be the reason for ignoring errors --
Mouse support is new, errors are ignored in 0.7 from 1997, so no.

> and might be the reason for the 100% CPU.
This all also happens with mouse and keypad disabled altogether,
so this is all moot.

> If ncurses is actually reading from a closed file descriptor, the manpage
> for read(2) suggests that errno may be set to EBADF
..? It isn't, and I never said it did. It reads from a valid fd,
which corresponds to a hanged-up tty. This is a consistent thoroughline.

> -- but since you say
> errno is _not_ being set, then there's nothing to alert ncurses to the
> problem -- the timeout expired.
There is no time-out:
> (You may get more insight using strace).
The straces you got both indicate that ncurses' first (only) read returns
empty, and any time-out isn't even attempted. You can tell because they
both say read(0, "", 1) = 0 exclusively, and neither of them have a poll.

Indeed, the only time the mouse timeout is attempted is /after/ a
mouse button down/up is read. There is another 1s poll timeout,
which happens after reading an ESC. Again, neither of those are attempted.

Similarly, they all end up in fifo_push() with
  340  n = (int) read(sp->_ifd, &c2, (size_t) 1);
  ...
  347  if ((n == -1) || (n == 0)) {
  348  TR(TRACE_IEVENT, ("read(%d,&ch,1)=%d, errno=%d", sp->_ifd, n, 
errno));
  349   

Bug#1058560: libncursesw6: getch(3ncurses) returns -1 with errno unchanged, only documented to return -1 with errno=EINTR

2023-12-13 Thread наб
On Wed, Dec 13, 2023 at 02:09:35PM +0100, наб wrote:
> On Tue, Dec 12, 2023 at 08:30:02PM -0500, Thomas Dickey wrote:
> > On Wed, Dec 13, 2023 at 01:33:59AM +0100, наб wrote:
> > > On Tue, Dec 12, 2023 at 05:55:38PM -0500, Thomas Dickey wrote:
> > > > On Tue, Dec 12, 2023 at 11:09:13PM +0100, наб wrote:
> > > > > urlview 1c-1 whose xterm was killed but which didn't die consumes 
> > > > > 100% CPU.
> > > > > The event loop is for(;;) switch(getch()) ... and ignores -1
> > > > If it's going to ignore the error return (while at the same time
> > > > manipulating the time delays with mousemask), then this is expected
> > > > (mis)behavior.
> > > Sure.
> > > 
> > > Still, it doesn't set errno to EINTR,
> > ...and the manual page does not say it would do that.
> > 
> > It lists three possible causes for ERR being returned,
> > and on the third it mentions that errno will be set:
> >returns ERR if the window pointer is null, or if its timeout
> >expires without having any data, or if the execution was interrupted 
> > by
> >a signal (errno will be set to EINTR).
> > 
> > It could be reformatted like this without changing its meaning:
> >returns ERR
> >* if the window pointer is null, or
> >* if its timeout expires without having any data, or
> >* if the execution was interrupted by a signal (errno will be set to
> >  EINTR).
> That, to me, wasn't clear from the page itself.
> "any data (errno unchanged)" would make it so.
> 
> > > and instant empty reads you get from a hung-up teletype
> > > definitely aren't exceeding the timeout.
> > 
> > https://git.sr.ht/~nabijaczleweli/urlview-ng/tree/1c/item/urlview.c#L441
> > 
> > mouseinterval(0) tells it to not wait for mouse events,
> Well, mouseinterval(3curses) says
>   Use mouseinterval(0) to disable click resolution.
> which is different from "not wait for mouse events".
Even funnier, it also says that 
  The  mouseinterval  function  sets  the  maximum time (in thousands of
  a second) that can elapse between press and release events for them to
  be recognized as a click.
and it appears to only actually be used for coalescing adjacent click
events into double and triple clicks (testing confirms this),
so the manual sure reads like disinformation.

In light of this,
> > I'd have used a 5msec delay (or 1msec for "modern" computers :-)
I wouldn't, since this corresponds to the actual delay between
consecutive clicks, and even I can't click twice in 5ms.

So mouseinterval(0) appears to just be a boilerplate requirement
if you aren't using curses-provided double- or triple-clicks,
which I'm not?


signature.asc
Description: PGP signature


Bug#1058616: dracut-network: root=nfs4:... broken on current sid, used to work on buster-era sid

2023-12-13 Thread наб
According to /etc/os-release and /var/log/dpkg.log from my pre-upgrade
snapshot, it used to work on "bullseye/sid" from 2021-01-24 version 051-1.

On Fri, Dec 08, 2023 at 09:08:53PM +0100, наб wrote:
> it just hung for so-long-I-thought-it's-forever before going into a
> minutes-long initqueue crashloop before finally dropping to
> an emergency shell.
>
> This revealed it didn't actually generate a sysroot.mount unit at all!
>
> Though running
>   mount -t nfs4 tarta:/mnt/filling/machine/1200-S121 /sysroot
> corresponding to the
>   ip=dhcp root=nfs4:tarta:/mnt/filling/machine/1200-S121
> cmdline did work.
>
> As usual with dracut,
> breaking out of the shell after mounting /sysroot proceeded normally.
>
> the nfs netboot generator doesn't work anymore.

See journalctl-b.zst above for a normal boot,
attaching one with "verbose debug" appended.

I'm explicitly including a pre-composed /etc/resolv.conf from my rootfs
so the hostname isn't an issue.
(Well, I don't know if it isn't.
 It probably is, since it was correctly derived from DHCP and now isn't,
 but nothing works at all rn, so maybe another clone later.)

I don't really know what is, tbf, except that there doesn't actually
appear to be a sysroot.mount generated.


journalctl-b+verbosedebug.zst
Description: application/zstd


signature.asc
Description: PGP signature


Bug#1058625: libarchive-tools: bsdcat(1) points at libarchive-formats(5), which doesn't exist, and isn't useful, since you actually want libarchive(3), which also doesn't

2023-12-13 Thread наб
Package: libarchive-tools
Version: 3.6.2-1
Severity: normal

Dear Maintainer,

Thanks for this, bsdcat fills the niche of generalised zcat much nicer
than whatever I'd come up with. However, to evaluate this
(and to actually try to consult the bsdcat manual for,
 for example, "what will it unpack")
is much more complicated than it ought to be.

The main issue is that 
  SEE ALSO
   bzcat(1), uncompress(1), xzcat(1), zcat(1), libarchive-formats(5)
points to libarchive-formats(5). This file is in libarchive-dev,
so you're SOL unless you manage to find that ‒ the procedure for this is
obvious to me, but may not be to everyone.

If you assume this is a complete list of the formats supported
you assume wrong, because zstdcat(1) is missing.

This is quite easy to solve IMO: libarchive-formats(5)
should live in the libarchive13 package
(or a libarchive-doc which is Recommends:ed by libarchive13
 for multiarch compat, you get my point),
since it's of general usefulness to all users using libarchive-using programs.

The second issue is that the SEE ALSO shouldn't point to
libarchive-formats(5), since that only describes archive formats,
not compression formats.

It should either point to libarchive(3)
(which for some reason isn't in libarchive-formats(5)'s SEE ALSO),
which should also live in libarchive13/libarchive-doc,
or libarchive-formats(5) should at least include a version of the
  The library automatically detects archives compressed with
  compress(1), bzip2(1), grzip(1), gzip(1), lrzip(1), lz4(1), lzip(1),
  lzop(1), xz(1), or zstd(1) and decompresses them transparently.
  Decompression of some formats requires external decompressor
  utilities. It can similarly detect and decode archives processed with
  uuencode(1) or which have an rpm(1) header.
sentence.

Thanks,
наб

-- System Information:
Debian Release: 12.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libarchive-tools depends on:
ii  libarchive13  3.6.2-1
ii  libc6 2.36-9+deb12u3

libarchive-tools recommends no packages.

libarchive-tools suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1058560: libncursesw6: getch(3ncurses) returns -1 with errno unchanged, only documented to return -1 with errno=EINTR

2023-12-13 Thread наб
On Wed, Dec 13, 2023 at 03:49:48PM +0100, наб wrote:
> On Wed, Dec 13, 2023 at 02:09:35PM +0100, наб wrote:
> > On Tue, Dec 12, 2023 at 08:30:02PM -0500, Thomas Dickey wrote:
> > > mouseinterval(0) tells it to not wait for mouse events,
> > Well, mouseinterval(3curses) says
> >   Use mouseinterval(0) to disable click resolution.
> > which is different from "not wait for mouse events".
> Even funnier, it also says that 
>   The  mouseinterval  function  sets  the  maximum time (in thousands of
>   a second) that can elapse between press and release events for them to
>   be recognized as a click.
> and it appears to only actually be used for coalescing adjacent click
> events into double and triple clicks (testing confirms this),
> so the manual sure reads like disinformation.
Okay so it does appear to be true... on NetBSD.

> In light of this,
> > > I'd have used a 5msec delay (or 1msec for "modern" computers :-)
> I wouldn't, since this corresponds to the actual delay between
> consecutive clicks, and even I can't click twice in 5ms.
And in a quite-slow VM, under X and uxterm,
mouseinterval(0) works sporadically but mouseinterval(5) works always.

Admittedly, curses_mouse(3) simultaneously says
"There is currently no actual mouse support" and
"The mouse functions were added in NetBSD 10.0";
the default is 200ms.

(Additionally it also governs coalescing multiple clicks into
 double/triple, just like under ncurses.)

So the ncurses manual documents the behaviour of non-n-curses,
it's contradicted by experimentation on ncurses,
and the most common response to this
(I recommend a codesearch.d.n for "mouseinterval\(0" vs
  "mouseinterval\([1-9]")
works on ncurses but breaks on non-n-curses?

Why do I have to learn of this by gruesome experimentation
(the ISO was 743.78M 33.8KB/sin 5h 39m)
and an off-hand comment instead of this being in the manual?

Best,
наб


signature.asc
Description: PGP signature


Bug#1058560: libncursesw6: getch(3ncurses) returns -1 with errno unchanged, only documented to return -1 with errno=EINTR

2023-12-15 Thread наб
I didn't seem to get your mail

On Wed, Dec 13, 2023 at 07:36:32PM -0500, Thomas Dickey wrote:
> On Wed, Dec 13, 2023 at 11:09:41PM +0100, наб wrote:
> > On Wed, Dec 13, 2023 at 03:49:48PM +0100, наб wrote:
> > > On Wed, Dec 13, 2023 at 02:09:35PM +0100, наб wrote:
> > > > On Tue, Dec 12, 2023 at 08:30:02PM -0500, Thomas Dickey wrote:
> > > > > mouseinterval(0) tells it to not wait for mouse events,
> > > > Well, mouseinterval(3curses) says
> > > >   Use mouseinterval(0) to disable click resolution.
> > > > which is different from "not wait for mouse events".
> > > Even funnier, it also says that
> > >   The  mouseinterval  function  sets  the  maximum time (in thousands of
> > >   a second) that can elapse between press and release events for them to
> > >   be recognized as a click.
> > > and it appears to only actually be used for coalescing adjacent click
> > > events into double and triple clicks (testing confirms this),
> > > so the manual sure reads like disinformation.
> > Okay so it does appear to be true... on NetBSD.
> >
> > Admittedly, curses_mouse(3) simultaneously says
> > "There is currently no actual mouse support" and
> > "The mouse functions were added in NetBSD 10.0";
> > the default is 200ms.
> I've noticed that they added stubs (mainly to allow some programs to link),
> but probably won't take a close look until NetBSD 10.0 is actually released.
> 
> [...]
> 
> So I'd hold off on discussing what NetBSD curses does, until they get around
> to actually doing it.
You're right; I had installed and linked to pkgsrc ncurses 6.2,
but man mouseinterval showed me the the NetBSD curses manual.

Indeed, NetBSD 10 RC1 curses still doesn't have mouse support at all.

> > Why do I have to learn of this by gruesome experimentation
> > (the ISO was 743.78M 33.8KB/sin 5h 39m)
> > and an off-hand comment instead of this being in the manual?
> This particular function is little used, but generally speaking,
> having an idea of how click-resolution _has_ to be computed
> (like function-key stuff), it's not effective to use zero-delays.
> 
> Currently it's used in one test program, and I see that it's using zero
> there (I didn't write that one, but have made several corrections to it -
> overlooked this detail).
It's also used in many other programs with 0 because the default value
of 166 adds a 166ms delay after each click where nothing happens,
and this is obviously unacceptable:
  https://codesearch.debian.net/search?q=mouseinterval%280&literal=1

To re-iterate, mouse(3ncurses) says of mouseinterval():
  The mouseinterval function sets the maximum time (in thousands of a
  second) that can elapse between press and release events for them to
  be recognized as a click. Use mouseinterval(0) to disable click
  resolution.
this simply doesn't appear to be true.

Oddly, you say it does this (above) but suggest it doesn't:
> > > > > I'd have used a 5msec delay (or 1msec for "modern" computers :-)
which corresponds to a clicking frequency of 200Hz and 1kHz.
Which obviously isn't realistic.

Since you yourself said "use strace",
here's a strace that trivially proves this:
  poll([{fd=0, events=POLLIN}], 1, 0) = 0 (Timeout) <0.13>
  rt_sigaction(SIGTSTP, {sa_handler=0x7f1db7eaffe0, sa_mask=[], 
sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f1db7cb7fd0}, NULL, 8) = 0 
<0.12>
  read(0, "\33", 1)   = 1 <1.157825>
  poll([{fd=0, events=POLLIN}], 1, 1000)  = 1 ([{fd=0, revents=POLLIN}]) 
<0.000176>
  read(0, "[", 1) = 1 <0.000169>
  poll([{fd=0, events=POLLIN}], 1, 1000)  = 1 ([{fd=0, revents=POLLIN}]) 
<0.000169>
  read(0, "M", 1) = 1 <0.24>
  read(0, " :#", 3)   = 3 <0.000166>
  poll([{fd=0, events=POLLIN}], 1, 166)   = 0 (Timeout) <0.166421>
  read(0, "\33", 1)   = 1 <5.766872>
  poll([{fd=0, events=POLLIN}], 1, 1000)  = 1 ([{fd=0, revents=POLLIN}]) 
<0.000178>
  read(0, "[", 1) = 1 <0.000178>
  poll([{fd=0, events=POLLIN}], 1, 1000)  = 1 ([{fd=0, revents=POLLIN}]) 
<0.000169>
  read(0, "M", 1) = 1 <0.000106>
  read(0, "#:#", 3)   = 3 <0.23>
  poll([{fd=0, events=POLLIN}], 1, 166)   = 0 (Timeout) <0.166414>
  rt_sigaction(SIGTSTP, {sa_handler=SIG_IGN, sa_mask=[], 
sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f1db7cb7fd0}, 
{sa_handler=0x7f1db7eaffe0, sa

Bug#1058778: storm-lang: uses sizeof('\0') (4) instead of 1 for string termination allocations

2023-12-15 Thread наб
Source: storm-lang
Version: 0.6.19-1
Severity: minor
Tags: patch

Dear Maintainer,

As found by DCS query [^._]sizeof[ (]'.{1,2}' filetype:c

The website is an information black hole, didn't find a mail address
there, so submitting here.

Patch based on the git, so paths based on the mps submodule already.

Best,
наб

-- System Information:
Debian Release: 12.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
From f8c2ecf90eeae779c7a03c9313717559eb3b4159 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= 
Date: Sat, 16 Dec 2023 01:45:44 +0100
Subject: [PATCH] sizeof('c')=4, not 1: fix overallocations
X-Mutt-PGP: OS

As found by DCS: [^._]sizeof[ (]'.{1,2}' filetype:c

Ref: 
https://paste.sr.ht/~nabijaczleweli/6ee9ccf301a2651afb693bff46e3671d3f7cdd89
Ref: https://101010.pl/@nabijaczleweli/111587138076843793
---
 code/event.h| 2 +-
 code/eventcom.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/code/event.h b/code/event.h
index 954b315b..358064d9 100644
--- a/code/event.h
+++ b/code/event.h
@@ -84,7 +84,7 @@ extern Word EventKindControl;
 size_t _string_len = (length); \
 size_t size; \
 AVER(_string_len <= EventStringLengthMAX); \
-size = offsetof(Event##name##Struct, f1) + _string_len + sizeof('\0'); \
+size = offsetof(Event##name##Struct, f1) + _string_len + 1 /* NUL */; \
 EVENT_BEGIN(name, size) \
   _event->f0 = (p0); \
   (void)mps_lib_memcpy(_event->f1, (string), _string_len); \
diff --git a/code/eventcom.h b/code/eventcom.h
index 75886be3..243570da 100644
--- a/code/eventcom.h
+++ b/code/eventcom.h
@@ -91,7 +91,7 @@ typedef void *EventFP;  /* pointer to C 
object */
 typedef Addr EventFA;   /* address on the heap */
 typedef Word EventFW;   /* word */
 typedef unsigned EventFU;   /* unsigned integer */
-typedef char EventFS[EventStringLengthMAX + sizeof('\0')]; /* string */
+typedef char EventFS[EventStringLengthMAX + 1 /* NUL */]; /* string */
 typedef double EventFD; /* double */
 typedef unsigned char EventFB;  /* Boolean */
 
-- 
2.39.2



signature.asc
Description: PGP signature


Bug#1059369: htop: file listing view shows bottom 4 bytes in the SIZE column

2023-12-23 Thread наб
  613682  
/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
mem REG  0x22   216368440144  
/usr/lib/x86_64-linux-gnu/libtinfo.so.6.4
mem REG  0x22   231344462346  
/usr/lib/x86_64-linux-gnu/libncursesw.so.6.4
mem REG  0x22   325896634016  
/usr/lib/x86_64-linux-gnu/libnss_systemd.so.2
mem REG  0x22   907784613694  
/usr/lib/x86_64-linux-gnu/libm.so.6
mem REG  0x22  1922136613688  
/usr/lib/x86_64-linux-gnu/libc.so.6
mem REG  0x22  8547984609660  
/usr/lib/locale/locale-archive
rtd DIR  0x20   30    34  /
txt REG  0x71  1324944  10840859  
/home/nabijaczleweli/uwu/htop/htop

Best,
наб
-- 
diff --git a/OpenFilesScreen.c b/OpenFilesScreen.c
index 3077490..03260bf 100644
--- a/OpenFilesScreen.c
+++ b/OpenFilesScreen.c
@@ -253,7 +253,7 @@ static void OpenFilesScreen_scan(InfoScreen* this) {
   while (fdata) {
  OpenFiles_Data* data = &fdata->data;
  char* entry = NULL;
- xAsprintf(&entry, "%5.5s %-7.7s %-4.4s %-10.10s %10.10s %10.10s 
%10.10s  %s",
+ xAsprintf(&entry, "%5.5s %-7.7s %-4.4s %-4.4s %16.16s %10.10s %10.10s 
 %s",
getDataForType(data, 'f'),
getDataForType(data, 't'),
getDataForType(data, 'a'),


signature.asc
Description: PGP signature


Bug#1059536: groff-base: mdoc nroff output (Nm, Dt) broken since 1.23

2023-12-27 Thread наб
Package: groff-base
Version: 1.23.0-3
Severity: normal

Dear Maintainer,

This isn't about the many other font changes, especially the troff ones
(though changing Cm/Fl to CR from CB in troff mode
 is basically violence against the user,
 and changing Pa from C to I and Xr from B to nothing is awful)
because I'm the only psycho who actually renders PDFs and can patch this,
or even the other nroff font changes
(Sx I->Dq is weird, especially contrasted with Xr R->I
 (which I'm not gonna complain too much about but it is odd;
  you don't need any font because there's a big sexion specifier there);
 I might even agree with Li R->B);
(it would be nice if reversions were provided by default
 or with an easy opt-in in Debian I've personally been using
   .\" Comparing groff-base 1.23.0-3 with 1.22.4-10
   .\" Based on 
https://paste.sr.ht/~nabijaczleweli/e897d091aa5b62c284c6c996d90253023b6271f7
   .\"
   .\" 1.23 effectively aliases Sx to Dq. undo this
   .als Sx doc-generic-macro
   .ds doc-Sx-usage section_header
   .
   .ie n \{ .
   .\" doc-nroff
   .ds doc-Li-font \f[R]
   .\" \f[B] in 1.23
   .
   .ds doc-Sx-font \f[I]
   .\" dropped in 1.23
   .
   .ds doc-Xr-font \f[R]
   .\" \f[I] in 1.23
   . \}
   .el \{ .
   .\" doc-ditroff
   .ds doc-Sx-font \f[B]
   .\" dropped in 1.23
   .
   .ds doc-Xr-font \f[C]
   .\" \f[I] in 1.23
   .
   .ds doc-page-topic-font \f[R]
   .\" \f[I] in 1.23; used to be called doc-caption-font
   .
   .ds doc-Cm-font \f[CB]
   .\" \f[CR] in 1.23
   .
   .ds doc-Fl-font \f[CB]
   .\" \f[CR] in 1.23
   .
   .ds doc-Pa-font \f[C]
   .\" \f[I] in 1.23
   . \}
 since, commit date says, 2023-11-14)
this is about the two "obviously-broken" changes.

1:
The first invocation of Nm in NAME is broken:
it correctly saves the first argument to the string register,
but it draws the argument in R instead of B.
This is in contrast to every other use of Nm
(and, thus, every other reference to the object the Nms refer to).
This is baffling and confusing; please revert this
(a quick peep at
   https://sources.debian.org/src/groff/1.23.0-3/tmac/doc.tmac/#L1166
 shows that this is an explicit change).

This is much harder to correct (I'd say impossible) for a casual user,
though I've added this to my mdoc.local
(it's not pretty nor is it nice but it does work against 1.23.0-3):
  .\" Handle '.Nm ...' in "Name" section: use the Nm font! It doesn't anymore 
in 1.23.
  .als Nm_old Nm
  .rm Nm
  .de Nm
  .if \\n[doc-in-name-section] \{\
  .  if "\\*[doc-topic-name]"" \
  .ds doc-topic-name "\\$1\"
  .  nr doc-in-name-section 0
  .\}
  .Nm_old \\$@
  ..

2:
Dt is misrendered but only in nroff mode.
Given
  .Dt A_B_C 9
In troff mode, and in 1.22.4-10, the top left and right corners were "A_B_C(9)".
In 1.23.0-3 in nroff they are "\fIA_B_C\fP(9)", which:
(a) why would you need this?
(b) completely breaks manuals with underscores in the name,
because "\fIA_B_C\fP(9)" and "A_B_C(9)" and "\fIA B C\fP(9)"
are all drawn identically.
I didn't have the time or the energy to root-cause this.

Best,
наб

-- System Information:
Debian Release: 12.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages groff-base depends on:
ii  libc6 2.36-9+deb12u3
ii  libgcc-s1 12.2.0-14
ii  libstdc++612.2.0-14
ii  libuchardet0  0.0.7-1

groff-base recommends no packages.

Versions of packages groff-base suggests:
ii  groff  1.22.4-10

-- no debconf information


signature.asc
Description: PGP signature


Bug#1059537: man-db: please (provide an option to) remove the 5-column right margin

2023-12-27 Thread наб
Package: man-db
Version: 2.12.0-1
Version: 2.11.2-2
Severity: wishlist

Dear Maintainer,

I just noticed this and now it's bugging me to no end.
Given
  $ stty size
  48 122
the debug output (attached) says 
  Terminal width 122
  Using 118-character lines

Similarly, stty size -> 54 172 -> "groff", ..., "-rLL=167n", "-rLT=167n".

Faking a five-column-wider teletype via
  alias man='MANWIDTH=$(stty size | { read -r _ w; echo $(( w + 5 )); }) man'
draws the manual at full width.

I don't really see why there's a right margin,
if no left margin is enforced.

Best,
наб

-- System Information:
Debian Release: 12.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages man-db depends on:
ii  bsdextrautils  2.38.1-5+b1
ii  debconf [debconf-2.0]  1.5.82
ii  groff-base 1.22.4-10
ii  libc6  2.36-9+deb12u3
ii  libgdbm6   1.23-3
ii  libpipeline1   1.5.7-1
ii  libseccomp22.5.4-1+b3
ii  zlib1g 1:1.2.13.dfsg-1

man-db recommends no packages.

Versions of packages man-db suggests:
ii  apparmor3.0.8-3
ii  groff   1.22.4-10
ii  less590-2
ii  lynx [www-browser]  2.9.0dev.12-1
ii  w3m [www-browser]   0.5.3+git20230121-2

-- Configuration Files:
/etc/manpath.config changed:
MANDATORY_MANPATH   /usr/man
MANDATORY_MANPATH   /usr/share/man
MANDATORY_MANPATH   /usr/local/share/man
MANPATH_MAP /bin/usr/share/man
MANPATH_MAP /usr/bin/usr/share/man
MANPATH_MAP /sbin   /usr/share/man
MANPATH_MAP /usr/sbin   /usr/share/man
MANPATH_MAP /usr/local/bin  /usr/local/man
MANPATH_MAP /usr/local/bin  /usr/local/share/man
MANPATH_MAP /usr/local/sbin /usr/local/man
MANPATH_MAP /usr/local/sbin /usr/local/share/man
MANPATH_MAP /usr/X11R6/bin  /usr/X11R6/man
MANPATH_MAP /usr/bin/X11/usr/X11R6/man
MANPATH_MAP /usr/games  /usr/share/man
MANPATH_MAP /opt/bin/opt/man
MANPATH_MAP /opt/sbin   /opt/man
MANDB_MAP   /usr/man/var/cache/man/fsstnd
MANDB_MAP   /usr/share/man  /var/cache/man
MANDB_MAP   /usr/local/man  /var/cache/man/oldlocal
MANDB_MAP   /usr/local/share/man/var/cache/man/local
MANDB_MAP   /usr/X11R6/man  /var/cache/man/X11R6
MANDB_MAP   /opt/man/var/cache/man/opt
MANDB_MAP   /snap/man   /var/cache/man/snap
SECTION 1 n l 8 3 0 2 3type 3posix 3pm 3perl 3am 5 4 9 6 7
NOCACHE


-- debconf information:
  man-db/install-setuid: false
  man-db/auto-update: true
ruid=1000, euid=1000
rgid=1000, egid=1000
From the config file /etc/manpath.config:
  Mandatory mandir `/usr/man'.
  Mandatory mandir `/usr/share/man'.
  Mandatory mandir `/usr/local/share/man'.
  Path `/bin' mapped to mandir `/usr/share/man'.
  Path `/usr/bin' mapped to mandir `/usr/share/man'.
  Path `/sbin' mapped to mandir `/usr/share/man'.
  Path `/usr/sbin' mapped to mandir `/usr/share/man'.
  Path `/usr/local/bin' mapped to mandir `/usr/local/man'.
  Path `/usr/local/bin' mapped to mandir `/usr/local/share/man'.
  Path `/usr/local/sbin' mapped to mandir `/usr/local/man'.
  Path `/usr/local/sbin' mapped to mandir `/usr/local/share/man'.
  Path `/usr/X11R6/bin' mapped to mandir `/usr/X11R6/man'.
  Path `/usr/bin/X11' mapped to mandir `/usr/X11R6/man'.
  Path `/usr/games' mapped to mandir `/usr/share/man'.
  Path `/opt/bin' mapped to mandir `/opt/man'.
  Path `/opt/sbin' mapped to mandir `/opt/man'.
  Global mandir `/usr/man', catdir `/var/cache/man/fsstnd'.
  Global mandir `/usr/share/man', catdir `/var/cache/man'.
  Global mandir `/usr/local/man', catdir `/var/cache/man/oldlocal'.
  Global mandir `/usr/local/share/man', catdir `/var/cache/man/local'.
  Global mandir `/usr/X11R6/man', catdir `/var/cache/man/X11R6'.
  Global mandir `/opt/man', catdir `/var/cache/man/opt'.
  Global mandir `/snap/man', catdir `/var/cache/man/snap'.
  Added sections: `1', `n', `l', `

Bug#1059542: groff-base: eqn mathml output doesn't understand left floor/right floor (or \[rf])

2023-12-27 Thread наб
Package: groff-base
Version: 1.23.0-3
Version: 1.22.4-10
Severity: normal

Dear Maintainer,

I'm trying to assemble some equations.
MathML is convenient for high-res renders and embedding.

One such is:
  w = left floor l 39 over 40 right floor

When rendering images with eqn2graph and groff -Thtml (both attached),
this yields the expected ⌊ and ⌋ wrapping.

However, when rendering with eqn -TMathML and groff -Txhtml (likewise),
this yields "w = floor l³⁹⁄₄₉ floor". Also \[lf] and \[lf] are "unknown
eqn/troff special char [rl]f", but they obviously ought to be given that
they are understood by groff.

Best,
наб

-- System Information:
Debian Release: 12.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages groff-base depends on:
ii  libc6 2.36-9+deb12u3
ii  libgcc-s1 12.2.0-14
ii  libstdc++612.2.0-14
ii  libuchardet0  0.0.7-1

groff-base recommends no packages.

Versions of packages groff-base suggests:
ii  groff  1.22.4-10

-- no debconf information
.if !dEQ .ds EQ
.if !dEN .ds EN
.EQ
w=unknown eqn/troff special char lfunknown eqn/troff special char rffloorl3940floor
.EN


binGSJicdKuIJ.bin
Description: application/xhtml


signature.asc
Description: PGP signature


Bug#1059734: /usr/bin/uscan: refuses to download a tarball it says matches, does nothing, exits 0

2023-12-30 Thread наб
bijaczleweli/snappy-tools/archive/0a.tar.gz.asc 
failed: 404 NOT FOUND
  uscan die: FAIL Checking OpenPGP signature (no keyring).
(correct, I didn't sign it).

With sed -i s/0/0a/ debian/changelog and --d-c-v I see
  uscan info: Found the following matching hrefs on the web page (newest first):
 https://git.sr.ht/~nabijaczleweli/snappy-tools/archive/0a.tar.gz (0a) 
index=0a-1 matched with the download version
 https://git.sr.ht/~nabijaczleweli/snappy-tools/archive/0a.tar.gz (0a) 
index=0a-1 matched with the download version
 https://git.sr.ht/~nabijaczleweli/snappy-tools/archive/0.tar.gz (0) 
index=0-1
 https://git.sr.ht/~nabijaczleweli/snappy-tools/archive/0.tar.gz (0) 
index=0-1
  uscan info: Looking at $base = 
https://git.sr.ht/~nabijaczleweli/snappy-tools/refs with
  $filepattern = 
.*/([0-9][0-9a-zA-Z]*)(?i)(?:\.(?:tar\.xz|tar\.bz2|tar\.gz|tar\.zstd?|zip|tgz|tbz|txz))
 found
  $newfile = 
https://git.sr.ht/~nabijaczleweli/snappy-tools/archive/0a.tar.gz
  $newversion  = 0a
  $lastversion = 0a
  uscan info: Matching target for downloadurlmangle: 
https://git.sr.ht/~nabijaczleweli/snappy-tools/archive/0a.tar.gz
  uscan info: Upstream URL(+tag) to download is identified as
https://git.sr.ht/~nabijaczleweli/snappy-tools/archive/0a.tar.gz
  uscan info: Filename (filenamemangled) for downloaded file: 0a.tar.gz
  Newest version of snappy-tools on remote site is 0a, specified download 
version is 0a
  uscan info: Not downloading, using existing file: 0a.tar.gz
  uscan info: Downloading OpenPGP signature from:
 https://git.sr.ht/~nabijaczleweli/snappy-tools/archive/0a.tar.gz.asc 
(pgpsigurlmangled)
 as 0a.tar.gz.asc
  uscan info: Requesting URL:
 https://git.sr.ht/~nabijaczleweli/snappy-tools/archive/0a.tar.gz.asc
  uscan warn: In directory ., downloading
https://git.sr.ht/~nabijaczleweli/snappy-tools/archive/0a.tar.gz.asc 
failed: 404 NOT FOUND
  uscan die: FAIL Checking OpenPGP signature (no keyring).
so idk.

Does uscan simply refuse to download version 0?
Is this a bizarre perlism (version "0" => if version => false)?

Best,
наб

-- Package-specific info:

--- /etc/devscripts.conf ---
Empty.

--- ~/.devscripts ---
Not present

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages devscripts depends on:
ii  dpkg-dev  1.21.22
ii  fakeroot  1.31-1.2
ii  file  1:5.44-3
ii  gnupg 2.2.40-1.1
ii  gpgv  2.2.40-1.1
ii  libc6 2.36-9+deb12u3
ii  libfile-dirlist-perl  0.05-3
ii  libfile-homedir-perl  1.006-2
ii  libfile-touch-perl0.12-2
ii  libfile-which-perl1.27-2
ii  libipc-run-perl   20220807.0-1
ii  libmoo-perl   2.005005-1
ii  libwww-perl   6.68-1
ii  patchutils0.4.2-1
ii  perl  5.36.0-7+deb12u1
ii  python3   3.11.2-1+b1
ii  sensible-utils0.0.17+nmu1
ii  wdiff 1.2.2-5

Versions of packages devscripts recommends:
ii  apt 2.6.1
ii  curl7.88.1-10+deb12u5
ii  dctrl-tools 2.24-3+b1
pn  debian-keyring  
ii  dput1.1.3
ii  equivs  2.3.1
ii  libdistro-info-perl 1.5+deb12u1
ii  libdpkg-perl1.21.22
ii  libencode-locale-perl   1.05-3
pn  libgit-wrapper-perl 
pn  libgitlab-api-v4-perl   
ii  liblist-compare-perl0.55-2
ii  liblwp-protocol-https-perl  6.10-1
ii  libsoap-lite-perl   1.27-3
pn  libstring-shellquote-perl   
ii  libtry-tiny-perl0.31-2
ii  liburi-perl 5.17-1
pn  licensecheck
ii  lintian 2.116.3
ii  man-db  2.11.2-2
ii  patch   2.7.6-7.1
ii  pristine-tar1.50
ii  python3-apt 2.6.0
ii  python3-debian  0.1.49
pn  python3-magic   
ii  python3-requests2.28.1+dfsg-1
pn  python3-unidiff 
ii  python3-xdg 0.28-2
ii  strace  6.1-0.1
ii  unzip   6.0-28
ii  wget1.21.3-1+b2
ii  xz-utils5.4.1-0.2

Versions of packages devscripts suggests:
pn  adequate 
pn  at   
pn  autopkgtest

Bug#1059735: git-buildpackage: baffling instructions w.r.t. creating a new package

2023-12-30 Thread наб
Package: git-buildpackage
Version: 0.9.30
Severity: normal

Dear Maintainer,

I would like to import the first version of an upstream source into
a fresh gbp-maintained debian package. I have the usual debian
branch files under debian/ prepped, the working tree is ready for
an uscan.

  $ git ls-tree HEAD
  04 tree 4c37e44470bd093f9b15f925366c84757828cbb3debian
  $ git branch -a
  * debian
  $ gbp import-orig --uscan --pristine-tar
  gbp:error:
  Repository does not have branch 'upstream' for upstream sources. If there is 
none see
  
file:///usr/share/doc/git-buildpackage/manual-html/gbp.import.html#GBP.IMPORT.CONVERT
  on howto create it otherwise use --upstream-branch to specify it.

Of course it doesn't, there is none. Let's see.

The first and most obvious issue is that the #-location doesn't exist.
"GBP" doesn't figure once in the HTML.

But finding a "Starting a Debian™ package from scratch" sexion in the
index, I navigated to
  
file://localhost/usr/share/doc/git-buildpackage/manual-html/gbp.import.fromscratch.html
which says (these are the entire contents of this document, barring 
header/footer):
  Starting a Debian™ package from scratch
  
 So far, we assumed you already have a Debian™ package to start with, but 
what if you want to start a new package? First, create an empty repository:
mkdir package-0.1
cd package-0.1
git init
  
 Then, you import the upstream sources, branch off the upstream-branch 
branch and add the Debian™ files (e.g. via dh_make):
gbp import-orig -u 0.1 ../package-0.1.tar.gz
dh_make
  
 That's it, you're done. If you want to publish your new repository, you 
can use gbp create-remote-repo.

(a) Why on earth does the directory have a version in it?
(b) gbp import-orig doesn't have an -u option:
  $ man gbp-import-orig | grep -- '-u\b'
  $
and even if it did, I don't see how it would materially change the error.
(c) I didn't realise, until evaluating this literally phrase-by-phrase,
what "branch off the upstream-branch branch" was supposed to
mean, and the entire "Then, you import the upstream sources,
branch off the upstream-branch branch and add the Debian™ files"
sequence is incomprehensible:
(c1) this describes a sequence of
 "import -> create upstream branch -> add debian files";
 import where? this is impossible
(c2) what in god's name does "branch off the upstream-branch branch" mean
(c3) what is "the upstream-branch branch". I've never seen a
 branch called "upstream-branch". Why does it spec that
 instead of the documented default of "upstream"?
(c4) no but really. does it try to mean to spec
   git checkout -b upstream
   git import-orig ...
 or what? Because that's what I did finally after I violated
 (c1) and that worked but. well.
(d) I think this whole thing is worse than just saying
  Repository does not have branch 'upstream' for upstream sources.
  Use --upstream-branch or create it with git checkout -b upstream,
  then gbp import-orig again.
(e) This will also fix the "see [url] on howto create it" salad.

Best,
наб

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages git-buildpackage depends on:
ii  devscripts 2.23.4+deb12u1
ii  git1:2.39.2-1.1
ii  man-db 2.11.2-2
ii  python33.11.2-1+b1
ii  python3-dateutil   2.8.2-2
ii  python3-pkg-resources  66.1.1-1
ii  python3-yaml   6.0-3+b2
ii  sensible-utils 0.0.17+nmu1

Versions of packages git-buildpackage recommends:
pn  cowbuilder | pbuilder | sbuild  
ii  pristine-tar1.50
ii  python3-requests2.28.1+dfsg-1

Versions of packages git-buildpackage suggests:
pn  python3-notify2  
ii  sudo 1.9.13p3-1+deb12u1
ii  unzip6.0-28

-- no debconf information


signature.asc
Description: PGP signature


Bug#1059761: ITP: snappy-tools -- Snappy, a fast compressor/decompressor ‒ program

2023-12-31 Thread наб
Package: wnpp
Severity: wishlist
Owner: наб 
X-Debbugs-Cc: debian-de...@lists.debian.org

* Package name: snappy-tools
  Version : 0
  Upstream Contact: наб 
* URL : https://sr.ht/~nabijaczleweli/snappy-tools
* License : 0BSD
  Programming Lang: C++
  Description : Snappy, a fast compressor/decompressor ‒ program

The Snappy compression algorithm aims for very high speeds
and reasonable compression, suitable for real-time RPC scenarios,
but is also used by, i.a., Firefox to compress parts of the profile.

This package provides snappy(1) and unsnappy(1),
which handle Snappy compression and decompression with and without framing.

-- 

The packaging is (will be, once, I get a bugnum for the ITP) uploaded to
  https://mentors.debian.net/package/snappy-tools/
and is tracked in git at
  https://git.sr.ht/~nabijaczleweli/snappy-tools.deb

Your Firefox profile contains files compressed with the Snappy framing
format, and Snappy is also used for on-the-wire compression
(on the web, if rarely, and for other RPCs, like mongodb),
as well as a compression option in ceph and rocksdb (default in the latter),
so the ability to inspect and produce snappy streams is inherently useful.

I do need a sponsor for this, as I am not a DM.


signature.asc
Description: PGP signature


Bug#1059778: /usr/share/man/man3/mouse.3ncurses.gz: wmouse_trafo()'s boolean parameter is confusing

2023-12-31 Thread наб
Package: ncurses-doc
Version: 6.4+20231121-1
Severity: normal
File: /usr/share/man/man3/mouse.3ncurses.gz

Dear Maintainer,

Quoting the manual:
  The wmouse_trafo function transforms a given pair of coordinates
  from stdscr-relative coordinates to coordinates relative to the
  given window or vice versa.
  • If the parameter to_screen is TRUE, the pointers pY, pX must
reference the coordinates of a location inside the window win.
They are converted to window-relative coordinates and returned
through the pointers. If the conversion was successful, the
function returns TRUE.
  • If to_screen is FALSE, the pointers pY, pX must reference
window-relative coordinates. They are converted to stdscr-relative
coordinates if the window win en‐ closes this point. In this
case the function returns TRUE.

So, if to_screen is true, then the coordinates are converted from screen
to window coordinates?
And if to_screen is false, then window corrdinates are converted to
screen coordinates?

Given
  -stdscr
  | |
  | |
  | |
  | -win--  |
  | |x   |  |
  | ||  |
  | ||  |
  | ||  |
  |_|
I should expect wmouse_trafo(win, &1, &1, true)  to yield 6, 6,
and wmouse_trafo(win, &6, &6, false) to yield 1, 1?
(And both wmouse_trafo(win, &1, &1, false)
  and wmouse_trafo(win, &6, &6, true)  to return false?)

Or, to put it bluntly, is the to_screen parameter actually to_window,
and not to_screen?

What is the purpose of mouse_trafo() if a stdscr/stdscr mapping is
a no-op? Is the first sentence conflating the stdscr window with
the physical, uh, window^Wscreen^Wdisplay?

Best,
наб

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-- no debconf information


signature.asc
Description: PGP signature


Bug#1059783: libncursesw6: wmouse_trafo doesn't appear to always reject out-of-bounds positions

2023-12-31 Thread наб
Package: libncursesw6
Version: 6.4+20231121-1
Severity: normal

Dear Maintainer,

I am attaching a repro.c program that when built with
  cc -O3 -g -Wall -Wextra -DNCURSES_WIDECHAR -D_GNU_SOURCE  repro.c
  -lncursesw -ltinfo -o repro
presents a UI in the form of
  first line
  -> L1
 L2
 L3
 L4
 L5
  last line

Mousing is enabled, and if you click on a line the cursor on the left
moves to select it.

The first line and last line are on stdscr, the rest of the screen is
urlswin = newpad(LINES, COLS), rendered via
  pnoutrefresh(urlswin, /**/ url[first_on_page].cursor_y + fudge, 0, /**/ 1 
/*title line*/, 0, LINES - 2, COLS);

On KEY_MOUSE and BUTTON1_CLICKED:
  getmouse(&ev);
  if(!wmouse_trafo(urlswin, &ev.y, &ev.x, false))
break;
and the line targeted is found and selected.

Clicking on first line correctly hits the break.
Clicking on last line incorrectly continues on.

This shows as scrolling to the next screen
(since the line selected is L6, which would be under last line).

This /only happens/ if the lines go all the way to the line above last.
If you click on any line below a non-full screen (s/1000/10/ or scroll down),
nothing happens.
Is this a weird thing with the edge of the screen?
Or with how pnoutrefresh accounts for the undrawn parts of the pad?

Best,
наб

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libncursesw6 depends on:
ii  libc6  2.36-9+deb12u3
ii  libtinfo6  6.4+20231121-1

Versions of packages libncursesw6 recommends:
ii  libgpm2  1.20.7-10+b1

libncursesw6 suggests no packages.

-- no debconf information
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 


struct url {
	char * url;
	size_t urllen;
	int cursor_y, cursor_x;
	int last_y;
};


int main() {
	setlocale(LC_ALL, "");

	size_t urlcount  = 1000;
	struct url * url = reallocarray(NULL, urlcount, sizeof(*url));
	for(size_t i = 0; i < urlcount; ++i)
		url[i].urllen = asprintf(&url[i].url, "L%zu", i);

	size_t current = 0, oldcurrent = 0;

	initscr();

	cbreak();
	noecho();
	curs_set(1);
	keypad(stdscr, TRUE);
	mousemask(BUTTON1_CLICKED | BUTTON5_PRESSED | BUTTON4_PRESSED, NULL);
	mouseinterval(5);

//  title line
#define urlswin_logical_height (LINES - 1 - 1)
	//status line
	WINDOW * urlswin = newpad(LINES, COLS);
	if(!urlswin)
		return endwin(), 1;

	int page_of_current  = 0;
	size_t first_on_page = 0;
	int fudge= 0;
	for(bool done = false; !done;) {
		{
			clear();
			mvwaddstr(stdscr, 0, 0, "first line");
			mvwaddstr(stdscr, LINES - 1, 0, "last line");
			wnoutrefresh(stdscr);

			wclear(urlswin);
			wmove(urlswin, 0, 0);
			for(size_t i = 0; i < urlcount; ++i) {
#define EXPAND()  \
	{   \
		int sizey, sizex; \
		getmaxyx(urlswin, sizey, sizex);  \
		if(wresize(urlswin, sizey * 2, sizex) == ERR) \
			break;  \
	}
#define EXPANDONSCROLL(...) \
	if(__VA_ARGS__ != OK) {   \
		wmove(urlswin, starty, startx); \
		EXPAND();   \
		goto again; \
	}
int starty, startx;
getyx(urlswin, starty, startx);

			again:
EXPANDONSCROLL(waddstr(urlswin, "   "));
getyx(urlswin, url[i].cursor_y, url[i].cursor_x);
--url[i].cursor_x;
EXPANDONSCROLL(wprintw(urlswin, "%4zu", i + 1));
EXPANDONSCROLL(waddch(urlswin, ' '));
EXPANDONSCROLL(waddnstr(urlswin, url[i].url, url[i].urllen));
url[i].last_y = getcury(urlswin);

if(i != urlcount - 1)
	if(waddch(urlswin, '\n') != OK) {
		EXPAND();
		waddch(urlswin, '\n');
	}
			}

			mvwaddstr(urlswin, url[oldcurrent].cursor_y, url[oldcurrent].cursor_x - 2, "  ");
			wstandout(urlswin);
			mvwaddstr(urlswin, url[current].cursor_y, url[current].cursor_x - 2, "->");
			wstandend(urlswin);

			page_of_current = url[current].cursor_y / urlswin_logical_height;
			first_on_page   = 0;
			while(url[first_on_page].cursor_y / urlswin_logical_height != page_of_current)
++first_on_page;
			fudge = 0;  // try to get the last-URL-on-the-page to be in

Bug#1063097: /usr/bin/mkimage: opens image and device trees (-d, -b) O_RDONLY, then O_RDWR, and fails if they're read-only (it doesn't write to them)

2024-03-20 Thread наб
Control: tags -1 + upstream

On Tue, Mar 19, 2024 at 02:41:13PM -0700, Vagrant Cascadian wrote:
> It would be helpful to list the exact command you are running,
whoops!
mkimage -f auto -A arm64 \
-T kernel -C lz4 -d Image-6.6.15.lz4 \
-b mt8173-elm-hana-6.6.15.dtb outf

> although best to take this upstream.
Yeah, can repro on mkimage from upstream checkout:
  $ strace -oss tools/mkimage -f auto -A arm64 -T kernel -C lz4 -d 
Image-6.6.15.lz4 -b mt8173-elm-hana-6.6.15.dtb /dev/null
  tools/mkimage: Can't open Image-6.6.15.lz4: Permission denied
  tools/mkimage: Failed to build FIT image
  tools/mkimage: failed to build FIT
  Error: Bad parameters for FIT image type
  $ grep Image ss
  execve("tools/mkimage", ["tools/mkimage", "-f", "auto", "-A", "arm64", "-T", 
"kernel", "-C", "lz4", "-d", "Image-6.6.15.lz4", "-b", 
"mt8173-elm-hana-6.6.15.dtb", "/dev/null"], 0x7ffdbed66100 /* 30 vars */) = 0
  openat(AT_FDCWD, "Image-6.6.15.lz4", O_RDONLY) = 3
  openat(AT_FDCWD, "Image-6.6.15.lz4", O_RDWR) = -1 EACCES (Permission denied)
  write(2, "tools/mkimage: Can't open Image-"..., 62) = 62
  $ gdb --args tools/mkimage -f auto -A arm64 -T kernel -C lz4 -d 
Image-6.6.15.lz4 -b mt8173-elm-hana-6.6.15.dtb /dev/null
  #0  __libc_open64 (file=0x7fffe587 "Image-6.6.15.lz4", oflag=2) at 
../sysdeps/unix/sysv/linux/open64.c:30
  #1  0xf0f7 in fdt_property_file ()
  #2  0xdef9 in fit_handle_file ()
  #3  0x5557d1da in main ()
so I'll post a patch there probably.

Best,


signature.asc
Description: PGP signature


Bug#1051205: git grep -F isn't ‒ '(' fails with "fatal: unmatched parenthesis"

2024-03-22 Thread наб
Control: tags -1 + upstream

hehe hoho git grep '(' is actually git grep PATTERN_GROUP_START,
because git grep has pattern grouping.

Not a bug per se, but the error message is actively adversarial:
  $ git grep \(
  fatal: unmatched parenthesis
  $ git grep \)
  fatal: incomplete pattern expression: )
neither of these explain what the error actually is.
Somehow the one for ) is worse,
since this is a /complete/ pattern (which is a regular expression).


signature.asc
Description: PGP signature


Bug#1067752: anacrontab(5) incorrectly says the only @period is @monthly (@yearly also supported)

2024-03-26 Thread наб
Package: anacron
Version: 2.3-39
Severity: minor
Tags: patch

Dear Maintainer,

anacrontab.5 says:
  The
  .I period_name
  can only be set to monthly at the present time.\&
(note also the weird space at the end) the README says:
  Anacron solves this problem.  These jobs can simply be scheduled as
  Anacron-jobs with periods of 1, 7 and a special target called @monthly.
but readtab.c says:
if (!strncmp ("@monthly", periods, 7)) {
jr->named_period = 1;
} else if (!strncmp("@yearly", periods, 7)) {
jr->named_period = 2;
} else {
complain("%s: Unknown named period on line %d, skipping",
 anacrontab, line_num);
}
so the manual is wrong here.

Attaching a patch that mentions @yearly in the manual. I got lost
in the "source forge" bullshit listed as the upstream in d/control
and d/watch, and @monthly seems to come from d/p/debian-changes
anyway (it's tagged as accumulated upstream git but idk due to the
aforementioned), so please forward/squash into d/p/d-c at your
discretion.

Best,
наб

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Subject: anacrontab.5: mention @yearly
Author: наб 

--- anacron-2.3.orig/anacrontab.5
+++ anacron-2.3/anacrontab.5
@@ -28,11 +28,13 @@ The
 .I command
 can be any shell command.\&
 The fields can be separated by blank spaces or tabs.\&
-The
 .I period_name
-can only be set to monthly at the present time.\&
+can be set to
+.B monthly
+or
+.BR yearly .\&
 This will ensure jobs are only run once a month, no matter the number of days
-in this month, or the previous month.\&
+in this month, or the previous month; or analogously for the year.\&
 .PP
 Environment assignment lines are of the form:
 .PP


signature.asc
Description: PGP signature


Bug#1068252: urlview: (security) extract IMG URLs so users can see tracker pixels

2024-04-02 Thread наб
Control: tags -1 + wontfix unreproducible

On Tue, Apr 02, 2024 at 09:33:06PM +0200, Manny wrote:
> Tracker pixels are quite commonly used to snoop on email
> recipients. URLview ignores URLs that specify an image to render.
Inconsistent capitalisation (URLview here/urlview elsewhere)
and incoherent problem statement makes me think this first sentence
was produced by an LLM while farming for a security issue (note
also "(security)" in subject but Tags: wishlist). The lack of
cohesion and utter detachment from reality of the rest of this post
only drives this further for me.

À la mode?


signature.asc
Description: PGP signature


Bug#1071363: snappy-tools: FTBFS: snappy.cpp:575:51: error: call of overloaded ‘Compress({anonymous}::fd_source*, {anonymous}::FILE_sink*)’ is ambiguous

2024-05-17 Thread наб
@ -68,0 +76 @@
+U _ZSt24__throw_out_of_range_fmtPKcz@GLIBCXX_3.4.20
@@ -71,0 +80 @@
+V _ZTIN6snappy17SnappyIOVecReaderE
@@ -75,0 +85 @@
+V _ZTSN6snappy17SnappyIOVecReaderE
@@ -79,0 +90 @@
+V _ZTVN6snappy17SnappyIOVecReaderE
@@ -87,0 +99,5 @@
+W _ZN6snappy17SnappyIOVecReader4PeekEPm
+W _ZN6snappy17SnappyIOVecReader4SkipEm
+W _ZN6snappy17SnappyIOVecReaderD0Ev
+W _ZN6snappy17SnappyIOVecReaderD1Ev
+W _ZN6snappy17SnappyIOVecReaderD2Ev
@@ -96,0 +113 @@
+W _ZNK6snappy17SnappyIOVecReader9AvailableEv

I have tested this briefly and it works with snappy-tools built for
snappy 1.1.9 (bookworm), and src:snappy-tools builds against it.
Maybe a migration is unnecessary?

Best,
Description: release 1.2.0 added CompressionOptions without backward compatibilty
 Add API calls without CompressionOptions which calls the new functions with
 empty options.
Author: наб 
Bug-Debian: https://bugs.debian.org/1070217
Forwarded: no
Last-Update: 2024-05-18

--- snappy-1.2.0.orig/snappy.cc
+++ snappy-1.2.0/snappy.cc
@@ -1792,6 +1792,10 @@ bool GetUncompressedLength(Source* sourc
   return decompressor.ReadUncompressedLength(result);
 }
 
+size_t Compress(Source* reader, Sink* writer) {
+  return Compress(reader, writer, {});
+}
+
 size_t Compress(Source* reader, Sink* writer, CompressionOptions options) {
   assert(options.level == 1 || options.level == 2);
   int token = 0;
@@ -2299,6 +2303,11 @@ bool IsValidCompressed(Source* compresse
 }
 
 void RawCompress(const char* input, size_t input_length, char* compressed,
+ size_t* compressed_length) {
+  RawCompress(input, input_length, compressed, compressed_length, {});
+}
+
+void RawCompress(const char* input, size_t input_length, char* compressed,
  size_t* compressed_length, CompressionOptions options) {
   ByteArraySource reader(input, input_length);
   UncheckedByteArraySink writer(compressed);
@@ -2309,6 +2318,11 @@ void RawCompress(const char* input, size
 }
 
 void RawCompressFromIOVec(const struct iovec* iov, size_t uncompressed_length,
+  char* compressed, size_t* compressed_length) {
+  return RawCompressFromIOVec(iov, uncompressed_length, compressed, compressed_length, {});
+}
+
+void RawCompressFromIOVec(const struct iovec* iov, size_t uncompressed_length,
   char* compressed, size_t* compressed_length,
   CompressionOptions options) {
   SnappyIOVecReader reader(iov, uncompressed_length);
@@ -2319,6 +2333,11 @@ void RawCompressFromIOVec(const struct i
   *compressed_length = writer.CurrentDestination() - compressed;
 }
 
+size_t Compress(const char* input, size_t input_length,
+std::string* compressed) {
+  return Compress(input, input_length, compressed, {});
+}
+
 size_t Compress(const char* input, size_t input_length, std::string* compressed,
 CompressionOptions options) {
   // Pre-grow the buffer to the max length of the compressed output
--- snappy-1.2.0.orig/snappy.h
+++ snappy-1.2.0/snappy.h
@@ -78,8 +78,9 @@ namespace snappy {
 
   // Compress the bytes read from "*reader" and append to "*writer". Return the
   // number of bytes written.
+  size_t Compress(Source* reader, Sink* writer);
   size_t Compress(Source* reader, Sink* writer,
-  CompressionOptions options = {});
+  CompressionOptions options);
 
   // Find the uncompressed length of the given stream, as given by the header.
   // Note that the true length could deviate from this; the stream could e.g.
@@ -99,7 +100,9 @@ namespace snappy {
   //
   // REQUIRES: "input[]" is not an alias of "*compressed".
   size_t Compress(const char* input, size_t input_length,
-  std::string* compressed, CompressionOptions options = {});
+  std::string* compressed);
+  size_t Compress(const char* input, size_t input_length,
+  std::string* compressed, CompressionOptions options);
 
   // Same as `Compress` above but taking an `iovec` array as input. Note that
   // this function preprocesses the inputs to compute the sum of
@@ -151,7 +154,9 @@ namespace snappy {
   //... Process(output, output_length) ...
   //delete [] output;
   void RawCompress(const char* input, size_t input_length, char* compressed,
-   size_t* compressed_length, CompressionOptions options = {});
+   size_t* compressed_length);
+  void RawCompress(const char* input, size_t input_length, char* compressed,
+   size_t* compressed_length, CompressionOptions options);
 
   // Same as `RawCompress` above but taking an `iovec` array as input. Note that
   // `uncompressed_length` is the total number of bytes to be read from the


signature.asc
Description: PGP signature


Bug#1071363: snappy-tools: FTBFS: snappy.cpp:575:51: error: call of overloaded ‘Compress({anonymous}::fd_source*, {anonymous}::FILE_sink*)’ is ambiguous

2024-05-20 Thread наб
On Mon, May 20, 2024 at 10:13:30PM +0200, László Böszörményi (GCS) wrote:
> On Sat, May 18, 2024 at 12:29 AM наб  
> wrote:
> > or actually no treatment at all, because RawCompressFromIOVec() is new in 
> > 1.2
>  Nope, it was added in v1.1.10 and it was part of the archive [1],
ah yeah, i just was just looking at the 1.1.9-3/1.2.0-1 diff


signature.asc
Description: PGP signature


Bug#985478: [v2 PATCH] options: Always reset OPTIND in getoptsreset

2024-05-21 Thread наб
On Sun, May 19, 2024 at 10:21:42PM +0800, Herbert Xu wrote:
> Always reset OPTIND if it is modified by the user, regardless of
> its value.
I disagree in principle, but I think this is basically fine actually;
strictly, we are allowed to do this
  98842  If the application sets OPTIND to the value 1, a new set of parameters 
can be used: either the
  98843  current positional parameters or new arg values. Any other attempt to 
invoke getopts multiple
  98844  times in a single shell execution environment with parameters 
(positional parameters or arg
  98845  operands) that are not the same in all invocations, or with an OPTIND 
value modified to be a
  98846  value other than 1, produces unspecified results.
but I cannot prove this breaks existing code in the wild.

I mean such code most likely definitely exists,
but I cannot prove this; but even if it does,
it relies on "unspecified" behaviour, which means it
"cannot be assured to be portable across conforming implementations"
such as dash 1 and dash 2.
I still think it should keep working, since it had worked.

While I found at least one changelog entry in DCS saying
"remove unset OPTIND to work around broken dash shell"
by searching for "unset.*OPTIND\b",
searching "OPTIND=[^01]" gives me heaps of OPTIND=digit
and OPTIND=expression users, but most of them are explicit bash users;
the first one with /bin/sh is

https://sources.debian.org/src/sptk/3.9-3/debian/scripts/raw2wav/?hl=74#L74
reading
OPTIND=0
OPT=""
for i in "$@"
do
OPTIND=`expr $OPTIND + 1`
if [ "$OPT" = "" ]
then
OPTARG=""
but this program doesn't use getopts.

This turns "unset OPTIND must work but doesn't"
 + "OPTIND=asd is invalid but probably shouldn't be"
 + "OPTIND=3 makes getopts parse the third argument (as a happy 
accident)"
into "unset OPTIND works"
   + "OPTIND=asd works (and restarts getopts as a happy accident)"
   + "OPTIND=3 restarts getopts (as a happy accident)".

So, overall, reasonable, if a tad solomonic.


signature.asc
Description: PGP signature


Bug#1068864: coreutils: join -a3 errors "invalid field number" even when no field number given

2024-04-12 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

$ join -a3 /dev/null /dev/null
join: invalid field number: ‘3’

Not sure where field 3 came from here.

Best,
наб

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1  2.3.1-3
ii  libattr1 1:2.5.1-4
ii  libc62.36-9+deb12u4
ii  libgmp10 2:6.2.1+dfsg1-1.1
ii  libselinux1  3.4-1+b6

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1068876: coreutils: join: -a doesn't exclude -v (ought to per POSIX), confusing behaviour when combined

2024-04-12 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

Given
$ cat f1
row1f1  1
urow1   f1  2
$ cat f2
row1f2  1
urow2   f2  2
and join(1)
-a FILENUM
   also print unpairable lines from file FILENUM, where FILENUM is 1
   or 2, corresponding to FILE1 or FILE2
-v FILENUM
   like -a FILENUM, but suppress joined output lines
and POSIX.1-202x/D3, XCU, join
100437  SYNOPSIS
100438  join [-a file_number|-v file_number] [-e string] [-o 
list] [-t char]
100439  [-1 field] [-2 field] file1 file2

100460  OPTIONS
100463  −a file_number
100464  Produce a line for each unpairable line in file 
file_number, where file_number is 1 or
100465  2, in addition to the default output. If both −a1 and 
−a2 are specified, all unpairable
100466  lines shall be output.
100482  −v file_number
100483  Instead of the default output, produce a line only for 
each unpairable line in
100484  file_number, where file_number is 1 or 2. If both −v1 
and −v2 are specified, all
100485  unpairable lines shall be output.
we observe:
$ join f?
row1 f1 1 f2 1
$ join -v1 f?
urow1 f1 2
$ join -v1 -a1 f?
urow1 f1 2
$ join -v1 -a2 f?
urow1 f1 2
urow2 f2 2

This does not conform to POSIX (should be refused);
the manual implies some sort of separate accounting for -a and -v
(and the interaxion is not described at all),
but -v 1 appears to just be -v -a1. Why?

Best,
наб

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1  2.3.1-3
ii  libattr1 1:2.5.1-4
ii  libc62.36-9+deb12u4
ii  libgmp10 2:6.2.1+dfsg1-1.1
ii  libselinux1  3.4-1+b6

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1068889: coreutils: join -t refuses single-character delimiters as "multi-character tab"s

2024-04-12 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-1
Severity: normal

Dear Maintainer,

Yes good:
$ cat f1
row1f1  1
urow1   f1  2
$ cat f2
row1f2  1
urow2   f2  2
$ join f? -t '  '
row1f1  1   f2  1

Not good:
$ cat f1
row1ąf1ą1
urow1ąf1ą2
$ cat f2
row1ąf2ą1
urow2ąf2ą2
$ join f? -t 'ą'
join: multi-character tab ‘ą’

Compare manual:
-t CHAR use CHAR as input and output field separator

Compare POSIX.1-202x/D3, XCU, join, OPTIONS:
−t char
Use character char as a separator, for both input and 
output. Every appearance of
char in a line shall be significant. When this option 
is specified, the collating
sequence shall be the same as sort without the −b 
option.

Best,
наб

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1  2.3.1-3
ii  libattr1 1:2.5.1-4
ii  libc62.36-9+deb12u4
ii  libgmp10 2:6.2.1+dfsg1-1.1
ii  libselinux1  3.4-1+b6

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1068891: coreutils: is join -t '' just comm -12?

2024-04-12 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

POSIX.1-202x/D3:
−t char
Use character char as a separator, for both input and 
output. Every appearance of
char in a line shall be significant. When this option 
is specified, the collating
sequence shall be the same as sort without the −b 
option.
so obviously allowing -t '' is an extension.

Manual:
-t CHAR
   use CHAR as input and output field separator

Important: FILE1 and FILE2 must be sorted on the  join  fields.  E.g.,
use  "sort  -k  1b,1"  if 'join' has no options, or use "join -t ''" if
'sort' has no options.  Note, comparisons honor the rules specified by
'LC_COLLATE'.   If  the  input  is  not sorted and some lines cannot be
joined, a warning message will be given.

So given
$ cat f1
row1f1  1
urow1   f1  2
$ cat f2
row1f2  1
urow2   f2  2
which are stable against both sort and sort -k 1b,1
$ join f?
row1 f1 1 f2 1
$ join f? -t '  '
row1f1  1   f2  1
is all as expected.

But
$ join f? -t ''
returns empty. What would empty -t mean, anyway?
The empty string can either be found at every position
(clearly not the case here, otherwise this'd be joined on r and u)
or at no positions, so
$ cat g1
row1
urow1
$ cat g2
row1
urow2
$ join g? -t ''
row1
which is, well
$ comm g? -12
row1

Somehow I don't feel like this is a good recommendation?

Best,
наб

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1  2.3.1-3
ii  libattr1 1:2.5.1-4
ii  libc62.36-9+deb12u4
ii  libgmp10 2:6.2.1+dfsg1-1.1
ii  libselinux1  3.4-1+b6

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1068892: coreutils: join -t accepts \0 to mean NUL; doesn't document it

2024-04-12 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

When trying to decypher -t behaviour for #1068891,
the second empty-string semantic I tried was **(argv + optind),
but that wasn't it. But what /is/ it is -t '\0'; i.e. given
$ cat f1
row1f1  1
urow1   f1  2
$ cat f2
row1f2  1
urow2   f2  2
$ join <(tr '\t' '\0' < f1) <(tr '\t' '\0' < f2) -t '\0' | cat -A
row1^@f1^@1^@f2^@1$
which is great, but the manual doesn't mention this at all.

Best,
наб

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1  2.3.1-3
ii  libattr1 1:2.5.1-4
ii  libc62.36-9+deb12u4
ii  libgmp10 2:6.2.1+dfsg1-1.1
ii  libselinux1  3.4-1+b6

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1068919: coreutils: join misconstrues empty fields as missing

2024-04-13 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

Given
$ cat f1

b
row1f1  1
row1f1  11
urow1   f1  2
$ cat f2

a
row1f2  1
row1f2  11
urow2   f2  2
$ join f? -e sus -o 0,1.1,1.2,1.3,2.1,2.2,2.3 -t '  '
sus sus sus sus sus sus sus
sus sus sus sus sus a   sus
sus sus b   sus sus sus sus
sus sus b   sus sus a   sus
row1row1f1  1   row1f2  1
row1row1f1  1   row1f2  11
row1row1f1  11  row1f2  1
row1row1f1  11  row1f2  11

The first two rows of f? have an empty field 1.
The first row has no field 2, and the second row has field 2 of "a"/"b".

Compare FreeBSD join
$ join  -e sus -o 0,1.1,1.2,1.3,2.1,2.2,2.3 -t '' f?
sus sus sus sus
sus sus a   sus
b   sus sus sus
b   sus a   sus
row1row1f1  1   row1f2  1
row1row1f1  1   row1f2  11
row1row1f1  11  row1f2  1
row1row1f1  11  row1f2  11
which correctly distinguished the empty field from a missing one.

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1  2.3.1-3
ii  libattr1 1:2.5.1-4
ii  libc62.36-9+deb12u4
ii  libgmp10 2:6.2.1+dfsg1-1.1
ii  libselinux1  3.4-1+b6

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information

b
row1f1  1
row1f1  11
urow1   f1  2

a
row1f2  1
row1f2  11
urow2   f2  2


signature.asc
Description: PGP signature


Bug#1040250: coreutils: tail: legacy flag format broken with empty number field

2024-06-21 Thread наб
On Mon, Jul 03, 2023 at 11:09:58PM +0200, наб wrote:
> However, coreutils tail somehow takes it to mean... 10?
> (Thus, coreutils tail +c f is the same as V7 tail +10c.)
This was actually mandated by SUSv3 and earlier
(before it was removed in later POSIXes).

So maybe do keep doing it.


signature.asc
Description: PGP signature


Bug#1074030: coreutils: ptx: -G errors out on empty lines, default and -O format accept them

2024-06-21 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

$ ptx

asd
^D
asd
$ ptx -O

asd
^D
.xx "" "" "asd" ""
$ ptx -G

asd
^D
ptx: error: regular expression has a match of length zero: ‘\n’
$ echo $?
1

Best,
наб

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1074031: coreutils: ptx: -A and -r are nonsensical together?

2024-06-21 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

$ ptx -O
GNU core utilities
vore gamer utilities
.xx "utilities" "" "GNU core utilities vore gamer" ""
.xx "utilities" "GNU" "core utilities vore gamer" ""
.xx "" "GNU core utilities vore" "gamer utilities" ""
.xx "" "GNU core" "utilities vore gamer utilities" ""
.xx "" "GNU core utilities vore gamer" "utilities" ""
.xx "" "GNU core utilities" "vore gamer utilities" ""

$ ptx -Or
GNU core utilities
vore gamer utilities
.xx "" "" "core utilities" "" "GNU"
.xx "" "" "gamer utilities" "" "vore"
.xx "" "core" "utilities" "" "GNU"
.xx "" "gamer" "utilities" "" "vore"

$ ptx -OA
GNU core utilities
vore gamer utilities
.xx "utilities" "" "GNU core utilities vore gamer" "" ":1"
.xx "utilities" "GNU" "core utilities vore gamer" "" ":1"
.xx "" "GNU core utilities vore" "gamer utilities" "" ":2"
.xx "" "GNU core" "utilities vore gamer utilities" "" ":1"
.xx "" "core utilities vore gamer" "utilities" "GNU" ":2"
.xx "" "GNU core utilities" "vore gamer utilities" "" ":2"

$ ptx -OAr
GNU core utilities
vore gamer utilities
.xx "" "" "core utilities" "" ":1"
.xx "" "" "gamer utilities" "" ":2"
.xx "" "core" "utilities" "" ":1"
.xx "" "gamer" "utilities" "" ":2"

So... the first word is removed but argument 5 is still the line number?

Best,
наб

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1074037: coreutils: ptx: splits a word mid-way into two tokens, refuses to ignore it?

2024-06-22 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

$ ptx
żonkil
^D
  ż   onkil
$ ptx -i <(echo żonkil)
żonkil
^D
  ż   onkil

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1074045: coreutils: ptx has some form of memory corruption (with -b?) that makes it list the whole input contiguously after other lines

2024-06-22 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

$ printf '%s\n' 'GNU  coreQutilities' 'QQvore  gamer utilitiesQ' '' '  ' 'q 
  ' |  ptx -w122 -fb <(printf 'Q \n\t\n')
  GNU   coreQutilities 
QQvore  gamer utilitiesQ q
   GNU  coreQutilities QQvore   gamer 
utilitiesQ q
GNU  
coreQutilities QQvore  gamer utilitiesQ q
 GNU  coreQutilities QQvore  gamer utilitiesQ   q
   GNU  coreQ   utilities 
QQvore  gamer utilitiesQ q
GNU  coreQutilities QQvore  gamer   utilitiesQ q
   GNU  coreQutilities QQ   vore  gamer 
utilitiesQ q

It's very obvious to see that
(a) GNU core utilities is not on the same line as vore gamer utilities
(b) they are nonetheless listed on the same line in the output
(c) as is the entire rest of the input
(d) despite the -b file containing all whitespace

This is either buffer mismanagement or just straight up ignoring -b(?)
Either way.

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1074131: coreutils: ptx: some -F values completely break the layout

2024-06-23 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

Compare:
$ ptx -i <(echo ‒; echo -; echo z; cat /usr/share/groff/current/eign) -f -b 
<(echo '   ') -w 40  <(sed -e 's/.*  //' -e 's/‒/-/g' b)
/merge or filter   adjacent identical/
  - execute with   alternate/   /chroot
/information   arch - get system/
 /output   arguments/
 z z z z z z z z   b /z z z z z z z
/- configure I/O   buffers chroot -/
 /character,   byte, and line/
 /character,   byte, and line/
  /- line, word,   character, byte,/
 /- qline, word,   character, byte,/
/I/O buffers   chroot - execute/
/libstdbuf -   configure I/O/
/state yes -   continually output/
/and line length   count wc - qline,/
/and line length   count who - list/
   /chroot -   execute with/
/unlink - remove   file link wc -/
 /with alternate   filesystem root z/
/uniq - merge or   filter adjacent/
/- configure   I/O buffers chroot/
/filter adjacent   identical lines/
   /- get system   information arch -/
   /- get system   information uniq -/
 /byte, and line   length count wc -/
 /byte, and line   length count who -/
  /arguments   libstdbuf -/
   wc//byte, and   line length count
  /byte, and   line length count/
 /file link wc -   line, word,/
  /identical   lines unlink -/
  /- remove file   link wc - line,/
/count who -   list login and/
  /state users -   list login and/
 /who - list   login and system/
   /users - list   login and system/
   system/ machine - get
 /uniq -   merge or filter/
  /- continually   output arguments/
 /count wc -   qline, word,/
 /lines unlink -   remove file link/
   z//filesystem   root z z z z z z z
   machine - get   system information/
 /arch - get   system information/
 /list login and   system state users/
 /list login and   system state yes -/
/information   uniq - merge or/
/identical lines   unlink - remove/
   /system state   users - list login/
  /file link   wc - line, word,/
   /length count   wc - qline, word,/
/link wc - line,   word, character,/
/wc - qline,   word, character,/
   /system state   yes - continually/

With:
$ ptx -i <(echo ‒; echo -; echo z; cat /usr/share/groff/current/eign) -f -b 
<(echo '   ') -w 40  <(sed -e 's/.*  //' -e 's/‒/-/g' b) -F…
…or filter   adjacent…
 …with   alternate…
  …information   arch - get…
   …output   arguments…
 z z z z z z   b   …z z z z z
   -…   …I/O   buffers chroot
   …character,   byte, and line…
   …character,   byte, and line…
 line, word,   character,…   …-
…word,   character,…
  …I/O buffers   chroot -…
  …libstdbuf -   configure I/O…
  …state yes -   continually…
  …line length   count wc -…
  …line length   count who -…
 …chroot -   execute with…
 …- remove   file link wc -…
…alternate   filesystem…
  - merge or   filter……uniq
  …- configure   I/O buffers…
 …adjacent   identical…
   …get system   information…
   …get system   information…
 …and line   length count…
 …and line   length count…
…arguments   libstdbuf -…
…byte, and   line length…
…byte, and   line length…
…link wc -   line, word,…
…identical   lines unlink -…
 remove file   link wc -……-
  …count who -   list login and…
  …users -   list login and…
   …who - list   login and…
   …- list   login and…
   system…   machine - get
   …uniq -   merge or…
 continually   output…   …yes -
   …count wc -   qline, word,…
 …unlink -   remove file…
   …filesystem   root z z z z z…
…- get   system…
   …arch - get   system…
…login and   system state…
…login and   system state…
  …information   uniq - merge…
…lines   unlink -…
…state   users - list…
…file link   wc - line,…
…count   wc - qline,…
  wc - line,   word,… …link
 wc - qline,   word,……count
   state   yes -…   …system

b attached; eign from bookworm groff

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  

Bug#1074132: coreutils: ptx layout completely broken depending on input data?

2024-06-23 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

Compare:
$ ptx -i <(echo ‒; echo -; echo z; cat /usr/share/groff/current/eign) -f -b 
<(echo '   ') -w 40  <(sed -e 's/.*  //' -e 's/‒/-/g' b)
/merge or filter   adjacent identical/
  - execute with   alternate/   /chroot
/information   arch - get system/
 /output   arguments/
 z z z z z z z z   b /z z z z z z z
/- configure I/O   buffers chroot -/
 /character,   byte, and line/
 /character,   byte, and line/
  /- line, word,   character, byte,/
 /- qline, word,   character, byte,/
/I/O buffers   chroot - execute/
/libstdbuf -   configure I/O/
/state yes -   continually output/
/and line length   count wc - qline,/
/and line length   count who - list/
   /chroot -   execute with/
/unlink - remove   file link wc -/
 /with alternate   filesystem root z/
/uniq - merge or   filter adjacent/
/- configure   I/O buffers chroot/
/filter adjacent   identical lines/
   /- get system   information arch -/
   /- get system   information uniq -/
 /byte, and line   length count wc -/
 /byte, and line   length count who -/
  /arguments   libstdbuf -/
   wc//byte, and   line length count
  /byte, and   line length count/
 /file link wc -   line, word,/
  /identical   lines unlink -/
  /- remove file   link wc - line,/
/count who -   list login and/
  /state users -   list login and/
 /who - list   login and system/
   /users - list   login and system/
   system/ machine - get
 /uniq -   merge or filter/
  /- continually   output arguments/
 /count wc -   qline, word,/
 /lines unlink -   remove file link/
   z//filesystem   root z z z z z z z
   machine - get   system information/
 /arch - get   system information/
 /list login and   system state users/
 /list login and   system state yes -/
/information   uniq - merge or/
/identical lines   unlink - remove/
   /system state   users - list login/
  /file link   wc - line, word,/
   /length count   wc - qline, word,/
/link wc - line,   word, character,/
/wc - qline,   word, character,/
   /system state   yes - continually/

With:
$ ptx -i <(echo ‒; echo -; echo z; cat /usr/share/groff/current/eign) -f -b 
<(echo '   ') -w 40  <(sed -e 's/.*  //'  b)
/merge or filter   adjacent identical/
execute with   alternate/  /‒
/information   arch ‒ get/
 /output   arguments/
 z z z z z z z z   b /z z z z z z z
  /configure I/O   buffers chroot ‒/
 /character,   byte, and line/
 /character,   byte, and line/
/‒ line, word,   character, byte,/
   /qline, word,   character, byte,/
/I/O buffers   chroot ‒ execute/
  /libstdbuf ‒   configure I/O/
  /state yes ‒   continually output/
/and line length   count wc ‒/
/and line length   count who ‒ list/
 /chroot ‒   execute with/
 /‒ remove   file link wc ‒/
 /with alternate   filesystem root z/
   /‒ merge or   filter adjacent/
  /‒ configure   I/O buffers chroot/
/filter adjacent   identical lines/
 /‒ get system   information arch/
 /‒ get system   information uniq/
 /byte, and line   length count wc/
 /byte, and line   length count who/
  /arguments   libstdbuf ‒/
   wc//byte, and   line length count
  /byte, and   line length count/
 link wc ‒   line, word,/   /file
  /identical   lines unlink ‒/
/‒ remove file   link wc ‒ line,/
  /count who ‒   list login and/
/state users ‒   list login and/
   /who ‒ list   login and system/
 /users ‒ list   login and system/
   system/ machine ‒ get
   /uniq ‒   merge or filter/
/‒ continually   output arguments/
   /count wc ‒   qline, word,/
 /unlink ‒   remove file link/
   z//filesystem   root z z z z z z z
 machine ‒ get   system information/
   /arch ‒ get   system information/
 /list login and   system state users/
 /list login and   system state yes/
/information   uniq ‒ merge or/
/identical lines   unlink ‒ remove/
   /system state   users ‒ list/
  /file link   wc ‒ line, word,/
   /length count   wc ‒ qline,/
   /wc ‒ line,   word, character,/
  /wc ‒ qline,   word, character,/
system state   yes ‒//and

b attached; eign from bookworm

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_G

Bug#1074179: coreutils: ptx: -i and -o read each line as a token, contrary to V7 (and thus all others) which tokensie them normally

2024-06-24 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

Observe:
$ echo adenosine triphosphate | ptx
   adenosine triphosphate
   adenosine   triphosphate
$ echo adenosine triphosphate | ptx -i <(echo 'adenosine triphosphate')
   adenosine triphosphate
   adenosine   triphosphate

Compare:
$ echo adenosine triphosphate | ./4.4ptx -i /dev/null /dev/stdin /dev/tty
.xx "" "" "adenosine triphosphate" ""
.xx "" "adenosine" "triphosphate" ""
$ echo adenosine triphosphate | ./4.4ptx -i <(echo 'adenosine triphosphate') 
/dev/stdin /dev/tty

Clearly 4.4BSD ptx
(which is functionally identical to v7 ptx and, thus, every other ptx)
tokenises its -i/-o file
(as hinted with "Use as keywords only the words given in the only file.").

Conversely, coreutils ptx seems to have analysed
the input as "ignore 'adenosine triphosphate' as a token".
Which is obviously wrong.

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1074267: /usr/lib/jvm/java-17-openjdk-amd64/bin/javac: allocates 300MB and stays with 1 CPU pegged 100%, doesn't do anything

2024-06-25 Thread наб
Package: openjdk-17-jdk-headless
Version: 17.0.11+9-1~deb12u1
Severity: normal
File: /usr/lib/jvm/java-17-openjdk-amd64/bin/javac

Dear Maintainer,

Attaching the problematic file.

Running javac a.java, javac allocates 300M then pegs a CPU and then does
nothing. strace says all it does is futex() and getrusage() when it gets
to this state.

This isn't a state any compiler should get into I think.

Best,

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-12-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages openjdk-17-jdk-headless:amd64 depends on:
ii  libc62.36-9+deb12u4
ii  openjdk-17-jre-headless  17.0.11+9-1~deb12u1
ii  zlib1g   1:1.2.13.dfsg-1

openjdk-17-jdk-headless:amd64 recommends no packages.

Versions of packages openjdk-17-jdk-headless:amd64 suggests:
pn  openjdk-17-demo
pn  openjdk-17-source  

-- no debconf information
// SPDX-License-Identifier: 0BSD

import java.util.stream.IntStream;
import java.util.Map;

class ShadowedCharSequence implements CharSequence {
  private CharSequence mShadowing;
  public char replaceWith;

  public ShadowedCharSequence(CharSequence shadow, char repl) {
this.mShadowing = shadow;
this.replaceWith = repl;
  }

  // CharSequence
  @Override
  public char charAt(int index) {
return this.mShadowing.charAt(index);
  }
  @Override
  public IntStream chars() {
return this.mShadowing.chars();
  }
  @Override
  public IntStream codePoints() {
return this.mShadowing.codePoints();
  }
  @Override
  public int length() {
return this.mShadowing.length();
  }
  @Override
  public CharSequence subSequence(int start, int end) {
return new ShadowedCharSequence(this.mShadowing.subSequence(start, end), this.replaceWith);
  }
  @Override
  public String toString() {
return this.mShadowing.toString();
  }

  @Override
  public int hashCode() {
return this.mShadowing.hashCode();
  }
  @Override
  public boolean equals(Object obj) {
return this.mShadowing.equals(obj);
  }
}

class EmojiDictionary {
public static final EmojiDictionary INSTANCE = new EmojiDictionary();
public final Map mEmojis;

private EmojiDictionary() {
mEmojis = Map.ofEntries(
Map.entry(":+1:", '👍'),
Map.entry(":-1:", '👎'),
Map.entry(":100:", '💯'),
Map.entry(":1234:", '🔢'),
Map.entry(":8ball:", '🎱'),
Map.entry(":a:", '🅰'),
Map.entry(":ab:", '🆎'),
Map.entry(":abacus:", '🧮'),
Map.entry(":abc:", '🔤'),
Map.entry(":abcd:", '🔡'),
Map.entry(":accept:", '🉑'),
Map.entry(":accordion:", '🪗'),
Map.entry(":adhesive_bandage:", '🩹'),
Map.entry(":adult:", '🧑'),
Map.entry(":aerial_tramway:", '🚡'),
Map.entry(":airplane:", '✈'),
Map.entry(":airplane_arriving:", '🛬'),
Map.entry(":airplane_departure:", '🛫'),
Map.entry(":alarm_clock:", '⏰'),
Map.entry(":alien:", '👽'),
Map.entry(":ambulance:", '🚑'),
Map.entry(":amphora:", '🏺'),
Map.entry(":anatomical_heart:", '🫀'),
Map.entry(":anchor:", '⚓'),
Map.entry(":angel:", '👼'),
Map.entry(":anger:", '💢'),
Map.entry(":angry:", '😠'),
Map.entry(":anguished:", '😧'),
Map.entry(":ant:", '🐜'),
Map.entry(":apple:", '🍎'),
Map.entry(":aquarius:", '♒'),
Map.entry(":aries:", '♈'),
Map.entry(":arrow_backward:", '◀'),
Map.entry(":arrow_double_down:", '⏬'),
Map.entry(":arrow_double_up:", '⏫'),
Map.entry(":arrow_down:", '⬇'),
Map.entry(":arrow_down_small:", '🔽'),
Map.entry(":arrow_forward:", '▶'),
Map.entry(":arrow_heading_down:", '⤵'),
Map.entry(":arrow_heading_up:", '⤴'),
Map.entry(":arrow_left:", '⬅'),
Map.entry(":arrow_lower_left:", '↙'),
Map.entry(":arrow_lower_right:", '↘'),
Map.entry(":arrow_right:", '➡'),
Map.entry(":arrow_right_hook:", '↪'),
Map.entry(":arrow_up:", '⬆'),
Map.entry(":arrow_up_down:", '↕'),
Map.entry(":arrow_up_small:", '🔼'),
Map.entry(":arrow_upper_left:", '↖'),
Map.entry(":arrow_upper_right:", '↗'),
Map.entry(":arrows_clockwise:", '🔃'),
Map.entry(":arrows_counterclockwise:", '🔄'),
Map.entry(":art:", '🎨'),
Map.entry(":articulated_lorry:", '🚛'),
Map.entry(":astonished:", '😲'),
Map.entry(":athletic_shoe:", '👟'),
Map.entry(":atm:", '🏧'),
Map.entry(":auto_rickshaw:", '🛺'),
Map.entry(":avocado:", '🥑'),
Map.entry(":axe:", '🪓'),
Map.entry(":b:", '🅱'),
Map.entry(":baby:", '👶'),
Map.entry(":baby_bottle:", '🍼'),
Map.entry(":baby_chick:", '🐤'),
Map.entry(":baby_symbol:", '🚼'),
Map.entry(":back:", '🔙'),
Map.entry(":bacon:", '🥓'),
Map.entry(":badger:", '🦡'),
Map.entry(":badminton_racquet_and_shuttlecock:", '🏸'),
Map.entry(":bagel:", '🥯'),
Map.entry(":baggage_claim:", '🛄'),
Map.entry(":baguette_bread

Bug#1074334: coreutils: what is the undocumented ls --quoting-style=c-maybe mode?

2024-06-26 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

$ ls --quoting-style=qwe
ls: invalid argument ‘qwe’ for ‘--quoting-style’
Valid arguments are:
  - ‘literal’
  - ‘shell’
  - ‘shell-always’
  - ‘shell-escape’
  - ‘shell-escape-always’
  - ‘c’
  - ‘c-maybe’
  - ‘escape’
  - ‘locale’
  - ‘clocale’
Try 'ls --help' for more information.

$ man ls | grep c-maybe
$ zgrep c-maybe /usr/share/info/coreutils.info.gz

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1074334: coreutils: what is the undocumented ls --quoting-style=c-maybe mode?

2024-06-28 Thread наб
On Wed, Jun 26, 2024 at 11:22:07PM +0100, Pádraig Brady wrote:
> Fixed upstream with:
> https://github.com/coreutils/coreutils/commit/72588b291
This is wrong. Try:
  $ > 'a\a'
  $ ls --quoting-style=c-maybe
  a\a
  $ ls --quoting-style=c
  "a\\a"
obviously a \ needs escaping, as proven by -qc=c escaping it,
so this needs to be listed as an exception.

Best,


signature.asc
Description: PGP signature


Bug#1074454: coreutils: ls --quoting-style=locale and =clocale claim to use "quotation marks appropriate for the locale" but don't

2024-06-28 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

The manual doesn't say what the --quoting-style=s are,
but zless /usr/share/info/coreutils.info.gz says
 ‘clocale’
  Quote strings as for C character string literals, except use
  surrounding quotation marks appropriate for the locale.
 ‘locale’
  Quote strings as for C character string literals, except use
  surrounding quotation marks appropriate for the locale, and
  quote 'like this' instead of "like this" in the default C
  locale.  This looks nicer on many displays.

This is abjectly false, and it seems to simply use 
‘   (U+2018, UTF-8 e2 80 98 ): LEFT SINGLE QUOTATION MARK
’   (U+2019, UTF-8 e2 80 99 ): RIGHT SINGLE QUOTATION MARK
when in a UTF-8 codeset (unicode codeset? idk, didn't look too hard).

Behold:
  $ LC_ALL=C ls --quoting-style=clocale aa
  "aa"
  $ LC_ALL=C.UTF-8 ls --quoting-style=clocale aa
  ‘aa’
  $ LC_ALL=pl_PL.UTF-8 ls --quoting-style=clocale aa
  ‘aa’
  $ LC_ALL=fr_FR.UTF-8 ls --quoting-style=clocale aa
  ‘aa’
the locale is "C" in both cases.

Polish uses 
„   (U+201E, UTF-8 e2 80 9e ): DOUBLE LOW-9 QUOTATION MARK
”   (U+201D, UTF-8 e2 80 9d ): RIGHT DOUBLE QUOTATION MARK
for quotes at the first level.
French uses guillemets pointing outwards.

These are simply not appropriate for the locale,
and it's a symptom of imperialism to imply that they are.

Best,

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.5.0-3-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FORCED_MODULE, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages coreutils depends on:
ii  libacl1   2.3.2-1
ii  libattr1  1:2.5.2-1
ii  libc6 2.38-13
ii  libgmp10  2:6.3.0+dfsg-2
ii  libselinux1   3.5-2
ii  libssl3t64 [libssl3]  3.1.5-1.1

coreutils recommends no packages.

coreutils suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1074539: coreutils: ls -R chokes when it builds up a long path (File name too long)

2024-06-30 Thread наб
Package: coreutils
Version: 9.1-1
Version: 9.4-3
Severity: normal

Dear Maintainer,

Given:
$ pwd
/tmp/big///////////a/a/a/a/a/a/a/a/a/a/b000
$ ls -l
total 4
-rw-rw-r-- 1 nabijaczleweli nabijaczleweli 5 06-30 16:04 dupa

Observe the opposite:
$ ls -lR big
...
ls: cannot access 
'big////

Bug#1074539: coreutils: ls -R chokes when it builds up a long path (File name too long)

2024-06-30 Thread наб
This of course extends to when you give ls a very long path,
but that-path/child exceeds PATH_MAX.

No need for -R.


signature.asc
Description: PGP signature


Bug#826596: bsdutils: wall, write unable to handle UTF-8 characters.

2023-03-14 Thread наб
Control: found -1 1:2.36.1-8+deb11u1
Control: found -1 1:2.38.1-5

Can repro on bullseye and sid, but now spelled as:
-- >8 --
$ echo 'foo åäö bar' | write nabijaczleweli pts/5

Message from nabijaczleweli@tarta on pts/5 at 20:29 ...
foo \303\245\303\244\303\266 bar
EOF

$ echo 'foo åäö ąęćźżń bar' | write nabijaczleweli pts/5

Message from nabijaczleweli@tarta on pts/5 at 20:29 ...
foo \303\245\303\244\303\266 \304\205\304\231\304\207\305\272\305\274\305\204 
bar
EOF
-- >8 --

наб


signature.asc
Description: PGP signature


Bug#826596: bsdutils: wall, write unable to handle UTF-8 characters.

2023-03-14 Thread наб
Control: tags -1 + patch forwarded
Control: forwarded -1 
https://lore.kernel.org/util-linux/5d68dce11f61b85743c36d57e2bd0d90e978a197.1678831302.git.nabijaczlew...@nabijaczleweli.xyz/t/

$ echo 'foo åäö ąęćźżń bar' | write nabijaczleweli pts/4

Message from nabijaczleweli@tarta on pts/4 at 23:06 ...
foo åäö ąęćźżń bar
EOF
$ echo 'foo åäö ąęćźżń bar' | wall

Broadcast message from nabijaczleweli@tarta (pts/4) (Tue Mar 14 23:06:57
2023):

foo åäö ąęćźżń bar

наб


signature.asc
Description: PGP signature


Bug#826596: bsdutils: wall, write unable to handle UTF-8 characters.

2023-03-17 Thread наб
Control: tags -1 + fixed-upstream

Fixed in upstream
  
https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/?id=aa13246a1bf1be9e4f6eb331f4d4d2dbc875e22f


signature.asc
Description: PGP signature


Bug#1033158: dracut-core: hard-depends kpartx, other dependencies for the modules are just recommends; please downgrade

2023-03-18 Thread наб
Package: dracut-core
Version: 059-4
Severity: minor
Tags: patch

Dear Maintainer,

I just got these NEWS:
  multipath-tools (0.8.5-2+deb11u1) bullseye-security; urgency=high
  
This uploaded fixes CVE-2022-41973:
The fix involves switching from /dev/shm to systemd-tmpfiles.
The tmpfs is mounted to /run/multipath.
  
If you have previously accessed /dev/shm directly in your setup,
please update to the new path to facilitate this change.
  
   -- Tobias Frost   Tue, 27 Dec 2022 09:46:24 +0100

I don't use multipath-tools, and never will. Or any part of that suite.
However:
  $ apt info kpartx | grep Source:
  Source: multipath-tools
  $ apt-cache rdepends --installed kpartx
  kpartx
  Reverse Depends:
dracut-core
dracut-core
dracut-core
  $ apt info dracut-core | grep -e Depends -e Recommends
  Depends: cpio, kmod, udev, kpartx, libkmod2 (>= 22~), e2fsprogs, libc6 (>= 
2.34)
  Recommends: cryptsetup, dmsetup, dmraid, lvm2, mdadm, console-setup, 
binutils, systemd, pigz, pkg-config

Odd! Especially given that the only modules that want kpartx (90multipath, 
90dmraid):
  $ grep -r kpartx
  debian/control:Depends: cpio, kmod, udev, kpartx, libkmod2, e2fsprogs, 
${shlibs:Depends}, ${misc:Depends}
  debian/changelog:  * control: add Depends on kpartx Closes: #636549
  pkgbuild/dracut.spec:Recommends: kpartx
  pkgbuild/dracut.spec:Requires: kpartx
  NEWS.md:- install kpartx's 11-dm-parts.rules
  test/TEST-14-IMSM/create-root.sh:[ -e "/dev/mapper/$s" ] && kpartx -a -p 
p "/dev/mapper/$s"
  test/TEST-14-IMSM/create-root.sh:[ -e "/dev/mapper/$s" ] && kpartx -a -p 
p "/dev/mapper/$s"
  modules.d/90multipath/module-setup.sh:require_binaries kpartx || return 1
  modules.d/90multipath/module-setup.sh:kpartx \
  modules.d/90multipath/module-setup.sh:66-kpartx.rules 
67-kpartx-compat.rules \
  modules.d/90dmraid/dmraid.sh:[ -e "/dev/mapper/$s" ] && kpartx -a 
"/dev/mapper/$s" 2>&1 | vinfo
  modules.d/90dmraid/module-setup.sh:require_binaries kpartx || return 1
  modules.d/90dmraid/module-setup.sh:inst_multiple -o kpartx
  modules.d/90dmraid/module-setup.sh:inst_rules 66-kpartx.rules 
67-kpartx-compat.rules

Have these check()s:
  $ awk '/check\(\)/,/^}/' modules.d/90{multipath,dmraid}/module-setup.sh
  check() {
  [[ $hostonly ]] || [[ $mount_needs ]] && {
  for_each_host_dev_and_slaves is_mpath || return 255
  }
  
  # if there's no multipath binary, no go.
  require_binaries multipath || return 1
  require_binaries kpartx || return 1
  
  return 0
  }
  check() {
  local holder
  local dev
  
  # if we don't have dmraid installed on the host system, no point
  # in trying to support it in the initramfs.
  require_binaries dmraid || return 1
  require_binaries kpartx || return 1
  
  [[ $hostonly ]] || [[ $mount_needs ]] && {
  for dev in "${!host_fs_types[@]}"; do
  [[ ${host_fs_types[$dev]} != *_raid_member ]] && continue
  
  DEVPATH=$(get_devpath_block "$dev")
  
  for holder in "$DEVPATH"/holders/*; do
  [[ -e $holder ]] || continue
  [[ -e "$holder/dm" ]] && return 0
  break
  done
  
  done
  return 255
  }
  
  return 0
  }

I.e. they require both their respective binary /and/ kpartx.

multipath is part of multipath-tools and dmraid is part of dmraid.
dmraid is a Recommends:. I don't have it installed. The module doesn't run for 
me:
  # dracut -f
  ...
  dracut: dracut module 'dmraid' will not be installed, because command 
'dmraid' could not be found!
  ...
I don't want to have kpartx installed, especially if it's full of privesc CVEs.
Please downgrade it to a Recommends:.

Patch attached.

Best,
наб

-- System Information:
Debian Release: 12.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.1.0-2-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dracut-core depends on:
ii  cpio 2.13+dfsg-7.1
ii  dracut-core-kpartx [kpartx]  1.0
ii  e2fsprogs1.47.0-2
ii  kmod 30+20221128-1
ii  libc62.36-8
ii  libkmod2 30+20221128-1
ii  udev 252.6-1

Versions of packages dracut-core recommends:
ii  binutils   2.40-2
pn  

Bug#1033172: /usr/bin/sieve-test: panicks, dumps backtrace, aborts, when mail-file not seekable

2023-03-18 Thread наб
Package: dovecot-sieve
Version: 1:2.3.19.1+dfsg1-2.1
Severity: normal
File: /usr/bin/sieve-test

Dear Maintainer,

$ sieve-test /dev/null /dev/stdin
sieve-test(nabijaczleweli): Error: sieve: file storage: script: Sieve script 
file '/dev/null' is not a regular file.
error: failed to open script: internal error occurred: refer to server log for 
more information. [2023-03-18 23:55:35].
sieve-test(nabijaczleweli): Fatal: failed to compile sieve script

$ > script
$ sieve-test script /dev/stdin
From: ardema...@gmail.com
sieve-test(nabijaczleweli): Panic: stream /dev/stdin doesn't support seeking 
backwards
sieve-test(nabijaczleweli): Error: Raw backtrace: 
/usr/lib/dovecot/libdovecot.so.0(backtrace_append+0x3e) [0xf7c6663e] -> 
/usr/lib/dovecot/libdovecot.so.0(backtrace_get+0x1d) [0xf7c6676d] -> 
/usr/lib/dovecot/libdovecot.so.0(+0xe9611) [0xf7c70611] -> 
/usr/lib/dovecot/libdovecot.so.0(+0xe964f) [0xf7c7064f] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x43efd) [0xf7bcaefd] -> 
/usr/lib/dovecot/libdovecot.so.0(+0xf78db) [0xf7c7e8db] -> 
/usr/lib/dovecot/libdovecot.so.0(i_stream_seek+0x78) [0xf7c7db08] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(index_mail_parse_headers+0x59) 
[0xf7df8d49] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xb9ffb) [0xf7df8ffb] 
-> /usr/lib/dovecot/libdovecot-storage.so.0(index_mail_get_first_header+0xba) 
[0xf7df945a] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(mail_get_first_header+0x3e) 
[0xf7d8241e] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(mail_get_message_id+0x2f) [0xf7d8274f] 
-> /bin/sieve-test(main+0x26a) [0x5659f90a] -> 
/lib/x86_64-linux-gnux32/libc.so.6(+0x2023c) [0xf79ca23c] -> 
/lib/x86_64-linux-gnux32/libc.so.6(__libc_start_main+0x81) [0xf79ca2f1] -> 
/bin/sieve-test(_start+0x23) [0x565a0013]
Aborted

Probably not what you want, is it.

Best,
наб

-- Package-specific info:

-- System Information:
Debian Release: 12.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 6.1.0-2-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dovecot-sieve depends on:
ii  dovecot-core  1:2.3.19.1+dfsg1-2.1
ii  libc6 2.36-8
ii  ucf   3.0043+nmu1

dovecot-sieve recommends no packages.

dovecot-sieve suggests no packages.

Versions of packages dovecot-sieve is related to:
ii  dovecot-core [dovecot-common]  1:2.3.19.1+dfsg1-2.1
pn  dovecot-dev
pn  dovecot-gssapi 
pn  dovecot-imapd  
pn  dovecot-ldap   
pn  dovecot-lmtpd  
pn  dovecot-managesieved   
pn  dovecot-mysql  
pn  dovecot-pgsql  
pn  dovecot-pop3d  
ii  dovecot-sieve  1:2.3.19.1+dfsg1-2.1
pn  dovecot-sqlite 

-- no debconf information


signature.asc
Description: PGP signature


Bug#1033206: Subject: in submit@ mails is /always/ changed before forwarding, but not re-DKIM-signed ‒ please add ARC signatures?

2023-03-19 Thread наб
Package: bugs.debian.org
Severity: normal

Dear Maintainer,

This is slightly similar to #838601 (but I can't repro that particular
issue, since my MUA encodes in UTF-8) and #804421 (but that's wider).

Every time I submit a bug, I get at least one forensic report from
strikemail now. This has started to happen on the 28th of February,
so I'm assuming some strikemail user subscribed to the distro list.

I'm attaching the reports, but they're all on calls from bendel.d.o,
and every mail to submit@ has its subject rewritten to
"Bug#{...}: {original subject}", so I'm happy to say that this is what
breaks the DKIM signature.

Since the majority of those bugs (also looking at #830865 which would
also probably be fixed by this, since I have a separate chain of
forensic reports for #1021709 which Cc:ed debian-...@lists.debian.org)
are from before 2016, there's a new solution to this exact problem,
published in RFC 8617:
  https://www.rfc-editor.org/rfc/rfc8617.html
and here's an official overview PDF:
  https://dmarc.org/presentations/ARC-Overview-2016Q3-v01.pdf

It appears to me that the entire point of ARC is precisely for
submit@-like lists which add stuff into the subject &a. ‒
instead of overriding/stripping the original DKIM signature,
it appends new signatures for the updated mail.

Please consider this or some other solution to bugs.d.o distributing
counterfeit mail with broken signatures.

Best,
наб
--- Begin Message ---
A message claiming to be from you has failed the published DMARC policy for 
your domain.

  Sender Domain: nabijaczleweli.xyz
  Sender IP Address: 82.195.75.100
  Received date: Sat, 18 Mar 2023 23:06:12 +
  SPF Alignment: no
  DKIM Alignment: no
  DMARC Results: None, Accept

-- This is a copy of the headers that were received before the error was 
detected.

X-DKIM-Failure: signature_incorrect
Received: from 100.64-26.75.195.82.in-addr.arpa. ([82.195.75.100] 
helo=bendel.debian.org)
by mxserver6.strikemail.co.uk with esmtps 
(TLSv1.3:TLS_AES_256_GCM_SHA384:256)
(Exim 4.92)
(envelope-from 
)
id 1pdfcp-0001b0-TY
for philip.wy...@kathenas.org; Sat, 18 Mar 2023 23:06:11 +
Received: from localhost (localhost [127.0.0.1])
by bendel.debian.org (Postfix) with QMQP
id 5EF62207BD; Sat, 18 Mar 2023 23:06:11 + (UTC)
X-Mailbox-Line: From debian-bugs-dist-requ...@lists.debian.org  Sat Mar 18 
23:06:11 2023
Old-Return-Path: 
X-Original-To: lists-debian-bugs-d...@bendel.debian.org
Delivered-To: lists-debian-bugs-d...@bendel.debian.org
Received: from localhost (localhost [127.0.0.1])
by bendel.debian.org (Postfix) with ESMTP id 4203C207AD
for ; Sat, 18 Mar 2023 
23:06:11 + (UTC)
X-Virus-Scanned: at lists.debian.org with policy bank bug
X-Spam-Flag: NO
X-Spam-Score: -3.75
X-Spam-Level:
X-Spam-Status: No, score=-3.75 tagged_above=-1 required=5.3
tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1,
HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_MED=-2.3]
autolearn=unavailable autolearn_force=no
Received: from bendel.debian.org ([127.0.0.1])
by localhost (lists.debian.org [127.0.0.1]) (amavisd-new, port 2525)
with ESMTP id TzJtxppy8YtZ
for ;
Sat, 18 Mar 2023 23:06:08 + (UTC)
Received: from buxtehude.debian.org (buxtehude.debian.org 
[IPv6:2607:f8f0:614:1::1274:39])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) 
server-digest SHA256
 client-signature RSA-PSS (2048 bits) client-digest SHA256)
(Client CN "buxtehude.debian.org", Issuer "Debian SMTP CA" (not 
verified))
by bendel.debian.org (Postfix) with ESMTPS id 1278220788;
Sat, 18 Mar 2023 23:06:08 + (UTC)
Received: from debbugs by buxtehude.debian.org with local (Exim 4.94.2)
(envelope-from )
id 1pdfci-006jci-H9; Sat, 18 Mar 2023 23:06:04 +
X-Loop: ow...@bugs.debian.org
Subject: Bug#1033172: /usr/bin/sieve-test: panicks, dumps backtrace, aborts, 
when mail-file not seekable
Reply-To: =?UTF-8?Q?=D0=BD=D0=B0=D0=B1?= , 
1033...@bugs.debian.org
Resent-From: =?UTF-8?Q?=D0=BD=D0=B0=D0=B1?= 
Resent-To: debian-bugs-dist@lists.debian.org
Resent-CC: Dovecot Maintainers 
X-Loop: ow...@bugs.debian.org
Resent-Date: Sat, 18 Mar 2023 23:06:02 +
Resent-Message-ID: 
X-Debian-PR-Message: report 1033172
X-Debian-PR-Package: dovecot-sieve
X-Debian-PR-Keywords: 
X-Debian-PR-Source: dovecot
Received: via spool by sub...@bugs.debian.org id=B.16791805911603684
  (code B); Sat, 18 Mar 2023 23:06:02 +
Received: (at submit) by bugs.debian.org; 18 Mar 2023 23:03:11 +
X-Spam-Bayes: score:0. Tokens: new, 58; hammy, 150; neutral, 123; spammy,
0. spammytokens: hammytokens:0.000-+--sk:taint_o, 0.000-+--sk:TAINT_O,
0.000-+--sk:taint_u, 0.000-+--sk:TAINT_U

Bug#1033346: postfix: default master.cf bsmtp service vulnerable to allow_min_user injection out-of-box

2023-03-22 Thread наб
Package: postfix
Version: 3.5.17-0+deb11u1
Version: 3.7.4-2
Severity: normal
Tags: upstream patch

Dear Maintainer,

Please see patch, below, for more info.

Best,
наб

-- System Information:
Debian Release: 11.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-20-amd64 (SMP w/24 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages postfix depends on:
ii  adduser3.118
ii  cpio   2.13+dfsg-4
ii  debconf [debconf-2.0]  1.5.77
ii  dpkg   1.20.12
ii  e2fsprogs  1.46.2-2
ii  libc6  2.31-13+deb11u5
ii  libdb5.3   5.3.28+dfsg1-0.8
ii  libicu67   67.1-7
ii  libnsl21.3.0-2
ii  libsasl2-2 2.1.27+dfsg-2.1+deb11u1
ii  libssl1.1  1.1.1n-0+deb11u4
ii  lsb-base   11.1.0
ii  netbase6.3
ii  ssl-cert   1.1.0+nmu1

Versions of packages postfix recommends:
ii  ca-certificates  20210119
ii  python3  3.9.2-3

Versions of packages postfix suggests:
ii  dovecot-core [dovecot-common]  1:2.3.13+dfsg1-2+deb11u1
ii  libsasl2-modules   2.1.27+dfsg-2.1+deb11u1
ii  mailutils [mail-reader]1:3.10-3+b1
ii  neomutt [mail-reader]  20220429+dfsg-0.1~bpo11+1
pn  postfix-cdb
pn  postfix-doc
pn  postfix-ldap   
pn  postfix-lmdb   
pn  postfix-mysql  
pn  postfix-pcre   
pn  postfix-pgsql  
pn  postfix-sqlite 
pn  procmail   
pn  resolvconf 
pn  ufw

-- debconf information excluded
Description: secure default bsmtp master.cf against allow_min_user=yes
 Per src/trivial-rewrite/resolve.c:
/*
 * Bounce recipient addresses that start with `-'. External commands may
 * misinterpret such addresses as command-line options.
 *
 * In theory I could say people should always carefully set up their
 * master.cf pipe mailer entries with `--' before the first non-option
 * argument, but mistakes will happen regardless.
 *
 * Therefore the protection is put in place here, where it cannot be
 * bypassed.
 */
if (var_allow_min_user == 0 && STR(nextrcpt)[0] == '-') {
*flags |= RESOLVE_FLAG_ERROR;
FREE_MEMORY_AND_RETURN;
}
 .
 Indeed, the bsmtp service, enabled by default, will happy run
   bsmtp -t$nexthop -f$sender -whate...@example.org
 so finish the flags with --.
 .
 Both commented-out cyrus services are also likely vulnerable,
 but I can't find a manual or source (plus they're commented out).
Author: наб 
Last-Update: 2023-03-23
--- postfix-3.7.4.orig/conf/master.cf
+++ postfix-3.7.4/conf/master.cf
@@ -130,7 +130,7 @@ uucp  unix  -   n   n
 ifmailunix  -   n   n   -   -   pipe
   flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
 bsmtp unix  -   n   n   -   -   pipe
-  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender 
$recipient
+  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender -- 
$recipient
 scalemail-backend unix -   n   n   -   2   pipe
   flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store 
${nexthop} ${user} ${extension}
 mailman   unix  -   n   n   -   -   pipe


signature.asc
Description: PGP signature


Bug#1033423: lynx: Status line stuck on "HTTP/1.1 200 OK", body not rendered, no input accepted when receiving a specifically-formatted response

2023-03-24 Thread наб
Package: lynx
Version: 2.9.0dev.6-3~deb11u1
Version: 2.9.0dev.12-1
Severity: normal

Dear Maintainer,

The ESP-IDF code for the server is:
-- >8 --
static bool gpio_state = CONFIG_ESP32PSKO_INITIAL;

#define ROOT_GET_START \
"" \
"" \
"esp32psko" \
""   \
""  \
"Current:"
#define ROOT_GET_PART2 \
""   \
"New: " \
""  \
""


static esp_err_t http_root_get_handler(httpd_req_t *req)
{
httpd_resp_send_chunk(req, ROOT_GET_START, sizeof(ROOT_GET_START) - 1);
httpd_resp_send_chunk(req, gpio_state ? "UP" : "DOWN", 
HTTPD_RESP_USE_STRLEN);
httpd_resp_send_chunk(req, ROOT_GET_PART2, sizeof(ROOT_GET_PART2) - 1);
if(gpio_state)
httpd_resp_send_chunk(req, " checked", sizeof(" checked") - 1);
httpd_resp_send_chunk(req, ROOT_GET_PART3, sizeof(ROOT_GET_PART3) - 1);
return httpd_resp_send_chunk(req, NULL, 0);
}
-- >8 --
driven by the ESP HTTP server.

When I call this by running "lynx 192.168.1.136",
lynx shows "HTTP/1.1 200 OK" in the status line,
and the rest of the screen is black;
here's a video:
  
https://lfs.nabijaczleweli.xyz/0015-cohost-images/2023-03-24-1227171-uhhh-anyone-els-2023-03-24%2019-26-20.mp4

Naturally, this isn't an ergonomic way to test this, so here are two
recorded transactions, which behave identically:
-- >8 --
$ printf '%s\r\n' 'GET / HTTP/1.1' 'Host: 192.168.1.136' '' | nc -N 
192.168.1.136 80 | hd
  48 54 54 50 2f 31 2e 31  20 32 30 30 20 4f 4b 0d  |HTTP/1.1 200 OK.|
0010  0a 43 6f 6e 74 65 6e 74  2d 54 79 70 65 3a 20 74  |.Content-Type: t|
0020  65 78 74 2f 68 74 6d 6c  0d 0a 54 72 61 6e 73 66  |ext/html..Transf|
0030  65 72 2d 45 6e 63 6f 64  69 6e 67 3a 20 63 68 75  |er-Encoding: chu|
0040  6e 6b 65 64 0d 0a 0d 0a  33 35 0d 0a 3c 6d 65 74  |nked35..|
0060  3c 74 69 74 6c 65 3e 65  73 70 33 32 70 73 6b 6f  |esp32psko|
0070  3c 2f 74 69 74 6c 65 3e  43 75 72 72 65 6e 74 3a  |Current:|
0080  20 0d 0a 34 0d 0a 44 4f  57 4e 0d 0a 34 33 0d 0a  | ..4..DOWN..43..|
0090  3c 62 72 20 2f 3e 3c 66  6f 72 6d 20 6d 65 74 68  |N|
00b0  65 77 3a 20 3c 69 6e 70  75 74 20 74 79 70 65 3d  |ew: <|
0100  2f 66 6f 72 6d 3e 0d 0a  30 0d 0a 0d 0a   |/form>..0|
010d

$ printf '%s\r\n' 'GET / HTTP/1.1' 'Host: 192.168.1.136' '' | nc -N 
192.168.1.136 80 | hd
  48 54 54 50 2f 31 2e 31  20 32 30 30 20 4f 4b 0d  |HTTP/1.1 200 OK.|
0010  0a 43 6f 6e 74 65 6e 74  2d 54 79 70 65 3a 20 74  |.Content-Type: t|
0020  65 78 74 2f 68 74 6d 6c  0d 0a 54 72 61 6e 73 66  |ext/html..Transf|
0030  65 72 2d 45 6e 63 6f 64  69 6e 67 3a 20 63 68 75  |er-Encoding: chu|
0040  6e 6b 65 64 0d 0a 0d 0a  61 30 0d 0a 3c 6d 65 74  |nkeda0..|
0060  3c 6d 65 74 61 20 6e 61  6d 65 3d 76 69 65 77 70  |esp32ps|
00b0  6b 6f 3c 2f 74 69 74 6c  65 3e 3c 66 6f 72 6d 20  |koCurre|
00e0  6e 74 3a 3c 2f 74 64 3e  3c 74 64 3e 0d 0a 34 0d  |nt:..4.|
00f0  0a 44 4f 57 4e 0d 0a 36  30 0d 0a 3c 2f 74 64 3e  |.DOWN..60..|
0100  3c 2f 74 72 3e 3c 74 72  3e 3c 74 64 3e 3c 6c 61  |Ne|
0120  77 3a 3c 2f 6c 61 62 65  6c 3e 3c 2f 74 64 3e 3c  |w:<|
0130  74 64 3e 3c 69 6e 70 75  74 20 74 79 70 65 3d 63  |td> |
0180  3c 2f 74 64 3e 3c 2f 74  72 3e 3c 2f 74 61 62 6c  |..0|
01a0
-- >8 --

I get the same thing when I run
  echo 
485454502F312E3120323030204F4B0D0A436F6E74656E742D547970653A20746578742F68746D6C0D0A5472616E736665722D456E636F64696E673A206368756E6B65640D0A0D0A33350D0A3C6D65746120636861727365743D7574662D383E3C7469746C653E657370333270736B6F3C2F7469746C653E43757272656E743A200D0A340D0A444F574E0D0A34330D0A3C6272202F3E3C666F726D206D6574686F643D706F73743E3C6C6162656C3E4E65773A203C696E70757420747970653D636865636B626F78206E616D653D76616C75650D0A32640D0A3E3C2F6C6162656C3E3C696E70757420747970653D7375626D69742076616C75653D5365743E3C2F666F726D3E0D0A300D0A0D0A
 | base16 -d | nc -lp 8000
and open localhost:8000, for a cheaper repro.

Best,
наб

-- System Information:
Debian Release: 11.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-20-amd64 (SMP w/24 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages lynx depends on:
ii  libbsd0   0.11.3-1

Bug#1030200: linux-image-6.1.0-3-amd64: "Loading of module with unavailable key is rejected", /proc/keys says key is loaded; system unbootable

2023-03-24 Thread наб
Control: found -1 6.1.20-1

Updated to linux-image-6.1.0-7-amd64 (6.1.20-1);
still happens.

наб
Mar 25 01:38:54 babtop kernel: microcode: microcode updated early to revision 
0xf4, date = 2022-07-31
Mar 25 01:38:54 babtop kernel: Linux version 6.1.0-7-amd64 
(debian-ker...@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU 
Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.20-1 (2023-03-19)
Mar 25 01:38:54 babtop kernel: Command line: 
initrd=\klapki\731b69f0dac147efadfed92f12712736\6.1.0-7-amd64\initrd.img-6.1.0-7-amd64
 root=zfs:AUTO fbcon=rotate:3 intel_iommu=on zfs.zfs_arc_max=12884901888 quiet 
module.sig_enforce=1
Mar 25 01:38:54 babtop kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 
floating point registers'
Mar 25 01:38:54 babtop kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE 
registers'
Mar 25 01:38:54 babtop kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX 
registers'
Mar 25 01:38:54 babtop kernel: x86/fpu: Supporting XSAVE feature 0x008: 'MPX 
bounds registers'
Mar 25 01:38:54 babtop kernel: x86/fpu: Supporting XSAVE feature 0x010: 'MPX 
CSR'
Mar 25 01:38:54 babtop kernel: x86/fpu: xstate_offset[2]:  576, 
xstate_sizes[2]:  256
Mar 25 01:38:54 babtop kernel: x86/fpu: xstate_offset[3]:  832, 
xstate_sizes[3]:   64
Mar 25 01:38:54 babtop kernel: x86/fpu: xstate_offset[4]:  896, 
xstate_sizes[4]:   64
Mar 25 01:38:54 babtop kernel: x86/fpu: Enabled xstate features 0x1f, context 
size is 960 bytes, using 'compacted' format.
Mar 25 01:38:54 babtop kernel: signal: max sigframe size: 2032
Mar 25 01:38:54 babtop kernel: BIOS-provided physical RAM map:
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x-0x00057fff] usable
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x00058000-0x00058fff] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x00059000-0x0009dfff] usable
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x0009e000-0x000f] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x0010-0x3fff] usable
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x4000-0x403f] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x4040-0x84ff0fff] usable
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x84ff1000-0x84ff1fff] ACPI NVS
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x84ff2000-0x84ff2fff] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x84ff3000-0x8bc66fff] usable
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x8bc67000-0x8c8b5fff] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x8c8b6000-0x8c90bfff] ACPI data
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x8c90c000-0x8c96bfff] ACPI NVS
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x8c96c000-0x8cffefff] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x8cfff000-0x8cff] usable
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x8d00-0x8fff] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0xe000-0xefff] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0xfe00-0xfe010fff] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0xfec0-0xfec00fff] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0xfed0-0xfed00fff] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0xfee0-0xfee00fff] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0xff00-0x] reserved
Mar 25 01:38:54 babtop kernel: BIOS-e820: [mem 
0x0001-0x00046eff] usable
Mar 25 01:38:54 babtop kernel: NX (Execute Disable) protection: active
Mar 25 01:38:54 babtop kernel: efi: EFI v2.70 by American Megatrends
Mar 25 01:38:54 babtop kernel: efi: ACPI 2.0=0x8c8c7000 ACPI=0x8c8c7000 
SMBIOS=0x8ce15000 SMBIOS 3.0=0x8ce14000 MEMATTR=0x88601418 ESRT=0x8a712c98 
INITRD=0x8510df18 RNG=0x8c8c6018 
Mar 25 01:38:54 babtop kernel: random: crng init done
Mar 25 01:38:54 babtop kernel: Kernel is locked down from EFI Secure Boot; see 
man kernel_lockdown.7
Mar 25 01:38:54 babtop kernel: secureboot: Secure boot enabled
Mar 25 01:38:54 babtop kernel: SMBIOS 3.0.0 present.
Mar 25 01:38:54 babtop kernel: DMI: ONE-NETBOOK TECHNOLOGY CO., LTD. One-Mix3 
Pro/One-Mix3 Pro, BIOS 5.12 12/10/2019
Mar 25 01:38:54 babtop kernel: tsc: Detected 1300.000 MHz processor
Mar 25 01:38:54 babtop kernel: tsc: Detected 1299.996 MHz TSC
Mar 25 01:38:54 babtop kernel: e820: update [mem 0x-0x0fff] usable 
==> reserved
Mar 25 01:38:54 babtop kernel: e820: remove [mem 0x000a-0x000f] usable
Mar 25 01:38:54 babtop kernel: last_pfn = 0x46f000 max_arch_pfn = 0x4
Mar 25 01:38:54 babto

Bug#1030200: linux-image-6.1.0-3-amd64: "Loading of module with unavailable key is rejected", /proc/keys says key is loaded; system unbootable

2023-03-24 Thread наб
If anyone has a faintest idea so as to what the problem may be, please help;
the only vaguely-related config change is
INTEGRITY_MACHINE_KEYRING going from unset to y,
but that shouldn't(! not that it doesn't, the code is an enigma to me,
 but as i understand it and as i read the kconfig, it shouldn't)
change anything if you aren't a MOK user, and I'm not.

Please advise.

наб


signature.asc
Description: PGP signature


Bug#1022706: dnsmasq: Voluminous bogus whitespace errors introduced into UCFed /etc/dnsmasq.conf

2022-10-24 Thread наб
Package: dnsmasq
Version: 2.87-1.1
Severity: minor

Dear Maintainer,

I updated dnsmasq, and expectedly there are new
commented-out default options in dnsmasq.conf.
This is great, I'm happy to merge these into my config.

What's much less great is the whitespace errors, new in this release.
Naturally, the default apt/ucf "D" update action doesn't show
that they're whitespace errors, so there are just a lot
of identical lines in the diff. Most of them are in the comments,
some aren't, and that's more worrying.

I've attached a "clean" (i.e. removed all my customisation) diff
piped through cat -A that shows the differences users will see
(or, rather, not see) and have to decide upon.

Please consider enforcing some sort of trim regimen if the upstream
dnsmasq.confs are also damaged like this.

Best,
наб

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 5.19.0-1-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dnsmasq depends on:
ii  dnsmasq-base [dnsmasq-base]  2.87-1.1
ii  init-system-helpers  1.65.2
ii  lsb-base 11.4
ii  netbase  6.4
ii  runit-helper 2.15.0
ii  sysvinit-utils [lsb-base]3.05-6

dnsmasq recommends no packages.

Versions of packages dnsmasq suggests:
pn  resolvconf  

-- Configuration Files:
/etc/default/dnsmasq changed [not included]
/etc/dnsmasq.conf changed [not included]

-- no debconf information
diff --git a/etc/dnsmasq.conf b/etc/dnsmasq.conf.dpkg-new$
index bb4c8ed..2047630 100644$
--- a/etc/dnsmasq.conf$
+++ b/etc/dnsmasq.conf.dpkg-new$
@@ -27,8 +27,8 @@ bogus-priv$
 $
 # Replies which are not DNSSEC signed may be legitimate, because the domain$
 # is unsigned, or may be forgeries. Setting this option tells dnsmasq to$
-# check that an unsigned reply is OK, by finding a secure proof that a DS$
-# record somewhere between the root and the domain does not exist.$
+# check that an unsigned reply is OK, by finding a secure proof that a DS $
+# record somewhere between the root and the domain does not exist. $
 # The cost of setting this is that even queries in unsigned domains will need$
 # one or more extra DNS queries to verify.$
 #dnssec-check-unsigned$
@@ -86,6 +85,16 @@ server=8.8.8.8$
 # subdomains to the vpn and search ipsets:$
 #ipset=/yahoo.com/google.com/vpn,search$
 $
+# Add the IPs of all queries to yahoo.com, google.com, and their$
+# subdomains to netfilters sets, which is equivalent to$
+# 'nft add element ip test vpn { ... }; nft add element ip test search { ... 
}'$
+#nftset=/yahoo.com/google.com/ip#test#vpn,ip#test#search$
+$
+# Use netfilters sets for both IPv4 and IPv6:$
+# This adds all addresses in *.yahoo.com to vpn4 and vpn6 for IPv4 and IPv6 
addresses.$
+#nftset=/yahoo.com/4#ip#test#vpn4$
+#nftset=/yahoo.com/6#ip#test#vpn6$
+$
 # You can control how dnsmasq talks to a server: this forces$
 # queries to 10.1.2.3 to be routed via eth1$
 # server=10.1.2.3@eth1$
@@ -155,7 +164,7 @@ domain=nabijaczleweli.xyz$
 # a lease time. If you have more than one network, you will need to$
 # repeat this for each network on which you want to supply DHCP$
 # service.$
-#dhcp-range=192.168.1.2,192.168.1.254,24h$
+#dhcp-range=192.168.0.50,192.168.0.150,12h$
 $
 # This is an example of a DHCP range where the netmask is given. This$
 # is needed for networks we reach the dnsmasq DHCP server via a relay$
@@ -184,11 +193,11 @@ domain=nabijaczleweli.xyz$
 #dhcp-range=1234::2, 1234::500, 64, 12h$
 $
 # Do Router Advertisements, BUT NOT DHCP for this subnet.$
-#dhcp-range=1234::, ra-only$
+#dhcp-range=1234::, ra-only $
 $
 # Do Router Advertisements, BUT NOT DHCP for this subnet, also try and$
-# add names to the DNS for the IPv6 address of SLAAC-configured dual-stack$
-# hosts. Use the DHCPv4 lease to derive the name, network segment and$
+# add names to the DNS for the IPv6 address of SLAAC-configured dual-stack $
+# hosts. Use the DHCPv4 lease to derive the name, network segment and $
 # MAC address and assume that the host will also have an$
 # IPv6 address calculated using the SLAAC algorithm.$
 #dhcp-range=1234::, ra-names$
@@ -211,9 +220,9 @@ domain=nabijaczleweli.xyz$
 #dhcp-range=1234::, ra-stateless, ra-names$
 $
 # Do router advertisements for all subnets where we're doing DHCPv6$
-# Unless overridden by ra-stateless, ra-names, et al, the router$
+# Unless overridden by ra-stateless, ra-names, et al, the router $
 # advertisements will have the M and O bits set, so that the clients$
-# get addresses and configuration f

Bug#1022707: reportbug: attachments aren't recalled with reportbug -r

2022-10-24 Thread наб
Package: reportbug
Version: 7.10.3+deb11u1
Version: 11.5.1
Severity: normal

Dear Maintainer,

I very often use reportbug like this:
  * write report on machine A (sid)
  * "send" it to `outfile "~/reportbug.report"`
  * copy the report to machine B (bullseye)
  * reportbug -r, as instructed, on B;
this opens it in neomutt via the `mutt` config option
  * review, send

Often, as one may expect, I want to attach a log, or a diff, or whatever;
these appear to be lost.

This doesn't appear to be reportbug-version-dependent;
when recalling on both machine A and machine B
(7.10.3+deb11u1 and 11.5.1)
the attachment is forgotten, here's a session from the latter:
-- >8 --
$ reportbug -r machine-b/saved-reportbug.report
*** Welcome to reportbug.  Use ? for help at prompts. ***
Note: bug reports are publicly archived (including the email address of the 
submitter).
Detected character set: UTF-8
Please change your locale if this is incorrect.

Using 'наб ' as your from address.
Will send report to Debian (per lsb_release).

Spawning sensible-editor...
Report will be saved as ~/reportbug.report
Submit this report on reportbug (e to edit) [Y|n|a|c|e|i|l|m|p|q|d|t|?]?
Bug report written to a temporary file.
You can resume the unsent report using:
  reportbug -r /home/nabijaczleweli/reportbug.report
Thank you for using reportbug
-- >8 --

The attachment /is/ present in the original saved file ‒
I'm attaching saved-reportbug.report and the new one.

Best,
наб

-- Package-specific info:
** Environment settings:
INTERFACE="text"

** /home/nabijaczleweli/.reportbugrc:
reportbug_version "7.5.3~deb10u1"
mode standard
ui text
email "nabijaczlew...@nabijaczleweli.xyz"
outfile "~/reportbug.report"

For machine B, the diff is
-outfile ...
+mutt

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 5.19.0-1-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages reportbug depends on:
ii  apt2.5.3+b1
ii  python33.10.6-1
ii  python3-reportbug  11.5.1
ii  sensible-utils 0.0.17

reportbug recommends no packages.

Versions of packages reportbug suggests:
pn  claws-mail 
ii  debconf1.5.79
pn  debsums
pn  dlocate
pn  emacs-bin-common   
ii  file   1:5.41-4
iu  gnupg  2.2.40-1
ii  nullmailer [mail-transport-agent]  1:2.2-3+b1
pn  python3-urwid  
pn  reportbug-gtk  
pn  xdg-utils  

Versions of packages python3-reportbug depends on:
ii  apt2.5.3+b1
ii  file   1:5.41-4
ii  python33.10.6-1
ii  python3-apt2.3.0+nmu1
ii  python3-debian 0.1.48
ii  python3-debianbts  3.2.3
ii  python3-requests   2.27.1+dfsg-1
ii  sensible-utils 0.0.17

python3-reportbug suggests no packages.

-- no debconf information
Content-Type: multipart/mixed; boundary="===0930356783=="
MIME-Version: 1.0
From: =?utf-8?b?0L3QsNCx?= 
To: Debian Bug Tracking System 
Subject: dnsmasq: Voluminous bogus whitespace errors introduced into UCF 
/etc/dnsmasq.conf
Bcc: =?utf-8?b?0L3QsNCx?= 
Message-ID: 
<11075594.3170.7846439592074691634.report...@szarotka.nabijaczleweli.xyz>
X-Mailer: reportbug 11.5.1
Date: Mon, 24 Oct 2022 13:25:55 +0200

This is a multi-part MIME message sent by reportbug.


--===0930356783==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

UGFja2FnZTogZG5zbWFzcQpWZXJzaW9uOiAyLjg3LTEuMQpTZXZlcml0eTogbWlub3IKCkRlYXIg
TWFpbnRhaW5lciwKCkkgdXBkYXRlZCBkbnNtYXNxLCBhbmQgZXhwZWN0ZWRseSB0aGVyZSBhcmUg
bmV3CmNvbW1lbnRlZC1vdXQgZGVmYXVsdCBvcHRpb25zIGluIGRuc21hc3EuY29uZi4KVGhpcyBp
cyBncmVhdCwgSSdtIGhhcHB5IHRvIG1lcmdlIHRoZXNlIGludG8gbXkgY29uZmlnLgoKV2hhdCdz
IG11Y2ggbGVzcyBncmVhdCBpcyB0aGUgd2hpdGVzcGFjZSBlcnJvcnMsIG5ldyBpbiB0aGlzIHJl
bGVhc2UuCk5hdHVyYWxseSwgdGhlIGRlZmF1bHQgYXB0L3VjZiAiRCIgdXBkYXRlIGFjdGlvbiBk
b2Vzbid0IHNob3cKdGhhdCB0aGV5J3JlIHdoaXRlc3BhY2UgZXJyb3JzLCBzbyB0aGVyZSBhcmUg
anVzdCBhIGxvdApvZiBpZGVudGljYWwgbGluZXMgaW4gdGhlIGRpZmYuIE1vc3Qgb2YgdGhlbSBh
cmUgaW4gdGhlIGNvbW1lbnRzLApzb21lIGFyZW4ndCwgYW5kIHRoYXQncyBtb3JlIHdvcnJ5aW5n
LgoKSSd2ZSBhdHRhY2hlZCBhICJjbGVhbiIgKGkuZS4gcmVtb3ZlZCBhbGwgbXkgY3VzdG9taXNh
dGlvbikgZGlmZgpwaXBlZCB0aHJvdWdoIGNhdCAtQSB0aGF0IHNob3dzIHRoZSBkaWZmZXJlbmNl
cyB1c2VycyB3aWxsIHNlZQoob3

Bug#1022708: bash: ^Cing to interrupt completion erases first character from line

2022-10-24 Thread наб
Package: bash
Version: 5.2-1
Severity: normal

Dear Maintainer,

Transcript:
-- >8 --
$ journalctl -b -u ^C

bash: ournalctl: command not found
-- >8 --

To reproduce, do "journalctl -b -u ",
which can take an unbounded amount of time,
then <^C> before the completion finishes, then .

I naively expect ‒ and this appears to be the intention ‒
that intr is supposed to just stop the completion
and let you modify the line further,
so I assume this is just a weird bug.

idk if this should target bash or readline.

Best,
наб

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 5.19.0-1-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages bash depends on:
ii  base-files   12.3
ii  debianutils  5.7-0.3
ii  libc62.35-3
ii  libtinfo66.3+20220423-2

Versions of packages bash recommends:
ii  bash-completion  1:2.11-6

Versions of packages bash suggests:
pn  bash-doc  

-- no debconf information


signature.asc
Description: PGP signature


Bug#1022712: zfsutils-linux: new trim code is broken

2022-10-24 Thread наб
Package: zfsutils-linux
Version: 2.1.6-2
Severity: normal
Tags: patch

Dear Maintainer,

Please apply the attached patch that fixes trim.

In particular, the breakage is in the use of "local",
but I've fixed up all the other issues I saw there

See patch message for details.

Best,
наб

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: x32 (x86_64)
Foreign Architectures: amd64, i386

Kernel: Linux 5.19.0-1-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages zfsutils-linux depends on:
ii  init-system-helpers  1.65.2
ii  libblkid12.38.1-1.1+b1
ii  libc62.35-3
ii  libnvpair3linux  2.1.6-2
ii  libuuid1 2.38.1-1.1+b1
ii  libuutil3linux   2.1.6-2
ii  libzfs4linux 2.1.6-2
ii  libzpool5linux   2.1.6-2
ii  python3  3.10.6-1

Versions of packages zfsutils-linux recommends:
ii  lsb-base   11.4
ii  sysvinit-utils [lsb-base]  3.05-6
ii  zfs-dkms [zfs-modules] 2.1.6-2
ii  zfs-zed2.1.6-2

Versions of packages zfsutils-linux suggests:
pn  nfs-kernel-server   
pn  samba-common-bin
pn  zfs-initramfs | zfs-dracut  

-- Configuration Files:
/etc/sudoers.d/zfs [Errno 13] Permission denied: '/etc/sudoers.d/zfs'

-- no debconf information
From ad741bc8bc4635c73ddbcc5b5ef9bb4f1ca8351f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= 
Date: Mon, 24 Oct 2022 14:28:39 +0200
Subject: [PATCH] trim: clean up, fix

This does:
  * fix get_transp() on non-bash
  * re-indent of the code from #990745
  * fix terminology: it's pool
  * remove -e: I originally actually fixed -e,
but it turns out literally every bit that could fail
is already either || : or wasn't by accident (like in the #990745 code)
  * simplify get_transp() and explain why we do it instead of matching nvme path
  * use remove -L from the data we feed to lsblk, zpool w/o -L is measurably faster
  * pipe the devices into while read to match rest of code
  * use read -r in main loop
  * match the userprop with case/esac instead of if tree
  * shellcheck-clean the script
---
 .../zfsutils-linux/usr/lib/zfs-linux/trim | 74 ---
 1 file changed, 32 insertions(+), 42 deletions(-)

diff --git a/debian/tree/zfsutils-linux/usr/lib/zfs-linux/trim b/debian/tree/zfsutils-linux/usr/lib/zfs-linux/trim
index 91d00bb0c..341a2fbbd 100755
--- a/debian/tree/zfsutils-linux/usr/lib/zfs-linux/trim
+++ b/debian/tree/zfsutils-linux/usr/lib/zfs-linux/trim
@@ -1,4 +1,4 @@
-#!/bin/sh -eu
+#!/bin/sh -u
 
 # directly exit successfully when zfs module is not loaded
 if ! [ -d /sys/module/zfs ]; then
@@ -14,66 +14,56 @@ get_property () {
 	# since they're not available on pools https://github.com/openzfs/zfs/pull/11680
 	# TODO: use zpool user-defined property when such feature is available.
 	pool="$1"
-	zfs get -H -o value "${PROPERTY_NAME}" "${pool}" 2>/dev/null || return 1
+	zfs get -H -o value "${PROPERTY_NAME}" "${pool}" 2>/dev/null
 }
 
 trim_if_not_already_trimming () {
 	pool="$1"
 	if ! zpool status "${pool}" | grep -q "trimming"; then
-		# Ignore errors (i.e. HDD pools),
-		# and continue with trimming other pools.
-		zpool trim "${pool}" || true
+		# This will error on HDD-only pools: doesn't matter
+		zpool trim "${pool}"
 	fi
 }
 
+# Walk up the kernel parent names:
+# this will catch devices from LVM &a.
 get_transp () {
-local dev="$1"
-local par_dev="$dev"
-local pd
-while true; do
-pd=$(lsblk -dnr -o PKNAME "$par_dev")
-if [ "$?" -ne 0 ]; then
-return $?
-fi
-if [ -z "$pd" ]; then
-break
-else
-par_dev="/dev/$pd"
-fi
-done
-lsblk -dnr -o TRAN "$par_dev"
+	dev="$1"
+	while pd="$(lsblk -dnr -o PKNAME "$dev")"; do
+		if [ -z "$pd" ]; then
+			break
+		else
+			dev="/dev/$pd"
+		fi
+	done
+	lsblk -dnr -o TRAN "$dev"
 }
 
-zpool_is_nvme_only () {
-	zpool=$1
-	# get a list of devices attached to the specified zpool
-for x in $(zpool list -vHPL "${zpool}" |\
-awk -F'\t' '{if($2 ~ /^\/dev\//) print $2}'); do
-if [ "$(get_transp $x)" != "nvme" ]; then
-return 1
-

Bug#1021709: manpages.debian.org: FAQ is full of deadlinks, incl. to the static assets repo

2022-10-24 Thread наб
Control: tag -1 + patch
Control: forwarded -1 
https://salsa.debian.org/manpages-team/debian-assets/-/merge_requests/1

Hi!

On Thu, Oct 13, 2022 at 04:49:33PM +0200, Holger Wansing wrote:
> Am 13. Oktober 2022 13:26:24 MESZ schrieb "наб" 
> :
> >I'd post a patch, but, well. No clue what against, given the givens.
> The dead URLs you mention have already been reported in
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960597
> (but not fixed, sadly).

Added to patch message.

> If you want to help with this and provide a proper patch, that
> would be against debian-assets:
> https://salsa.debian.org/manpages-team/debian-assets/-/blob/master/faq.tmpl
Thanks, that's what I was looking for!

No wonder this was out-of-date ‒ the last commit that touched this file
was in June of 2017.

Patches attached, also posted them as an MR there.

> Holger
Best,
наб


signature.asc
Description: PGP signature


Bug#1021709: manpages.debian.org: FAQ is full of deadlinks, incl. to the static assets repo

2022-10-25 Thread наб
One day I'll actually attach a patch when I say I do.
From e920daac585c51deb6a65b332f921a0b02d90123 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= 
Date: Mon, 24 Oct 2022 17:19:31 +0200
Subject: [PATCH 1/2] faq.tmpl: fix deadlinks
X-Mutt-PGP: OS

Closes: #1021709
Closes: #960597
---
 faq.tmpl | 26 ++
 1 file changed, 10 insertions(+), 16 deletions(-)

diff --git a/faq.tmpl b/faq.tmpl
index c221fa9..6dd8e43 100644
--- a/faq.tmpl
+++ b/faq.tmpl
@@ -12,10 +12,8 @@
   package, since version 0.70 (buster and later), there is
   a dman command which fetches pages from this site
   dynamically. If you can't install the package directly for some
-  reason, you can also download and run
-  the https://anonscm.debian.org/git/collab-maint/debian-goodies.git/plain/dman?id=19924c907a8b907eaea3c0d942c5ae780ef6111e";>source
-  code. Review the source before running to make sure it hasn't
-  been compromised!
+  reason, you can also download and run it
+  https://salsa.debian.org/debian/debian-goodies/-/blob/master/dman";>directly.
 
 
 Where to report problems in manpages?
@@ -29,9 +27,9 @@ need to be reported:
 If the manpage renders correctly in some manpage viewers, but not
   on https://manpages.debian.org";>manpages.debian.org,
   this might likely be a limitation/bug
-  with http://mdocml.bsd.lv/";>mdocml (the renderer we
-  use). http://mdocml.bsd.lv/contact.html";>Report at
-  mdocml.
+  with http://mandoc.bsd.lv/";>mandoc (the renderer we
+  use). http://mandoc.bsd.lv/contact.html";>Report at
+  mandoc.
 If the manpage contains wrong content, and was added by the Debian
   package maintainer, report at
   the https://bugs.debian.org/";>Debian bug tracker.
@@ -73,14 +71,10 @@ need to be reported:
   itself, https://github.com/Debian/debiman/pulls";>pull
   requests are welcome on Github. If the problem is in the content
   of one of those static pages, you may need to make changes to the
-  https://anonscm.debian.org/git/srv-manpages/debian-assets.git/";>static
-  assets repository. Pushing to that repository requires access to
-  the srv-manpages group, which is granted through a
-  request on
-  the https://alioth.debian.org/projects/srv-manpages/";>Alioth
-  project. You can also simply send a patch by email on
+  https://salsa.debian.org/manpages-team/debian-assets";>static
+  assets repository &em; send a MR on salsa or patch to
   the https://lists.debian.org/debian-doc/";>Debian
-  Documentation Mailing List if this is a one-off change.
+  Documentation Mailing List.
 
 
 
@@ -112,8 +106,8 @@ need to be reported:
   platform for your own need. The source code
   is https://github.com/Debian/debiman/";>hosted on Github
   and the site-specific text for this site
-  is https://anonscm.debian.org/git/srv-manpages/debian-assets.git/";>hosted
-  on Alioth, which may be useful as an example of how to customize
+  is https://salsa.debian.org/manpages-team/debian-assets";>hosted
+  on Salsa, which may be useful as an example of how to customize
   this text in your own instance.
 
 
-- 
2.30.2

From ef239f002616557339e295ea99d1f0d9daa43643 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= 
Date: Mon, 24 Oct 2022 17:22:20 +0200
Subject: [PATCH 2/2] faq.tmpl: by {,the} Debiman cron job
X-Mutt-PGP: OS

---
 faq.tmpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/faq.tmpl b/faq.tmpl
index 6dd8e43..583a3cb 100644
--- a/faq.tmpl
+++ b/faq.tmpl
@@ -78,7 +78,7 @@ need to be reported:
 
 
 
-  Changes to the static assets are picked up by Debiman cron job,
+  Changes to the static assets are picked up by the Debiman cron job,
   which runs every 4 hours. Then the changes are propagated through a
   Debian static mirror infrastructure, which adds an additional
   delay. Changes to templates are not propagated until manpages
-- 
2.30.2



signature.asc
Description: PGP signature


Bug#1022809: mdocml: Please drop debian/install_mandoc and install manuals verbatim

2022-10-26 Thread наб
Source: mdocml
Version: 1.14.6-1
Severity: minor
Tags: patch

Dear Maintainer,

This makes sense /only/, as the manual lays forth,
for systems pre-dating -mdoc ‒ Debian is very much /not/ one of them ‒
and, as the manual doesn't, it strips a lot of mark-up,
which looks passable for -Tutf8, but not for anything else

AFAICT, there has never been a reason to do this,
and none is listed, d/i_m just appears in Bdale's the initial commit:
just don't do it

All I can think of is confusion that maybe mdoc(7) is exclusive to
mandoc, and isn't supported by normal *roff distributions?
This is wrong, of course, but it wouldn't be the first time
I've heard this.

Additionally, this makes most of the installed manuals slightly smaller
(admittedly, not by much, but it's a nice bonus either way):
  before  after  diff  file
1571   1498   -73  ./usr/share/man/man1/demandoc.1.gz
   18598  18296  -302  ./usr/share/man/man1/mandoc.1.gz
4309   4145  -164  ./usr/share/man/man1/mapropos.1.gz
4237   4073  -164  ./usr/share/man/man1/mman.1.gz
1442   1357   -85  ./usr/share/man/man1/msoelim.1.gz
1896   1857   -39  ./usr/share/man/man5/man.conf.5.gz
2374   2319   -55  ./usr/share/man/man5/mandoc.db.5.gz
8329   8811   482  ./usr/share/man/man7/mandoc_char.7.gz
5035   4911  -124  ./usr/share/man/man7/mandoc_eqn.7.gz
5722   5673   -49  ./usr/share/man/man7/mandoc_man.7.gz
   23213  22424  -789  ./usr/share/man/man7/mandoc_mdoc.7.gz
   17843  17414  -429  ./usr/share/man/man7/mandoc_roff.7.gz
4283   4184   -99  ./usr/share/man/man7/mandoc_tbl.7.gz
2410   2306  -104  ./usr/share/man/man8/makewhatis.8.gz
2357   2270   -87  ./usr/share/man/man8/mandocd.8.gz
2364   2254  -110  ./usr/share/man/man8/mcatman.8.gz
  105983 103792 -2191  total

Attaching patch for this based on current Salsa HEAD,
also forwarded as MR 1 on there:
  https://salsa.debian.org/debian/mdocml/-/merge_requests/1

Best,
наб

-- System Information:
Debian Release: 11.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-17-amd64 (SMP w/24 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
From 3a443b5999ce93570489b0d6c742aa649dec893d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= 
Date: Wed, 26 Oct 2022 12:38:33 +0200
Subject: [PATCH] Don't filter installed manuals through -Tman
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Mutt-PGP: OS

This makes sense /only/, as the manual lays forth,
for systems pre-dating -mdoc ‒ Debian is very much /not/ one of them ‒
and, as the manual doesn't, it strips a lot of mark-up,
which looks passable for -Tutf8, but not for anything else

AFAICT, there has never been a reason to do this,
and none is listed, d/i_m just appears in Bdale's the initial commit:
just don't do it
---
 debian/install_mandoc| 15 ---
 debian/patches/configure.local.patch |  3 +--
 2 files changed, 1 insertion(+), 17 deletions(-)
 delete mode 100755 debian/install_mandoc

diff --git a/debian/install_mandoc b/debian/install_mandoc
deleted file mode 100755
index 1c68191..000
--- a/debian/install_mandoc
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# Wraps install(1), converting mdoc documents to man documents before.
-
-eval target=\${$#}
-
-TMP=$(mktemp -d)
-
-while [ "$2" != "" ]; do
-  # Keep the filename, it is used by install(1) when target is a directory.
-  ./mandoc -Tman $1 > "$TMP/$1"
-  install -m 0444 "$TMP/$1" "$target"
-  shift
-done
-
-rm -rf "$TMP"
diff --git a/debian/patches/configure.local.patch b/debian/patches/configure.local.patch
index 25321d8..1061f6d 100644
--- a/debian/patches/configure.local.patch
+++ b/debian/patches/configure.local.patch
@@ -5,13 +5,12 @@ Index: mdocml/configure.local
 ===
 --- /dev/null
 +++ mdocml/configure.local
-@@ -0,0 +1,19 @@
+@@ -0,0 +1,18 @@
 +HAVE_WCHAR=1
 +OSNAME="Debian"
 +PREFIX="/usr"
 +MANDIR="${PREFIX}/share/man"
 +EXAMPLEDIR="${PREFIX}/share/doc/mandoc"
-+INSTALL_MAN="debian/install_mandoc"
 +MANM_MAN="mandoc_man"   # default is "man"
 +MANM_MDOC="mandoc_mdoc" # default is "mdoc"
 +MANM_ROFF="mandoc_roff" # default is "roff"
-- 
2.30.2



signature.asc
Description: PGP signature


Bug#1023029: dkms: new signing setup breaks existing configurations, needs special finaggling if your keys are passphrased

2022-10-29 Thread наб
Package: dkms
Version: 3.0.6-4
Severity: normal

Dear Maintainer,

I'm a big fan of not having to ship 
  
https://github.com/nabijaczleweli/babfig/blob/20f1d88f34ba31b3be0410df5e0d726d5ac0b4da/secureboot/usr-local-libexec-dkms-sign-helper
and
  sign_tool="/usr/local/libexec/dkms-sign-helper"
in framework.conf.

However, this is both undocumented in the NEWS /and/
this setup is broken if you need to supply
$KBUILD_SIGN_PIN to sign-file.

It doesn't help that none of this is at all documented in dkms(8),
either. This is additionally exacerbated by this yielding a cascade
of weird Perl backtraces in the apt log and the installation continuing
until dracut explodes because it wants modules that doesn't exist.
I pity the user who doesn't need those modules for booting,
or wasn't glued to the apt upgrade output.

I have successfully managed to fix this by injecting this in
framework.conf.d:
-- >8 --
{
[ -r /root/secureboot/creds.sh ] && . /root/secureboot/creds.sh
[ -z "$KBUILD_SIGN_PIN" ] && read -rp 'DB certificate password: ' 
KBUILD_SIGN_PIN
export KBUILD_SIGN_PIN
} < "/dev/tty" > "/dev/tty" 2>&1
-- >8 --

Of course, this prompts (non-root users, or all users if you don't have
creds.sh committed to disk) for all dkms invocations, and defeats the
façade of a "config file" by just injecting random code, but I've
verified that it does indeed work.

So please:
  * note in the new shipped framework.conf that it will use no
passphrase by default
  * add NEWS that explain this transition
  * add a work-around to NEWS for users that do need/use/require
provisions for $KBUILD_SIGN_PIN

Thanks,
наб

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

Kernel: Linux 5.18.0-2-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dkms depends on:
ii  build-essential12.9
ii  clang-13 [c-compiler]  1:13.0.1-7
ii  clang-14 [c-compiler]  1:14.0.6-7
ii  dctrl-tools2.24-3+b1
ii  dh-dkms3.0.6-4
ii  dpkg-dev   1.21.9
ii  gcc [c-compiler]   4:12.2.0-1
ii  gcc-10 [c-compiler]10.4.0-5
ii  gcc-11 [c-compiler]11.3.0-8
ii  gcc-12 [c-compiler]12.2.0-7
ii  kmod   30+20220905-1
ii  lsb-release12.0-1
ii  make   4.3-4.1
ii  patch  2.7.6-7

Versions of packages dkms recommends:
ii  fakeroot 1.29-1
hi  linux-headers-amd64 [linux-headers-generic]  5.18.5-1
ii  sudo 1.9.11p3-2

Versions of packages dkms suggests:
ii  e2fsprogs  1.46.6~rc1-1+b1
pn  menu   

-- Configuration Files:
/etc/dkms/framework.conf changed:
mok_signing_key=/root/secureboot/db.key
mok_certificate=/root/secureboot/db.der


-- no debconf information


signature.asc
Description: PGP signature


Bug#1023058: git-buildpackage: gbp dch refuses to work with $[DEB]EMAIL unset, doesn't use either at all?

2022-10-29 Thread наб
Package: git-buildpackage
Version: 0.9.29
Severity: normal

Dear Maintainer,

Every time I do:
-- >8 --
$ gbp dch --verbose -R
gbp:error: Either 'EMAIL' or 'DEBEMAIL' must be set in the environment
for 'dch' to work
-- >8 --
and every time I re-run with EMAIL=: gbp ...

AFAICT, nothing actually uses the variables, so idk why they're
complained about. My config is:
-- >8 --
$ grep -v '^#' ~/.gbp.conf
[DEFAULT]
builder = debuild -i -I -sa
cleaner = fakeroot debian/rules clean
debian-branch = debian
git-debian-branch = debian
git-author = True

[buildpackage]
export-dir = ../build-output/

[import-orig]
dch = False
filter-pristine-tar = True
-- >8 --

The changelog "-- author  date" line correctly lists my public
mailing address (not the machine-local one).

Best,
наб

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

Kernel: Linux 5.18.0-2-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages git-buildpackage depends on:
ii  devscripts 2.22.2
ii  git1:2.37.2-1
ii  man-db 2.11.0-1+b1
ii  python33.10.6-1
ii  python3-dateutil   2.8.2-1
ii  python3-pkg-resources  65.5.0-1
ii  python3-yaml   5.4.1-1+b2
ii  sensible-utils 0.0.17

Versions of packages git-buildpackage recommends:
pn  cowbuilder | pbuilder | sbuild  
ii  pristine-tar1.49
ii  python3-requests2.27.1+dfsg-1

Versions of packages git-buildpackage suggests:
pn  python3-notify2  
ii  sudo 1.9.11p3-2
ii  unzip6.0-27

-- no debconf information


signature.asc
Description: PGP signature


Bug#1023070: libzfslinux-dev: needs to depend on libblkid-dev

2022-10-29 Thread наб
Package: libzfslinux-dev
Version: 2.1.6-2
Severity: important

Dear Maintainer,

I just got this:
-- >8 --
$ pkg-config --cflags libzfs
Package blkid was not found in the pkg-config search path.
Perhaps you should add the directory containing `blkid.pc'
to the PKG_CONFIG_PATH environment variable
Package 'blkid', required by 'libzfs_core', not found
-- >8 --

Of course, this was alleviated by installing libblkid-dev,
but having the packages not depend on each other means that
libzfslinux-dev is unusable when building dependent packages with
mininal dependencies.

Best,
наб


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

Kernel: Linux 5.18.0-2-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libzfslinux-dev depends on:
ii  libnvpair3linux  2.1.6-2
ii  libssl-dev   3.0.5-4
ii  libuutil3linux   2.1.6-2
ii  libzfs4linux 2.1.6-2
ii  libzfsbootenv1linux  2.1.6-2
ii  libzpool5linux   2.1.6-2

libzfslinux-dev recommends no packages.

libzfslinux-dev suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1023127: zfs-linux: please make zfs-{initramfs,dracut} Depend on their respective -core packages

2022-10-30 Thread наб
Source: zfs-linux
Version: 2.1.6-2
Severity: wishlist
Tags: patch

Dear Maintainer,

Currently, zfs-initramfs and zfs-dracut are not co-installable,
because they have Depends: initramfs-tools and dracut, respectively,
and those conflict.

initramfs-tools and dracut are the "please use
initramfs-tools-core/dracut-core to generate system initrds"
integration-only packages.

The actual generation program and plugins are provided in the
-core packages. Please consider the attached patches, based on recent
Salsa, to make them co-installable.

Best,
наб

-- System Information:
Debian Release: 11.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-17-amd64 (SMP w/24 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, 
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
From 879ae6c680ee245f1b1daf60991e887993839f1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= 
Date: Sun, 30 Oct 2022 13:37:46 +0100
Subject: [PATCH 1/2] d/control: zfs-dracut Depends: dracut-core instead of
 dracut

dracut-core contains dracut proper, dracut is the "please use dracut to
generate system initrds" package
---
 debian/control | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index ba2dbb7d2..571e984e9 100644
--- a/debian/control
+++ b/debian/control
@@ -217,7 +217,7 @@ Description: OpenZFS root filesystem capabilities for Linux - initramfs
 
 Package: zfs-dracut
 Architecture: all
-Depends: dracut,
+Depends: dracut-core,
  zfs-modules | zfs-dkms,
  zfsutils-linux (>= ${source:Version}),
  ${misc:Depends}
-- 
2.37.2

From 4c51ef2fea5097350b4ac3c4933efc1b69cb87ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= 
Date: Sun, 30 Oct 2022 14:32:52 +0100
Subject: [PATCH 2/2] d/control: zfs-initramfs-tools Depends:
 initramfs-tools-core instead of initramfs-tools

initramfs-tools-core contains initramfs-tools proper, initramfs-tools
is the "please use initramfs-tools to generate system initrds" package
---
 debian/control | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index 571e984e9..297c4ced3 100644
--- a/debian/control
+++ b/debian/control
@@ -201,7 +201,7 @@ Description: OpenZFS filesystem kernel modules for Linux
 Package: zfs-initramfs
 Architecture: all
 Depends: busybox-initramfs | busybox-static | busybox,
- initramfs-tools,
+ initramfs-tools-core,
  zfs-modules | zfs-dkms,
  zfsutils-linux (>= ${source:Version}),
  ${misc:Depends}
-- 
2.37.2



signature.asc
Description: PGP signature


  1   2   3   4   5   6   >