Bug#1060024: python-pymodbus-doc: Documentation's changelog page is gzipped, breaking links

2024-01-04 Thread Jean-Paul Larocque
Package: python-pymodbus-doc
Version: 3.0.0-7
Severity: normal

Dear Maintainer,

Since upgrading to Bookworm, I discovered that one of my programs which used
python3-pymodbus broke, so I installed this package to look for incompatible
changes to the API between pymodbus versions 2.1.0 (the version from Buster)
and 3.0.0.

When I open /usr/share/doc/python-pymodbus-doc/html/index.html with my web
browser and click one of the links under "CHANGELOGS", my browser reports that
it cannot find /usr/share/doc/python-pymodbus-doc/html/changelog.html.  It
looks like .../changelog.html.gz is included in the package, so some part of
the packaging process is compressing this file, which breaks links from the
documentation pages.

A mediocre workaround for end-users is to decompress the page after
installation:

sudo gzip -dk /usr/share/doc/python-pymodbus-doc/html/changelog.html.gz

(Sadly, I can't use a local dpkg diversion, because my browser doesn't
transparently decompress gzipped HTML.)

Thanks for looking into this!
-Jean-Paul

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

Kernel: Linux 6.1.0-10-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=C, LC_CTYPE=C (charmap=UTF-8) (ignored: LC_ALL set to 
en_US.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 python-pymodbus-doc depends on:
ii  libjs-sphinxdoc  5.3.0-4
ii  sphinx-rtd-theme-common  1.2.0+dfsg-1

python-pymodbus-doc recommends no packages.

python-pymodbus-doc suggests no packages.

-- no debconf information



Bug#1059381: inkscape: Crashes when setting circle radius in document with tiny scale (huge viewBox extents)

2023-12-23 Thread Jean-Paul Larocque
 2.7.1+dfsg-5
ii  libgspell-1-2  1.12.0-1+b2
ii  libgtk-3-0 3.24.38-2~deb12u1
ii  libgtkmm-3.0-1v5   3.24.7-1
ii  libharfbuzz0b  6.0.0+dfsg-3
ii  libjpeg62-turbo1:2.1.5-2
ii  liblcms2-2 2.14-2
ii  libmagick++-6.q16-88:6.9.11.60+dfsg-1.6
ii  libpango-1.0-0 1.50.12+ds-1
ii  libpangocairo-1.0-01.50.12+ds-1
ii  libpangoft2-1.0-0  1.50.12+ds-1
ii  libpangomm-1.4-1v5 2.46.3-1
ii  libpng16-161.6.39-2
ii  libpoppler-glib8   22.12.0-2+b1
ii  libpoppler126  22.12.0-2+b1
ii  libpotrace01.16-2
ii  libreadline8   8.2-1.3
ii  librevenge-0.0-0   0.0.5-3
ii  librsvg2-common2.54.7+dfsg-1~deb12u1
ii  libsigc++-2.0-0v5  2.12.0-1
ii  libsoup2.4-1   2.74.3-1
ii  libstdc++6 12.2.0-14
ii  libvisio-0.1-1 0.1.7-1+b3
ii  libwpg-0.3-3   0.3.3-1
ii  libx11-6   2:1.8.4-2+deb12u2
ii  libxml22.9.14+dfsg-1.3~deb12u1
ii  libxslt1.1 1.1.35-1
ii  python33.11.2-1+b1
ii  zlib1g 1:1.2.13.dfsg-1

Versions of packages inkscape recommends:
ii  aspell   0.60.8-4+b1
ii  fig2dev  1:3.2.8b-3
ii  imagemagick  8:6.9.11.60+dfsg-1.6
ii  imagemagick-6.q16 [imagemagick]  8:6.9.11.60+dfsg-1.6
ii  libimage-magick-perl 8:6.9.11.60+dfsg-1.6
ii  libwmf-bin   0.2.12-5.1
pn  python3-cssselect
ii  python3-lxml 4.9.2-1+b1
ii  python3-numpy1:1.24.2-1
ii  python3-scour0.38.2-2

Versions of packages inkscape suggests:
ii  dia   0.97.3+git20220525-5
pn  inkscape-tutorials
pn  libsvg-perl   
ii  pstoedit  3.78-2
ii  python3-packaging 23.0-1
pn  python3-uniconvertor  
pn  ruby  

-- no debconf information

-- 
Jean-Paul Larocque 


Bug#1004280: raspi-firmware: Autogenerated-file warning fixes and clarification for config.txt

2022-01-23 Thread Jean-Paul Larocque
Package: raspi-firmware
Version: 1.20210303+ds-2
Severity: normal
File: /etc/kernel/postinst.d/z50-raspi-firmware
Tags: patch

Hi Debian Raspberry Pi Maintainers,

I noticed that /etc/kernel/postinst.d/z50-raspi-firmware is meant to
include a comment with a warning when generating
/boot/firmware/config.txt:

---
# Truncate the config.txt file so that we start with a blank slate
echo  instead of >>:

---
if [ "$arch" = "arm64" ]; then
  cat >/boot/firmware/config.txt <--- /etc/kernel/postinst.d/z50-raspi-firmware.dpkg-dist	2021-04-20 22:52:21.0 -0700
+++ /etc/kernel/postinst.d/z50-raspi-firmware	2022-01-23 21:31:53.178811042 -0800
@@ -94,20 +94,20 @@
 
 
 # Truncate the config.txt file so that we start with a blank slate
-echo /boot/firmware/config.txt /boot/firmware/config.txt <

Bug#1004139: ifenslave: Hotplugged interfaces sometimes not added to bond-master due to ifquery race condition

2022-01-21 Thread Jean-Paul Larocque
Package: ifenslave
Version: 2.13
Severity: normal

Hi,

I have a simple bonding configuration with two physical Ethernet
interfaces, both defined with the `allow-hotplug` option.  I use
allow-hotplug because the interfaces are on USB.  And since I'm
using allow-hotplug, I chose the style of configuration where I use
the `bond-master` configuration option under each slave configuration
stanza, rather than `bond-slaves` in the bonding master interface
stanza.

This configuration is similar to the one in
examples/two_hotplug_ethernet.  I'm attaching a copy of my
/etc/network/interfaces file.

The problem is that sometimes after a reboot, I find that one of my
interfaces (wlx0013efd01275: an external, wireless USB interface) is
not a member of the bond:

$ ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group 
default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: enxb827eb9e4634:  mtu 1500 qdisc 
pfifo_fast master bond0 state UP group default qlen 1000
link/ether b8:27:eb:9e:46:34 brd ff:ff:ff:ff:ff:ff
3: wlx0013efd01275:  mtu 1500 qdisc mq state 
UP group default qlen 1000
link/ether 00:13:ef:d0:12:75 brd ff:ff:ff:ff:ff:ff
inet6 2002:ce3f:e590:2:213:efff:fed0:1275/64 scope global dynamic 
mngtmpaddr 
   valid_lft 86179sec preferred_lft 14179sec
inet6 2002:ce3f:e590:1:213:efff:fed0:1275/64 scope global dynamic 
mngtmpaddr 
   valid_lft 86179sec preferred_lft 14179sec
inet6 fe80::213:efff:fed0:1275/64 scope link 
   valid_lft forever preferred_lft forever
4: bond0:  mtu 1500 qdisc noqueue state 
UP group default qlen 1000
link/ether b8:27:eb:9e:46:34 brd ff:ff:ff:ff:ff:ff
inet 192.168.66.19/21 brd 192.168.71.255 scope global bond0
   valid_lft forever preferred_lft forever
inet6 2002:ce3f:e590:1:1::19/64 scope global nodad 
   valid_lft forever preferred_lft forever
inet6 fe80::ba27:ebff:fe9e:4634/64 scope link 
   valid_lft forever preferred_lft forever
$ cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v5.10.0-10-rpi

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: enxb827eb9e4634 (primary_reselect always)
Currently Active Slave: enxb827eb9e4634
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

Slave Interface: enxb827eb9e4634
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: b8:27:eb:9e:46:34
Slave queue ID: 0
$ /sbin/ifquery --state
lo=lo
bond0=bond0
wlx0013efd01275=wlx0013efd01275
enxb827eb9e4634=enxb827eb9e4634

In this situation, this is logged to syslog (via systemd):

sh[299]: Failed to enslave wlx0013efd01275 to bond0.

I think I understand the cause, and propose a workaround or a bug fix
(depending on how you look at it).

When both devices are present at boot, two ifup@.service units
(one for each interface) are started simultaneously.  It seems like
the ifenslave ifupdown scripts are meant to handle this, but in
/etc/network/if-pre-up.d/ifenslave, in the definition of setup_slave_device(),
there is:

# Ensure the master is up or being configured
export IFENSLAVE_ENV_NAME="IFUPDOWN_$IF_BOND_MASTER"
IFUPDOWN_IF_BOND_MASTER="$(printenv "$IFENSLAVE_ENV_NAME")"
unset IFENSLAVE_ENV_NAME
if [ -z "$IFUPDOWN_IF_BOND_MASTER" ] ; then
ifquery --state "$IF_BOND_MASTER" >/dev/null 2>&1 || ifup 
"$IF_BOND_MASTER"
fi

I've added loads of debugging and done many reboot cycles to find out
that when the problem occurs (or at least in one case), both
simultaneously-running processes get to the `ifquery` line.  One of
the processes executes ifquery and gets a non-zero return code,
leading it to run `ifup "$IF_BOND_MASTER"`.  After ifup starts, the
other script process executes ifquery and gets a zero return code.

In this case, the bond interface hasn't come up yet, but the command
to bring it up has started, which I think is why ifquery is returning
zero here.  I can reproduce this behavior of ifquery with a dummy
interface:

iface dummy0 inet manual
pre-up modprobe dummy
pre-up sleep 5
up ip link add dummy0 type dummy
down ip link del dummy0

$ q() { sudo ifquery --state dummy0; echo "  => $?"; }
$ q
  => 1
$ sudo ifup dummy0 & sleep 1; q; ip link show dummy0; ps $!
[1] 7956
dummy0=dummy0
  => 0
Device "dummy0" does not exist.
  PID TTY  STAT   TIME COMMAND
 7956 pts/1S  0:00 sudo ifup dummy0

This shows that ifquery does return 0, even while ifup is still
working.

>From my reading of ifquery(8), this is possibly a bug ("successful
code is returned if all of interfaces given as arguments are up").
Either ifquery is supposed to return failure in this case (meaning
ifquery has a bug, since the interface hasn't finished coming up yet),
or it is valid for it to return suc