savannah-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-cvs] administration/docs/hacking_savannah hacking_sa...


From: Sylvain Beucler
Subject: [Savannah-cvs] administration/docs/hacking_savannah hacking_sa...
Date: Tue, 21 Sep 2004 17:27:58 -0400

CVSROOT:        /cvsroot/administration
Module name:    administration
Branch:         
Changes by:     Sylvain Beucler <address@hidden>        04/09/21 21:21:24

Modified files:
        docs/hacking_savannah: hacking_savannah.texi 

Log message:
        Continued the test install description

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/administration/administration/docs/hacking_savannah/hacking_savannah.texi.diff?tr1=1.42&tr2=1.43&r1=text&r2=text

Patches:
Index: administration/docs/hacking_savannah/hacking_savannah.texi
diff -u administration/docs/hacking_savannah/hacking_savannah.texi:1.42 
administration/docs/hacking_savannah/hacking_savannah.texi:1.43
--- administration/docs/hacking_savannah/hacking_savannah.texi:1.42     Mon Sep 
20 22:53:26 2004
+++ administration/docs/hacking_savannah/hacking_savannah.texi  Tue Sep 21 
21:21:23 2004
@@ -1,5 +1,5 @@
 \input texinfo   @c -*-texinfo-*-
address@hidden $Id: hacking_savannah.texi,v 1.42 2004/09/20 22:53:26 Beuc Exp $
address@hidden $Id: hacking_savannah.texi,v 1.43 2004/09/21 21:21:23 Beuc Exp $
 @comment %**start of header
 @setfilename hacking_savannah.info
 @include version.texi
@@ -280,9 +280,11 @@
 * MySQL::                       
 * Savane::                      
 * Tuning your local install::   
+* FTP upload::                  
 * CVS::                         
 * Populating your test install::  
 * Remaining::                   
+* Non stable components::       
 @end menu
 
 
@@ -319,6 +321,7 @@
 @dots{}
 deb http://security.debian.org/ stable/updates main
 deb http://ftp.fr.debian.org/debian woody main
+deb-src http://ftp.fr.debian.org/debian woody main
 @dots{}
 @end example
 
@@ -604,7 +607,7 @@
 Else, you should be able to simply update your Perl.
 
 
address@hidden Tuning your local install, CVS, Savane, Savannah configuration
address@hidden Tuning your local install, FTP upload, Savane, Savannah 
configuration
 @section Tuning your local install
 
 To be able to test both gnu and nongnu, you can either:
@@ -664,50 +667,78 @@
 [TODO: make that more explicit, and detail the conf for sv.gnu.org and
 savana.gnu.org, among others]
 
address@hidden GateKeeper
+
address@hidden FTP upload, CVS, Tuning your local install, Savannah 
configuration
address@hidden FTP upload
+
 GateKeeper is a script ran by cron job to check the project upload
 area and move files signed by admins to its download area. It is used
 for uploads to ftp.gnu.org and alpha.gnu.org. We used a modified
 version of GateKeeper at Savannah.
 
 You need to setup a gpg-writer user (to keep the GPG options ???), a
-gatekpr place for the scripts and the project public key-rings, an
+gatekpr place for the scripts and the project public keyrings, an
 upload area, and of course a properly configured FTP server.
 
 Again, I only describe what Savannah is, not what it should be.
 
-[TODO: check default group, dir perms, dir own/grp, and the
-appropriate useradd options]
+[TODO: check whether usr gpg-writer is really needed]
 
 @example
-$ useradd -m gpg-writer
+$ useradd -m gpg-writer -g nogroup -s /bin/false
 ~> su - gpg-writer
-~> gpg # creates .gnupg
+~> gpg # creates ~/.gnupg
 ~> exit
-$ useradd -m gatekpr
+$ groupadd gatekpr
+$ useradd -m gatekpr -g gatekpr
 $ cd ~gatekpr
 $ mkdir -m 755 bin
 @end example
 
+[TODO: check whether we could also set the gatekpr shell to
+/bin/false. Does that prevent using gatekpr as a cron job user?]
+
 There, get lsof v4.64 and install it in @file{bin/}.
+[TODO, check whether lsof stable is enough]
 
 @example
 $ mkdir -m 755 projects
 $ chown gpg-writer:nogroup projects
 @end example
 
-Copy upload-savannah.pl in @file{~gatekpr}.
+Copy @file{upload-savannah.pl} in @file{~gatekpr/}.
 
 
 @example
-$ useradd -m upload
+$ useradd -m upload -g nogroup -s /bin/false
 $ cd ~upload
 $ mkdir -m 555 -p incoming/savannah
 $ chown upload:gatekpr incoming/savannah
+$ mkdir -m 755 /savannah/download
+$ chown gatekpr:gatekpr /savannah/download
+$ mkdir -m 755 /var/tmp/ftp-in
+$ chown gatekpr:gatekpr /var/tmp/ftp-in
+$ mkdir -m 755 /var/tmp/ftp-out
+$ chown gatekpr:gatekpr /var/tmp/ftp-out
 @end example
 
+On to the FTP server. We use vsftpd on top of xinetd.
+
+To keep it simple for now, just grab @file{/etc/xinetd.conf} and
address@hidden/etc/vsftpd-upload.conf}.
+
+[TODO: detail the configuration]
+
+We use vsFTPd version 1.2.0-1 from Debian. I have yet to figure out
+what this version in particular was chosen. The main difference from
+the Debian stable version seems to be the @samp{no_anon_password}
+option, that allows user anonymous not to type any password (instead
+of typing a blank one). You can either upgrade your @command{vsftpd}
+to version 1.2.0, or comment our the @samp{no_anon_password=YES} line
+in @file{vsftpd-upload.conf}.
+
 
address@hidden CVS, Populating your test install, Tuning your local install, 
Savannah configuration
address@hidden CVS, Populating your test install, FTP upload, Savannah 
configuration
 @section CVS
 
 Plus create /savannah/cvsroot.
@@ -745,7 +776,7 @@
 The default project files should be created, since the groups are not
 present in your @file{/etc/passwd} and @file{/etc/group}.
 
address@hidden Remaining,  , Populating your test install, Savannah 
configuration
address@hidden Remaining, Non stable components, Populating your test install, 
Savannah configuration
 @section Remaining
 
 @itemize
@@ -764,6 +795,98 @@
 @end itemize
 
 
address@hidden Non stable components,  , Remaining, Savannah configuration
address@hidden Non stable components
+
+Some parts of Savannah do not belong to Debian stable:
address@hidden @command
address@hidden Savane
+(CVS version); does not exist in stable
+
address@hidden mod-security
+(I saw a 1.8.3 tarball in /usr/src); does not exist in
+stable
+
address@hidden ViewCVS
+(?); ?
+
address@hidden Mailman
+(actually at lists.gnu.org); some convenient additional features, I
+guess
+
address@hidden vsFTPd
+(1.2.0; I saw 1.2.0-1deb in /usr/src); only because of
+no_anon_password?
+
address@hidden shadow
+Changed group restrictions, recompiled from sources:
address@hidden
+--- chkname.orig        1998-04-16 21:57:43.000000000 +0200
++++ chkname.c   2004-09-21 12:51:19.894248078 +0200
+@@ -26,7 +26,7 @@
+         * contain colons, commas, newlines (used in passwd/group
+         * files...) or any non-printable characters.
+         */
+-       if (!*name || !isalpha(*name))
++       if (!*name || !isalnum(*name))
+                return 0;
+  
+        while (*name) {
+@@ -66,7 +66,7 @@
+         * Arbitrary limit for group names - max 16
+         * characters (same as on HP-UX 10).
+         */
+-       if (strlen(name) > 16)
++       if (strlen(name) > 32)
+                return 0;
+  
+        return good_name(name);
address@hidden verbatim
+So:
address@hidden
+$ apt-get build-dep passwd
+$ apt-get source passwd
+$ cd shadow-20000902
+# apply the changes
+$ tar czf shadow-20000902.tar.gz shadow-20000902 # or maybe apply the changes 
in build-tree?
+$ dpkg-buildpackage -rfakeroot -uc -b
+$ cd ..
+$ dpkg -i login_20000902-12_i386.deb
+$ dpkg -i passwd_20000902-12_i386.deb
address@hidden example
+
address@hidden
address@hidden
address@hidden table
+
address@hidden Elfyn
+
+<rant>
+In a nutshell, Savannah recently got broken, and Elfyn spent his free
+and sleep time during 3 days working on it.
+
+As a result, a lot of undocumented changes were make, and Savannah is
+not fully recovered.
+</rant>
+
+We will, in this temporary section, log all the noticed changes, in
+order to ease the planned merge with Savane.
+
+First, there is an @file{infra} directory in the repository. Check it
+out at /usr/savannah.
+
+infra is mainly composed of:
+- misc -> main crontab
+- bin -> scripts, some of which are used by cron
+- savane/bin -> changed sv_users and sv_groups; they hardcodedly use 
savane/lib below
+- savane/lib -> changed lib (the untouched lib is also available at the std 
location)
+
+Changes to do:
+$ cd /etc/cron.d
+$ ln -s /usr/savannah/infra/misc/crontab savannah
+# Edit the cronjob's MAILTO, comment out uneeded stuff
+# edit the Conf.pm so as to make the system believe you are at Savannah
+
 
 @node Using MySQL, Mailman Administration, Savannah configuration, Top
 @chapter Using MySQL




reply via email to

[Prev in Thread] Current Thread [Next in Thread]