Conversation
| 'perl-Win32=0.59_01' | ||
| 'perl-Win32API-File=0.1203_01' | ||
| 'perl-XSLoader=0.32' | ||
| provides=('perl-archive-tar=3.04' |
There was a problem hiding this comment.
That's in theory a breaking change, it would need to provide both variants for some time.
There was a problem hiding this comment.
Though I'm not sure if there are any users of this we care about, so maybe it's not an issue.
There was a problem hiding this comment.
I can add them back, good point.
|
@dscho just to be sure, do these many renames make problems for GFW automations? |
Thanks for the ping! I think we should be fine, there are a couple of places I'll need to adapt, but nothing causing major heartaches. |
|
Hm, it broke, but seems like a CI thing |
I don't quite think so, the real culprit is this:
So either this Perl module must be made compatible with the current |
|
Okay, I managed to find the culprit. Perl has the following provides=(
# ...
'perl-Term-Table=0.024'
'perl-term-table=0.024'
)
but the `Term-Table` module starts with this:
```bash
_perlname='Term-Table'
_realname="${_perlname,,}"
pkgname="perl-${_realname}"
pkgver=0.028
pkgrel=3I'm not sure why Perl even provides a different version than the package with the same name. @dscho can you explain this bit? Edit: It probably broke because of the new, explicit provides=("perl-Term-Table=${pkgver}")
conflicts=('perl-Term-Table')
replaces=('perl-Term-Table') |
|
@Omikorin since |
|
From what I understand both packages should be able to coexist, the perl provided one and the cpan one. |
|
I can't think of a way to fix this though, maybe we should just drop all those provides from perl, to avoid conflicts with the real packages. Or just revert 765bf60 for now. One could remove the conflicts from Term-Table, but that would break non-system-upgrades. Not supported in theory, but still. |
|
Wasn't there a way to allow certain files in packages to be marked as "user may modify"? I think it was Otherwise the best course of action might be to exclude the |
|
perl internals depend on term-table, so I don't think that's possible. The issue here is that a package wants to conflict on another package, but not on the virtual package of the same name provided by another package. Not something pacman supports. From what I understand. |
|
Let me try something. It will need to be fixed for some packages later. Perl includes dozens of dual-life modules that ship with the core distribution but are also maintained independently on CPAN. From that reasoning, a CPAN module should not have The disadvantage of that solution is if some external package depends on a newer CPAN module then it will revert to using Perl's built-in module. We can fix that for MINGW packages quickly on the staging level. |
|
Hmm, there is no CI workflow running |
|
If there is no replaces then upgrades will fail because pacman could have the old naming installed and tries to install the new named package which has file conflicts. |
|
Maybe this d6026f8 will change the situation. Otherwise, we need to revert the commit for double-named built-ins. |
|
(this might work for now, but once the builtin module gets updated on the next perl minor update, things will conflict again) |
|
To be honest, if you run Can we do it temporarily and freeze Perl with its |
|
Not quite sure I understand, but I'd be fine with just reverting 765bf60 |
|
Okay, nevermind. If reverting works then let's do it. |
4724928 to
1668a30
Compare
|
Rebased on |
Resolves #6623
I've taken steps described below:
_perlnameusage everywhere. There are some always-lowercased exceptions but consistency is more important when thinking about possible future scripting. I found even a reversed "standarization" that went from lowercase to uppercase :D_perlmoddepends-like arrays for Perl packagesprovideslowercase and updated thepatchprovscript. I didn't actually ran the script for clarity because it would update some dependencies and change their order.conflicts, provides, replacesIt would be better to merge this PR before #6620, #6621, and #6619, so rebasing this monstrosity won't be so harsh.
There won't by any additional cleanup in this PR.