X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=README.DIST;h=12e853b498e8192249442524bee89bf7e95ba0b3;hb=refs%2Fheads%2Fsilc.1.1.branch;hp=f741abe1140403cfd786fee586c5e22a4c6f9f29;hpb=816a5b080c797c0db47b7b274a85646343c3466e;p=silc.git diff --git a/README.DIST b/README.DIST index f741abe1..12e853b4 100644 --- a/README.DIST +++ b/README.DIST @@ -19,86 +19,98 @@ give command: autodist -Where the is the distribution name. It is one of the distributions -that was defined in distdir/ directory. The is the version of -the distribution that will be prepared. The version format is +Where the is the distribution name. It is one of the distributions +that was defined in distdir/ directory. The is the version of +the distribution that will be prepared. The version format is major.minor.build, for example 0.9.10. Example: autodist client 0.9.15 -This prepares 'client' distribution of version 0.9.15. The package will +This prepares 'client' distribution of version 0.9.15. The package will have the version 0.9.15 automatically. +NOTE: Those distribution that have RPM spec files you should specify the +RPM release version to autodist also by doing the following: + + autodist toolkit 1.1.2 0.fc7 + +where the "0.fc7" will become the RPM release version. If you omit the +release version the default currently is "0.fc7". + + +Creating ChangeLog and Tagging +============================== + +Before packaging the distribution the ChangeLog must be created and the +release must be tagged. A ready made script for this purpose is the +scripts/release. It has the following syntax: + + sh scripts/release + +The tag format is as follows: + + silc.name.version + +Where is the distribution name and is the version of the +distribution in following format: major.minor.build, for example 1.1.16. +Example: + + silc.server.1.1.6 + +When you run the script it also generates the ChangeLog file +automatically. All the changes between the and the + from the Git are included in the ChangeLog. Since the same +repo is used to make packages (client, server and toolkit) the ChangeLog +will usually include changes that are not part of the release you are +making. You will need to manually remove the commits that are not part +of the distribution you are releasing. + +Later, after the release has been made the tag needs to be pushed to the +public repository. + + git push --tags + Configuring and compiling the distribution ========================================== -When you prepare the distribution for releasing you should configure the -distribution without any specific configuration options, hence just give +When you prepare the distribution for releasing you should configure the +distribution without any specific configuration options, hence just give the command: ./configure +NOTE: If you have SILC Toolkit installed to your system you must use +the following command to configure the distribution, so that the Toolkit +from the system is not used: + + PKG_CONFIG=. ./configure + To compile the distribution, give command: make -If you want you can clear the environment first with make clean command, +If you want you can clear the environment first with make clean command, but this is not necessary. Packaging the distribution ========================== -After the distribution is prepared, configured and compiled it can be +After the distribution is prepared, configured and compiled it can be packaged with the following commands: - make -C doc dist-hook makedist --bzip2 -The 'makedist --bzip2' creates the default 'tar.gz' and 'tar.bz2' -distribution. +The 'makedist --bzip2' creates the default 'tar.gz' and 'tar.bz2' +distribution. It also creates the sha256 checksum files automatically. -NOTE: Before giving this command, make sure that you do not have any of +NOTE: Before giving this command, make sure that you do not have any of the tests in the SILC source tree compiled. If they are the binaries -will be included in the distribution which is not allowed. The tests are +will be included in the distribution which is not allowed. The tests are always located in the tests/ directory, for example lib/silccore/tests/. -The tests are not compiled by default, but if you compiled them by +The tests are not compiled by default, but if you compiled them by yourself make sure you make clean them before creating the distribution. -NOTE: Same thing must be assured for silcer/ and tutorial/ sub -directories. Make sure they are not compiled and does not include any -extra files. If you haven't compiled them after the CVS checkout, they do -not include any extra files. - -NOTE for 'toolkit' distribution: Before giving make dist the following -must be done: - - go to util/robodoc/ - give ./configure;make to compile robodoc - go to doc/ - give make toolkit-ref-html - -This then creates the Toolkit reference manual. After this the toolkit -distribution can be packaged. - - -Before releasing the distribution -================================= - -Before releasing the distribution the created distribution must be tagged -in the CVS so that it can be checkout at a later time, if needed. The tag -format is as follows: - - silc__ - -Where is the distribution name and is the version of the -distribution in following format: major_minor_build, for example 0_9_10. -Example: - - silc_client_0_9_15 - -To tag the distribution go to the root of the SILC CVS source tree and -give, for example, command: - - cvs tag silc_client_0_9_15 +NOTE: Same thing must be assured for tutorial/ sub directory. Make sure +it is not compiled and does not include any extra files.