Hello,

I'm running into some issues porting my icoextract package to pyproject.toml. I've gotten it to build and function with pybuild-plugin-pyproject, but it required some hacks along the way. However, I'm not sure if I'm seeing bugs/limitations in the toolchain, or I'm using the tools in some non-standard manner.

I've staged the changes at https://salsa.debian.org/jlu/icoextract/-/tree/debian/experimental?ref_type=heads. (Disclaimer: I am also the upstream author)

1) The .deb package seems to leave behind /usr/lib/python3/dist-packages/build/lib/icoextract. I can remove it manually with an execute_after_dh_auto_install rule, but it doesn't feel like this should be necessary. I've attached what the file list looks like without the rm -rf rule.

2) lintian complains about additional files in /usr/lib/python3.14/dist-packages/icoextract-0.3.0.dist-info/. The rest of the source files are installed to /usr/lib/python3/dist-packages/icoextract/, which is what I expect from previous versions currently in the archive.

3) `export PYBUILD_INSTALL_ARGS=--install-scripts=debian/tmp` doesn't seem to do anything now. I think that might be because --install-scripts is a setup.py specific feature, but the wiki is still hinting at this approach for packaging programs[1][2]. In my case, I'm fine with changing python3-icoextract to contain the library & CLI utils, and making icoextract a meta-package instead. AFAICT most distros did not bother to split the package at all.

I'd appreciate any advice on fixing up the port!

Best,
James

[1]: https://wiki.debian.org/Python/Pybuild#CUSTOMIZATION
[2]: https://wiki.debian.org/Python/LibraryStyleGuide#Executables_and_library_packages
$ dpkg-deb -c ../python3-icoextract_0.3.0-1_all.deb
drwxr-xr-x root/root         0 2026-06-06 13:50 ./
drwxr-xr-x root/root         0 2026-06-06 13:50 ./usr/
drwxr-xr-x root/root         0 2026-06-06 13:50 ./usr/bin/
-rwxr-xr-x root/root       226 2026-06-06 13:50 ./usr/bin/icoextract
-rwxr-xr-x root/root       226 2026-06-06 13:50 ./usr/bin/icolist
drwxr-xr-x root/root         0 2026-06-06 13:50 ./usr/lib/
drwxr-xr-x root/root         0 2026-06-06 13:50 ./usr/lib/python3/
drwxr-xr-x root/root         0 2026-06-06 13:50 ./usr/lib/python3/dist-packages/
drwxr-xr-x root/root         0 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/
drwxr-xr-x root/root         0 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/
drwxr-xr-x root/root         0 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/
-rw-r--r-- root/root      3042 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/__init__.py
-rw-r--r-- root/root      2754 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/base_extractor.py
-rw-r--r-- root/root       747 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/exceptions.py
-rw-r--r-- root/root      4530 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/ne_extractor.py
-rw-r--r-- root/root      7616 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/pe_extractor.py
drwxr-xr-x root/root         0 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/scripts/
-rw-r--r-- root/root        48 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/scripts/__init__.py
-rw-r--r-- root/root      1490 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/scripts/extract.py
-rw-r--r-- root/root      1632 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/scripts/icolist.py
-rw-r--r-- root/root      3425 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/scripts/thumbnailer.py
-rw-r--r-- root/root      2055 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/types.py
-rw-r--r-- root/root        22 2026-06-06 13:50 
./usr/lib/python3/dist-packages/build/lib/icoextract/version.py
drwxr-xr-x root/root         0 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/
-rw-r--r-- root/root      3042 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/__init__.py
-rw-r--r-- root/root      2754 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/base_extractor.py
-rw-r--r-- root/root       747 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/exceptions.py
-rw-r--r-- root/root      4530 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/ne_extractor.py
-rw-r--r-- root/root      7616 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/pe_extractor.py
drwxr-xr-x root/root         0 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/scripts/
-rw-r--r-- root/root        48 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/scripts/__init__.py
-rw-r--r-- root/root      1490 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/scripts/extract.py
-rw-r--r-- root/root      1632 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/scripts/icolist.py
-rw-r--r-- root/root      3425 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/scripts/thumbnailer.py
-rw-r--r-- root/root      2055 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/types.py
-rw-r--r-- root/root        22 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract/version.py
drwxr-xr-x root/root         0 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract-0.3.0.dist-info/
-rw-r--r-- root/root         7 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract-0.3.0.dist-info/INSTALLER
-rw-r--r-- root/root      4394 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract-0.3.0.dist-info/METADATA
-rw-r--r-- root/root        91 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract-0.3.0.dist-info/WHEEL
-rw-r--r-- root/root       173 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract-0.3.0.dist-info/entry_points.txt
-rw-r--r-- root/root        24 2026-06-06 13:50 
./usr/lib/python3/dist-packages/icoextract-0.3.0.dist-info/top_level.txt
drwxr-xr-x root/root         0 2026-06-06 13:50 ./usr/lib/python3.14/
drwxr-xr-x root/root         0 2026-06-06 13:50 
./usr/lib/python3.14/dist-packages/
drwxr-xr-x root/root         0 2026-06-06 13:50 
./usr/lib/python3.14/dist-packages/icoextract-0.3.0.dist-info/
-rw-r--r-- root/root         7 2026-06-06 13:50 
./usr/lib/python3.14/dist-packages/icoextract-0.3.0.dist-info/INSTALLER
-rw-r--r-- root/root        18 2026-06-06 13:50 
./usr/lib/python3.14/dist-packages/icoextract-0.3.0.dist-info/top_level.txt
drwxr-xr-x root/root         0 2026-06-06 13:50 ./usr/share/
drwxr-xr-x root/root         0 2026-06-06 13:50 ./usr/share/doc/
drwxr-xr-x root/root         0 2026-06-06 13:50 
./usr/share/doc/python3-icoextract/
-rw-r--r-- root/root       967 2026-06-06 13:50 
./usr/share/doc/python3-icoextract/changelog.Debian.gz
-rw-r--r-- root/root      1301 2026-06-06 13:50 
./usr/share/doc/python3-icoextract/changelog.gz
-rw-r--r-- root/root      1691 2026-06-05 23:19 
./usr/share/doc/python3-icoextract/copyright
drwxr-xr-x root/root         0 2026-06-06 13:50 ./usr/share/man/
drwxr-xr-x root/root         0 2026-06-06 13:50 ./usr/share/man/man1/
-rw-r--r-- root/root       473 2026-06-06 13:50 
./usr/share/man/man1/icoextract.1.gz
-rw-r--r-- root/root       401 2026-06-06 13:50 
./usr/share/man/man1/icolist.1.gz

Reply via email to