Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ipp-usb for openSUSE:Factory checked 
in at 2026-05-30 22:56:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ipp-usb (Old)
 and      /work/SRC/openSUSE:Factory/.ipp-usb.new.1937 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ipp-usb"

Sat May 30 22:56:40 2026 rev:5 rq:1355951 version:0.9.33

Changes:
--------
--- /work/SRC/openSUSE:Factory/ipp-usb/ipp-usb.changes  2026-04-15 
16:14:36.943774492 +0200
+++ /work/SRC/openSUSE:Factory/.ipp-usb.new.1937/ipp-usb.changes        
2026-05-30 22:58:47.945907132 +0200
@@ -1,0 +2,10 @@
+Fri May 29 19:13:17 UTC 2026 - Richard Rahl <[email protected]>
+
+- Update to version 0.9.33:
+  + Added quirks for HP LaserJet M406
+  + Changed priority order of IPP attributes for obtaining DNS-SD name
+- Update to version 0.9.32:
+  + Use ctags instead of the gotags
+  + Workaround for "Pantum BP5100DN series" initialization failure
+
+-------------------------------------------------------------------

Old:
----
  ipp-usb-0.9.31.obscpio

New:
----
  ipp-usb-0.9.33.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ipp-usb.spec ++++++
--- /var/tmp/diff_new_pack.Xq4cky/_old  2026-05-30 22:58:49.849985257 +0200
+++ /var/tmp/diff_new_pack.Xq4cky/_new  2026-05-30 22:58:49.849985257 +0200
@@ -18,7 +18,7 @@
 
 %define         import_path github.com/OpenPrinting/ipp-usb
 Name:           ipp-usb
-Version:        0.9.31
+Version:        0.9.33
 Release:        0
 Summary:        HTTP reverse proxy, backed by IPP-over-USB connection to device
 License:        BSD-2-Clause

++++++ _service ++++++
--- /var/tmp/diff_new_pack.Xq4cky/_old  2026-05-30 22:58:49.885986734 +0200
+++ /var/tmp/diff_new_pack.Xq4cky/_new  2026-05-30 22:58:49.889986898 +0200
@@ -3,7 +3,7 @@
   <service name="obs_scm" mode="manual">
     <param name="url">https://github.com/OpenPrinting/ipp-usb.git</param>
     <param name="scm">git</param>
-    <param name="revision">refs/tags/0.9.31</param>
+    <param name="revision">refs/tags/0.9.33</param>
     <param name="versionformat">@PARENT_TAG@</param>
   </service>
   <service name="tar" mode="buildtime" />

++++++ ipp-usb-0.9.31.obscpio -> ipp-usb-0.9.33.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipp-usb-0.9.31/Makefile new/ipp-usb-0.9.33/Makefile
--- old/ipp-usb-0.9.31/Makefile 2026-02-12 17:00:23.000000000 +0100
+++ new/ipp-usb-0.9.33/Makefile 2026-05-06 21:26:59.000000000 +0200
@@ -9,7 +9,7 @@
 endif
 
 all:
-       -gotags -R . > tags
+       -ctags -R
        go build -ldflags "-s -w" -tags nethttpomithttp2 -mod=vendor
 
 man:   $(MANPAGE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipp-usb-0.9.31/README.md new/ipp-usb-0.9.33/README.md
--- old/ipp-usb-0.9.31/README.md        2026-02-12 17:00:23.000000000 +0100
+++ new/ipp-usb-0.9.33/README.md        2026-05-06 21:26:59.000000000 +0200
@@ -235,37 +235,37 @@
   sudo snap install docker
 ```
 
-#### **Running the `ipp-usb` Container with Persistent Storage**  
+#### **Running the `ipp-usb` Container with Persistent Storage**
 
-To run the `ipp-usb` container while ensuring that its state persists across 
restarts, follow these steps.  
+To run the `ipp-usb` container while ensuring that its state persists across 
restarts, follow these steps.
 
-#### **1. Pull the `ipp-usb` Docker Image**  
-The latest image is available on the GitHub Container Registry. Pull it using: 
 
+#### **1. Pull the `ipp-usb` Docker Image**
+The latest image is available on the GitHub Container Registry. Pull it using:
 ```sh
 sudo docker pull ghcr.io/openprinting/ipp-usb:latest
 ```
 
-#### **2. Create Persistent Storage Volumes**  
-To ensure that configuration settings and printer state persist across 
container restarts, create two Docker volumes:  
+#### **2. Create Persistent Storage Volumes**
+To ensure that configuration settings and printer state persist across 
container restarts, create two Docker volumes:
 
 ```sh
 sudo docker volume create ipp-usb-state
 sudo docker volume create ipp-usb-conf
-```  
-
-These volumes store:  
+```
 
-- **`ipp-usb-state` (`/var/ipp-usb/`)**  
-  - Device state files (`/var/ipp-usb/dev/`) – Ensures stable TCP port 
allocation and DNS-SD name resolution.  
-  - Lock files (`/var/ipp-usb/lock/`) – Prevents multiple instances from 
running simultaneously.  
-  - Log files (`/var/log/ipp-usb/`) – Can be optionally mounted if needed for 
debugging.  
+These volumes store:
 
-- **`ipp-usb-conf` (`/etc/ipp-usb/`)**  
-  - Configuration file (`/etc/ipp-usb/ipp-usb.conf`) – Stores user-defined 
settings.  
-  - Quirks files (`/etc/ipp-usb/quirks/`) – Contains printer-specific 
workarounds.  
+- **`ipp-usb-state` (`/var/ipp-usb/`)**
+  - Device state files (`/var/ipp-usb/dev/`) – Ensures stable TCP port 
allocation and DNS-SD name resolution.
+  - Lock files (`/var/ipp-usb/lock/`) – Prevents multiple instances from 
running simultaneously.
+  - Log files (`/var/log/ipp-usb/`) – Can be optionally mounted if needed for 
debugging.
+
+- **`ipp-usb-conf` (`/etc/ipp-usb/`)**
+  - Configuration file (`/etc/ipp-usb/ipp-usb.conf`) – Stores user-defined 
settings.
+  - Quirks files (`/etc/ipp-usb/quirks/`) – Contains printer-specific 
workarounds.
 
-#### **3. Run the Container with Required Mounts**  
-Start the container with appropriate options:  
+#### **3. Run the Container with Required Mounts**
+Start the container with appropriate options:
 
 ```sh
 sudo docker run -d --network host \
@@ -277,11 +277,11 @@
     ghcr.io/openprinting/ipp-usb:latest
 ```
 
-- **`--network host`** → Uses the host’s network to enable proper IPP-over-USB 
and Avahi service discovery.  
-- **`-v /dev/bus/usb:/dev/bus/usb:ro`** → Grants read-only access to USB 
devices for printer detection.  
-- **`-v ipp-usb-state:/var/ipp-usb`** → Mounts the persistent storage volume 
for printer state, lock files, and logs.  
-- **`-v ipp-usb-conf:/etc/ipp-usb`** → Ensures configuration and quirks files 
persist across reboots.  
-- **`--device-cgroup-rule='c 189:* rmw'`** → Grants read, write, and 
management permissions for USB printers inside the container.  
+- **`--network host`** → Uses the host’s network to enable proper IPP-over-USB 
and Avahi service discovery.
+- **`-v /dev/bus/usb:/dev/bus/usb:ro`** → Grants read-only access to USB 
devices for printer detection.
+- **`-v ipp-usb-state:/var/ipp-usb`** → Mounts the persistent storage volume 
for printer state, lock files, and logs.
+- **`-v ipp-usb-conf:/etc/ipp-usb`** → Ensures configuration and quirks files 
persist across reboots.
+- **`--device-cgroup-rule='c 189:* rmw'`** → Grants read, write, and 
management permissions for USB printers inside the container.
 
 
 ### Building and Running `ipp-usb` Locally
@@ -298,43 +298,43 @@
   sudo snap install rockcraft --classic
 ```
 
-**To Build and Run the `ipp-usb` Rock Image Locally, follow these steps** 
+**To Build and Run the `ipp-usb` Rock Image Locally, follow these steps**
 
-#### **1. Build the `ipp-usb` Rock Image**  
-The first step is to build the Rock image from the `rockcraft.yaml` 
configuration file. This image will include all required dependencies and 
configurations for `ipp-usb`.  
+#### **1. Build the `ipp-usb` Rock Image**
+The first step is to build the Rock image from the `rockcraft.yaml` 
configuration file. This image will include all required dependencies and 
configurations for `ipp-usb`.
 
-Navigate to the directory containing `rockcraft.yaml` and run:  
+Navigate to the directory containing `rockcraft.yaml` and run:
 ```sh
   rockcraft pack -v
-```  
+```
 
-#### **2. Convert the Rock Image to a Docker Image**  
-Once the `.rock` file is built, convert it into a Docker image using:  
+#### **2. Convert the Rock Image to a Docker Image**
+Once the `.rock` file is built, convert it into a Docker image using:
 ```sh
 sudo rockcraft.skopeo --insecure-policy copy oci-archive:<rock_image> 
docker-daemon:ipp-usb:latest
-```  
+```
 
-#### **3. Create Persistent Storage Volumes**  
-To ensure that configuration settings and printer state persist across 
container restarts, create two Docker volumes:  
+#### **3. Create Persistent Storage Volumes**
+To ensure that configuration settings and printer state persist across 
container restarts, create two Docker volumes:
 
 ```sh
 sudo docker volume create ipp-usb-state
 sudo docker volume create ipp-usb-conf
-```  
-
-These volumes store:  
+```
 
-- **`ipp-usb-state` (`/var/ipp-usb/`)**  
-  - Device state files (`/var/ipp-usb/dev/`) – Ensures stable TCP port 
allocation and DNS-SD name resolution.  
-  - Lock files (`/var/ipp-usb/lock/`) – Prevents multiple instances from 
running simultaneously.  
-  - Log files (`/var/log/ipp-usb/`) – Can be optionally mounted if needed for 
debugging.  
+These volumes store:
 
-- **`ipp-usb-conf` (`/etc/ipp-usb/`)**  
-  - Configuration file (`/etc/ipp-usb/ipp-usb.conf`) – Stores user-defined 
settings.  
-  - Quirks files (`/etc/ipp-usb/quirks/`) – Contains printer-specific 
workarounds.  
+- **`ipp-usb-state` (`/var/ipp-usb/`)**
+  - Device state files (`/var/ipp-usb/dev/`) – Ensures stable TCP port 
allocation and DNS-SD name resolution.
+  - Lock files (`/var/ipp-usb/lock/`) – Prevents multiple instances from 
running simultaneously.
+  - Log files (`/var/log/ipp-usb/`) – Can be optionally mounted if needed for 
debugging.
+
+- **`ipp-usb-conf` (`/etc/ipp-usb/`)**
+  - Configuration file (`/etc/ipp-usb/ipp-usb.conf`) – Stores user-defined 
settings.
+  - Quirks files (`/etc/ipp-usb/quirks/`) – Contains printer-specific 
workarounds.
 
-#### **4. Run the Container with Required Mounts**  
-Start the container with appropriate options:  
+#### **4. Run the Container with Required Mounts**
+Start the container with appropriate options:
 
 ```sh
 sudo docker run -d --network host \
@@ -346,11 +346,11 @@
     ipp-usb:latest
 ```
 
-- **`--network host`** → Uses the host’s network to enable proper IPP-over-USB 
and Avahi service discovery.  
-- **`-v /dev/bus/usb:/dev/bus/usb:ro`** → Grants read-only access to USB 
devices for printer detection.  
-- **`-v ipp-usb-state:/var/ipp-usb`** → Mounts the persistent storage volume 
for printer state, lock files, and logs.  
-- **`-v ipp-usb-conf:/etc/ipp-usb`** → Ensures configuration and quirks files 
persist across reboots.  
-- **`--device-cgroup-rule='c 189:* rmw'`** → Grants read, write, and 
management permissions for USB printers inside the container.  
+- **`--network host`** → Uses the host’s network to enable proper IPP-over-USB 
and Avahi service discovery.
+- **`-v /dev/bus/usb:/dev/bus/usb:ro`** → Grants read-only access to USB 
devices for printer detection.
+- **`-v ipp-usb-state:/var/ipp-usb`** → Mounts the persistent storage volume 
for printer state, lock files, and logs.
+- **`-v ipp-usb-conf:/etc/ipp-usb`** → Ensures configuration and quirks files 
persist across reboots.
+- **`--device-cgroup-rule='c 189:* rmw'`** → Grants read, write, and 
management permissions for USB printers inside the container.
 
 ### Accessing the Container Shell
 
@@ -360,103 +360,103 @@
 ```
 This allows you to inspect logs, debug issues, or manually run commands inside 
the container.
 
-### Configuration  
+### Configuration
 
-The `ipp-usb` container uses a configuration file located at:  
+The `ipp-usb` container uses a configuration file located at:
 ```sh
 /etc/ipp-usb/ipp-usb.conf
 ```
-By default, the container uses the built-in configuration, which can be 
modified from inside the container. 
+By default, the container uses the built-in configuration, which can be 
modified from inside the container.
 
-**Modifying the Configuration File Inside the Container**  
+**Modifying the Configuration File Inside the Container**
 
-#### **1. Enter the Running Container**  
-Use the following command to access the container’s shell:  
+#### **1. Enter the Running Container**
+Use the following command to access the container’s shell:
 ```sh
 sudo docker exec -it ipp-usb bash
 ```
 
-#### **2. Open the Configuration File in Nano**  
-Once inside the container, open the configuration file using `nano`:  
+#### **2. Open the Configuration File in Nano**
+Once inside the container, open the configuration file using `nano`:
 ```sh
 nano /etc/ipp-usb/ipp-usb.conf
 ```
 
-#### **3. Edit and Save the File**  
-- Make the necessary changes to the file.  
-- Press `CTRL + X`, then `Y`, and hit `Enter` to save the changes.  
+#### **3. Edit and Save the File**
+- Make the necessary changes to the file.
+- Press `CTRL + X`, then `Y`, and hit `Enter` to save the changes.
 
-#### **4. Restart the Container to Apply Changes**  
-Exit the container and restart it to apply the updated configuration:  
+#### **4. Restart the Container to Apply Changes**
+Exit the container and restart it to apply the updated configuration:
 ```sh
 sudo docker restart ipp-usb
 ```
 
-### **Viewing Logs in the `ipp-usb` Container**  
+### **Viewing Logs in the `ipp-usb` Container**
 
-The `ipp-usb` container logs important events and errors to 
`/var/log/ipp-usb/`. Logs are categorized into:  
+The `ipp-usb` container logs important events and errors to 
`/var/log/ipp-usb/`. Logs are categorized into:
 
-- **Main log file:** `/var/log/ipp-usb/main.log` → Captures overall service 
activity, including errors and general events.  
-- **Per-device logs:** `/var/log/ipp-usb/<DEVICE>.log` → Individual log files 
for each detected printer, helpful for troubleshooting device-specific issues.  
+- **Main log file:** `/var/log/ipp-usb/main.log` → Captures overall service 
activity, including errors and general events.
+- **Per-device logs:** `/var/log/ipp-usb/<DEVICE>.log` → Individual log files 
for each detected printer, helpful for troubleshooting device-specific issues.
 
-#### **1. Using Docker Logs**  
+#### **1. Using Docker Logs**
 
-To view real-time logs from the running container, use:  
+To view real-time logs from the running container, use:
 ```sh
 sudo docker logs -f ipp-usb
-```  
-- The `-f` flag follows the logs in real-time.  
-- Replace `ipp-usb` with your actual container name if different.  
+```
+- The `-f` flag follows the logs in real-time.
+- Replace `ipp-usb` with your actual container name if different.
 
-#### **2. Viewing Logs Inside the Container**  
+#### **2. Viewing Logs Inside the Container**
 
-If you need to inspect logs manually, first enter the container shell:  
+If you need to inspect logs manually, first enter the container shell:
 ```sh
 sudo docker exec -it ipp-usb bash
-```  
+```
 
-Once inside the container, you can use the following commands:  
+Once inside the container, you can use the following commands:
 
-#### **2.1 Monitor Logs in Real-Time**  
+#### **2.1 Monitor Logs in Real-Time**
 
-- **Main log file:**  
+- **Main log file:**
   ```sh
   tail -f /var/log/ipp-usb/main.log
-  ```  
-  This continuously displays new log entries for the entire service.  
+  ```
+  This continuously displays new log entries for the entire service.
 
-- **Per-device log file (Replace `<DEVICE>` with your printer's identifier):** 
 
+- **Per-device log file (Replace `<DEVICE>` with your printer's identifier):**
   ```sh
   tail -f /var/log/ipp-usb/<DEVICE>.log
-  ```  
+  ```
 
-#### **2.2 Display Full Log Files**  
+#### **2.2 Display Full Log Files**
 
-- **Show full contents of the main log file:**  
+- **Show full contents of the main log file:**
   ```sh
   cat /var/log/ipp-usb/main.log
-  ```  
+  ```
 
-- **Show logs for a specific device:**  
+- **Show logs for a specific device:**
   ```sh
   cat /var/log/ipp-usb/<DEVICE>.log
-  ```  
+  ```
 
-#### **2.3 List Available Device Logs**  
+#### **2.3 List Available Device Logs**
 
-To see all available per-device log files, run:  
+To see all available per-device log files, run:
 ```sh
 ls /var/log/ipp-usb/
-```  
+```
 
-#### **3. Persisting Logs Across Container Restarts**  
+#### **3. Persisting Logs Across Container Restarts**
 
-If you want logs to persist across container restarts, you should mount the 
log directory using a Docker volume or a host directory.  
+If you want logs to persist across container restarts, you should mount the 
log directory using a Docker volume or a host directory.
 
-**Required Docker Flags for Log Persistence:**  
-- `-v <volume-name>:/var/log/ipp-usb` → Mounts a Docker volume for log 
persistence.  
-- **or**  
-- `-v <host-directory>:/var/log/ipp-usb` → Mounts a host directory to retain 
logs outside the container.  
+**Required Docker Flags for Log Persistence:**
+- `-v <volume-name>:/var/log/ipp-usb` → Mounts a Docker volume for log 
persistence.
+- **or**
+- `-v <host-directory>:/var/log/ipp-usb` → Mounts a host directory to retain 
logs outside the container.
 
 These options ensure that logs remain available even after the container stops 
or is recreated, allowing for easier troubleshooting and auditing.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipp-usb-0.9.31/ipp-usb-quirks/HP.conf 
new/ipp-usb-0.9.33/ipp-usb-quirks/HP.conf
--- old/ipp-usb-0.9.31/ipp-usb-quirks/HP.conf   2026-02-12 17:00:23.000000000 
+0100
+++ new/ipp-usb-0.9.33/ipp-usb-quirks/HP.conf   2026-05-06 21:26:59.000000000 
+0200
@@ -58,3 +58,10 @@
 [*HP Color LaserJet Flow X677*]
   usb-send-delay-threshold = 2048
   usb-send-delay = 0.2ms
+
+# HP LaserJet M406 fails to initialize immediately after device
+# reboot and requires a lot of time to warm up.
+#
+# init-retry-partial helps
+[HP LaserJet M406]
+  init-retry-partial = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipp-usb-0.9.31/ipp.go new/ipp-usb-0.9.33/ipp.go
--- old/ipp-usb-0.9.31/ipp.go   2026-02-12 17:00:23.000000000 +0100
+++ new/ipp-usb-0.9.33/ipp.go   2026-05-06 21:26:59.000000000 +0200
@@ -290,10 +290,10 @@
        // Obtain DNSSdName
        ippinfo.DNSSdName = attrs.strSingle("printer-dns-sd-name")
        if ippinfo.DNSSdName == "" {
-               ippinfo.DNSSdName = attrs.strSingle("printer-info")
+               ippinfo.DNSSdName = attrs.strSingle("printer-make-and-model")
        }
        if ippinfo.DNSSdName == "" {
-               ippinfo.DNSSdName = attrs.strSingle("printer-make-and-model")
+               ippinfo.DNSSdName = attrs.strSingle("printer-info")
        }
        if ippinfo.DNSSdName == "" {
                ippinfo.DNSSdName = usbinfo.MakeAndModel()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ipp-usb-0.9.31/usbio_libusb.go 
new/ipp-usb-0.9.33/usbio_libusb.go
--- old/ipp-usb-0.9.31/usbio_libusb.go  2026-02-12 17:00:23.000000000 +0100
+++ new/ipp-usb-0.9.33/usbio_libusb.go  2026-05-06 21:26:59.000000000 +0200
@@ -611,15 +611,27 @@
        }
 
        for _, s := range strings {
-               rc := C.libusb_get_string_descriptor_ascii(
-                       (*C.libusb_device_handle)(devhandle),
-                       s.idx,
-                       (*C.uchar)(unsafe.Pointer(&buf[0])),
-                       C.int(len(buf)),
-               )
+               // Some devices (notably the "Pantum BP5100DN series") may
+               // fail to return a string descriptor on the first attempt.
+               //
+               // Investigation revealed that the request for language IDs,
+               // implicitly performed by libusb_get_string_descriptor_ascii,
+               // returns a malformed packet. This causes libusb to fail
+               // with LIBUSB_ERROR_IO.
+               //
+               // As a workaround, we retry several times before giving up.
+               for i := 0; i < 3; i++ {
+                       rc := C.libusb_get_string_descriptor_ascii(
+                               (*C.libusb_device_handle)(devhandle),
+                               s.idx,
+                               (*C.uchar)(unsafe.Pointer(&buf[0])),
+                               C.int(len(buf)),
+                       )
 
-               if rc > 0 {
-                       *s.str = string(buf[:rc])
+                       if rc > 0 {
+                               *s.str = string(buf[:rc])
+                               break
+                       }
                }
        }
 

++++++ ipp-usb.obsinfo ++++++
--- /var/tmp/diff_new_pack.Xq4cky/_old  2026-05-30 22:58:50.149997567 +0200
+++ /var/tmp/diff_new_pack.Xq4cky/_new  2026-05-30 22:58:50.153997731 +0200
@@ -1,5 +1,5 @@
 name: ipp-usb
-version: 0.9.31
-mtime: 1770912023
-commit: 88a532841e1f95f50663f39bc9213144dba815c8
+version: 0.9.33
+mtime: 1778095619
+commit: 3301f87daa369f28a848f16d542e87bb9bb84d16
 

Reply via email to