This page reports the different release procedures used across LyX versions
Release Procedure for 1.6.0 pre-releases
This procedure is heavily based on the previous versions.
In the source:
- update version and date in configure.ac (the last file to commit)
- update ANNOUNCE; when this is OK, copy the start of the announcement to NEWS
- check the distribution (in the build directory)
make distcheck
Since distcheck doesn't currently work, copy&paste this should be enough (make sure lyx-1.?.0svn directory is removed in the root directory and Makefiles are up-to-date). --ps
make dist && tar zxvf lyx-1.?.0svn.tar.gz && cd lyx-1.?.0svn && mkdir _build _inst && cd _build && ../configure --srcdir=.. --prefix=`pwd`/../_inst --with-included-gettext && make && make check && make install && make clean && ../configure --srcdir=.. --prefix=`pwd`/../_inst --with-included-gettext --enable-monolithic-boost --enable-monolithic-client --enable-monolithic-insets --enable-monolithic-mathed --enable-monolithic-core --enable-monolithic-tex2lyx --enable-monolithic-frontend-qt4 --disable-stdlib-debug --disable-debug && make && echo Build seems to be ok.
- check if any files has been updated (po files in particular)
- commit changes
- make a distribution
rm -rf /tmp-path/lyx-export
svn export . /tmp-path/lyx-export
cd /tmp-path/lyx-export
./autogen.sh && ./configure && make dist
- tag release (as lyx-1_x_ybeta2, where beta2 is an example that should be replaced by the right version)
svn cp svn+ssh://svn.lyx.org/lyx/lyx-devel/trunk svn+ssh://svn.lyx.org/lyx/lyx-devel/tags/lyx_1_x_ybeta2 -m'Tag release lyx-1_x_ybeta2'
- change the version back to svn and commit.
On the ftp site
- update dist to ftp.lyx.org/pub/lyx/stable/
Sending mail
- send annoucement to lyx-announce, lyx-devel and lyx-users with
Reply-to lyx-users. Add lwn@lwn.net in bcc.
Web site www-user
- add announcement as announcement/1_x_y.txt
- update news.inc
- update last version number in index.php
Release Procedure for 1.5.x (x>0) releases
In the source:
- update version and date in configure.ac
- update ANNOUNCE; when this is OK, copy the start of the announcement to NEWS
- check if any files have been updated (po files in particular)
- remerge po files
- commit changes
- export to some directory
rm -rf ~/lyx/lyx-export
svn export . ~/lyx/lyx-export
cd ~/lyx/lyx-export
./autogen.sh
- configure in some directory
cd ~/lyx/build-export
../lyx-export/configure
make dist
- create a patch between distribution and previous
diff -urN -x .svn -x version.cpp lyx-1.x.(y-1) lyx-1.x.y >patch
- read the patch and check that it makes sense
- update 1.x.y.desc and add ANNOUNCE to it
- create the patch: cat 1.x.y.desc patch >patch-1.x.y
- create bz2 versions of distribution and patch
- build binary (RPM in my case). This is not necessary but helps to find some build problems.
- tag release as lyx-1_x_y
cd src/lyx/1.5.x
svn cp . svn+ssh://spitz@svn.lyx.org/lyx/lyx-devel/tags/lyx-1_x_y
- change the version back to svn and commit.
On the ftp site
- update dist and patch to ftp.lyx.org/pub/lyx/stable/
- create directory ftp.lyx.org/pub/lyx/bin/1.x.y
- upload the sources to ftp.devel.lyx.org/pub/lyx/stable/
Sending mail
- send annoucement to lyx-announce, lyx-devel and lyx-users with
Reply-to lyx-users. Add lwn@lwn.net in bcc.
Web site/www-user
- add announcement as announcement/1_x_y.txt
- update news.inc
- adapt version numbers on download page
- adapt roadmap
Bugzilla
- add new version
- add new target milestone
- resolve bugs marked "fixedinbranch" and "fixedintrunk" as FIXED
- set target milestone for "fixedinbranch"-only to the devel version
- remove "fixedinbranch" tags
Release Procedure for 1.4.x (x>0) releases
From post by Jean-Marc 2006-11-14
Here is what I do these days for 1.4 releases.
In the source:
- update version and date in configure.ac
- update version in po/postats.sh
- update ANNOUNCE; when this is OK, copy the start of the announcement to NEWS
- export to some directory
rm -rf /local/lasgoutt/lyx-export
svn export . /local/lasgoutt/lyx-export
cd /local/lasgoutt/lyx-export
./autogen.sh
- configure in some directory
cd /local/lasgoutt/build-export
../lyx-export/configure --with-frontend=qt
make dist
- create a patch between distribution and previous
diff -urN -x .svn -x version.C lyx-1.x.(y-1) lyx-1.x.y >patch
- read the patch and check that it makes sense
- update 1.x.y.desc and add ANNOUNCE to it
- create the patch: cat 1.x.y.desc patch >patch-1.x.y
- create bz2 versions of distribution and patch
- tag release as lyx-1_x_y
cd src/lyx/1.4.x
svn cp . svn+ssh://lasgouttes@svn.lyx.org/lyx/lyx-devel/tags/lyx-1_x_y
On the ftp site
- update dist and patch to ftp.lyx.org/pub/lyx/stable/
- create directory ftp.lyx.org/pub/lyx/bin/1.x.y
Sending mail
- send annoucement to lyx-announce, lyx-devel and lyx-users with
Reply-to lyx-users. Add lwn@lwn.net in bcc.
Web site www-user
- add announcement as announcement/1_x_y.txt
- update news.inc
- update last version number in index.php
Release Procedure for 1.4.0 pre-releases
Copied from a post by Lars 2006-01-29:
- Start with a clean tree
- Change the version in configure.ac
- ./autogen.sh && ./configure --with-frontend='qt xforms gtk'
- make distdir
- Check if any files has been updated (po files in particular)
- Commit the changed files ('remerge')
- make DISTCHECK_CONFIGURE_FLAGS='--with-frontend="qt xforms gtk"' distcheck
- Commit the configure.ac change
- Tag the lyx-devel module (cvs rtag lyx-1_4_0pre4 lyx-devel)
- Change the version back to cvs and commit.
- Export the pre4 tag (cvs export -r lyx-1_4_0pre4 -d lyx-1.4.0pre4 lyx-devel)
- ./autogen.sh && ./configure --with-frontend='qt xforms gtk'
- make DISTCHECK_CONFIGURE_FLAGS='--with-frontend="qt xforms gtk"' distcheck
- Copy the resulting packages to ftp.devel.lyx.org
Category: Devel, Misc