Packages / openSUSE Tumbleweed / Unspecified / perl-Dist-CheckConflicts
[Source: perl-Dist-CheckConflicts]
Package: perl-Dist-CheckConflicts (0.110.0-1.5)
[Project overview: perl-dist-checkconflicts]
Dichiarare conflitti di versione per la vostra dist
Un limite dei client CPAN attualmente esistenti è che non hanno
alcun modo di specificare dipendenze downstream conflittuali dei moduli. Questo
modulo tenta di aggirare il problema permettendovi di specificare
versioni conflittuali dei moduli separatamente, e gestirle dopo che il
modulo ha terminato l'installazione.
Per esempio, digiamo che avete un modulo 'Foo', e qualche altro modulo 'Bar' usa
'Foo'. Se 'Foo' dovesse cambiare la sua API in modo non retrocompatibile,
questo causerebbe la rottura di 'Bar' finché non viene aggiornato per usare la nuova API.
'Foo' non può semplicemente dipendere dalla versione corretta di 'Bar', perché questo
causerebbe una dipendenza circolare (perché 'Bar' dipende già da 'Foo'),
e comunque questo non esprime correttamente l'intento - 'Foo' non usa 'Bar'
affatto. La soluzione ideale sarebbe avere un modo per specificare
versioni conflittuali dei moduli in modo che i client CPAN aggiornino
i moduli conflittuali automaticamente dopo l'aggiornamento di un modulo esistente, ma
finché ciò non avviene, questo modulo permetterà agli utenti di farlo manualmente.
Questo modulo accetta un hash di opzioni passato alla sua istruzione 'use', con
queste chiavi valide:
* -conflicts
Un hashref di specifiche di conflitto, dove le chiavi sono nomi di moduli, e
i valori sono l'ultima versione rotta - qualsiasi versione maggiore della versione
specificata dovrebbe funzionare.
* -also
Moduli aggiuntivi da cui ottenere conflitti (potenzialmente in modo ricorsivo). Questo
dovrebbe generalmente essere una lista di moduli che usano Dist::CheckConflicts, che
corrispondono alle dist da cui dipende la vostra dist. (In un mondo ideale, questo
sarebbe intuitato direttamente dalla vostra lista di dipendenze, ma la lista di dipendenze
non è disponibile al di fuori del tempo di build).
* -dist
Il nome della distribuzione, per rendere il messaggio di errore di
check_conflicts più user-friendly.
I metodi elencati sotto sono esportati da questo modulo nel modulo che
lo usa, quindi dovreste chiamare questi metodi sul vostro modulo, non su
Dist::CheckConflicts.
Come esempio, questa riga di comando può essere usata per aggiornare i vostri moduli, dopo
l'installazione della dist 'Foo' (assumendo che 'Foo::Conflicts' sia il modulo nella
dist 'Foo' che usa Dist::CheckConflicts):
perl -MFoo::Conflicts -e'print "$_\n"
for map { $_->{package} } Foo::Conflicts->calculate_conflicts' | cpanm
Come bonus aggiuntivo, il caricamento del vostro modulo di conflitti fornirà avvisi a
runtime se vengono rilevati moduli conflittuali (indipendentemente dal fatto che siano
caricati prima o dopo).
Other Packages Related to perl-Dist-CheckConflicts:
Download perl-Dist-CheckConflicts
| Architecture | Package Size | Installed Size | Files |
|---|
| noarch | 25 KiB | 32 KiB | [list of files] |
Percorsi file del pacchetto (8)
Paths come from the repository package-file index for the observed builds. They describe archive/package associations, not every file that will exist on a running system after maintainer scripts, alternatives, generated state, diversions, or installation choices.
- /usr/lib/perl5/vendor_perl/5.44.0/Dist
- /usr/lib/perl5/vendor_perl/5.44.0/Dist/CheckConflicts.pm
- /usr/share/doc/packages/perl-Dist-CheckConflicts
- /usr/share/doc/packages/perl-Dist-CheckConflicts/Changes
- /usr/share/doc/packages/perl-Dist-CheckConflicts/README
- /usr/share/licenses/perl-Dist-CheckConflicts
- /usr/share/licenses/perl-Dist-CheckConflicts/LICENSE
- /usr/share/man/man3/Dist::CheckConflicts.3pm.gz
Field source: openSUSE Tumbleweed OSS revision tumbleweed-oss-multiarch:4db10cdde3ad82c7e22be35753c9e164b4bdd30f92db4aee17a0d4c94c5f902f