[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
www/software devel.html
From: |
Karl Berry |
Subject: |
www/software devel.html |
Date: |
Thu, 22 Apr 2010 19:01:44 +0000 |
CVSROOT: /web/www
Module name: www
Changes by: Karl Berry <karl> 10/04/22 19:01:44
Modified files:
software : devel.html
Log message:
add hydra from ludo, update rest of text
CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/software/devel.html?cvsroot=www&r1=1.30&r2=1.31
Patches:
Index: devel.html
===================================================================
RCS file: /web/www/www/software/devel.html,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- devel.html 22 Apr 2010 18:45:53 -0000 1.30
+++ devel.html 22 Apr 2010 19:01:41 -0000 1.31
@@ -5,15 +5,13 @@
<h2>GNU Development Resources</h2>
<p>This page describes the development services available for GNU
-developers on GNU Project machines. If you would like to make use of one
-of these services for development of a GNU package, please contact the
-address listed for the particular service. For full details of the
-privileges and responsibilities of GNU maintainers, please see the <a
-href="/prep/maintain_toc.html">Information for GNU Maintainers</a>
-document. (The <a href="/prep/standards/">GNU Coding Standards</a> may
-also be of interest, and the <a
+developers on GNU Project machines. For full details of the privileges
+and responsibilities of GNU maintainers, please see the <a
+href="/prep/maintain/">Information for GNU Maintainers</a> document, and
+also follow the <a href="/prep/standards/">GNU Coding Standards</a>.
+Also interesting to review may be the <a
href="/help/evaluation.html#whatmeans">overview of what it means to be a
-GNU package</a>.)</p>
+GNU package</a>.</p>
<p>With the abundance of inexpensive computers that can run <a
href="/gnu/linux-and-gnu.html">GNU/Linux</a>, as well as the greater
@@ -31,38 +29,38 @@
<h3 id="CVS">Savannah and version control</h3>
-<p>If you are developing an official GNU package, we strongly encourage
-you to create and manage a public source repository on <a
-href="http://savannah.gnu.org/">Savannah</a>, the GNU software
-repository. First <a
+<p>If you are developing an official GNU package, we strongly recommend
+using a public source control repository on <a
+href="http://savannah.gnu.org/">Savannah</a>, the GNU hosting server.
+To do this, first <a
href="https://savannah.gnu.org/account/register.php">create yourself an
account</a> and then <a
href="http://savannah.gnu.org/register/">register your GNU package</a>.
-After it is created, you will be able to choose a version control system
-and manage the list of people who have write access to it by yourself,
-among other features.</p>
+After it is created, you will be able to choose a version control
+system, create web pages for your package, manage permissions for
+contributors to the pages, and many other features.</p>
-<h3 id="MailLists">Mailing Lists</h3>
+<h3 id="MailLists">Mailing lists</h3>
<p>We operate mailing lists for GNU software packages as needed,
including both hand-managed lists and automatically managed lists.</p>
<p>When a GNU package is registered on <a
href="http://savannah.gnu.org/">Savannah</a>, a web interface allows
-developers to create and manage mailing lists dedicated to this
+developers to create and manage mailing lists dedicated to their
package.</p>
-<p>Each GNU software package ought to have at least a bug-reporting list
-with the canonical name <code>bug-<em>name</em>@gnu.org</code>, plus
-whatever other aliases may be useful. Using Savannah, you can create
+<p>Each GNU package <em>name</em> ought to have at least a bug-reporting
+list with the canonical name <code>bug-<em>name</em>@gnu.org</code>,
+plus any aliases that may be useful. Using Savannah, you can create
lists for your package with names like this. Some packages share the
list address@hidden but we now encourage packages to set up their
own individual lists.</p>
-<p>Packages can have other lists for announcements, for asking for help,
-for posting related source code, for discussion among users, or whatever
-the package maintainer thinks is useful.</p>
+<p>Packages can have other lists for announcements, asking for help,
+posting source code, for discussion among users, or whatever the package
+maintainer finds to be useful.</p>
<p>Mailing list archives for automatically-managed lists are available
at <a href="http://lists.gnu.org/">http://lists.gnu.org</a>, as well as
@@ -74,44 +72,96 @@
list.</p>
-<h3 id="WebServer">Web Server</h3>
+<h3 id="WebServer">Web pages</h3>
-<p>Our master web server is <a
-href="http://www.gnu.org/">http://www.gnu.org/</a>. We would like to
-host pages on this server about each and every GNU software package.</p>
-
-<p>The machine which serves the <code>www.gnu.org</code> web pages is
-separate from the rest of the GNU machines. GNU packages should use
+<p>The master GNU web server is <a
+href="http://www.gnu.org/">http://www.gnu.org/</a>. We very strongly
+recommend that GNU packages use
<tt>http://www.gnu.org/software/</tt><i>package</i> as their primary
-home page. On Savannah, maintainers can create the pages at that url
-via a CVS “web repository”, separate from the package's main
-source repository. <a
-href="/prep/maintain/maintain.html#Web-Pages">More information on web
-pages</a>.</p>
+home page.</p>
+
+<p>Using Savannah, developers can create and maintain their own pages at
+that url via a CVS “web repository”, which is separate from
+the package's main source repository. <a
+href="/prep/maintain/maintain.html#Web-Pages">More information on
+maintaining GNU web pages</a>.</p>
<h3 id="FTP">FTP</h3>
-<p>We can also provide an FTP site for any GNU software package on <a
-href="http://ftp.gnu.org/"><code>http://ftp.gnu.org/</code></a>, which
-is <a href="/order/ftp.html">mirrored worldwide</a>.</p>
+<p>The primary ftp site for GNU software on <a
+href="http://ftp.gnu.org/gnu"><code>http://ftp.gnu.org/</code></a>,
+which is <a href="/prep/ftp.html">mirrored worldwide</a>. We very
+strongly recommend that all GNU packages upload their releases here (in
+addition to any other location you find convenient).</p>
<p>We use a different server for test releases, so that people won't
install them thinking they are ready for prime time. This server is <a
href="ftp://alpha.gnu.org/"><code>ftp://alpha.gnu.org/</code></a>.</p>
-<p>The <a href="/prep/maintain_toc.html">Information for GNU
-Maintainers</a> document has complete details on the FTP upload
-process.</p>
-
-
-<h3 id="LoginAccounts">Login Accounts</h3>
-
-<p>We give out shell login access to GNU machines to people who need
-them for work on GNU software. Having a login account is both a
-privilege and a responsibility, and they should be used only for your
-work on GNU. Please read <a href="README.accounts.html">access methods
-for GNU machines</a> in order to obtain an account.</p>
+<p>The <a
+href="/prep/maintain/maintain.html#Automated-FTP-Uploads">Information
+for GNU Maintainers</a> document has complete details on the ftp upload
+process, which is the same for both servers.</p>
+
+
+<h3 id="LoginAccounts">Login accounts</h3>
+
+<p>We provide shell login access to GNU machines to people who need them
+for work on GNU software. Having a login account is both a privilege and
+a responsibility, and they should be used only for your work on GNU.
+<a href="README.accounts.html">Instructions for obtaining an account
+machines</a> are written separately.</p>
+
+
+<h3 id="Hydra">Hydra: Continuous builds and portability testing</h3>
+
+<p>Continuous build tools (often referred to as continuous integration
+tools) allow programming errors to be spotted soon after they are
+introduced in a software project, which is particularly useful for
+cooperatively developed software.</p>
+
+<p><a href="http://nixos.org/hydra/">Hydra</a> is a free continuous
+build tool based on the <a href="http://nixos.org/nix/">Nix</a> package
+manager. Administrators of the <a href="http://hydra.nixos.org/">Hydra
+instance at the Delft University of Technology</a> have generously
+offered <a href="http://hydra.nixos.org/project/gnu">slots for the GNU
+Project</a>.</p>
+
+<p> Currently it can build software on GNU/Linux (i686 and x86_64) as
+well as FreeBSD, Darwin, and Cygwin, and can cross-build for
+GNU/Linux on other architectures. It can provide code coverage
+reports produced using LCOV. In addition to source tarballs and Nix
+packages, it can build packages for <code>deb</code>- and
+<code>RPM</code>-based distributions. Packages can be built against
+the latest versions of their dependencies; for instance, GnuTLS is
+built using GNU libtasn1 and GNU libgcrypt builds
+corresponding to their latest revision. Finally, in addition to the
+web interface, Hydra can send notifications by email when the build
+status of a project changes (e.g., from <code>SUCCEEDED</code> to
+<code>FAILED</code>.)</p>
+
+<p>Any GNU software package can request a slot on Hydra. Each package
+must provide its own “build recipe” written in the Nix
+language (a <emph>Nix expression</emph>, in Nix parlance). <a
+href="https://svn.nixos.org/repos/nix/hydra-config/gnu/trunk">Nix
+expressions for GNU projects</a> are available via Subversion. For
+simple projects using standard GNU build tools such as Automake and
+Autoconf, the recipe is usually fairly simple. For example, see the <a
+href="https://svn.nixos.org/repos/nix/hydra-config/gnu/trunk/patch/release.nix">recipe
+for patch</a>). You are welcome to ask for guidance on <a
+href="mailto:address@hidden">address@hidden</a>.</p>
+
+<p>After constructing your build recipe, email <a
+href="http://lists.gnu.org/mailman/listinfo/hydra-users">address@hidden</a>
+and ask to be included in Hydra.</a>
+
+<p> For technical information about Nix, Hydra, and Nixpkgs please see
+the <a
+href="http://hydra.nixos.org/job/nix/trunk/tarball/latest/download/1/nix/manual.html">Nix
+manual</a> and <a
+href="http://hydra.nixos.org/job/nixpkgs/trunk/tarball/latest/download/2/manual.html">the
+Nixpkgs manual</a>.</p>
<!-- If needed, change the copyright block at the bottom. In general,
@@ -144,7 +194,7 @@
<p>Updated:
<!-- timestamp start -->
-$Date: 2010/04/22 18:45:53 $
+$Date: 2010/04/22 19:01:41 $
<!-- timestamp end -->
</p>
</div>