1
1
This HACKING file describes the development environment. -*- org -*-
3
3
Copyright (C) 2008, 2009, 2011 ViewPlus Technologies, Inc. and Abilitiessoft, Inc.
4
Copyright (C) 2012, 2013 Swiss Library for the Blind, Visually Impaired and Print Disabled
4
Copyright (C) 2012, 2013, 2014 Swiss Library for the Blind, Visually Impaired and Print Disabled
7
6
Copying and distribution of this file, with or without modification,
8
7
are permitted in any medium without royalty provided the copyright
9
notice and this notice are preserved.
8
notice and this notice are preserved. This file is offered as-is,
11
11
This file attempts to describe the maintainer-specific notes to follow
12
12
when hacking liblouis.
16
The development sources are available through anonymous svn at Google
16
The development sources are available through git at github.com:
19
http://code.google.com/p/liblouis/
18
https://github.com/liblouis/liblouis
21
20
** Build requirements
22
21
This distribution uses Automake, Autoconf, and Libtool. If you are
23
getting the sources from svn (or change configure.ac), you'll need to
22
getting the sources from git (or change configure.ac), you'll need to
24
23
have these tools installed to (re)build. Optionally (if you want to
25
24
generate man pages) you'll also need help2man. All of these programs
26
25
are available from ftp://ftp.gnu.org/gnu.
29
This distribution also uses Gnulib (http://www.gnu.org/software/gnulib)
30
to share common files, with the files being checked in to svn. If you
31
want to update from the current gnulib, install gnulib, and then run
33
in the top-level directory.
28
This distribution also uses Gnulib (http://www.gnu.org/software/gnulib). If
29
you want to update from the current gnulib, install gnulib, and then run
30
gnulib-tool --import in the top-level directory.
35
32
For the record, the first time invocation was
36
33
gnulib-tool --import --lib=libgnu --source-base=gnulib \
42
39
update the files with gnulib-tool --import.
45
After getting the sources from svn, with
42
After getting the sources from git, with
47
svn checkout http://liblouis.googlecode.com/svn/trunk/ liblouis
44
git clone https://github.com/liblouis/liblouis.git
49
46
and installing the tools above, change to the liblouis directory and
50
47
and bootstrap the project with the following command
152
150
** Commit and tag
153
151
Commit the changes and tag this version
155
svn cp https://liblouis.googlecode.com/svn/trunk \
156
https://liblouis.googlecode.com/svn/tags/liblouis_1_3_8
153
git tag -s v2.6.0 -m "Release 2.6.0"
154
git push origin v2.6.0
158
156
If you know the exact version number that needs to be tagged use
160
svn cp https://liblouis.googlecode.com/svn/trunk \
161
https://liblouis.googlecode.com/svn/tags/liblouis_1_3_8 -r 109
158
git tag -s v2.6.0 -m "Release 2.6.0" <commit>
159
git push origin v2.6.0
163
161
** Make the release
164
162
Check out a clean copy in a different directory, like /tmp. Run
169
167
./autogen.sh && ./configure && make && make distcheck && make dist
172
Upload tarball to Google project page, tag as "featured". This will
173
put the link on the main project page. Remove "featured" tag from
174
previous tarball release.
170
Add the tarball to the github liblouis releases page, i.e. add it
171
under https://github.com/liblouis/liblouis/releases with the specific
172
release and add a link to it in $WEBSITE/downloads/index.md. See below
173
for instructions on how to update the web site.
176
175
** Online documentation
177
The online documentation is hosted out of subversion of the Google
178
code site. To check it out
180
svn co https://liblouis.googlecode.com/svn/documentation \
181
liblouis-online-documentation
183
then move the latest built documentation into this directory and check
186
cd liblouis-online-documentation
187
cp ../liblouis/doc/liblouis.html .
188
svn ci liblouis.html -m "Update online documentation"
191
Update the Google project page. Add the current NEWS to the front
194
Also update the page on freshmeat (http://freshmeat.net/projects/liblouis/).
176
The online documentation is part of the liblouis web site. To add it to the
177
site simply copy doc/liblouis.html to $WEBSITE/documentation/liblouis.html.
178
Make sure you add the proper YAML front matter. Again see below for
179
instructions on how to update the web site.
181
** Web site maintenance
182
The liblouis web site at liblouis.org is maintained with the help of
183
github pages (https://pages.github.com/). To edit the site just check
184
out the repo at https://github.com/liblouis/liblouis.github.io. You'll
185
need to know a few things about Jekyll (http://jekyllrb.com/) and
186
textile (http://redcloth.org/textile/) the markup that is used to edit
187
the content. In order to update the site simply edit, commit and push.
189
For the new release update the project web site. Add a post containing
190
the current NEWS to the _posts directory.
197
193
Send an announcement to the liblouis list
198
194
liblouis-liblouisxml@freelists.org. See ANNOUNCEMENT for an example.