- Package:
- python3-nvchecker
- Source:
- python3-nvchecker
- Submitter:
- Helmut Grohne
- Date:
- 2025-09-23 12:39:04 UTC
- Severity:
- normal
Hi, I spent a deeper look at these two packages after reporting the undeclared file conflicts earlier and observe more problems here. It seems to me that src:nvchecker originally packaged this and later src:python-nvchecker duplicated it. In theory, we should have removed the duplicate and rescued the existing package. Instead, both got maintained concurrently. Eventually I reported the file conflict and that resulted in python3-nvchecker to declare Breaks+Replaces+Provides nvchecker. This effectively is a package takeover. Is it coordinated in any way? Is it authorized by the present src:nvchecker maintainers? Now given that src:nvchecker has received its last maintainer upload in 2021 and lacked behind upstream by several versions, we can certainly say it wasn't in its best shape. From a wider perspective, handing over maintenance to a more active maintainer can be beneficial. At this point, it would most probably make sense to simply remove src:nvchecker from unstable after figuring out what good aspects (e.g. an example file) can be rescued into src:python-nvchecker. Last but not least, Provides is not a proper package transition. apt will not move an existing installation of nvchecker over to python3-nvchecker by itself. src:nvchecker should temporarily include a real, transitional nvchecker binary package to finish the transition. Introducing a new binary package requires a freeze exception, but this seems like one of those cases where I expect it to be granted. Helmut
Dear Helmut and nvchecker maintainer, On Mon, 21 Apr 2025 09:29:59 +0200 Helmut Grohne wrote: > Package: python3-nvchecker > Version: 2.12-2 > Severity: important > Control: affects -1 + nvchecker > X-Debbugs-C: afif@debian.org, tchet@debian.org > > Hi, > > I spent a deeper look at these two packages after reporting the > undeclared file conflicts earlier and observe more problems here. > > It seems to me that src:nvchecker originally packaged this and later > src:python-nvchecker duplicated it. In theory, we should have removed > the duplicate and rescued the existing package. Instead, both got > maintained concurrently. Eventually I reported the file conflict and > that resulted in python3-nvchecker to declare Breaks+Replaces+Provides > nvchecker. This effectively is a package takeover. Is it coordinated in > any way? Is it authorized by the present src:nvchecker maintainers? > > Now given that src:nvchecker has received its last maintainer upload in > 2021 and lacked behind upstream by several versions, we can certainly > say it wasn't in its best shape. From a wider perspective, handing over > maintenance to a more active maintainer can be beneficial. At this > point, it would most probably make sense to simply remove src:nvchecker > from unstable after figuring out what good aspects (e.g. an example > file) can be rescued into src:python-nvchecker. > > Last but not least, Provides is not a proper package transition. apt > will not move an existing installation of nvchecker over to > python3-nvchecker by itself. src:nvchecker should temporarily include a > real, transitional nvchecker binary package to finish the transition. > Introducing a new binary package requires a freeze exception, but this > seems like one of those cases where I expect it to be granted. As src:nvchecker is not in bullseye, bookworm, nor trixie, and src:python-nvchecker is in trixie, I intend to maintain binary package nvchecker in src:python-nvchecker, under Debian Python Team's umbrella. I plan to add a transitional nvchecker binary package in src:python-nvchecker, to allow a smooth transition. Currently, I've done the changes in: https://salsa.debian.org/python-team/packages/python-nvchecker As moving the nvchecker binary package to src:python-nvchecker will cause the removal of src:nvchecker, I consider delaying the upload a bit would be better to get your thoughts. I plan to upload this after 21 days. If you consider the changes inappropriate, let me know your thoughts, and I will hold the upload. Best regards, Tianyu Chen
Hello, I was not aware of that---nvchecker itself is under lowNMU so as to not deter others from helping and I don't mind handing over official maintainership of the package. I myself lost steam on it due to multiple other packages that needed to be fixed (at the time) to get the autopkgtests to work nicely. The proper package name for an executable program should not be python-*, so I don't think the nvchecker name should be in a transitional role. You can have python-nvchecker for the python module, but it's not helpful for users to have to be aware of the implementation language if they just want to use the cli. So I personally think the duplicate package should fold into src:nvchecker and that nvchecker should remain the primary binary package name. I don't think that the source package presence in a release has a special bearing since what matters there are the binary packages. thanks and regards Afif
Thank you for your thoughts! I've moved the executables to binary:nvchecker. Can you have a look here? https://salsa.debian.org/python-team/packages/python-nvchecker/-/commit/56de527 https://salsa.debian.org/python-team/packages/python-nvchecker/-/commit/05d4ab6 Best regards, Tianyu Chen
Hello,
I'm sorry for the chaos caused by my upload of src:python-nvchecker,
I didn't notice src:nvchecker until it was too late.
I wanted to get python-nvchecker into trixie so that I can use it as
a dependency eventually but that project didn't materialize so I don't
really have much incentive to maintain the package.
If you are interested, please do take over src:python-nvchecker and
fix the situation as you see fit.
Let me know if I can help.
I've used nvchecker as a library, thus the package naming, but it's
primarily a CLI tool, so src:nvchecker with nvchecker package makes
sense too, possibly with
Provides: python3-nvchecker
Similarly, if src:python-nvchecker with python3-nvchecker is chosen, I
think it should
Provides: nvchecker
So that
apt-get install nvchecker
nvchecker
works as expected by users.
There is also an option to have the python module in python3-nvchecker and
nvchecker minimal package only containing the executable nvchecker
script with dependency on python3-nvchecker.
I didn't find definitive answer on this.
Cheers,
Jakub Ružička
You'll need Breaks/Replaces defined as described in https://www.debian.org/doc/debian-policy/ch-relationships.html#overwriting-files-and-replacing-packages-replaces thanks and regards Afif
Afif Elghraoui <afif@ghraoui.name> 于2025年9月2日周二 02:23写道: Exactly, I added it in the following commit but forgot to mention it here. https://salsa.debian.org/python-team/packages/python-nvchecker/-/commit/4cb7178 Thanks! Best Regards, Tianyu Chen
I agree that having two source packages is confusing and not a good route. Aside from being the original, src:nvchecker in Unstable is currently more up-to-date with respect to upstream than src:python-nvchecker. I have done this before, but within a single source package if there is a potential need for just the library, so I think this is a good option. To do this within src:nvchecker, I think we would need to request that src:python-nvchecker be removed from Unstable, and then set up the binary package python3-nvchecker in src:nvchecker to take all the files except /usr/bin/nvchecker. thanks and regards Afif
Hi, I have pushed the changes to https://salsa.debian.org/debian/nvchecker/. Currently, upgrading from either python3-nvchecker or nvchecker works for me. Please have a look.
Hi Afif, Can you review the changes? If it looks good to you, please upload it as I'm not a DD so I can't upload. Thanks! Best regards, Tianyu Chen
Thanks. A new release v2.19 came out in the meantime. I included it, made a couple corrections, and a couple improvements to the autopkgtest. Everything's on salsa and 2.19-1 is uploaded. many thanks and regards Afif
Thanks!
I'm closing #1055679 and #1103734.
Btw, https://ftp-master.debian.org/cruft-report-daily.txt now shows:
* obsolete source python-nvchecker version 2.16-1 installed at 2024-12-12
- has built binary python-nvchecker-doc
currently built by source nvchecker version 2.19-1
- has built binary python3-nvchecker
currently built by source nvchecker version 2.19-1
- suggested command:
dak rm -s unstable -S -p -m "[auto-cruft] obsolete source package"
python-nvchecker
Best Regards,
Tianyu Chen
Afif Elghraoui <afif@debian.org> 于2025年9月22日周一 17:07写道: