Bugzilla – Bug 1214412
mirror shows Old package separator "'" deprecated warnings after upgrade to perl 5.38 (patch included)
Last modified: 2024-01-31 21:24:00 UTC
Package mirror-2.9-910.23.noarch throws many warnings: Old package separator "'" deprecated. Found in /usr/bin/mirror and it's modules: /usr/lib/perl5/vendor_perl/5.38.0/dateconv.pl /usr/lib/perl5/vendor_perl/5.38.0/lchat.pl /usr/lib/perl5/vendor_perl/5.38.0/lftp.pl /usr/lib/perl5/vendor_perl/5.38.0/lsparse.pl
Upstream reference: https://github.com/perl/perl5/issues/16270 So replacing all occurrences of the ' package separator with '::' (e.g. ftp'debug with ftp::debug and similar) will silence _most_ of the warnings. The tricky part is that that is some are apparently in eval'ed code. Wasn't able to find those yet.
Created attachment 868936 [details] replace the obsolete package separator found the last instance. added patch to silence the warnings.
Issue still open. Re-patch required after perl upgrade to 5.38.2.
Created attachment 871190 [details] patch for perl-5.38.2 patch vs. mirror-2.9-911.2.noarch and perl-5.38.2-1.1.x86_64
Hello Walter, thanks for keeping the patch up to date. Let me find the correct maintainer and see if we can move this one forward.
(In reply to Walter Haidinger from comment #4) > Created attachment 871190 [details] > patch for perl-5.38.2 > > patch vs. mirror-2.9-911.2.noarch and perl-5.38.2-1.1.x86_64 Would you like to send this one via OBS? This way I guess it will be handled faster.
How do I do this? Not even sure about the abbreviation of "OBS", to be honest. I'm not a dev.
(In reply to Walter Haidinger from comment #7) > How do I do this? Not even sure about the abbreviation of "OBS", to be > honest. I'm not a dev. OBS as in openSUSE Build Service: https://build.opensuse.org/ You can create an account and send submit requests directly to our packages, then a developer/maintainer will pick it up faster than going via bugzilla. - Quickstart on collaborating: https://vimeo.com/30845184 - All docs, if you need them: https://openbuildservice.org/help/ You can: 1. Fork openSUSE:Factory/perl (https://build.opensuse.org/package/show/openSUSE:Factory/perl): $ osc getpack perl (you will get the latest sources for the package) 2. Apply your fixes/patches and update the spec file accordingly: - Edit files with your editor of choice. - osc add FILE (or osc rm FILE) to add/remove files. - Update the .spec file to include your patch 3. When everything is done, then update the .changes, commit and test everything builds properly: - osc vc (to update the .changes file with some user-friendly update text). - osc commit: Commit the changes to your fork, and see if everything works. 4. Finally, send a request to include the patches in the distribution: $ osc sr (to submit everything to the development project (and, if accepted, it will be submitted to Factory and included in TW in a few days). This will make sure: 1. Everything you do automatically built and tracked in our build service. 2. Your changes go via the maintainer, qa (openQA) and is properly released asap. 3. You get credited as a contributor!
Alright. Thanks for the pointers. Will try to do.
It's actually not about perl but the mirror package. osc checkout and subsequent build works. But unfortunately committing did not: Sending mirror.changes Sending mirror.spec Sending mirror-fix-perl-5.38-package-separator.patch Server returned an error: HTTP Error 403: Forbidden no permission to modify package mirror in project network:utilities Requested the bugowner role. I hope that's the correct course of action. In the mean time, I've created a branch under my user: https://build.opensuse.org/package/rdiff/home:haidinger:branches:network:utilities/mirror?linkrev=base&rev=2
Thank you so much for your work! Instead of committing directly to network:utilities, you have to submit a request from your home branch. Therefore, in your branch, after the changes you did, you can do: > osc sr -m "Message here" # NOTE: "sr" stands for Submit Request. And a submit request will be send to that package. Then: 1. A submit request will be created, and you get an ID for that one. 2, That submit request will be handled by the maintainers of the package and/or the project (network:utilities) 3. If everything is ok they will merge with current version and send to Factory. 4. After going through QA, it will appear as an update in Tumbleweed. As you can see, there are a few safeguards as we try to keep Tumbleweed quite stable (even for a rolling release!). Again, thanks a lot for your work, all contributions are very welcome!
Alright. That worked: created request id 1132635
Factory update being handled here: https://build.opensuse.org/request/show/1132931
Fixed with mirror-2.9-1815.1.noarch