Server IP : 103.119.228.120 / Your IP : 3.138.175.166 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/perl5/vendor_perl/CPANPLUS/ |
Upload File : |
=pod =head1 NAME CPANPLUS::Hacking - developing CPANPLUS =head1 DESCRIPTION This document attempts to describe how to develop with the CPANPLUS environment most easily, how certain things work and why. This is basically a quick-start guide to people who want to add features or patches to CPANPLUS. =head1 OBTAINING CPANPLUS Checkout CPANPLUS from its GIT repository at L<https://github.com/jib/cpanplus-devel> . =head1 INSTALLING CPANPLUS CPANPLUS follows the standard perl module installation process: perl Makefile.PL make make test make install =head1 CONFIGURING CPANPLUS When running C<perl Makefile.PL> you will be prompted to configure. If you have already done so, and merely wish to update the C<Makefile>, simply run: perl Makefile.PL JFDI=1 This will keep your configuration intact. Note however, if there are changes to the default configuration file C<Config.pm-orig>, you should either delete your current config file and reconfigure, or patch your config file from the new entries in C<Config.pm-orig>. =head1 RUNNING CPANPLUS FROM DEVELOPMENT ENVIRONMENT If you'd rather not install the development version to your C<site_perl> directory, that's no problem. You can set your C<PERL5LIB> environment variable to CPANPLUS' C<lib> directory, and you can run it from there. =head1 RUNNING CPANPLUS TESTS Tests are what tells us if CPANPLUS is working. If a test is not working, try to run it explicitly like this: perl -I/path/to/cpanplus/lib t/XX_name_of_test.t 1 The extra '1' makes sure that all the messages and errors (they might be errors we're testing for!) are being printed rather than kept quiet. This is a great way to find out the context of any failures that may occur. If you believe this test failure proves a bug in CPANPLUS, the long output of the test file is something we'd like to see alongside your bug report. =head1 FINDING BUGS Sometimes you might find bugs in CPANPLUS' behaviour. If you encounter these in a development snapshot, we'd appreciate a complete patch (as described below in the L<SENDING PATCHES> section. If it's way over your head, then of course reporting the bug is always better than not reporting it at all. Before you do so though, make sure you have the B<latest> development snapshot, and the bug still persists there. If so, report the bug to this address: bug-cpanplus@rt.cpan.org A good C<patch> would have the following characteristics: =over 4 =item Problem description Describe clearly what the bug is you found, and what it should have done instead. =item Program demonstrating the bug Show us how to reproduce the bug, in a simple of a program as possible =item [OPTIONAL] A patch to the test suite to test for the bug Amend our test suite by making sure this bug will be found in this, and future versions of CPANPLUS (see L<SUPPLYING PATCHES>) =item [OPTIONAL] A patch to the code + tests + documentation Fix the bug, update the docs & tests. That way your bug will be gone forever :) =back =head1 SUPPLYING PATCHES Patches are a good thing, and they are welcome. Especially if they fix bugs you've found along the way, or that others have reported. We prefer patches in the following format: =over 4 =item * In C<diff -u> or C<diff -c> format =item * From the root of the snapshot =item * Including patches for code + tests + docs =item * Sent per mail to bug-cpanplus@rt.cpan.org =item * With subject containing C<[PATCH]> + description of the patch =back You will always be informed if a patch is applied or rejected, and in case of rejection why that is (perhaps you can tweak the patch to have it accepted after all). =cut __END__ * perl5lib * perl t/foo 1 * patches to cpanplus-devel * snap/devel.tgz