[evolvis-commits] r9174: Merging Branch_3_1 back into the trunk (at tag Branch_3_1-merge_2). ↵
mirabilos at evolvis.org
mirabilos at evolvis.org
Thu Feb 24 17:19:50 CET 2011
Author: mirabilos
Date: 2011-02-24 17:19:50 +0100 (Thu, 24 Feb 2011)
New Revision: 9174
Modified:
trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/create-vhosts.sh
trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-apache.sh
trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-db.sh
trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/ssh_dump_update.pl
trunk/gforge_base/evolvisforge-5.1/gforge/debian/changelog
trunk/gforge_base/evolvisforge-5.1/gforge/debian/control
trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-helper/handle-mainconffile.config
trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-helper/handle-mainconffile.postinst
trunk/gforge_base/evolvisforge-5.1/gforge/debian/gforge-web-apache.postinst.dsfh-in
Log:
Merging Branch_3_1 back into the trunk (at tag Branch_3_1-merge_2).
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/create-vhosts.sh
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/create-vhosts.sh 2011-02-24 16:19:49 UTC (rev 9173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/create-vhosts.sh 2011-02-24 16:19:50 UTC (rev 9174)
@@ -4,8 +4,8 @@
/usr/lib/gforge/bin/prepare-vhosts-file.pl
if [ -x /usr/sbin/apache ]; then
- invoke-rc.d apache reload > /dev/null 2>&1
+ /usr/sbin/invoke-rc.d apache reload > /dev/null 2>&1
fi
if [ -x /usr/sbin/apache-ssl ]; then
- invoke-rc.d apache-ssl reload > /dev/null 2>&1
+ /usr/sbin/invoke-rc.d apache-ssl reload > /dev/null 2>&1
fi
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-apache.sh
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-apache.sh 2011-02-24 16:19:49 UTC (rev 9173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-apache.sh 2011-02-24 16:19:50 UTC (rev 9174)
@@ -70,6 +70,12 @@
/usr/sbin/modules-config apache enable mod_env
/usr/sbin/modules-config apache enable mod_vhost_alias
fi
+ if [ -e /etc/apache-perl/httpd.conf ] ; then
+ /usr/sbin/modules-config apache-perl enable mod_php4
+ /usr/sbin/modules-config apache-perl enable mod_ssl
+ /usr/sbin/modules-config apache-perl enable mod_env
+ /usr/sbin/modules-config apache-perl enable mod_vhost_alias
+ fi
if [ -e /etc/apache-ssl/httpd.conf ] ; then
/usr/sbin/modules-config apache-ssl enable mod_php4
/usr/sbin/modules-config apache-ssl enable mod_env
@@ -78,6 +84,9 @@
if [ -x /usr/sbin/apache ]; then
invoke-rc.d apache restart || true
fi
+ if [ -x /usr/sbin/apache-perl ]; then
+ invoke-rc.d apache-perl restart || true
+ fi
if [ -x /usr/sbin/apache-ssl ]; then
invoke-rc.d apache-ssl restart || true
fi
@@ -97,6 +106,9 @@
if [ -x /usr/sbin/apache ]; then
invoke-rc.d apache restart || true
fi
+ if [ -x /usr/sbin/apache-perl ]; then
+ invoke-rc.d apache-perl restart || true
+ fi
if [ -x /usr/sbin/apache-ssl ]; then
invoke-rc.d apache-ssl restart || true
fi
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-db.sh
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-db.sh 2011-02-24 16:19:49 UTC (rev 9173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-db.sh 2011-02-24 16:19:50 UTC (rev 9174)
@@ -26,10 +26,10 @@
;;
configure-files)
# Tell PostgreSQL to let us use the database
- db_passwd=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbpasswd\n";')
- ip_address=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbhost\n";')
- db_name=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbname\n";')
- db_user=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbuser\n";')
+ db_passwd=$(grep ^db_password= /etc/gforge/gforge.conf | cut -d= -f2-)
+ ip_address=$(grep ^ip_address= /etc/gforge/gforge.conf | cut -d= -f2-)
+ db_name=$(grep ^db_name= /etc/gforge/gforge.conf | cut -d= -f2-)
+ db_user=$(grep ^db_user= /etc/gforge/gforge.conf | cut -d= -f2-)
pattern=$(basename $0).XXXXXX
pg_version=$(dpkg -s postgresql | awk '/^Version: / { print $2 }')
if dpkg --compare-versions $pg_version lt 7.3 ; then
@@ -82,9 +82,9 @@
configure)
# Create the appropriate database user
pg_version=$(dpkg -s postgresql | awk '/^Version: / { print $2 }')
- db_name=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbname\n";')
- db_user=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbuser\n";')
- db_passwd=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbpasswd\n";')
+ db_passwd=$(grep ^db_password= /etc/gforge/gforge.conf | cut -d= -f2-)
+ db_name=$(grep ^db_name= /etc/gforge/gforge.conf | cut -d= -f2-)
+ db_user=$(grep ^db_user= /etc/gforge/gforge.conf | cut -d= -f2-)
pattern=$(basename $0).XXXXXX
tmp1=$(mktemp /tmp/$pattern)
tmp2=$(mktemp /tmp/$pattern)
@@ -191,15 +191,21 @@
fi
;;
purge)
- db_name=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbname\n";')
- db_user=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbuser\n";')
+ db_name=$(grep ^db_name= /etc/gforge/gforge.conf | cut -d= -f2-)
+ db_user=$(grep ^db_user= /etc/gforge/gforge.conf | cut -d= -f2-)
su -s /bin/sh postgres -c "dropdb $db_name" > /dev/null 2>&1 || true
su -s /bin/sh postgres -c "dropuser $db_user" > /dev/null 2>&1 || true
rm -f /var/lib/postgres/data/gforge_passwd
kill -HUP $(head -1 /var/lib/postgres/data/postmaster.pid)
;;
dump)
- db_name=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbname\n";')
+ if [ -e /etc/sourceforge/local.pl ] ; then
+ db_name=$(perl -e'require "/etc/sourceforge/local.pl"; print "$sys_dbname\n";')
+ elif [ -e /etc/gforge/gforge.conf ] ; then
+ db_name=$(grep ^db_name= /etc/gforge/gforge.conf | cut -d= -f2-)
+ else
+ db_name=sourceforge
+ fi
if [ "x$2" != "x" ] ;then
DUMPFILE=$2
else
@@ -214,7 +220,7 @@
su -s /bin/sh $DB -c /usr/lib/postgresql/bin/pg_dump $DB > $DUMPFILE
;;
restore)
- db_name=$(perl -e'require "/etc/gforge/local.pl"; print "$sys_dbname\n";')
+ db_name=$(grep ^db_name= /etc/gforge/gforge.conf | cut -d= -f2-)
pattern=$(basename $0).XXXXXX
newpg=$(mktemp /tmp/$pattern)
pg_version=$(dpkg -s postgresql | awk '/^Version: / { print $2 }')
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/ssh_dump_update.pl
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/ssh_dump_update.pl 2011-02-24 16:19:49 UTC (rev 9173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/ssh_dump_update.pl 2011-02-24 16:19:50 UTC (rev 9174)
@@ -13,6 +13,8 @@
&db_connect;
+$dbh->{AutoCommit} = 0;
+
# Dump the Table information
$query = "SELECT user_name,unix_uid,authorized_keys FROM users WHERE authorized_keys != '' AND status !='D'";
$c = $dbh->prepare($query);
@@ -22,16 +24,10 @@
push @ssh_array, $new_list;
}
-# Now write out the files
-write_array_file($file_dir."dumps/ssh_dump", @ssh_array);
-
-my @ssh_key_file = open_array_file($file_dir."dumps/ssh_dump");
my ($username, $ssh_keys, $ssh_dir);
if($verbose){print("\n\n Processing Users\n\n")};
-while ($ln = pop(@ssh_key_file)) {
- chop($ln);
-
+while ($ln = pop(@ssh_array)) {
($username, $uid, $ssh_key) = split(":", $ln);
$ssh_key =~ s/\#\#\#/\n/g;
@@ -44,6 +40,7 @@
if (! -d $ssh_dir) {
mkdir $ssh_dir, 0755;
+ system("chown $uid:$uid $ssh_dir");
}
if($verbose){print("Writing authorized_keys for $username: ")};
@@ -58,3 +55,35 @@
undef @user_authorized_keys;
}
+undef @ssh_array;
+
+### Phase 2: remove the files when needed
+
+# Dump the Table information
+$query = "SELECT user_name,unix_uid FROM users WHERE authorized_keys = '' OR authorized_keys IS NULL OR status = 'D'";
+$c = $dbh->prepare($query);
+$c->execute();
+while(my ($username, $unix_uid, $ssh_key) = $c->fetchrow()) {
+ $new_list = "$username:$unix_uid\n";
+ push @ssh_array, $new_list;
+}
+
+if($verbose){print("\n\n Processing Users\n\n")};
+while ($ln = pop(@ssh_array)) {
+ ($username, $uid) = split(":", $ln);
+
+ $username =~ tr/[A-Z]/[a-z]/;
+ $uid += $uid_add;
+
+ $ssh_dir = "$homedir_prefix$username/.ssh";
+
+ if (-d $ssh_dir) {
+ if($verbose){print("Resetting authorized_keys for $username: ")};
+
+ unlink("$ssh_dir/authorized_keys");
+ system("chown $uid:$uid $homedir_prefix$username");
+ system("chown $uid:$uid $ssh_dir");
+
+ if($verbose){print ("Done\n")};
+ }
+}
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/debian/changelog
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/debian/changelog 2011-02-24 16:19:49 UTC (rev 9173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/debian/changelog 2011-02-24 16:19:50 UTC (rev 9174)
@@ -6,8 +6,24 @@
updated to last cvsweb version
* [Christian] added setup and cleanup target in install-ldap.sh
and fill crypted password
+ * [Roland] Tightened the versioned dependency on Apache so that we can
+ rely on modules-config (closes: #220872).
+ * [Roland] Escape special characters like @ and $ before passing strings
+ containing them to a Perl script, for instance e-mail addresses.
+ Should help fix the administrator's e-mail.
+ * [Roland] install-db.sh now uses grep and cut (instead of Perl) to
+ extract the configuration variables from the configuration file, which
+ should help gforge-sourceforge-transition work better.
+ * [Roland] Added full path to invoke-rc.d in create-vhosts.sh. This
+ script may be called from a very sparse environment (cron), in which
+ $PATH does not include /usr/sbin.
+ * [Roland] Remove .ssh/authorized_keys when they are set to empty,
+ instead of just leaving them as they are.
+ * [Roland] Added support for apache-perl too.
+ * [Roland] Fixed the way we use modules-config so that gforge-web-apache
+ does not hang on install (closes: #221172).
- -- Roland Mas <lolando at debian.org> Sat, 15 Nov 2003 17:54:43 +0100
+ -- Roland Mas <lolando at debian.org> Sat, 22 Nov 2003 18:42:41 +0100
gforge (3.1-4) unstable; urgency=low
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/debian/control
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/debian/control 2011-02-24 16:19:49 UTC (rev 9173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/debian/control 2011-02-24 16:19:50 UTC (rev 9174)
@@ -35,7 +35,7 @@
Package: gforge-web-apache
Architecture: all
-Depends: gforge-common, gforge-db-postgresql | gforge-db, apache (>= 1.3.9) | apache-ssl (>= 1.3.9), libapache-mod-ssl | apache-ssl, php4, php4-cgi, php4-pgsql, php4-gd, php4-ldap, perl, perl-suid, libdbi-perl, libdbd-pg-perl, debianutils (>= 1.7), debconf (>= 1.0.32), slapd (>= 2.0.23-3), cronolog
+Depends: gforge-common, gforge-db-postgresql | gforge-db, apache (>= 1.3.29-2) | apache-ssl (>= 1.3.29-2) | apache-perl (>= 1.3.29-2), libapache-mod-ssl | apache-ssl, php4, php4-cgi, php4-pgsql, php4-gd, php4-ldap, perl, perl-suid, libdbi-perl, libdbd-pg-perl, debianutils (>= 1.7), debconf (>= 1.0.32), slapd (>= 2.0.23-3), cronolog
Suggests: libphp-jpgraph
Replaces: sourceforge-web-apache (>> 2.6-0+11)
Provides: gforge-web
@@ -116,7 +116,7 @@
Package: gforge-cvs
Architecture: all
-Depends: gforge-common, gforge-ldap-openldap | gforge-ldap, cvs, rcs, apache (>= 1.3.9) | apache-ssl (>= 1.3.9), libapache-mod-ssl | apache-ssl, perl, debianutils (>= 1.7), debconf (>= 1.0.32), ssh, libnss-ldap (>=184-1), libpam-ldap
+Depends: gforge-common, gforge-ldap-openldap | gforge-ldap, cvs, rcs, apache (>= 1.3.9) | apache-ssl (>= 1.3.9) | apache-perl (1.3.9), libapache-mod-ssl | apache-ssl, perl, debianutils (>= 1.7), debconf (>= 1.0.32), ssh, libnss-ldap (>=184-1), libpam-ldap
Replaces: sourceforge-cvs (>> 2.6-0+11)
Conflicts: sourceforge-cvs
Description: Collaborative development tool - CVS management
@@ -175,7 +175,7 @@
Package: gforge-lists-mailman
Architecture: all
-Depends: gforge-common, gforge-db-postgresql | gforge-db, gforge-ldap-openldap | gforge-ldap, gforge-mta-exim | gforge-mta, apache (>= 1.3.9) | apache-ssl (>= 1.3.9), perl, libdbi-perl, libdbd-pg-perl, debianutils (>= 1.7), debconf (>= 1.0.32), mailman (>= 2.1-3)
+Depends: gforge-common, gforge-db-postgresql | gforge-db, gforge-ldap-openldap | gforge-ldap, gforge-mta-exim | gforge-mta, apache (>= 1.3.9) | apache-ssl (>= 1.3.9) | apache-perl (>= 1.3.9), perl, libdbi-perl, libdbd-pg-perl, debianutils (>= 1.7), debconf (>= 1.0.32), mailman (>= 2.1-3)
Replaces: sourceforge-lists-mailman (>> 2.6-0+11)
Provides: gforge-lists
Conflicts: sourceforge-lists
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-helper/handle-mainconffile.config
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-helper/handle-mainconffile.config 2011-02-24 16:19:49 UTC (rev 9173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-helper/handle-mainconffile.config 2011-02-24 16:19:50 UTC (rev 9174)
@@ -49,7 +49,8 @@
key=$1
val=$2
if grep -q "^$key=" $mainconffile ; then
- perl -pi -e "s/^$key=.*/$key=$val/" $mainconffile
+ newval=$(echo $val | sed -e 's/@/\\@/g' -e 's/\$/\\$/g')
+ perl -pi -e "s/^$key=.*/$key=$newval/" $mainconffile
else
echo "$key=$val" >> $mainconffile
fi
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-helper/handle-mainconffile.postinst
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-helper/handle-mainconffile.postinst 2011-02-24 16:19:49 UTC (rev 9173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/debian/dsf-helper/handle-mainconffile.postinst 2011-02-24 16:19:50 UTC (rev 9174)
@@ -20,7 +20,8 @@
key=$1
val=$2
if grep -q "^$key=" $mainconffile ; then
- perl -pi -e "s/^$key=.*/$key=$val/" $mainconffile
+ newval=$(echo $val | sed -e 's/@/\\@/g' -e 's/\$/\\$/g')
+ perl -pi -e "s/^$key=.*/$key=$newval/" $mainconffile
else
echo "$key=$val" >> $mainconffile
fi
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/debian/gforge-web-apache.postinst.dsfh-in
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/debian/gforge-web-apache.postinst.dsfh-in 2011-02-24 16:19:49 UTC (rev 9173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/debian/gforge-web-apache.postinst.dsfh-in 2011-02-24 16:19:50 UTC (rev 9174)
@@ -54,9 +54,6 @@
propose_update_install /etc/php4/apache/php.ini
propose_update_install /etc/php4/cgi/php.ini
- # Clean debconf after ourselves
- db_stop
-
# Setup our Apache
/usr/lib/gforge/bin/install-apache.sh configure
More information about the evolvis-commits
mailing list