You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libkdcraw/PACKAGING

242 lines
9.3 KiB

How to release kipi & co.
----------------------------------------
1. Before the final release
2. Release libkipi
3. Release libkexiv2
4. Release kipi-plugins
5. Notes on svn2cl
6. Notes on new release script (create_tarball.rb)
----------------------------------------
1. Before the final release
----------------------------------------
Some days before releasing the final, remember to announce
the translations commit deadline to kde-i18-doc@kde.org.
----------------------------------------
2. Release libkipi
----------------------------------------
a) Update release info
libkipi/libkipi.lsm
libkipi/libkipi/version.h
libkipi/libkipi.pc.in
To do that you can use the "prepare_libkipi.rb" script, change the
release version ("version" and "version_n" fields) and run it.
Don't forget to commit your changes :)
b) Update Changelog
- to do that use the "release_kipi_changelog.sh" script
release_kipi_changelog.sh libkipi oldest-revision-or-date new-release-version
- edit Changelog and modify the wrong lines (if any)
- Commit your changes
c) Build the source tarball
- go into makerelease directory
- run "create_tarball.rb -p libkipi -v X.Y.Z"
with X.Y.Z as the right package version
or
- use the "release_libkipi.rb"
edit the script and change the "version" field
if you're releasing an svn snapshot set "usesvnver" to "yes"
run it and get libkipiXXX.tar.bz2
d) Uncompress and test the tarball
- check if all the files are right in
- check if the file RELEASE.rev is in and with the right revision number
- check if it builds correctly.
- diff headerfiles installed in <incdir>/kde/libkipi/ with last release
and check for binary compatibility (see e.g.,
http://developer.kde.org/documentation/other/binarycompatibility.html)
Every API change should be refleced in a changed version-info in
libkipi/libkipi/Makefile.am (see e.g.,
http://www.gnu.org/software/libtool/manual.html#Versioning)
e) Upload tarball for testing
Before an official release upload the tarball for testing used sites are
digikam3rdparty.free.fr or www.linux.it/~anaselli/kipi-plugins - depends
on who is releasing :)
Send a mail to kde-imaging@kde.org and digikam-devel@kde.org to have a
feedback from pakagers before posting an offical release annoucement.
f) Upload tarbal on SF and update kipi site
official site for uploading the release is http://sourceforge.net/projects/kipi
web page to be update is http://extragear.kde.org/apps/kipi/
to update this last you have to get, change and commit it from
XXX@svn.kde.org/home/kde/trunk/www/areas/extragear/apps/kipi
Send a mail to announce the official release.
----------------------------------------
3. Release libkexiv2
----------------------------------------
a) Update release info
libkexiv2/libkexiv2.lsm
libkexiv2/version.h
libkexiv2/libkexiv2.pc.in
libkexiv2/Makefile.am
libkexiv2/ChangeLog
To do that you can use the "prepare_libkexiv2.rb" script, change the
release version ("version", "version_n", "version_info" and "chlog_rev" fields)
and run it.
Don't forget to fix Changelog and commit your changes :)
c) Build the source tarball
- go into makerelease directory
- run "create_tarball.rb -p libkexiv2 -v X.Y.Z"
with X.Y.Z as the right package version
or
- use the "release_libkexiv2.rb"
edit the script and change the "version" field
if you're releasing an svn snapshot set "usesvnver" to "yes"
run it and get libkexiv2XXX.tar.bz2
d) Uncompress and test the tarball
- check if all the files are right in
- check if the file RELEASE.rev is in and with the right revision number
- check if it builds correctly.
- diff headerfiles installed in <incdir>/kde/libkexiv2/ with last release
and check for binary compatibility (see e.g.,
http://developer.kde.org/documentation/other/binarycompatibility.html)
Every API change should be refleced in a changed version-info in
libkexiv2/Makefile.am (see e.g.,
http://www.gnu.org/software/libtool/manual.html#Versioning)
e) Upload tarball for testing
Before an official release upload the tarball for testing used sites are
digikam3rdparty.free.fr or www.linux.it/~anaselli/kipi-plugins - depends
on who is releasing :)
Send a mail to kde-imaging@kde.org and digikam-devel@kde.org to have a
feedback from pakagers before posting an offical release annoucement.
f) Upload tarbal on SF and update kipi site
official site for uploading the release is http://sourceforge.net/projects/kipi
web page to be update is http://extragear.kde.org/apps/kipi/
to update this last you have to get, change and commit it from
XXX@svn.kde.org/home/kde/trunk/www/areas/extragear/apps/kipi
Send a mail to announce the official release.
----------------------------------------
4. Release kipi-plugins
----------------------------------------
a) Update release info
kipi-plugins/kipi-plugins.lsm
kipi-plugins/common/include/pluginsversion.h
(kipi-plugins/ChangeLog)
To do that you can use the "prepare_kipiplugins.rb" script, change the
release version ("version" field) and run it.
Using svn2cl (http://ch.tudelft.nl/~arthur/svn2cl/) you can
add ChangeLog info with this script as well, to do that
follow the instructions:
- set usesv2cl to "yes"
- set svn2cl, svnbase, svnroot according to your account
- set chlog_rev to the last revision (+1) of the last release
(look at ChangeLog file, last commit)
- use the script as usual and skip step b)
- edit ChangeLog and modify the wrong lines (if any)
Don't forget to commit your changes.
b) Update ChangeLog
- if you're using svn2cl you can do that at step a)
- to do that use the "release_kipi_changelog.sh" script
release_kipi_changelog.sh kipi-plugins oldest-revision-or-date new-release-version
- edit Changelog and modify the wrong lines (if any)
- Commit your changes
c) Build the source tarball
- go into makerelease directory
- run "create_tarball.rb -p kipi-plugins -v X.Y.Z"
with X.Y.Z as the right package version
or
- use the "release_kipi-plugins.rb"
edit the script and change the "version" field and check the "addPo" one for po files
if you're releasing an svn snapshot set "usesvnver" to "yes"
run it and get kipi-pluginsXXX.tar.bz2
d) Uncompress and test the tarball
- check if all the files are right in
- check if the file RELEASE.rev is in and with the right revision number
- check if it builds correctly.
e) Upload tarball for testing
Before an official release upload the tarball for testing used sites are
digikam3rdparty.free.fr or www.linux.it/~anaselli/kipi-plugins - depends
on who is releasing :)
Send a mail to kde-imaging@kde.org and digikam-devel@kde.org to have a
feedback from pakagers before posting an offical release annoucement.
f) Upload tarbal on SF and update kipi site
official site for uploading the release is http://sourceforge.net/projects/kipi
web page to be update is http://extragear.kde.org/apps/kipi/
to update this last you have to get, change and commit it from
XXX@svn.kde.org/home/kde/trunk/www/areas/extragear/apps/kipi
Send a mail to announce the official release at least to:
- kde-extra-gear@kde.org
- kde-announce@kde.org
- kde-imaging@kde.org
- digikam-devel@kde.org
- gwenview-general@lists.sourceforge.net
----------------------------------------
5. Notes on svn2cl
----------------------------------------
Latest versions (>= 0.9) of svn2cl offer the --ignore-message-starting option
and --ignore-message-starting=SVN_SILENT should work.
Programmers often write SVN_SILENT or CVS_SILENT (obsolete) everywhere
in the commit comment, that means such an option could not work.
Moreover it can be used only once, so just to skip SVN_SILENT or CVS_SILENT
not both.
The easiest way was to to hack into svn2cl.xsl (mine is /usr/share/svn2cl/svn2cl.xsl).
Add the following lines:
<!-- skip entries where the message contains SVN_SILENT -->
<xsl:template match="logentry[contains(msg,'SVN_SILENT')]">
</xsl:template>
<!-- skip entries where the message contains SILENT -->
<xsl:template match="logentry[contains(msg,'SILENT')]">
</xsl:template>
just before the template:
<!-- format one entry from the log -->
<xsl:template match="logentry">
...
----------------------------------------
6. Notes on new release script (create_tarball.rb)
----------------------------------------
You can find new release script, called create_tarball.rb,
under libs/makerelase directory.
This script makes other release ones obsolete.
Usage: create_tarball [options]
-u, --user USERNAME svn account
-w, --https Using https instead of svn+ssh
-n, --noaccount Using svn://anonsvn.kde.org/ instead of svn+ssh
-p, --package NAME Package name
-v, --version VER Package version
-h, --help Show this usage statement
Package name is mandatory
Package information is into config.ini (same directory as above).
Example of usage:
./create_tarball.rb -p libkexiv2 -v 0.1.7