- 论坛徽章:
- 0
|
It's also a good idea for you to include in your source tarball the RPM spec file, with a production that makes
RPMs from it in your Makefile. The spec file should have the extension `.spec'; that's how the rpm -t option finds it
in a tarball.
For extra style points, generate your spec file with a shellscript that automatically plugs in the correct version
number by analyzing the Makefile or a version.h.
Note: if you supply source RPMs, use BuildRoot to make the program be built in /tmp or /var/tmp. If you
don't, during the course of running the make install part of your build, the install will install the files in the real
final places. This will happen even if there are file collisions, and even if you didn't want to install the package at
all. When you're done, the files will have been installed and your system's RPM database will not know about it.
Such badly behaved SRPMs are a minefield and should be eschewed.
Provide checksums
Provide checksums with your binaries (tarballs, RPMs, etc.). This will allow people to verify that they haven't been
corrupted or had Trojan-horse code inserted in them.
While there are several commands you can use for this purpose (such as sum and cksum) it is best to use a
cryptographically-secure hash function. The GPG package provides this capability via the --detach-sign
option; so does the GNU command md5sum.
For each binary you ship, your project web page should list the checksum and the command you used to generate
it.
Good communication practice
Your software and documentation won't do the world much good if nobody but you knows it exists. Also,
developing a visible presence for the project on the Internet will assist you in recruiting users and co-developers.
Here are the standard ways to do that.
Announce to c.o.l.a and Freshmeat
Announce new releases to comp.os.linux.announce. Besides being widely read itself, this group is a major feeder
for web-based what's-new sites like Freshmeat.
Announce to a relevant topic newsgroup
Find Usenet topics group directly relevant to your application, and announce there as well. Post only where the
function of the code is relevant, and exercise restraint.
If (for example) you are releasing a program written in Perl that queries IMAP servers, you should certainly post to
comp.mail.imap. But you should probably not post to comp.lang.perl unless the program is also an instructive
example of cutting-edge Perl techniques.
Your announcement should include the URL of a project website. |
|