Add the sample git post-receive hook and update README
[sxemacs] / contrib / README
1 -*- text -*-
2
3 In here you'll find a few odds and sods that may or may not be
4 useful.
5
6 File List:
7 =========
8         do_builds.sh..................automate builds
9         git-post-receive-hook.sample..git hook to send email automatically for merge requests
10         git-to-steve.sh...............setup a for-steve branch to send patches to the master branch
11         make-pkg.sh...................bash script to create a SXEmacs tar package 
12         pop3.el.patch.................SXEmacs native OpenSSL goodies 
13         report-build-failure.sh.......bash script to send a build report failure 
14         show-tty-256-colors.pl........Perl script to test 256 color output on terminal
15         smtpmail.el.patch.............SXEmacs native OpenSSL goodies
16         starttls.el.patch.............SXEmacs native OpenSSL goodies
17         tar-build-failure.sh..........bash script w/ tar of build report failure
18         tty-colors.c..................C program to check the terminal color definitions
19
20
21 More Info:
22 =========
23
24 do_builds.sh:
25 ------------
26
27 This script allows the automation of the builds with several different
28 configure options.
29 It does autogen.sh, configure and reports success and of failure.
30 To setup:
31
32    1. Create a directory *outside* of the source directory in order
33    not to be "hammered" by autogen. You use a build directory directly
34    below the top source directory IF you do not set the HAMMER variable
35    in the configuration file (,,conf)
36
37    2. Run the script from *that* directory. That will create a ,,conf 
38    file, which you *must* edit to at least point to the sxemacs source
39    directory.
40
41    3. Create several .conf files, one for each of you different
42    configurations. On this file place all the options you'd usually
43    pass on to configure. If you would set environment variables like
44    CC or CFLAGS, you can do so at the end of the file with <var>=<value>
45    
46    4. Execute do_builds.sh
47
48 Nelson Ferreira <njsf@sxemacs.org>
49
50
51 git-post-receive-hook.sample
52 ----------------------------
53 This hook is meant as git hook (ie to be placed in the hooks directory
54 of your publicly accessible repository) as a way to automatically send
55 emails when you want something to be merged to the master branch.
56
57 It assumes you will use a for-steve branch, as git-to-steve.sh will do
58 for you, so it will only send emails for changes to that branch.
59
60 This script will not send an email on a "fast-forward" or "merge"
61 commit, so that you won't bother Steve if you keep a long lived
62 for-steve branch, and even share it accross machines...
63
64 Nelson Ferreira <njsf@sxemacs.org>
65
66
67 git-to-steve.sh
68 ---------------
69
70 This script will check your git configuration, give you some
71 recommendations of changes and create a for-steve branch so that you
72 use the same convention as the other SXEmacs developers to contribute
73 to the SXEmacs project.
74
75 Nelson Ferreira <njsf@sxemacs.org>
76
77
78 make-pkg.sh:
79 -------------
80 This script conveniently creates a tar from your workspace for use
81 in systems without proper autoconf or tla.
82
83 It needs to be run from the top of source directory and requires
84 the name of the package to be given.
85
86 Usage: contrib/make-pkg.sh <package-name> [<package-location>]
87
88 Example: contrib/make-pkg.sh sxemacs-22.1.9 $HOME/public_html
89 will create a sxemacs-22.1.9.tar.gz in your html area.
90
91 Nelson Ferreira <njsf@sxemacs.org>
92
93
94 pop3.el.patch:
95 -------------
96 This patch is meant to be applied to pop3.el from the mail-lib package.
97
98 This patch provides SSL/TLS support for Gnus based on SXEmacs' native
99 OpenSSL interface.  It works with the stream types 'ssl and 'starttls,
100 so mail-sources already using one of these stream types will just keep
101 on working.
102
103 An example mail source for a POP3 TLS connection:
104
105         (pop :server "some.pop3.server.tld"
106              :user "me"
107              :password "verysecret"
108              :stream starttls)
109
110 An example mail source for a POP3s server:
111
112         (pop :server "some.pop3s.server.tld"
113              :user "anotherme"
114              :password "verysecret"
115              :port 995
116              :stream 'ssl)
117
118 The provided functionality has drop-in behaviour, so anything that worked
119 before will keep on working.
120
121 Sebastian Freundt <hroptatyr@sxemacs.org>
122
123
124 report-build-failure.sh:
125 -----------------------
126 Send an email to the SXEmacs developers mailing list with the details
127 needed to troubleshoot failures to build SXEmacs.
128
129 The script requires your email address.
130
131 Usage: contrib/report-build-failure.sh superhacker@sxemacs.org
132
133 When tla is available the script will find the branch and closeness to
134 the main branch as well as uncommitted changes.
135
136 Nelson Ferreira <njsf@sxemacs.org>
137
138
139 show-tty-256-color.pl:
140 ----------------------
141 This script is from the X distribution and outputs a 6x6x6 color cube
142 as well as a grayscale ramp consistent with the default 256 color xterm
143 settings.
144 You can use it to see if your terminal is capable of showing 256 colors.
145
146 Todd Larason <jtl@molehill.org>
147
148
149 smtpmail.el.patch:
150 -----------------
151 This patch is meant to be applied to smtpmail.el from the mail-lib
152 package.
153
154 This patch provides SSL/TLS support for smtp connections using SXEmacs'
155 native OpenSSL interface.  It works out of the box with the usual
156 credential definitions.
157
158 Additionally extends the smtpmail-starttls-credentials specifications by
159 another argument, the fifth one, which can be a certificate authority's
160 certificate file.  If specified the server must present a valid
161 certificate signed by or verifiably by the certificate authority.
162
163 An example credential:
164
165         (setq smtpmail-starttls-credentials
166               '(("some.smtp.server.tld" 25      ;; server+port
167                  "~/.certs/my.smtpd.key"        ;; the cert's secret key
168                  "~/.certs/my.smtpd.cert"       ;; the public cert
169                  "~/.certs/smtp.server.ca"      ;; server's ca cert
170                 )))
171
172 Sebastian Freundt <hroptatyr@sxemacs.org>
173
174 starttls.el.patch:
175 -----------------
176 This patch is meant to be applied to starttls.el from the mail-lib
177 package.
178
179 This patch provides some basic SSL/TLS functionality used by other stuff
180 in the mail-lib package.  Basically it just pretends to be Josefsson's
181 starttls.el.  Instead of calling the gnutls binary externally the
182 internal OpenSSL API functions are used.
183
184 Sebastian Freundt <hroptatyr@sxemacs.org>
185
186 tar-build-failure.sh
187 --------------------
188 Script that creates a tar file withe the contents that would also
189 be emailed by report-build-failure.sh
190
191 Nelson Ferreira <njsf@sxemacs.org>
192
193
194 tty-colors.c
195 ------------
196 C program using the curses library that detects the number of colors,
197 the code sequences and can show the available colormap.
198 Compile with:
199         gcc -o tty-colors tty-colors.c -lncurses 
200 Invoke with:
201        -m       Do a colormap
202        -c       Do all foreground/background color combinations
203        -f       Force the output of the basic ansi colors
204        -s       Force the use of standout code
205        -bs      Force the use of both bold and standout codes
206        -q       Try to query the color map from the terminal
207
208 Nelson Ferreira <njsf@sxemacs.org>