Building Perl projects with MakeMaker
By Sean Dague2005-05-01
Distributing Your Code (make dist)
If you follow this procedure for your project, your will end up with a nice program that is easily installable by others. If you wish to distribute that code, MakeMaker provides a make dist command that will build a tar.gz distribution of the project (all the files listed in the Manifest) named "project-version.tar.gz". You can then easily put this file up for distribution.
Before you do that, there are a few other documents that are usually distributed with perl code.
README
This file is a brief overview of what the project is about, and what it gives you.
COPYING (or LICENSE)
This file describes what license the files are under, and what restrictions are placed on the user to copy, modify, or redistribute the code. Many perl modules are "Licensed under the same terms as Perl itself", which means dual licensing under the GNU Public License and the Artistic License. You may, however, choose any license you feel appropriate for your code.
Changes
This is a change log of what has been added in each release of the file. This is really a good thing to keep up to date as it helps other people figure out what features were added, and when they became part of the main distribution.
TODO
This is a todo list of future bug fixes and features. It is always good idea to include such a file with your distribution. It provides your users information about the direction the project is headed in. You never know, but some adventurous user may even decide to implement features off your Todo list and send them to you.
Just remember, make sure to add any additional files to your MANIFEST, or they will not be bundled when you run make dist.
If your code is reusable enough that others find it useful, you should consider submitting it to CPAN (see Resources). Using the methodology described here, your code will be very close to compliance with the CPAN modules format.
Tutorial Pages:
» The Module that Makes Makefiles and Much More
» Programming Products vs. Programs
» Anatomy of a MakeMaker Project
» Your First MakeMaker Project (make)
» Building Test Cases (make test)
» Installation (make install)
» Distributing Your Code (make dist)
» Conclusion
» Resources
First published by IBM DeveloperWorks
| Related Tutorials: » Random subroutines in Perl » Log Script Use » Creating Perl Modules for Web Sites » Bit Vector, Using Perl Vec » Build a Perl/CGI Voting System » Perl Range Operator |
