On Jun 11, 2009, at 4:02 PM, Christoph Maser wrote:
The module JSON::Any needs at least one of JSON, JSON::XS or JSON::DWIWto function. In its current state the RPM for perl-JSON-Any does not have a dependency on any of those packages. Perhaps a dependency on the noarch JSON module would be appropriate?Well that would be a solution but not a "correct" one. Consider someoneusing JSON::Any and explicitly want to have _only_ JSON::XS. With thissolution you would force him to install JSON. Actually with the featuresRPM provides I don't see any "correct" solution to this.
1) in the scenario above, the user could write 'use JSON::Any qw( XS );', which would limit his code to only using JSON::XS. if he's bound and determined to not have JSON installed on his system, he can always do a `rpm -e --nodeps perl-JSON` after installing perl-JSON- Any.
2) as an alternative, since rpmforge is packaging all of the modules in question, another solution would be to add some distinctive string (maybe 'perl-JSON-Any-alternative') as a Provides: for *all* of the various rpmforge-packaged JSON alternatives (perl-JSON, perl-JSON-XS, perl-JSON-DWIW, perl-YAML-Syck), and then add 'Requires: perl-JSON-Any- alternative' to perl-JSON-Any. this would at least prevent perl-JSON- Any from being able to install in a broken state and make sure the user is aware that it's essential to install at least one of the supporting modules.
personally, i would prefer the first solution; perl-JSON is only ~344K, there's a programmatic workaround to make sure that it doesn't get called by JSON::Any, and imo it's better not to ship a package that installs in a nonfunctional state without emitting any error or warning message.
-steve --If this were played upon a stage now, I could condemn it as an improbable fiction. - Fabian, Twelfth Night, III,v
http://five.sentenc.es
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ suggest mailing list suggest@lists.rpmforge.net http://lists.rpmforge.net/mailman/listinfo/suggest