[vhffs-dev] [1155] Removing 4.1 specific stuff :p

[ Thread Index | Date Index | More vhffs.org/vhffs-dev Archives ]


Revision: 1155
Author:   beuss
Date:     2008-02-13 23:01:28 +0000 (Wed, 13 Feb 2008)

Log Message:
-----------
Removing 4.1 specific stuff :p

Modified Paths:
--------------
    trunk/configure.ac
    trunk/vhffs-compat/Makefile.am
    trunk/vhffs-compat/updatedb.pl

Removed Paths:
-------------
    trunk/vhffs-compat/4.0.sql.in
    trunk/vhffs-compat/4.0pre1.sql


Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac	2008-02-13 04:55:14 UTC (rev 1154)
+++ trunk/configure.ac	2008-02-13 23:01:28 UTC (rev 1155)
@@ -180,7 +180,7 @@
 
 if test "$enable_doc" = "yes"; then
     AC_PATH_PROG([XSLTPROC], [xsltproc], [none])
-    if test "$XSLTPROC" = 'none'; then
+    if test "x$XSLTPROC" = xnone; then
         AC_MSG_ERROR([You need xsltproc script to build the documentation])
     fi
 fi
@@ -289,7 +289,6 @@
 )
 
 AC_CONFIG_FILES([
-	vhffs-compat/4.0.sql
 	vhffs-backend/src/pgsql/initdb.sql
 	vhffs-backend/conf/vhffs.conf.dist])
 

Deleted: trunk/vhffs-compat/4.0.sql.in
===================================================================
--- trunk/vhffs-compat/4.0.sql.in	2008-02-13 04:55:14 UTC (rev 1154)
+++ trunk/vhffs-compat/4.0.sql.in	2008-02-13 23:01:28 UTC (rev 1155)
@@ -1,394 +0,0 @@
--- OK, we try to minimize risks by setting sequences' current values to
--- the upper id. Ideally, vhffs should be stopped during upgrade
-
-SELECT setval('vhffs_object_object_id_seq', (SELECT COALESCE(MAX(object_id), 1) FROM vhffs_object));
-SELECT setval('vhffs_groups_gid_seq', (SELECT COALESCE(MAX(gid), @MINGID@) FROM vhffs_groups));
-SELECT setval('vhffs_users_uid_seq', (SELECT COALESCE(MAX(uid), @MINUID@) FROM vhffs_users));
-SELECT setval('vhffs_cvs_cvs_id_seq', (SELECT COALESCE(MAX(cvs_id), 1) FROM vhffs_cvs));
-SELECT setval('vhffs_dns_dns_id_seq', (SELECT COALESCE(MAX(dns_id), 1) FROM vhffs_dns_global));
-SELECT setval('vhffs_dns_rr_id_seq', (SELECT COALESCE(MAX(id), 1) FROM vhffs_dns_rr));
-SELECT setval('vhffs_httpd_httpd_id_seq', (SELECT COALESCE(MAX(httpd_id), 1) FROM vhffs_httpd));
-SELECT setval('vhffs_mailings_id_mailing_seq', (SELECT COALESCE(MAX(id_mailing), 1) FROM vhffs_mailings));
-SELECT setval('vhffs_mxdomain_mxdomain_id_seq', (SELECT COALESCE(MAX(mxdomain_id), 1) FROM vhffs_mxdomain));
-SELECT setval('vhffs_ml_ml_id_seq', (SELECT COALESCE(MAX(ml_id), 1) FROM vhffs_ml));
-SELECT setval('vhffs_ml_subscribers_sub_id_seq', (SELECT COALESCE(MAX(sub_id), 1) FROM vhffs_ml_subscribers));
-SELECT setval('vhffs_mysql_mysql_id_seq', (SELECT COALESCE(MAX(mysql_id), 1) FROM vhffs_mysql));
-SELECT setval('vhffs_history_history_id_seq', (SELECT COALESCE(MAX(history_id), 1) FROM vhffs_history));
-SELECT setval('vhffs_pgsql_pgsql_id_seq', (SELECT COALESCE(MAX(pgsql_id), 1) FROM vhffs_pgsql));
-SELECT setval('vhffs_repository_repository_id_seq', (SELECT COALESCE(MAX(repository_id), 1) FROM vhffs_repository));
-SELECT setval('vhffs_svn_svn_id_seq', (SELECT COALESCE(MAX(svn_id), 1) FROM vhffs_svn));
-
-DROP TABLE vhffs_largefile CASCADE;
-DROP TABLE vhffs_confirmation CASCADE;
-
--- rename vhffs_dns_global to vhffs_dns
-ALTER TABLE vhffs_dns_global RENAME TO vhffs_dns;
-
--- vhffs_groups
-ALTER TABLE vhffs_groups ALTER object_id DROP NOT NULL;
-
--- vhffs_users
-ALTER TABLE vhffs_users ALTER gid DROP NOT NULL;
-ALTER TABLE vhffs_users ALTER object_id DROP NOT NULL;
-
-DROP VIEW vhffs_forum;
--- date_creation will be dropped when vhffs_user_info will be dropped
-
--- vhffs_object
-ALTER TABLE vhffs_object ADD COLUMN owner_gid int4;
-ALTER TABLE vhffs_object ADD COLUMN refuse_reason TEXT;
-ALTER TABLE vhffs_object ALTER owner_uid SET NOT NULL;
-ALTER TABLE vhffs_object ALTER date_creation SET NOT NULL;
-
--- add a column named "type" on object table in order to know the purpose of the object (web area, mysql, ...)
--- existing types: unassigned[0], user[10], group[11], httpd[20], repository[21], mysql[30], pgsql[31], cvs[40], svn[41], dns[50], mail[60], ml[61]
--- Pg 7.4 doesn't support default value in add column !
-ALTER TABLE vhffs_object ADD COLUMN type int4;
-ALTER TABLE vhffs_object ALTER COLUMN type SET DEFAULT 0;
--- This *shouldn't be necessary since every object has a type but some old code
--- didn't perform correct cleanup
-UPDATE vhffs_object SET type=0;
-
-UPDATE vhffs_object SET type=10, owner_gid = u.gid FROM vhffs_users u WHERE vhffs_object.object_id = u.object_id;
-UPDATE vhffs_object SET type=11, owner_gid = g.gid FROM vhffs_groups g WHERE g.object_id = vhffs_object.object_id;
-UPDATE vhffs_object SET type=20, owner_gid = h.owner_gid FROM vhffs_httpd h WHERE h.object_id = vhffs_object.object_id;
-UPDATE vhffs_object SET type=21, owner_gid = r.owner_gid FROM vhffs_repository r WHERE r.object_id = vhffs_object.object_id;
-UPDATE vhffs_object SET type=30, owner_gid = m.owner_gid FROM vhffs_mysql m  WHERE m.object_id = vhffs_object.object_id;
-UPDATE vhffs_object SET type=31, owner_gid = p.owner_gid FROM vhffs_pgsql p WHERE p.object_id = vhffs_object.object_id;
-UPDATE vhffs_object SET type=40, owner_gid = c.owner_gid FROM vhffs_cvs c WHERE c.object_id = vhffs_object.object_id;
-UPDATE vhffs_object SET type=41, owner_gid = s.owner_gid FROM vhffs_svn s WHERE s.object_id = vhffs_object.object_id;
-UPDATE vhffs_object SET type=50, owner_gid = d.owner_gid FROM vhffs_dns d WHERE d.object_id = vhffs_object.object_id;
-UPDATE vhffs_object SET type=60, owner_gid = m.owner_gid FROM vhffs_mxdomain m WHERE m.object_id = vhffs_object.object_id;
-UPDATE vhffs_object SET type=61, owner_gid = m.owner_gid FROM vhffs_ml m WHERE m.object_id = vhffs_object.object_id;
-
-ALTER TABLE vhffs_httpd DROP COLUMN owner_gid;
-ALTER TABLE vhffs_httpd DROP COLUMN owner_uid;
-
-ALTER TABLE vhffs_repository DROP COLUMN owner_gid;
-ALTER TABLE vhffs_repository DROP COLUMN owner_uid;
-
-ALTER TABLE vhffs_mysql DROP COLUMN owner_gid;
-ALTER TABLE vhffs_mysql DROP COLUMN owner_uid;
-
-ALTER TABLE vhffs_pgsql DROP COLUMN owner_gid;
-ALTER TABLE vhffs_pgsql DROP COLUMN owner_uid;
-
-ALTER TABLE vhffs_cvs DROP COLUMN owner_gid;
-ALTER TABLE vhffs_cvs DROP COLUMN owner_uid;
-
-ALTER TABLE vhffs_svn DROP COLUMN owner_gid;
-ALTER TABLE vhffs_svn DROP COLUMN owner_uid;
-
-ALTER TABLE vhffs_dns DROP COLUMN owner_gid;
-ALTER TABLE vhffs_dns DROP COLUMN owner_uid;
-
-ALTER TABLE vhffs_mxdomain DROP COLUMN owner_gid;
-ALTER TABLE vhffs_mxdomain DROP COLUMN owner_uid;
-
-ALTER TABLE vhffs_ml DROP COLUMN owner_gid;
-ALTER TABLE vhffs_ml DROP COLUMN owner_uid;
-
-
--- cleanup unused objects
-DELETE FROM vhffs_acl WHERE oid_src IN ( SELECT object_id FROM vhffs_object WHERE type=0 );
-DELETE FROM vhffs_acl WHERE oid_dst IN ( SELECT object_id FROM vhffs_object WHERE type=0 );
-DELETE FROM vhffs_history WHERE object_id IN ( SELECT object_id FROM vhffs_object WHERE type=0 ); 
-DELETE FROM vhffs_object WHERE type=0;
-
-ALTER TABLE vhffs_object ALTER type SET NOT NULL;
-ALTER TABLE vhffs_object ALTER owner_gid SET NOT NULL;
-
--- merge vhffs_user_info to vhffs_users
-ALTER TABLE vhffs_users ADD COLUMN firstname varchar(250);
-ALTER TABLE vhffs_users ADD COLUMN lastname varchar(250);
-ALTER TABLE vhffs_users ADD COLUMN address text;
-ALTER TABLE vhffs_users ADD COLUMN zipcode varchar(16);
-ALTER TABLE vhffs_users ADD COLUMN city varchar(250);
-ALTER TABLE vhffs_users ADD COLUMN country varchar(250);
-ALTER TABLE vhffs_users ADD COLUMN mail varchar(200);
-ALTER TABLE vhffs_users ADD COLUMN gpg_key varchar(250);
-
-UPDATE vhffs_users SET firstname = ui.firstname, lastname = ui.lastname,
-       address = ui.address, zipcode = ui.zipcode, city = ui.city, country = ui.country, mail = ui.mail,
-       gpg_key = ui.gpg_key
-    FROM vhffs_user_info ui
-    WHERE ui.uid = vhffs_users.uid;
-
-DROP TABLE vhffs_user_info;
-
--- merge vhffs_notes to vhffs_users
-ALTER TABLE vhffs_users ADD COLUMN note int4;
-UPDATE vhffs_users SET note = 0 WHERE object_id NOT IN (SELECT object_id FROM vhffs_notes);
-UPDATE vhffs_users SET note = n.note FROM vhffs_notes n WHERE n.object_id = vhffs_users.object_id;
-
-DROP TABLE vhffs_notes;
-
--- merge vhffs_panel_user_prefs to vhffs_users
-ALTER TABLE vhffs_users ADD COLUMN language varchar(16);
-ALTER TABLE vhffs_users ADD COLUMN theme varchar(250);
--- Not all users have a language and a theme set in vhffs_panel_user_prefs
-UPDATE vhffs_users SET language = 'en_US', theme = 'default';
-UPDATE vhffs_users SET language = up.language, theme = up.theme
-    FROM vhffs_panel_user_prefs up
-    WHERE up.uid = vhffs_users.uid;
-
-DROP TABLE vhffs_panel_user_prefs;
-
--- vhffs_groups
-DROP TABLE vhffs_groups_info;
-
--- merge vhffs_ml_prefs to vhffs_ml
-ALTER TABLE vhffs_ml ADD COLUMN admin varchar(250);
-ALTER TABLE vhffs_ml ADD COLUMN open_post boolean;
-ALTER TABLE vhffs_ml ADD COLUMN open_archive boolean;
-ALTER TABLE vhffs_ml ADD COLUMN open_sub boolean;
-ALTER TABLE vhffs_ml ADD COLUMN reply_to boolean;
-ALTER TABLE vhffs_ml ADD COLUMN moderated boolean;
-
-UPDATE vhffs_ml SET admin = mlp.admin,
-    open_post = (mlp.open_post != 0),
-    open_archive = (mlp.open_archive != 0),
-    open_sub = (mlp.open_sub != 0),
-    reply_to = (mlp.reply_to != 0),
-    moderated = (mlp.moderated != 0)
-    FROM vhffs_ml_prefs mlp
-    WHERE mlp.ml_id = vhffs_ml.ml_id;
-
-DROP TABLE vhffs_ml_prefs;
-
-ALTER TABLE vhffs_ml ADD COLUMN signature varchar(250);
-
-ALTER TABLE vhffs_ml ALTER object_id SET NOT NULL;
-ALTER TABLE vhffs_ml ALTER domain SET NOT NULL;
-
-
--- merge vhffs_ml_lang to vhffs_ml_subscribers
-ALTER TABLE vhffs_ml_subscribers ADD COLUMN language varchar(16);
-UPDATE vhffs_ml_subscribers SET language = mll.lang FROM vhffs_ml_lang mll WHERE mll.member = vhffs_ml_subscribers.member;
-
-DROP TABLE vhffs_ml_lang;
-
-ALTER TABLE vhffs_ml_subscribers DROP active;
-ALTER TABLE vhffs_ml_subscribers ALTER COLUMN hash DROP NOT NULL;
-
-
--- modify vhffs_ml, drop columns open_post, open_sub, moderated, replace by sub_ctrl and mod_ctrl
---   sub_ctrl, 0 = open, 1 = open but moderated (approval required), 2 = closed
---   post_ctrl, 0 = open, 1 = moderated for all, 2 = moderated for non members and open for members, 3 = members only,
---              4 = members only and moderated, 5 = admins only
-ALTER TABLE vhffs_ml ADD COLUMN sub_ctrl int4 NOT NULL DEFAULT 0;
-ALTER TABLE vhffs_ml ADD COLUMN post_ctrl int4 NOT NULL DEFAULT 3;
-UPDATE vhffs_ml SET sub_ctrl = 0 where open_sub = 't';
-UPDATE vhffs_ml SET sub_ctrl = 2 where open_sub = 'f';
-UPDATE vhffs_ml SET post_ctrl = 0 where open_post = 't' and moderated = 'f';
-UPDATE vhffs_ml SET post_ctrl = 1 where open_post = 't' and moderated = 't';
-UPDATE vhffs_ml SET post_ctrl = 3 where open_post = 'f' and moderated = 'f';
-UPDATE vhffs_ml SET post_ctrl = 4 where open_post = 'f' and moderated = 't';
-ALTER TABLE vhffs_ml DROP COLUMN open_sub;
-ALTER TABLE vhffs_ml DROP COLUMN open_post;
-ALTER TABLE vhffs_ml DROP COLUMN moderated;
-
--- merge vhffs_dns_soa to vhffs_dns(ex vhffs_dns_global)
-ALTER TABLE vhffs_dns ADD COLUMN ns varchar(255);
-
-ALTER TABLE vhffs_dns ADD COLUMN mbox varchar(255);
-
-ALTER TABLE vhffs_dns ADD COLUMN serial INTEGER;
-ALTER TABLE vhffs_dns ALTER COLUMN serial SET DEFAULT 1;
-
-ALTER TABLE vhffs_dns ADD COLUMN refresh INTEGER;
-ALTER TABLE vhffs_dns ALTER COLUMN refresh SET DEFAULT 28800;
-
-ALTER TABLE vhffs_dns ADD COLUMN retry INTEGER;
-ALTER TABLE vhffs_dns ALTER COLUMN retry SET DEFAULT 7200;
-
-ALTER TABLE vhffs_dns ADD COLUMN expire INTEGER;
-ALTER TABLE vhffs_dns ALTER COLUMN expire SET DEFAULT 604800;
-
-ALTER TABLE vhffs_dns ADD COLUMN minimum INTEGER;
-ALTER TABLE vhffs_dns ALTER COLUMN minimum SET DEFAULT 86400;
-
-ALTER TABLE vhffs_dns ADD COLUMN ttl INTEGER;
-ALTER TABLE vhffs_dns ALTER COLUMN ttl SET DEFAULT 86400;
-
-UPDATE vhffs_dns SET ns = soa.ns, mbox = soa.mbox, serial = soa.serial, refresh = soa.refresh, retry = soa.retry,
-    expire = soa.expire, minimum = soa.minimum, ttl = soa.ttl
-    FROM vhffs_dns_soa soa
-    WHERE soa.id = vhffs_dns.dns_id;
-    
-ALTER TABLE vhffs_dns ALTER COLUMN ns SET NOT NULL;
-ALTER TABLE vhffs_dns ALTER COLUMN mbox SET NOT NULL;
-ALTER TABLE vhffs_dns ALTER COLUMN serial SET NOT NULL;
-ALTER TABLE vhffs_dns ALTER COLUMN refresh SET NOT NULL;
-ALTER TABLE vhffs_dns ALTER COLUMN retry SET NOT NULL;
-ALTER TABLE vhffs_dns ALTER COLUMN expire SET NOT NULL;
-ALTER TABLE vhffs_dns ALTER COLUMN minimum SET NOT NULL;
-ALTER TABLE vhffs_dns ALTER COLUMN ttl SET NOT NULL;
-ALTER TABLE vhffs_dns ALTER COLUMN object_id SET NOT NULL;
-
-DROP TABLE vhffs_dns_soa;
-
--- Rename vhffs_acl columns, remove unused acl_id
-ALTER TABLE vhffs_acl DROP CONSTRAINT vhffs_acl_pkey;
-ALTER TABLE vhffs_acl RENAME COLUMN oid_src TO granted_oid;
-ALTER TABLE vhffs_acl RENAME COLUMN oid_dst TO target_oid;
-DELETE FROM vhffs_acl WHERE acl_id IN (SELECT c1.acl_id FROM vhffs_acl c1, vhffs_acl c2 WHERE c1.acl_id < c2.acl_id AND c1.granted_oid = c2.granted_oid AND c1.target_oid = c2.target_oid);
-ALTER TABLE vhffs_acl DROP COLUMN acl_id;
-ALTER TABLE vhffs_acl ADD CONSTRAINT vhffs_acl_pkey PRIMARY KEY (granted_oid, target_oid);
-
--- change the type of vhffs_object.state from varchar to int4 ..... (no comments allowed please)
-BEGIN;
-ALTER TABLE vhffs_object ADD COLUMN state_new int4;
-UPDATE vhffs_object SET state_new = state::text::integer;
-ALTER TABLE vhffs_object DROP COLUMN state CASCADE;
-ALTER TABLE vhffs_object RENAME COLUMN state_new TO state;
-ALTER TABLE vhffs_object ALTER COLUMN state SET NOT NULL;
-COMMIT;
-
--- change the type of vhffs_groups.object_id from varchar to int4 ..... (no comments allowed please)
-BEGIN;
-ALTER TABLE vhffs_groups ADD COLUMN objectid_new int4;
-UPDATE vhffs_groups SET objectid_new = object_id::text::integer;
-ALTER TABLE vhffs_groups DROP COLUMN object_id;
-ALTER TABLE vhffs_groups RENAME COLUMN objectid_new TO object_id;
-ALTER TABLE vhffs_object ALTER COLUMN object_id SET NOT NULL;
-COMMIT;
-
--- change the type of vhffs_users.object_id from varchar to int4 ..... (no comments allowed please)
-BEGIN;
-ALTER TABLE vhffs_users ADD COLUMN objectid_new int4;
-UPDATE vhffs_users SET objectid_new = object_id::text::integer;
-ALTER TABLE vhffs_users DROP COLUMN object_id;
-ALTER TABLE vhffs_users RENAME COLUMN objectid_new TO object_id;
-ALTER TABLE vhffs_object ALTER COLUMN object_id SET NOT NULL;
-COMMIT;
-
--- create vhffs_dns_soa view
-CREATE VIEW vhffs_dns_soa AS
-SELECT dns.dns_id AS id, dns.domain || '.' AS origin , dns.ns, dns.mbox, dns.serial, dns.refresh, dns.retry, dns.expire, dns.minimum, dns.ttl
-FROM vhffs_dns dns INNER JOIN vhffs_object o ON o.object_id=dns.object_id WHERE o.state = 6;
-
--- update vhffs_forum view, it has been dropped by drop column state in vhffs_object
-CREATE VIEW vhffs_forum AS
-SELECT users.username, users.passwd, users.firstname, users.lastname, users.mail, object.date_creation, object.state
-FROM vhffs_users users, vhffs_object object
-WHERE object.object_id=users.object_id;
-
--- add ml_name to vhffs_svn for commit system.
-ALTER TABLE vhffs_svn ADD COLUMN ml_name varchar;
-
--- delete unused/useless columns in vhffs-httpd
-ALTER TABLE vhffs_httpd DROP COLUMN crawl;
-ALTER TABLE vhffs_httpd DROP COLUMN owner_http;
-ALTER TABLE vhffs_httpd DROP COLUMN owner_rev;
-ALTER TABLE vhffs_httpd DROP COLUMN trafic;
-ALTER TABLE vhffs_httpd DROP COLUMN alert_state;
-ALTER TABLE vhffs_httpd DROP COLUMN alert_limit;
-ALTER TABLE vhffs_httpd ALTER servername DROP DEFAULT;
-
--- some alter on vhffs_cvs table
-ALTER TABLE vhffs_cvs ALTER object_id SET NOT NULL;
-
--- some alter on vhffs_mysql
-ALTER TABLE vhffs_mysql ALTER object_id SET NOT NULL;
-
--- some alter on vhffs_history
-ALTER TABLE vhffs_history ALTER object_id SET NOT NULL;
-ALTER TABLE vhffs_history ALTER date SET NOT NULL;
-
--- some alter on vhffs_pgsql
-ALTER TABLE vhffs_pgsql ALTER object_id SET NOT NULL;
-
--- some alter on vhffs_svn
-ALTER TABLE vhffs_svn ALTER object_id SET NOT NULL;
-ALTER TABLE vhffs_svn ADD CONSTRAINT vhffs_svn_pkey PRIMARY KEY (svn_id);
-
--- some alter on vhffs_user_group
-ALTER TABLE vhffs_user_group ALTER uid SET NOT NULL;
-ALTER TABLE vhffs_user_group ALTER gid SET NOT NULL;
-ALTER TABLE vhffs_user_group ALTER state SET NOT NULL;
-
--- change naming scheme of vhffs_svn (complete path instead single name)
-UPDATE vhffs_svn SET reponame=(SELECT (SELECT g.groupname FROM vhffs_groups g WHERE g.gid=(SELECT o.owner_gid FROM vhffs_object o WHERE o.object_id=s.object_id) )||'/'||s.reponame FROM vhffs_svn s WHERE s.svn_id=vhffs_svn.svn_id);
-
--- change naming scheme of vhffs_cvs (complete path instead single name)
-UPDATE vhffs_cvs SET cvsroot=(SELECT (SELECT g.groupname FROM vhffs_groups g WHERE g.gid=(SELECT o.owner_gid FROM vhffs_object o WHERE o.object_id=c.object_id) )||'/'||c.cvsroot FROM vhffs_cvs c WHERE c.cvs_id=vhffs_cvs.cvs_id);
-
--- vhffs_groups
-ALTER TABLE vhffs_groups ALTER object_id SET NOT NULL;
-
--- vhffs_users
-ALTER TABLE vhffs_users ALTER gid SET NOT NULL;
-ALTER TABLE vhffs_users ALTER object_id SET NOT NULL;
-ALTER TABLE vhffs_users ALTER COLUMN note SET DEFAULT 0;
-
--- vhffs_ml
-ALTER TABLE vhffs_ml ALTER admin SET NOT NULL;
-
--- main groups of users don't use anymore a stupid state to be hidden from user groups
-UPDATE vhffs_object SET state=6 WHERE vhffs_object.state=1 AND vhffs_object.object_id IN (SELECT g.object_id FROM vhffs_groups g, vhffs_users u WHERE u.gid=g.gid);
-
--- vhffs_boxes
-ALTER TABLE vhffs_boxes DROP COLUMN password;
-ALTER TABLE vhffs_boxes RENAME COLUMN password_hash TO password;
-
--- change timestamps to int8 (Perl has very good date modules)
-BEGIN;
-ALTER TABLE vhffs_object ADD COLUMN date_creation_new int8;
-UPDATE vhffs_object SET date_creation_new = EXTRACT(EPOCH FROM date_creation)::int8;
-ALTER TABLE vhffs_object DROP COLUMN date_creation CASCADE;
-ALTER TABLE vhffs_object RENAME COLUMN date_creation_new TO date_creation;
-ALTER TABLE vhffs_object ALTER COLUMN date_creation SET NOT NULL;
-COMMIT;
-
-BEGIN;
-ALTER TABLE vhffs_mailings ADD COLUMN date_new int8;
-UPDATE vhffs_mailings SET date_new = EXTRACT(EPOCH FROM date)::int8;
-ALTER TABLE vhffs_mailings DROP COLUMN date CASCADE;
-ALTER TABLE vhffs_mailings RENAME COLUMN date_new TO date;
-COMMIT;
-
-BEGIN;
-ALTER TABLE vhffs_history ADD COLUMN date_new int8;
-UPDATE vhffs_history SET date_new = EXTRACT(EPOCH FROM date)::int8;
-ALTER TABLE vhffs_history DROP COLUMN date CASCADE;
-ALTER TABLE vhffs_history RENAME COLUMN date_new TO date;
-ALTER TABLE vhffs_history ALTER COLUMN date SET NOT NULL;
-COMMIT;
-
--- add realname field to vhffs_groups
-ALTER TABLE vhffs_groups ADD COLUMN realname varchar(100);
-UPDATE vhffs_groups SET realname=groupname;
-
--- add lastloginpanel to vhffs_users
-ALTER TABLE vhffs_users ADD COLUMN lastloginpanel int8;
-
--- add vhffs_git table
-CREATE TABLE vhffs_git
-(
-	git_id SERIAL,
-	reponame varchar NOT NULL,
-	public int4 NOT NULL,
-	ml_name varchar,
-	object_id int4 NOT NULL,
-	CONSTRAINT vhffs_git_pkey PRIMARY KEY( git_id )
-) WITH OIDS;
-
--- add ACLs on group to group
-INSERT INTO vhffs_acl( granted_oid,target_oid,perm ) ( SELECT object_id,object_id,2 FROM vhffs_groups WHERE gid NOT IN (SELECT gid FROM vhffs_users) );
-
--- drop useless columns on vhffs_mxdomain
-ALTER TABLE vhffs_mxdomain DROP COLUMN unix_user;
-ALTER TABLE vhffs_mxdomain DROP COLUMN max_popbox;
-
--- drop useless columns on vhffs_ml
-ALTER TABLE vhffs_ml DROP COLUMN admin;
-
--- add state column to vhffs_boxes
-ALTER TABLE vhffs_boxes ADD COLUMN state int4;
-UPDATE vhffs_boxes SET state=6;
-ALTER TABLE vhffs_boxes ALTER state SET NOT NULL;
-
--- add ACLs on users
-INSERT INTO vhffs_acl( granted_oid,target_oid,perm ) ( SELECT object_id,object_id,12 FROM vhffs_users );
-INSERT INTO vhffs_acl( granted_oid,target_oid,perm ) ( SELECT g.object_id,u.object_id,0 FROM vhffs_users u INNER JOIN vhffs_groups g ON u.gid=g.gid );

Deleted: trunk/vhffs-compat/4.0pre1.sql
===================================================================
--- trunk/vhffs-compat/4.0pre1.sql	2008-02-13 04:55:14 UTC (rev 1154)
+++ trunk/vhffs-compat/4.0pre1.sql	2008-02-13 23:01:28 UTC (rev 1155)
@@ -1,105 +0,0 @@
-/*
-# Copyright (c) vhffs project and its contributors
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without 
-# modification, are permitted provided that the following conditions 
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright 
-#   notice, this list of conditions and the following disclaimer.
-#2. Redistributions in binary form must reproduce the above copyright
-#   notice, this list of conditions and the following disclaimer in 
-#   the documentation and/or other materials provided with the 
-#   distribution.
-#3. Neither the name of vhffs nor the names of its contributors 
-#   may be used to endorse or promote products derived from this 
-#   software without specific prior written permission.
-#
-#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
-#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
-#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
-#FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
-#COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
-#INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
-#BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
-#LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
-#CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
-# POSSIBILITY OF SUCH DAMAGE.
-*/
-
--- DO NOT RUN THIS SCRIPT MANUALLY ! Use updatedb.pl instead --
-
--- These are the sequences needed for post VHFFS-4.0pre1
--- To know if we need to update this, we should try a SELECT COUNT(*) FROM pg_class WHERE relname = 'seq_id_groups'
-
--- Drop former (unused) sequences...
-DROP SEQUENCE seq_id_groups;
-DROP SEQUENCE seq_id_users;
-DROP SEQUENCE seq_id_mx;
-DROP SEQUENCE seq_id_acl;
-DROP SEQUENCE seq_id_cvs;
-DROP SEQUENCE seq_id_httpd;
-DROP SEQUENCE seq_id_ml;
-DROP SEQUENCE seq_id_sub;
-DROP SEQUENCE seq_id_mailings;
-DROP SEQUENCE seq_virtualuid;
-DROP SEQUENCE seq_virtualgid;
-DROP SEQUENCE seq_id_pgsql;
-DROP SEQUENCE seq_id_svn;
-DROP SEQUENCE seq_id_svn_users;
-DROP SEQUENCE seq_id_user_group;
-DROP SEQUENCE seq_id_mysql;
-DROP SEQUENCE seq_id_dns;
-DROP SEQUENCE seq_id_history;
-DROP SEQUENCE seq_id_objects;
-
--- Create the same sequences as SERIAL would
-CREATE SEQUENCE vhffs_object_object_id_seq;
-ALTER TABLE vhffs_object ALTER COLUMN object_id SET DEFAULT nextval('vhffs_object_object_id_seq');
-CREATE SEQUENCE vhffs_acl_acl_id_seq;
-ALTER TABLE vhffs_acl ALTER COLUMN acl_id SET DEFAULT nextval('vhffs_acl_acl_id_seq');
--- vhffs_group_gid_seq already exists
--- vhffs_users_uid_seq already exists
--- vhffs_confirmation_cid_seq already exists
-CREATE SEQUENCE vhffs_cvs_cvs_id_seq;
-ALTER TABLE vhffs_cvs ALTER COLUMN cvs_id SET DEFAULT nextval('vhffs_cvs_cvs_id_seq');
-CREATE SEQUENCE vhffs_dns_dns_id_seq;
-ALTER TABLE vhffs_dns_global ALTER COLUMN dns_id SET DEFAULT nextval('vhffs_dns_dns_id_seq');
--- vhffs_dns_rr_id_seq already exists
--- vhffs_dns_soa_id_seq already exists
-CREATE SEQUENCE vhffs_httpd_httpd_id_seq;
-ALTER TABLE vhffs_httpd ALTER COLUMN httpd_id SET DEFAULT nextval('vhffs_httpd_httpd_id_seq');
--- vhffs_mailings_id_mailing_seq already exists
-CREATE SEQUENCE vhffs_mxdomain_mxdomain_id_seq;
-ALTER TABLE vhffs_mxdomain ALTER COLUMN mxdomain_id SET DEFAULT nextval('vhffs_mxdomain_mxdomain_id_seq');
-CREATE SEQUENCE vhffs_ml_ml_id_seq;
-ALTER TABLE vhffs_ml ALTER COLUMN ml_id SET DEFAULT nextval('vhffs_ml_ml_id_seq');
-CREATE SEQUENCE vhffs_ml_subscribers_sub_id_seq;
-ALTER TABLE vhffs_ml_subscribers ALTER COLUMN sub_id SET DEFAULT nextval('vhffs_ml_subscribers_sub_id_seq');
-CREATE SEQUENCE vhffs_mysql_mysql_id_seq;
-ALTER TABLE vhffs_mysql ALTER COLUMN mysql_id SET DEFAULT nextval('vhffs_mysql_mysql_id_seq');
-CREATE SEQUENCE vhffs_history_history_id_seq;
-ALTER TABLE vhffs_history ALTER COLUMN history_id SET DEFAULT nextval('vhffs_history_history_id_seq');
-CREATE SEQUENCE vhffs_pgsql_pgsql_id_seq;
-ALTER TABLE vhffs_pgsql ALTER COLUMN pgsql_id SET DEFAULT nextval('vhffs_pgsql_pgsql_id_seq');
--- vhffs_svn_svn_id_seq already exists
-
-CREATE TABLE vhffs_repository
-(
-	repository_id serial,
-	name varchar NOT NULL,
-	owner_uid int4 NOT NULL,
-	owner_gid int4 NOT NULL,
-	quota int4 NOT NULL,
-	quota_used int4 NOT NULL DEFAULT 0,
-	object_id int4 NOT NULL,
-	CONSTRAINT vhffs_repository_pkey PRIMARY KEY (repository_id)
-) WITH OIDS;
-
-CREATE VIEW vhffs_forum AS
-SELECT users.username, users.passwd, user_info.firstname, user_info.lastname, user_info.mail, user_info.date_creation, object.state
-FROM vhffs_users users, vhffs_user_info user_info, vhffs_object object
-WHERE user_info.uid=users.uid AND object.object_id=users.object_id;

Modified: trunk/vhffs-compat/Makefile.am
===================================================================
--- trunk/vhffs-compat/Makefile.am	2008-02-13 04:55:14 UTC (rev 1154)
+++ trunk/vhffs-compat/Makefile.am	2008-02-13 23:01:28 UTC (rev 1155)
@@ -2,8 +2,7 @@
 
 compatdir = @COMPATDIR@
 dist_compat_DATA = \
-	4.0pre1.sql \
-	4.0.sql
+	4.1.sql
 
 dist_compat_SCRIPTS = \
 	updatedb.pl \

Modified: trunk/vhffs-compat/updatedb.pl
===================================================================
--- trunk/vhffs-compat/updatedb.pl	2008-02-13 04:55:14 UTC (rev 1154)
+++ trunk/vhffs-compat/updatedb.pl	2008-02-13 23:01:28 UTC (rev 1155)
@@ -58,31 +58,12 @@
     return($answer ne 'n');
 }
 
-sub upgrade_40_pre1() {
-    my $script = '%VHFFS_COMPAT_DIR%/4.0pre1.sql';
+sub upgrade_41() {
+    my $script = '%VHFFS_COMPAT_DIR%/4.1.sql';
     system("psql -f $script");
 }
 
-sub upgrade_40() {
-    my $script = '%VHFFS_COMPAT_DIR%/4.0.sql';
-    system("psql -f $script");
-}
-
-sub is_40_pre1($) {
-    # seq_id_groups only exists in pre1, it isn't created in 4.0
-    my $dbh = shift;
-    my ($res) = $dbh->selectrow_array('SELECT count(*) FROM pg_catalog.pg_class WHERE relname=\'seq_id_groups\'');
-    return $res;
-}
-
-sub is_40($) {
-    my $dbh = shift;
-    my ($res) = $dbh->selectrow_array('select count(*) from pg_catalog.pg_constraint where conname = \'vhffs_users_unique_username\'');
-    return ($res == 0);
-
-}
-
-print "**** VHFFS UPDATEDB ****\nThis script will upgrade your database to the VHFFS 4.1's schema.\nEnsure that VHFFS is *stopped* !\nUse this script to your own risks!!!\n";
+print "**** VHFFS UPDATEDB ****\nThis script will upgrade your database to the VHFFS ???'s schema.\nEnsure that VHFFS is *stopped* !\nUse this script to your own risks!!!\n";
 if(!confirm('Do you still want to continue')) {
     exit(-1);
 }
@@ -133,119 +114,5 @@
     $bfh->close();
 }
 
-if(!is_40($dbh) && !confirm('It seems that you are not running vhffs 4.0, do you still want to upgrade')) {
-    exit(-2);
-} else {
-    if(is_40_pre1($dbh)) {
-        print "Detected VHFFS 4.0-pre1, performing transition upgrade\n";
-        upgrade_40_pre1();
-    }
-}
+upgrade_41();
 
-upgrade_40();
-
-my $INIT_DB = new IO::File($SQL_DIR.'initdb.sql', 'r');
-die("unable to open ${SQL_DIR}.initdb.sql : $!, DB not upgraded\n") unless($INIT_DB);
-
-print "Let's drop foreign keys...\n";
-flush STDOUT;
-
-# Fetches and removes all foreign key constraints
-
-my $fk = $dbh->selectall_arrayref('SELECT c.conname AS constraint, cl.relname AS table FROM pg_constraint c INNER JOIN pg_class cl ON c.conrelid = cl.oid WHERE c.contype = \'f\' AND cl.relname LIKE \'vhffs_%\'', { Slice => {} });
-
-foreach(@$fk) {
-    print "\tDropping $_->{table}($_->{constraint})\n";
-    $dbh->do("ALTER TABLE $_->{table} DROP CONSTRAINT \"$_->{constraint}\" CASCADE") or warn "Unable to drop constraint $_->{constraint}\n";
-}
-
-print " done.\nLet's drop unique key constraints\n";
-
-my $uc = $dbh->selectall_arrayref('SELECT c.conname AS constraint, cl.relname AS table FROM pg_catalog.pg_constraint c INNER JOIN pg_class cl ON c.conrelid = cl.oid WHERE contype = \'u\' AND cl.relname LIKE \'vhffs_%\'', { Slice => {} });
-
-foreach(@$uc) {
-    print "\tDropping $_->{table}($_->{constraint})\n";
-    $dbh->do("ALTER TABLE $_->{table} DROP CONSTRAINT \"$_->{constraint}\" CASCADE") or warn "Unable to drop constraint $_->{constraint}\n";
-}
-
-print " done.\nLet's drop indexes\n";
-
-my $idx = $dbh->selectall_arrayref('SELECT c.relname AS index FROM pg_catalog.pg_class c INNER JOIN pg_catalog.pg_index i ON i.indexrelid = c.oid INNER JOIN pg_catalog.pg_class c2 ON c2.oid = i.indrelid WHERE i.indisprimary = \'f\' AND i.indisunique = \'f\' AND c2.relname LIKE \'vhffs_%\'', { Slice => {} });
-
-foreach(@$idx) {
-    print "\tDropping index $_->{index}\n";
-    $dbh->do("DROP INDEX \"$_->{index}\"") or warn "Unable to drop index $_->{index}\n";
-}
-
-print " done.\n";
-
-
-# Create new foreign key constraints based on initdb.sql content
-
-print "Creating new foreign key, indexes and unique keys...\n";
-flush STDOUT;
-
-while(<$INIT_DB>) {
-    if(/(ALTER TABLE\s+(.*?)\s+ADD CONSTRAINT\s+(.*?)\s+FOREIGN KEY.*);\s*$/i) {
-        print "\tCreating $2($3)\n";
-        $dbh->do($1) or warn("*** Unable to create constraint $3 ***\n");
-    } elsif(/(ALTER TABLE\s+(.*?)\s+ADD CONSTRAINT\s+(.*?)\s+UNIQUE.*);\s*$/i) {
-        print "\tCreating $2($3)\n";
-        $dbh->do($1) or warn("*** Unable to create constraint $3 ***\n");
-    } elsif(/(CREATE INDEX\s+(.*?)\s+ON\s(.*));\s*$/i) {
-        print "\tCreating $2 ON $3\n";
-        $dbh->do($1) or warn("*** Unable to create index $3 ***\n");
-    }
-}
-
-$INIT_DB->close();
-
-print "Fixing \\s in objects' description...";
-flush STDOUT;
-
-my $rows = $dbh->selectall_arrayref('SELECT object_id, description FROM vhffs_object');
-
-my $sth = $dbh->prepare('UPDATE vhffs_object SET description = ? WHERE object_id = ?');
-foreach(@{$rows}) {
-    $_->[1] =~ s/\\([^\\])/$1/g;
-    $sth->execute($_->[1], $_->[0]) or warn "Unable to update object #$_->[0] (description : $_->[1])\n";
-}
-
-print " done.\n";
-
-
-print "Fixing \\s in objects' history...";
-flush STDOUT;
-
-$rows = $dbh->selectall_arrayref('SELECT history_id, message FROM vhffs_history');
-
-$sth = $dbh->prepare('UPDATE vhffs_history SET message = ? WHERE history_id = ?');
-foreach(@$rows) {
-    $_->[1] =~ s/\\([^\\])/$1/g;
-    $sth->execute($_->[1], $_->[0]) or warn "Unable to update history #$_->[0] (message: $_->[1])\n";
-}
-
-print " done.\n";
-
-print "Fixing \\s in users' informations...";
-flush STDOUT;
-
-$rows = $dbh->selectall_arrayref('SELECT uid, shell FROM vhffs_users');
-
-$sth = $dbh->prepare('UPDATE vhffs_users SET shell = ? WHERE uid = ?');
-foreach(@$rows) {
-    $_->[1] =~ s/\\([^\\])/$1/g;
-    $sth->execute($_->[1], $_->[0]) or warn "Unable to update user #$_->[0] (shell : $_->[1])\n";
-}
-
-$rows = $dbh->selectall_arrayref('SELECT uid, firstname, lastname, address, city, country FROM vhffs_users', { Slice => {} });
-
-$sth = $dbh->prepare('UPDATE vhffs_users SET firstname = ?, lastname = ?, address = ?, city = ?, country = ? WHERE uid = ?');
-foreach(@$rows) {
-    foreach my $prop (qw(firstname lastname address, city, country) ) {
-        $_->{$prop} =~ s/\\([^\\])/$1/g;
-    }
-    $sth->execute($_->{firstname}, $_->{lastname}, $_->{address}, $_->{city}, $_->{country}, $_->{uid}) or warn "Unable to update infos for user #$_{uid}";
-}
-
-print " done.\n";


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/