~ubuntu-branches/debian/stretch/liblouis/stretch

« back to all changes in this revision

Viewing changes to HACKING

  • Committer: Package Import Robot
  • Author(s): Samuel Thibault
  • Date: 2014-09-19 17:42:25 UTC
  • mfrom: (1.1.12) (5.1.15 sid)
  • Revision ID: package-import@ubuntu.com-20140919174225-88ybs843kf44lmd0
Tags: 2.6.2-1
* New upstream release.
* Bump Standards-Version to 3.9.6 (no changes).
* watch: Add new upstream URL.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
This HACKING file describes the development environment.        -*- org -*-
2
2
 
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 
5
 
 
 
4
  Copyright (C) 2012, 2013, 2014 Swiss Library for the Blind, Visually Impaired and Print Disabled 
6
5
 
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,
 
9
  without any warranty.
10
10
 
11
11
This file attempts to describe the maintainer-specific notes to follow
12
12
when hacking liblouis. 
13
13
 
14
14
* Developing
15
15
** Where to get it
16
 
The development sources are available through anonymous svn at Google
17
 
Code:
 
16
The development sources are available through git at github.com:
18
17
 
19
 
  http://code.google.com/p/liblouis/
 
18
  https://github.com/liblouis/liblouis
20
19
 
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.
27
26
 
28
27
** Gnulib
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
32
 
  gnulib-tool --import
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.
34
31
 
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.
43
40
 
44
41
** How to build
45
 
After getting the sources from svn, with 
 
42
After getting the sources from git, with 
46
43
 
47
 
  svn checkout http://liblouis.googlecode.com/svn/trunk/ liblouis
 
44
  git clone https://github.com/liblouis/liblouis.git
48
45
 
49
46
and installing the tools above, change to the liblouis directory and
50
47
and bootstrap the project with the following command
133
130
option to install the binaries to a temporary place where you can
134
131
create a zip file.
135
132
 
136
 
  ./configure --build i686-pc-linux-gnu --host i586-mingw32msvc --prefix=/tmp/mingw32msvc 
 
133
  ./configure --build i686-pc-linux-gnu --host i586-mingw32msvc --prefix=/tmp/liblouis-mingw32msvc 
137
134
  make
138
 
  make dist
 
135
  make install
 
136
  zip -r liblouis-mingw32msvc.zip /tmp/liblouis-mingw32msvc
139
137
 
140
138
 
141
139
* Release Procedure
152
150
** Commit and tag
153
151
Commit the changes and tag this version
154
152
 
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
157
155
 
158
156
If you know the exact version number that needs to be tagged use
159
157
 
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
162
160
 
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
170
168
 
171
169
** Upload
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.
175
174
 
176
175
** Online documentation
177
 
The online documentation is hosted out of subversion of the Google
178
 
code site. To check it out
179
 
 
180
 
   svn co https://liblouis.googlecode.com/svn/documentation \
181
 
     liblouis-online-documentation
182
 
 
183
 
then move the latest built documentation into this directory and check
184
 
it in
185
 
 
186
 
   cd liblouis-online-documentation
187
 
   cp ../liblouis/doc/liblouis.html .
188
 
   svn ci liblouis.html -m "Update online documentation"
189
 
 
190
 
** Other web updates
191
 
Update the Google project page. Add the current NEWS to the front
192
 
page.
193
 
 
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.
 
180
 
 
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.
 
188
 
 
189
For the new release update the project web site. Add a post containing
 
190
the current NEWS to the _posts directory.
195
191
 
196
192
** Announce
197
193
Send an announcement to the liblouis list
198
194
liblouis-liblouisxml@freelists.org. See ANNOUNCEMENT for an example.
199
195
 
200