Update CVS instructions for git

Will also need to rename the pages and rework a couple other things at
some point, but that's a start.
merge-requests/1/head
Julien BLACHE 2009-05-05 11:28:49 +02:00
rodzic 78aee4a25e
commit ccddbca395
5 zmienionych plików z 152 dodań i 143 usunięć

Wyświetl plik

@ -42,14 +42,15 @@ GETTING STARTED
CONFIGURATION AND BUILD SYSTEM
------------------------------
Sane-backends uses the autoconf tools but not automake. The configure script is
generated from configure.in and aclocal.m4 by running "autoconf". Simple checks
(e.g. for headers) should be placed into configure.in while for more complex
stuff acinclude.m4 is the right file. After changes in one of these files
"autoheader" and "autoconf" should be called. Autoheader creates
include/sane/config.h.in, while autoconf createts the "configure" script. In
CVS, all these changes must be commited (configure.in, configure, acinclude.m4,
include/sane/config.h.in).
Sane-backends uses the autoconf and automake tools. The configure script is
generated from configure.in and aclocal.m4 by running "autoreconf".
Simple checks (e.g. for headers) should be placed into configure.in while
for more complex stuff acinclude.m4 is the right file. After changes in one
of these files, "autoreconf" should be called. This will then call a
chain of autotools, such as autoconf to generate configure, autoheader
to generate include/sane/config.h.in, and automake to generate various
Makefile.in's from Makefile.am's. All changes made by "autoreconf" must
be commited together.
When running configure, the Makefiles in the main and sub-directories are
created from their respective Makefile.in files. Also include/sane/config.h
@ -57,17 +58,16 @@ which is included into to every c file is created from its .in file.
Running "make" runs the respective targets in the sub directories recursively.
The Makefile.in in each directory contains lists of files which are part of the
The Makefile.am in each directory contains lists of files which are part of the
distribution and which are therefore copied to the tar.gz archive, when a
release is made. It's important that newly added files are also added to their
respective DISTFILES variables in the Makefile.in.
release is made. It's important that newly added files are also added to
a variable that will cause them to be distributed (EXTRA_DIST at a minimum).
For creating binaries and libraries libtool is used. The ltmain.sh script
contains special modifications for SANE. In addition to fixes for MacOS these
modifications ensure that the soname of each SANE backend library is
"libsane.so". Without this change, backend libraries (like "libsane-epson.so")
could not used as on-the-fly replacement for the dll backend.
contains special modifications for SANE. These modifications ensure that
the soname of each SANE backend library is "libsane.so". Without this
change, backend libraries (like "libsane-epson.so") could not used as
on-the-fly replacement for the dll backend.
DIRECTORY OVERVIEW
------------------
@ -76,20 +76,20 @@ This chapter explains some details about the files and directories used in the
sane-backends distribution.
sane-backends/
* acinclude.m4 aclocal.m4 config.guess config.sub configure configure.in
install-sh ltmain.sh Makefile.in mkinstalldirs:
Part of the build system as explained above.
* acinclude.m4 aclocal.m4 compile config.guess config.sub configure
configure.in depcomp install-sh ltmain.sh Makefile.am Makefile.in missing
mkinstalldirs: Part of the build system as explained above.
* ChangeLog:
The ChangeLog contains all the changes made since the last stable release. If
anything is changed in CVS, it must be also mentioned in ChangeLog. It's not
enough to write just a CVS commit message, as users won't have access to
these messages. For more details on the format, see the SANE CVS page on the
website.
The ChangeLog contains all the changes made since the last stable release.
If anything is changed in git, it must be also mentioned in ChangeLog.
It's not enough to write just a git commit message, as users won't have
access to these messages. For more details on the format, see the SANE
git page on the website.
* ChangeLog-1.0.0, ChangeLog-1.0.1 (...):
These files contain the ChangeLogs of older releases. Once a new release has
been made, the current ChangeLog renamed to ChangeLog-1.something.something
and a new empty ChangeLog is created.
* AUTHORS COPYING LICENSE:
* AUTHORS COPYING INSTALL LICENSE:
General documentation + license.
* NEWS:
This is some kind of executive summary of the ChangeLog. It will be created
@ -120,24 +120,25 @@ sane-backends/backend/
* newbackend.h:
Header file, containing includes and so on.
* newbackend.conf.in:
Configuration file for the backend, newbackend.conf will be created by running
"make" from this file. Some variables are substituted, e.g. for installation
directories. This is especially useful for firmware directories. See
Makefile.in for a list.
Configuration file for the backend, newbackend.conf will be created by
running "make" from this file. Some variables are substituted, e.g. for
installation directories. This is especially useful for firmware
directories. See Makefile.am for a list.
* newbackend-low.c:
Contains low level code for the "newbackend" backend. Depending on the
complexity of the backend, splitting it to several files can be appropriate,
the total number of files shouldn't exceed approx. 10, however.
Other files:
* Makefile.in:
Makefile.in contains rather complex rules for building the backends. For
* Makefile.am, Makefile.in:
Makefile.am contains rather complex rules for building the backends. For
adding backends, special care should be taken concerning the FIRMWARE_DIRS
(add your backend name here, if your scanner needs firmware files) and
DISTFILES variables (see build system description). If your backend uses
separate object files, the additional dependencies must be added to the
EXTRA_newbackend variable. Also each backend that uses code from sanei must add
a line for each sanei file used, for sanei_usb code:
libsane-newbackend.la: ../sanei/sanei_usb.lo
other variables (see build system description). There is some
documentation inside of Makefile.am on what needs to be added and where.
At a minimum, a convenience library of form lib${backend}.la and
a installed library libsane-${backend}.la must be defined. Any
sanei objects referenced should be listed in a
libsane_${backend}_la_LIBADD line.
* sane_strstatus.c:
Contains the code for the sane_strstatus() function to avoid code
duplication in every backend.
@ -153,9 +154,9 @@ sane-backends/doc/
files.
General files:
* Makefile.in:
"sane-newbackend.5" must be added to variable SECT5 and
"sane-newbackend.man" to DISTFILES. A backend documentation directory (if
used) must be added to the BACKDIRS variable.
"sane-newbackend.5" must be added to variable BACKEND_5MANS and
"sane-newbackend.man" to EXTRA_DIST. A backend documentation directory
(if used) must be added to the BEDOCS variable.
* backend-writing.txt:
This file.
* descriptions.txt:
@ -167,7 +168,8 @@ sane-backends/doc/
* sane.tex, net.tex:
Contains the LaTeX source of the SANE standard.
* descriptions/ (directory)
Contains the .desc files for every backend that is included into sane-backends.
Contains the .desc files for every backend that is included into
sane-backends.
* descriptions-external/ (directory)
Contains the .desc files for backend that are not included into
sane-backends yet (external backends). These files should only be created
@ -206,7 +208,8 @@ sane-backends/po/
sane-backends/sanei/
Sanei (SANE internal) code. Needed for code used in several backends
like USB access. For more details, see the documentaion on the SANE website.
like USB access. For more details, see the documentaion on the SANE
website.
sane-backends/testsuite/
Testsuite for SANE. See README for details.
@ -225,14 +228,15 @@ PROGRAMMING
* To add the backend to the existing SANE code, the following must be done at
least:
- add the backend name to BACKENDS in configure.in (and rerun autoconf)
- add any parts of SANE that are used in the backend in
backend/Makefile.in. E.g., for the backend "newbackend" that uses
sanei_usb code:
libsane-newbackend.la: ../sanei/sanei_usb.lo
See the lines near the end of Makefile.in for examples.
- Add the source code files to the backend/ directories. All file names must
start with the backend name (e.g. newbackend.c, newbackend.h and
- add the backend name to ALL_BACKENDS in configure.in (and run autoreconf)
- Add new backend to BACKEND_CONFS, be_convenience_libs, be_dlopen_libs,
and define _lib${backend}_la_SOURCES and
nodist_libsane_${backend}_la_SOURCES; using an existing backend as
a template. Any sanei reference code should be listed in
libsane_${backend}_la_LIBADD as well as any external libraries
required to resolve all symbols.
- Add the source code files to the backend/ directories. All file names
must start with the backend name (e.g. newbackend.c, newbackend.h and
newbackend-usb.c).
* Please follow the GNU coding standards. It's clear that the style
@ -407,10 +411,9 @@ TESTING
nm -g backend/.libs/libsane-hp.a
would list all global symbols in the HP backend.
"./configure --disable-shared; make; make libcheck" in the sane-backends
root directory will name all backend libraries, that contain "illegal"
symbols.
"./configure; make; make libcheck" in the sane-backends root directory
will name all backend libraries, that contain "illegal" symbols.
DOCUMENTATION
-------------
@ -420,7 +423,7 @@ DOCUMENTATION
your backend, you should include an update to the .desc file which reflects
the new state of the backend. The .desc files are used to create the HTML
lists of supported devices. These lists are updated automatically when you
change a .desc file in CVS. See e.g.
change a .desc file in git. See e.g.
http://www.sane-project.org/lists/sane-mfgs-cvs.html for the results.
* The .desc files are located in the directories "doc/descriptions" and
@ -468,7 +471,7 @@ In sane-backends/backend/
* Add the backend name to dll.conf
* Check that the SANE license is in the backend source files.
* Add the source file names and the .conf file
to DISTFILES in Makefile.in
to BACKEND_CONFS in Makefile.am
In sane-backends/doc/
* Add an entry for the man page in sane.man
@ -480,14 +483,14 @@ In sane-backends/doc/
description file.
INCLUDING INTO CVS
INCLUDING INTO git
------------------
* If you want to include your backend into CVS use the latest CVS to make
patches. Check the mailing list and the bug-tracking system for information
about bugs to avoid.
* If you want to include your backend into SANE's git tree use the latest git
to make patches. Check the mailing list and the bug-tracking system for
information about bugs to avoid.
* If your backend isn't included yet in the SANE CVS tree, write an email to
* If your backend isn't included yet in the SANE's git tree, write an email to
the SANE mailing list (sane-devel) and ask for inclusion. Usually one
of the developers will check the backend for common mistakes and test
compilation. If everything is ok the backend will be added to the CVS tree.
compilation. If everything is ok the backend will be added to the git tree.

158
cvs.html
Wyświetl plik

@ -2,11 +2,11 @@
<html>
<head>
<title>SANE - CVS Access</title>
<title>SANE - git Access</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Henning Meier-Geinitz">
<meta name="keywords" content="sane, scanner, cvs, cvsweb, development, unstable">
<meta name="description" content="SANE CVS server">
<meta name="keywords" content="sane, scanner, git, gitweb, development, unstable">
<meta name="description" content="SANE git server">
<link href="mailto:hmg-guest@users.alioth.debian.org" rev="made">
<link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
@ -21,99 +21,105 @@
<center>
<h1><a
href="https://alioth.debian.org/scm/?group_id=30186"
target="_top">SANE - CVS Access</a></h1>
target="_top">SANE - git Access</a></h1>
</center>
<hr>
<p>
CVS, the <a href="http://www.gnu.org/software/cvs/">Concurrent Versions
System</a>, is used to develop SANE. To get the latest SANE software
(sane-backends and sane-frontends) our CVS server can be used. But keep
in mind that the software in CVS is not tested so the risk of bugs is
much higher than with stable releases.
<a href="http://git-scm.com">git</a>, the version control
system invented by Linus Torvalds and used for the Linux
kernel among other things, is used to develop SANE. To get the
latest SANE software (sane-backends and sane-frontends) our
git server can be used. But keep in mind that the software in
git is not tested so the risk of bugs is much higher than with
stable releases.
</p>
<p>
There is development and anonymous CVS access. If you are not a
developer, please use the anonymous access as mentioned below.
There is development and anonymous git access. If you are not a
developer, please use the anonymous access methods as mentioned below.
</p>
<h2>Anonymous CVS Access (Read-Only)</h2>
<h2>Anonymous git Access (Read-Only)</h2>
<p>
To use <em>anonymous</em>
CVS, use the following commands (just press enter when asked for the
password):
The git trees are available anonymously either through the
HTTP access method or the git-specific git protocol.
</p>
<p>
The HTTP access method should be used only if you are
restricted by a firewall that won't let you use either the git
protocol nor SSH. HTTP is slower and requires more bandwidth
than any other access methods.
</p>
<p>
You can clone from the following URIs:
<ul>
<li>HTTP access method:
<ul>
<li>http://git.debian.org/git/sane/sane-backends.git</li>
<li>http://git.debian.org/git/sane/sane-frontends.git</li>
<li>http://git.debian.org/git/sane/website.git</li>
</ul>
</li>
<li>git protocol (preferred):
<ul>
<li>git://git.debian.org/sane/sane-backends.git</li>
<li>git://git.debian.org/sane/sane-frontends.git</li>
<li>git://git.debian.org/sane/website.git</li>
</ul>
</li>
</ul>
</p>
<pre>
cvs -d:pserver:anonymous@cvs.alioth.debian.org:/cvsroot/sane login
cvs -z3 -d:pserver:anonymous@cvs.alioth.debian.org:/cvsroot/sane co sane-backends
</pre>
<p>
Replace <em>sane-backends</em> by <em>sane-frontends</em> to get the
source code of sane-frontends. For more details on how to use CVS please
consult the man page <em>cvs(1)</em>.
</p>
<p>
If you just want to look at one file and don't want to download the
whole CVS tree, you can use cvsweb or any other of the methods mentioned
on the <a href="https://alioth.debian.org/scm/?group_id=30186"
target="_top">Alioth CVS page</a> to browse the tree.
whole git tree, you can use gitweb to browse the tree with your
web browser:
<ul>
<li><a href="http://git.debian.org/?p=sane/sane-backends.git">http://git.debian.org/?p=sane/sane-backends.git</a></li>
<li><a href="http://git.debian.org/?p=sane/sane-frontends.git">http://git.debian.org/?p=sane/sane-frontends.git</a></li>
<li><a href="http://git.debian.org/?p=sane/website.git">http://git.debian.org/?p=sane/website.git</a></li>
</ul>
</p>
<h2>Developer Access to CVS (Read-Write)</h2>
<h2>Developer Access to git (Read-Write)</h2>
<p>
If you intend to use the <em>development</em> CVS server, <a
If you intend to use the <em>development</em> git server, <a
href="https://alioth.debian.org/account/register.php" target="_top">get
a login at Alioth</a> and <a
href="https://alioth.debian.org/projects/sane/" target="_top">contact
one of the SANE project managers</a> to get added to the project. Don't
be surprised that you get a "foo-guest" account, that's just the normal
naming scheme. After being added to the project, it can take some hours
until you get write access to CVS. Development CVS access is done by ssh
(version 1):
until you get write access to the git trees. Development git
access is done by ssh:
<ul>
<li>ssh://yourlogin@git.debian.org/git/sane/sane-backends.git</li>
<li>ssh://yourlogin@git.debian.org/git/sane/sane-frontends.git</li>
<li>ssh://yourlogin@git.debian.org/git/sane/website.git</li>
</ul>
</p>
<pre>
export CVS_RSH=ssh
cvs -z3 -d:ext:developername@cvs.alioth.debian.org:/cvsroot/sane co sane-backends
</pre>
<p>
Besides <em>sane-backends</em> the CVS server also provides other
modules. To get access to them, just replace <em>sane-backends</em> by one
of these module names:
</p>
<ul>
<li>
<em>sane-frontends</em>
</li>
<li>
<em>experimental</em>: Experimental code (backends, frontends and tools)
that are not ready for inclusion into the distribution.
</li>
<li>
<em>html</em>: Our web pages. Before changing anything, be sure you know
what you do. Ask sane-devel, if in doubt. The HTML pages are
automatically updated when any change is done in module
<em>html</em>. Also, the HTML lists of scanners/backends supported by
the CVS version of SANE is automatically created when changing any .desc
file.
</li>
<li>
<em>CVSROOT</em>: Contains the scripts that automatically create lists
and update our webpage. You should really know what you are doing. If in
doubt, ask sane-devel.
</li>
</ul>
<p>
Make sure that you <strong>really use ssh</strong> to access the CVS
server. Have a look at the file <em>CVS/Root</em> in your local
repository. It should contain a line starting with <em>:ext:</em> and not
<em>:pserver:</em>. If you don't use ssh, your password is not encrypted
and CVS log messages won't work. You can use the usual ssh access
methods. E.g. you can upload your public key so you don't need to enter
the password every time.
Available git trees:
<ul>
<li>
<em>sane-backends</em>: the main SANE package containing
the SANE libraries, all the backends and documentation.
</li>
<li>
<em>sane-frontends</em>: various frontends for SANE,
including graphical frontends.
</li>
<li>
<em>website</em>: Our web pages. Before changing anything,
be sure you know what you do. Ask sane-devel, if in doubt.
The HTML pages are automatically updated when any change
is done to the tree. Also, the HTML lists of
scanners/backends supported by the git version of SANE is
automatically created when changing any .desc file.
</li>
</ul>
</p>
<p>
@ -129,7 +135,7 @@
<p>
When doing changes (commits) to sane-backends or sane-frontends, make sure
you remember to include an entry in the ChangeLog file. The format is
simple, with the date the change was committed to CVS, the name and email
simple, with the date the change was committed to git, the name and email
address of the one doing the commit, the list of files changed (ignoring
ChangeLog itself), and a description of the change. Example:
</p>
@ -141,15 +147,15 @@
<p>
You can use the same descriptions in the ChangeLog and the commit
messages. The ChangeLog file is used in addition to the commit messages
because it's available even when there is no access to the CVS server. If
you intend to change more than one file in CVS, it's ok to add all the
entries to the ChangeLog only once per day.
messages. The ChangeLog file is still used in addition to the
commit messages (CVS legacy). If you intend to change more than
one file, it's ok to add all the entries to the ChangeLog only
once per day.
</p>
<h2>sane-commit Mailing list</h2>
<p>
If you are interested in the changes in the SANE CVS tree, subscribe to
If you are interested in the changes to the SANE git trees, subscribe to
the <a
href="http://lists.alioth.debian.org/mailman/listinfo/sane-commit"
target="_top">sane-commit mailing list</a>.

Wyświetl plik

@ -106,7 +106,7 @@
<h3><a
href="http://lists.alioth.debian.org/mailman/listinfo/sane-commit">sane-commit</a></h3>
<p>
When a developer changes the source code of SANE in CVS, an email
When a developer changes the source code of SANE in git, an email
containing a summary of the changes is sent to sane-commit. If you are
interested in changes in the SANE source, this list is for you. The list
is read-only, there no archive either. You can subscribe, unsubscribe or

Wyświetl plik

@ -32,7 +32,7 @@
The <a href="/cgi-bin/driver.pl">search engine</a> knows if your scanner is supported and
if yes, by which backend. If it's not supported, it may at least point
to documentation or test programs. The search engine contains
information from the latest stable SANE release, the development ("CVS") version
information from the latest stable SANE release, the development ("git") version
of SANE and from external backends. The database is updated once per day.
</p>
@ -65,11 +65,11 @@
</ul>
<h3>SANE Development (CVS) Version</h3>
<h3>SANE Development (git) Version</h3>
<p>
These lists provide information about the devices that are supported by
the <a href="cvs.html">unstable development version</a> of SANE. The
lists are updated automatically from CVS.
lists are updated automatically from git.
</p>
<ul>
<li>

Wyświetl plik

@ -106,14 +106,14 @@
<h2><a href="cvs.html">Unstable (Development) Source</a></h2>
<p>
The Debian project provides a CVS server ("Alioth") with anonymous
The Debian project provides a git server ("Alioth") with anonymous
(read-only) and developer (read-write) access to the development
(unstable) tree of the SANE sources. See <a href="cvs.html">our CVS
(unstable) tree of the SANE sources. See <a href="cvs.html">our git
page</a> for more information.
</p>
<p>
There are also <a href="/snapshots/">daily CVS snapshots</a> that may
There are also <a href="/snapshots/">daily git snapshots</a> that may
contain fixes or new features that are not in the latest release yet.
Keep in mind that these are development versions. They aren't tested at
all.