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: Thu, 30 Sep 2004 10:17:26 -0400

CVSROOT:        /cvsroot/administration
Module name:    administration
Branch:         
Changes by:     Sylvain Beucler <address@hidden>        04/09/30 14:10:48

Modified files:
        docs/hacking_savannah: hacking_savannah.texi 

Log message:
        Fixed some of the Installation section; began work on how to cleanly 
reduce the number of projects in a test install

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

Patches:
Index: administration/docs/hacking_savannah/hacking_savannah.texi
diff -u administration/docs/hacking_savannah/hacking_savannah.texi:1.50 
administration/docs/hacking_savannah/hacking_savannah.texi:1.51
--- administration/docs/hacking_savannah/hacking_savannah.texi:1.50     Thu Sep 
30 08:45:29 2004
+++ administration/docs/hacking_savannah/hacking_savannah.texi  Thu Sep 30 
14:10:48 2004
@@ -1,5 +1,5 @@
 \input texinfo   @c -*-texinfo-*-
address@hidden $Id: hacking_savannah.texi,v 1.50 2004/09/30 08:45:29 Beuc Exp $
address@hidden $Id: hacking_savannah.texi,v 1.51 2004/09/30 14:10:48 Beuc Exp $
 @comment %**start of header
 @setfilename hacking_savannah.info
 @include version.texi
@@ -823,8 +823,8 @@
 @example
 # First empty the current database
 $ mysql -p savannah
-mysql> drop database savannah
-mysql> create database savannah
+mysql> drop database savannah;
+mysql> create database savannah;
 # Then fill it again
 $ mysql -p savannah < dump.sql
 @end example
@@ -835,6 +835,39 @@
 The default project files should be created, since the groups are not
 present in your @file{/etc/passwd} and @file{/etc/group}.
 
+You should be able to reduce the number of projects under your system
+(it took me about 90 minutes, I think, to create 2000 projects, and I
+didn't create the 30000 users; I noted that useradd/groupadd are very
+slow).
+
+First, find the highest project you want to keep:
address@hidden
+SELECT A.group_id FROM groups A, groups B WHERE A.group_id >
+B.group_id GROUP BY A.group_id HAVING count(*) < 100;
address@hidden example
+
+Replace 100 by the number of projects you want to keep. That takes a
+while. You wish you were using PostreSQL and be able to use subqueries
+;)
+
+Then remove all project whose ID is greater than the number you found,
+taking not removing not removing 'administration' (#5802) or 'www' (#84).
address@hidden
+mysql> DELETE FROM groups WHERE group_id > X AND unix_group_name
+       != 'administration' AND unix_group_name != 'www';
+mysql> DELETE FROM user_group WHERE group_id > X AND group_id !=
+       5802 AND group_id != 84;
address@hidden example
+
+Then it would be good remove user without projects.
address@hidden
+[TODO]
+mysql> DELETE FROM user WHERE NOT EXISTS (SELECT NULL FROM user_group WHERE 
user_groups.user_id = user.user_id);
address@hidden example
+Unfortunately it is not very easy without subqueries. I have to figure
+that out. I guess we'll have to use an external script.
+
+
 @node Remaining, Non stable components, Populating your test install, Savannah 
configuration
 @section Remaining
 
@@ -907,7 +940,8 @@
 $ 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?
+$ 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
@@ -924,8 +958,7 @@
 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.
+Here is the current situation:
 </rant>
 
 We will, in this temporary section, log all the noticed changes, in




reply via email to

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