develooper Front page | perl.module-authors | Postings from November 2011

Re: The CPAN Morass

From:
Fields, Christopher J
Date:
November 30, 2011 07:04
Subject:
Re: The CPAN Morass
Message ID:
9E074B31-AEDE-4F7C-B03F-F4A40998604E@illinois.edu
I'm really not sure I understand your problem, it seems as if you are arguing in circles.  I think the responses pretty adequately covered everything.  CPAN's strength is it's simplicity: as someone (Eric?) said earlier, CPAN is just a collection of files.  You are free to use (or not use) the code there.  

If you want some level of quality assurance there is CPAN Testers amongst other tools, and you can always create your own.  Someone (you maybe?) could probably come up with a 'gold standard' set of CPAN code (CPAN Gold, or somesuch) that does everything you want, and maybe this is something the community would like and that you could share. It could even be displayed on MetaCPAN or search.cpan, but it should be completely separate from the CPAN itself, just as all the other tools are.  Coding a solution to your problem speaks louder than words.

chris

On Nov 30, 2011, at 6:26 AM, Linda W wrote:

> dhudes@hudes.org wrote:
> 
>> I've mostly ignored all this but I will step in briefly.
>> I am the author of a few modules on CPAN. None of them are major. The
>> dependency of one on another module which has been broken for years means
>> that I get frequent e-mail that it fails its tests. There's nothing wrong
>> with -my- module and if you actually force install it, you can use it.
> 
> 
> 
> 
> ---
> 	If I can' force install and it works?... No prob.
> 
> But stuff that won't compile or garbage like, wait, lemme go
> find my last major fail...(kudos after the break)...
> 
> 
> cc -c   -D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV -DDEBUGGING
> -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
> -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall
> -pipe   -DVERSION=\"0.96a\" -DXS_VERSION=\"0.96a\" -fPIC
> "-I/usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE"
> -DTDB_HAS_ERR_LOCK_TIMEOUT -DTDB_HAS_HASH_FUNC TDB_File.c
> TDB_File.xs:76:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
> before ‘hash_func_cb’
> TDB_File.xs: In function ‘traverse_cb’:
> TDB_File.xs:121:2: warning: pointer targets in passing argument 2 of
> ‘Perl_newSVpv’ differ in signedness
> /usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:2314:19: note:
> expected ‘const char * const’ but argument is of type ‘unsigned char *’
> TDB_File.xs:122:2: warning: pointer targets in passing argument 2 of
> ‘Perl_newSVpv’ differ in signedness
> /usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:2314:19: note:
> expected ‘const char * const’ but argument is of type ‘unsigned char *’
> TDB_File.c: In function ‘XS_TDB_File_chainlock’:
> TDB_File.c:430:12: warning: pointer targets in assignment differ in signedness
> TDB_File.c: In function ‘XS_TDB_File_chainunlock’:
> TDB_File.c:466:12: warning: pointer targets in assignment differ in signedness
> TDB_File.xs: In function ‘XS_TDB_File_DESTROY’:
> TDB_File.xs:164:3: warning: value computed is not used
> TDB_File.c: In function ‘XS_TDB_File_delete’:
> TDB_File.c:530:12: warning: pointer targets in assignment differ in signedness
> TDB_File.c:512:5: warning: unused variable ‘ix’
> TDB_File.c: In function ‘XS_TDB_File_exists’:
> TDB_File.c:668:12: warning: pointer targets in assignment differ in signedness
> TDB_File.c:649:5: warning: unused variable ‘ix’
> TDB_File.c: In function ‘XS_TDB_File_fetch’:
> TDB_File.c:705:12: warning: pointer targets in assignment differ in signedness
> TDB_File.c:716:3: warning: pointer targets in passing argument 3 of
> ‘Perl_sv_setpvn’ differ in signedness
> /usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:3507:20: note:
> expected ‘const char * const’ but argument is of type ‘unsigned char *’
> TDB_File.c:687:5: warning: unused variable ‘ix’
> TDB_File.c: In function ‘XS_TDB_File_firstkey’:
> TDB_File.c:747:3: warning: pointer targets in passing argument 3 of
> ‘Perl_sv_setpvn’ differ in signedness
> /usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:3507:20: note:
> expected ‘const char * const’ but argument is of type ‘unsigned char *’
> TDB_File.c:729:5: warning: unused variable ‘ix’
> TDB_File.xs: In function ‘XS_TDB_File_logging_function’:
> TDB_File.xs:254:2: warning: value computed is not used
> TDB_File.xs:256:2: warning: implicit declaration of function
> ‘tdb_logging_function’
> TDB_File.c: In function ‘XS_TDB_File_nextkey’:
> TDB_File.c:902:12: warning: pointer targets in assignment differ in signedness
> TDB_File.c:913:3: warning: pointer targets in passing argument 3 of
> ‘Perl_sv_setpvn’ differ in signedness
> /usr/lib/perl5/5.12.3/x86_64-linux-thread-multi/CORE/proto.h:3507:20: note:
> expected ‘const char * const’ but argument is of type ‘unsigned char *’
> TDB_File.c:884:5: warning: unused variable ‘ix’
> TDB_File.xs: In function ‘XS_TDB_File_open’:
> TDB_File.xs:289:16: error: ‘hash_func_cb’ undeclared (first use in this
> function)
> TDB_File.xs:289:16: note: each undeclared identifier is reported only once
> for each function it appears in
> TDB_File.xs:299:13: warning: assignment from incompatible pointer type
> TDB_File.xs:306:10: warning: passing argument 6 of ‘tdb_open_ex’ from
> incompatible pointer type
> /usr/include/tdb.h:95:21: note: expected ‘const struct tdb_logging_context
> *’ but argument is of type ‘tdb_log_func’
> TDB_File.xs:322:4: warning: value computed is not used
> TDB_File.c:926:5: warning: unused variable ‘ix’
> TDB_File.c: In function ‘XS_TDB_File_reopen_all’:
> TDB_File.c:1106:2: error: too few arguments to function ‘tdb_reopen_all’
> /usr/include/tdb.h:102:5: note: declared here
> TDB_File.c: In function ‘XS_TDB_File_store’:
> TDB_File.c:1138:12: warning: pointer targets in assignment differ in signedness
> TDB_File.c:1148:13: warning: pointer targets in assignment differ in signedness
> TDB_File.c:1118:5: warning: unused variable ‘ix’
> make: *** [TDB_File.o] Error 1
>  ANGUSLEES/TDB_File-0.96a.tar.gz
>  /usr/bin/make -j -j  -- NOT OK
> Running make test
>  Can't test without successful make
> Running make install
>  Make had returned bad status, install seems impossible
> Failed during this command:
> ANGUSLEES/TDB_File-0.96a.tar.gz              : make NO
> -------------
> 	Now the warnings are ugly -- should compile w/o warnings
> (or put a "&| grep -v warning" at the end of your make...)...
> but the error at the end... really won't work.
> 
> -----(promised) Break--------
> 
> 
>  Ok, kudos 1) thank goddess and pointed eared dieties for cpan history...i
> love it. !YEAY!!   2) (Keeping it real) (implicit kudos 2): (out of the
> last 10) 67% of the modules I installed, not only installed, but worked
> perfectly as documented;  2 installed, but didn't work
> 
> Those authors who's stuff worked off the bat / out of the box: YEAY!!!
> 
> 
> But for CPAN as a whole:  67% ...  That was either a Fail or a low C in any
> school I've been at.  So grade as a whole, is the problem...  NOT
> individual responsible authors -- so if you are reading this and giving a
> *foo*, you are PROBABLY, not that problem, (though you might be; but it's
> the people who are not involved anymore -- and they really probably don't
> care that much ... most of them would be fine if someone took it over..
> BUT there some percentage in that bunch who feels "entitled" to their spot
> (even if they no longer maintain/use it).
> 
> Maybe there needs to be some equivalent of 'homesteading'.... where you
> 'live' on the property you are claiming...  If you leave it..  and go
> elsewhere, for more than a few-several months...it wouldn't be surprising
> if, at least, you found squatters there, and if they were maintaining the
> place better than you had been doing, they might be considered better
> 'neighbors' in the neighborhood, the local cabal-enforcement type might not
> feel like kicking them out.  OTOH, If you were the fine upstanding type and
> made arrangements to have your mail stopped while you were gone...and were
> gone for a few months, then the squatters would likely have little say.
> 
> Now if you go away for 6 months...  Do you really think it's a good idea
> (lets say you owned a home)... to do so w/o making sure someone dealt with
> problems while you were away?   Suppose there's a gas leak in your code?
> (!?) or something similar...  Just seems prudent to tell a neighbor, and
> ask em to watch out for foreclosure notices if your bill pay service goes
> awry, or such... or make sure no moving vans pull up to your house while
> you are gone and clean it out (it's happened in RL)...
> 
> Why should there be such different expectations on CPAN?  If we don't keep
> up the neighborhood, it will get run down and become a slum and the value
> of all properties on it will fall.
> 
> The metaphor isn't that far off base..
> 
> (rest of response truncated, as don't want to argue with someone who's
> stuff is working and/or working on it!)...
> 
> Linda
> 
> 




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About