--- /dev/null
+gforge_*.dsc
+gforge_*.tar.gz
+gforge_*.build
+gforge_*_source.changes
* text=auto !eol
+/.bzrignore -text
gforge/INSTALL.restricted -text
gforge/backend/shell/apache.sh svneol=native#unset
gforge/common/docman/Parsedata.class.php -text
gforge/debian/dsf-helper/patch-apache.config -text
gforge/debian/dsf-helper/patch-apache.postinst -text
gforge/debian/dsf-helper/patch-apache.prerm -text
-gforge/debian/gforge-plugins.cron.d -text
-gforge/debian/gforge-plugins.dirs -text
+gforge/debian/gforge-plugin-scmcvs.cron.d -text
+gforge/debian/gforge-plugin-scmcvs.dirs -text
+gforge/debian/gforge-plugin-scmcvs.postinst -text
+gforge/debian/gforge-plugin-scmcvs.prerm -text
+gforge/debian/gforge-plugin-scmsvn.cron.d -text
+gforge/debian/gforge-plugin-scmsvn.dirs -text
+gforge/debian/gforge-plugin-scmsvn.postinst -text
+gforge/debian/gforge-plugins-extra.dirs -text
gforge/debian/gforge-web-apache2.config.dsfh-in -text
gforge/debian/gforge-web-apache2.cron.d -text
gforge/debian/gforge-web-apache2.dirs -text
foreach my $s (@reqlist) {
$query = $s ;
- # debug $query ;
+ # &debug ($query) ;
$sth = $dbh->prepare ($query) ;
$sth->execute () ;
$sth->finish () ;
exit 1
fi
if su -s /bin/sh postgres -c "/usr/bin/psql template1" 1> $tmp1 2> $tmp2 <<-EOF
-CREATE USER gforge_nss WITH PASSWORD '' ;
+CREATE USER gforge_nss WITH PASSWORD 'gforge_nss' ;
EOF
then
rm -f $tmp1 $tmp2
port = 5432
database = gforge
login = gforge_nss
-passwd = ''
+passwd = gforge_nss
#----------------- New possibility including the query directly here ------------------#
# query
#
### TODO
# * Make sure the output of pg_dump is interpreted the way it should.
-# * Ditto for he output of mysqldump. There might be a problem with
-# the quoting style somewhere: I seem to remember PostgreSQL uses \'
-# to quote a quote, while MySQL uses ''. Maybe we should introduce
-# another parameter to parse_sql_file, indicating what flavour of
-# SQL to expect.
use strict ;
use subs qw/ &parse_sql_file &sql_parser_debug / ;
# sql_parser_debug "State = IN_QUOTE" ;
IN_QUOTE_STATE_SWITCH: {
($rest =~ /^\'/) && do {
- $sql .= '\'' ;
+ $sql .= q/'/ ;
$rest = substr $rest, 1 ;
$l = $rest ;
} ;
($rest =~ /^\\\'/) && do {
- $sql .= '\\\'' ;
+ $sql .= q/''/ ;
$rest = substr $rest, 2 ;
last IN_QUOTE_STATE_SWITCH ;
if ($copy_field eq '\N') {
$copy_field = 'NULL' ;
} else {
- $copy_field =~ s/\'/\\\'/g ;
+ $copy_field =~ s/\'/\'\'/g ;
$copy_field = "'" . $copy_field . "'" ;
}
push @copy_data, $copy_field ;
-gforge (4.6.99+svn20070518-0) experimental; urgency=low
-
- * SVN snapshot. Don't use for production!
+gforge (4.6.99+svn6070-1) experimental; urgency=low
+
+ * SVN snapshot (based on revision 6070, with packaging patches). Don't
+ use for production!
+ * Generate gforge-plugin-scmcvs and g-p-scmsvn from the gforge source
+ package, since they're maintained in the same upstream repository.
+ * New gforge-plugins-extra package, with other plugins. Not necessarily
+ well-tested (or even working).
* Using local database to avoid problems with PostgreSQL not listening
to TCP/IP connections by default (closes: #309276, #396127, #415650,
#420751).
- * Removing support for Apache 1.3, PHP 4.x (closes: #424786, #424792),
- Exim 3 (closes: #420268) and PostgreSQL < 8.2, since these packages
- will be removed from Debian soon.
+ * Removing support for Apache 1.3 and PostgreSQL < 8.2, since these
+ packages are no longer in Debian.
* Also removing support for LDAP for now, unless someone comes up ready
to maintain it in a proper shape (closes: #237229, #241389, #296399,
#296507, #372260, #378616).
- * Added dummy password for the gforge_mta PostgreSQL user, since it no
- longer seems possible to use an empty password.
+ * Added dummy password for the gforge_mta and gforge_nss PostgreSQL
+ users, since it no longer seems possible to use an empty password.
* Fixed Postfix alias resolution (closes: #424697).
+ * Actually display the Debconf question asking for an administrative
+ password. On the other hand, I don't think anybody cares for the
+ database password, so that question can be skipped.
+ * Made cronjobs silent.
- -- Roland Mas <lolando@debian.org> Fri, 18 May 2007 12:12:18 +0200
+ -- Roland Mas <lolando@debian.org> Fri, 27 Jul 2007 21:21:46 +0200
gforge (4.5.14-25+963) unstable; urgency=low
Depends: debconf (>= 1.0.32) | debconf-2.0, gforge-common (=${Source-Version}), gforge-web-apache2 | gforge-web, gforge-db, gforge-mta-exim4 | gforge-mta, gforge-shell-postgresql | gforge-shell, gforge-ftp, gforge-lists
Recommends: gforge-plugin-scm
Description: collaborative development tool - meta-package
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
- This meta-package installs a complete GForge site.
+ This meta-package installs a complete Gforge site.
Package: gforge-common
Architecture: all
Depends: debconf (>= 1.0.32) | debconf-2.0, cpio, lockfile-progs, adduser, php5-cli, python
Conflicts: sourceforge, gforge-plugin-scmcvs (<< 4.1), gforge-plugin-scmsvn (<< 4.1), gforge-plugin-scmccase (<< 4.1), gforge-theme-starterpack (<< 4.0)
Description: collaborative development tool - shared files
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
This package contains files and programs used by several other
subpackages.
-Package: gforge-plugins
+Package: gforge-plugins-extra
Architecture: all
Depends: gforge-common, php5-cli, python, python-subversion
-Conflicts: sourceforge, gforge-plugin-scmcvs, gforge-plugin-scmsvn, gforge-plugin-scmccase
-Description: collaborative development tool - plugins
- GForge provides many tools to help collaboration in a
+Conflicts: sourceforge, gforge-plugin-scmccase
+Description: collaborative development tool - extra plugins
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
- This package contains a set of various plugins
+ This package contains a set of various plugins.
Package: gforge-web-apache2
Architecture: all
Depends: gforge-common, gforge-db-postgresql | gforge-db, libapache2-mod-php5, php5-cgi, php5-pgsql, php5-gd, perl, perl-suid, libdbi-perl, libdbd-pg-perl, debianutils (>= 1.7), debconf (>= 1.0.32) | debconf-2.0, cronolog, python
-Recommends: libphp-jpgraph
+Recommends: libphp-jpgraph, locales | locales-all
Provides: gforge-web
Conflicts: gforge-web
Description: collaborative development tool - web part (using Apache)
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
This package contains the files needed to run the web part of
- GForge on an Apache webserver.
+ Gforge on an Apache webserver.
Package: gforge-db-postgresql
Architecture: all
Provides: gforge-db
Conflicts: gforge-db
Description: collaborative development tool - database (using PostgreSQL)
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
- This package installs, configures and maintains the GForge
+ This package installs, configures and maintains the Gforge
database.
Package: gforge-mta-exim4
Provides: gforge-mta
Conflicts: gforge-mta
Description: collaborative development tool - mail tools (using Exim 4)
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
This package configures the Exim 4 mail transfer agent to run
- GForge.
+ Gforge.
Package: gforge-mta-postfix
Architecture: all
Provides: gforge-mta
Conflicts: gforge-mta
Description: collaborative development tool - mail tools (using Postfix)
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
This package configures the Postfix mail transfer agent to run
- GForge.
+ Gforge.
Package: gforge-mta-courier
Architecture: all
Provides: gforge-mta
Conflicts: gforge-mta
Description: collaborative development tool - mail tools (using Courier)
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
This package configures the Courier mail transfer agent to run
- GForge.
+ Gforge.
Package: gforge-shell-postgresql
Architecture: all
Provides: gforge-shell
Conflicts: gforge-shell
Description: collaborative development tool - shell accounts (using PostgreSQL)
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
This package provides shell accounts authenticated via the PostgreSQL
- database to GForge users.
+ database to Gforge users.
Package: gforge-ftp-proftpd
Architecture: all
Provides: gforge-ftp
Conflicts: gforge-ftp
Description: collaborative development tool - FTP management (using ProFTPd)
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
- This package configures the ProFTPd FTP server for GForge.
+ This package configures the ProFTPd FTP server for Gforge.
Package: gforge-dns-bind9
Architecture: all
Provides: gforge-dns
Conflicts: gforge-dns
Description: collaborative development tool - DNS management (using Bind9)
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
- This package configures and maintains the DNS zones for GForge.
+ This package configures and maintains the DNS zones for Gforge.
Package: gforge-lists-mailman
Architecture: all
Provides: gforge-lists
Conflicts: gforge-lists
Description: collaborative development tool - mailing-lists (using Mailman)
- GForge provides many tools to help collaboration in a
+ Gforge provides many tools to help collaboration in a
development project, such as bug-tracking, task management,
mailing-lists, SCM repository, forums, support request helper, web
page / FTP hosting, release management, etc. All these services are
integrated into one web site and managed via a nice web interface.
.
- This package controls the interaction of GForge and Mailman.
+ This package controls the interaction of Gforge and Mailman.
+
+Package: gforge-plugin-scmcvs
+Architecture: all
+Depends: gforge-common, gforge-db-postgresql | gforge-db, gforge-web-apache2 | gforge-web, libipc-run-perl, rcs, liburi-perl, cvs, php5-cli, python
+Description: CVS plugin for Gforge
+ This plug-in contains the CVS subsystem of Gforge. It allows each
+ Gforge project to have its own CVS repository, and gives some control
+ over it to the project's administrator.
+Provides: gforge-plugin-scm
+
+Package: gforge-plugin-scmsvn
+Architecture: all
+Depends: gforge-common, gforge-db-postgresql | gforge-db, gforge-web-apache2 | gforge-web, subversion, subversion-tools, viewcvs, python-subversion, python (>= 2.3), php5-cli
+Description: Subversion plugin for Gforge
+ This plug-in contains the Subversion subsystem of Gforge. It allows
+ each Gforge project to have its own Subversion repository, and gives
+ some control over it to the project's administrator.
+Provides: gforge-plugin-scm
db_fget gforge/shared/db_password seen || true
if [ "$RET" = "false" ]; then
- if [ "$(get_pw gforge/shared/db_password low)" = "not-asked" ] ; then
- db_set gforge/shared/db_password $(gen_random_pw)
- db_get gforge/shared/db_password || true
- echo "Since you asked not to see all the debconf questions, I generated a random"
- echo "password for the database. Use it if you want to have a peek at the"
- echo "database by hand. It is '${RET}'.\n" ;
- db_fset gforge/shared/db_password seen true
- fi
+ db_set gforge/shared/db_password $(gen_random_pw)
+ db_get gforge/shared/db_password || true
+ echo "Since you asked not to see all the debconf questions, I generated a random"
+ echo "password for the database. Use it if you want to have a peek at the"
+ echo "database by hand. It is '${RET}'.\n" ;
+ db_fset gforge/shared/db_password seen true
fi
db_go || true
fi
fi
}
+
+propose_update () {
+ file=$1
+ mode=$2
+ template=gforge/shared/replace_file_$mode
+ if [ -e ${file}.gforge-old ] ; then
+ echo "${file} replacement already wanted, not changing."
+ else
+ if [ -e ${file} ] ; then
+ db_fset $template seen false
+ db_subst $template file $file
+ db_input high $template || true
+ db_go || true
+ db_get $template || true
+ case "$RET" in
+ "true")
+ echo >&2 "Will be replacing file $file with changed version, saving original"
+ cp $file ${file}.gforge-old
+ ;;
+ "false")
+ db_fset gforge/shared/file_changed seen false
+ db_subst gforge/shared/file_changed file $file
+ db_input high gforge/shared/file_changed || true
+ db_go || true
+ ;;
+ esac
+ else
+ echo "WARNING: No $file to modify"
+ fi
+ fi
+}
+
+# Same, but for installation
+propose_update_install () {
+ propose_update $1 install
+}
+
+# Same, but for de-installation
+propose_update_remove () {
+ propose_update $1 remove
+}
#!/bin/sh -e
-# Support for new place for pg_hba.conf
-# I only try to upgrade on the default cluster
-if [ -x /usr/bin/pg_lsclusters ]
-then
- # We are with new postgresql working with clusters
- # This is probably not te most elegant way to deal with database
- # I install or upgrade on the default cluster if it is online
- # or I quit gently with a big message
- pg_version=`/usr/bin/pg_lsclusters | grep 5432 | grep online | cut -d' ' -f1`
- if [ "x$pg_version" != "x" ]
- then
- export pg_hba_dir=/etc/postgresql/${pg_version}/main/
- else
- echo "No database found online on port 5432"
- echo "Couldn't initialize or upgrade gforge database."
- echo "Please see postgresql documentation"
- echo "and run dpkg-reconfigure -plow gforge-db-postgresql"
- echo "once the problem is solved"
- echo "exiting without error, but gforge db will not work"
- echo "right now"
- exit 0
- fi
-else
- export pg_hba_dir=/etc/postgresql
-fi
-
# Source debconf library.
. /usr/share/debconf/confmodule
vars="admin_login admin_password skill_list"
update_mainconffile $vars
-propose_update_install ${pg_hba_dir}/pg_hba.conf
db_stop
50 2 * * Mon gforge [ -x /usr/lib/gforge/bin/vacuum.php ] && /usr/lib/gforge/bin/vacuum.php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include > /dev/null 2>&1
# Daily sweep of the HTTP log files for project activity
-15 0 * * * gforge [ -x /usr/lib/gforge/bin/stats_projects_logparse.pl ] && /usr/lib/gforge/bin/stats_projects_logparse.pl -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include > /dev/null 2>&1
+15 0 * * * gforge [ -x /usr/lib/gforge/bin/stats_projects_logparse.pl ] && /usr/lib/gforge/bin/stats_projects_logparse.pl > /dev/null 2>&1
# Daily mail for not approved news
-30 17 * * * root [ -x /usr/lib/gforge/bin/get_news_notapproved.pl ] && /usr/lib/gforge/bin/get_news_notapproved.pl -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include > /dev/null 2>&1
+30 17 * * * root [ -x /usr/lib/gforge/bin/get_news_notapproved.pl ] && /usr/lib/gforge/bin/get_news_notapproved.pl > /dev/null 2>&1
# Daily incremental backup to /backup
# we have to discuss this
pg_version=`/usr/bin/pg_lsclusters | grep 5432 | grep online | cut -d' ' -f1`
if [ "x$pg_version" != "x" ]
then
- export pg_hba_dir=/etc/postgresql/${pg_version}/main/
+ export pg_hba_dir=/etc/postgresql/${pg_version}/main
else
echo "No database found online on port 5432"
echo "Couldn't initialize or upgrade gforge database."
# Patch DB configuration files
/usr/lib/gforge/bin/install-db.sh configure-files
- replace_file ${pg_hba_dir}/pg_hba.conf
+ propose_update_install ${pg_hba_dir}/pg_hba.conf
# Setup our DB
/usr/lib/gforge/bin/install-db.sh configure
# Patch Bind configuration files
/usr/lib/gforge/bin/install-dns.sh configure-files
- replace_file /etc/bind/named.conf
+ propose_update_install /etc/bind/named.conf
# Create the DNS zone
/usr/lib/gforge/bin/install-dns.sh configure
--- /dev/null
+#
+# Regular cron jobs for gforge-plugin-scmcvs
+#
+# Tarballs
+5 2 * * * root [ -x /usr/share/gforge/plugins/scmcvs/cronjobs/tarballs.php ] && php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include /usr/share/gforge/plugins/scmcvs/cronjobs/tarballs.php > /dev/null 2>&1
+
+# Snapshots
+35 2 * * * root [ -x /usr/share/gforge/plugins/scmcvs/cronjobs/snapshots.sh ] && /usr/share/gforge/plugins/scmcvs/cronjobs/snapshots.sh generate > /dev/null 2>&1
+
+# Repositories update (.pl in debian)
+5 * * * * root [ -x /usr/share/gforge/plugins/scmcvs/cronjobs/cvs_dump.pl ] && su -s /bin/sh gforge -c /usr/share/gforge/plugins/scmcvs/cronjobs/cvs_dump.pl > /dev/null 2>&1 && [ -x /usr/share/gforge/plugins/scmcvs/cronjobs/cvs_update.pl ] && /usr/share/gforge/plugins/scmcvs/cronjobs/cvs_update.pl > /dev/null 2>&1
+
+# CVS add/commit Statistics
+45 4 * * * root [ -x /usr/share/gforge/plugins/scmcvs/cronjobs/cvs-stats.pl ] && /usr/share/gforge/plugins/scmcvs/cronjobs/cvs-stats.pl > /dev/null 2>&1
--- /dev/null
+etc/gforge/httpd.d
+etc/gforge/plugins/scmcvs
+usr/lib/gforge/bin
+usr/lib/gforge/plugins/scmcvs/bin
+usr/lib/gforge/plugins/scmcvs/cgi-bin
+usr/lib/gforge/plugins/scmcvs/lib
+usr/lib/gforge/plugins/scmcvs/cronjobs
+usr/lib/gforge/cgi-bin/plugins/scmcvs
+usr/share/gforge/etc/httpd.d
+usr/share/gforge/www/plugins/scmcvs
+usr/share/gforge/plugins/scmcvs/cronjobs
+usr/share/gforge/plugins/scmcvs/common
+usr/share/gforge/scm
+var/lib/gforge/chroot/cvsroot
+var/log/gforge/cvs
--- /dev/null
+#! /bin/sh
+# postinst script for gforge-plugin-scmcvs
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+#
+# quoting from the policy:
+# Any necessary prompting should almost always be confined to the
+# post-installation script, and should be protected with a conditional
+# so that unnecessary prompting doesn't happen if a package's
+# installation fails and the `postinst' is called with `abort-upgrade',
+# `abort-remove' or `abort-deconfigure'.
+
+case "$1" in
+ configure)
+ /usr/sbin/gforge-config
+
+ # Prepare database
+ su -s /bin/sh gforge -c /usr/lib/gforge/plugins/scmcvs/bin/db-upgrade.pl
+ su -s /bin/sh gforge -c '/usr/lib/gforge/bin/register-plugin scmcvs "CVS"'
+ test -f /etc/default/apache2 && . /etc/default/apache2
+ if [ "$NO_START" != "0" ]; then
+ if [ -x /usr/sbin/apache ]; then
+ /usr/sbin/invoke-rc.d --quiet apache reload
+ fi
+ else
+ if [ -x /usr/sbin/apache2 ]; then
+ /usr/sbin/invoke-rc.d --quiet apache2 reload
+ fi
+ fi
+ # Setup our CVS
+ /usr/lib/gforge/plugins/scmcvs/bin/install-cvs.sh configure
+
+ # Making user group and cvs update from database
+ /usr/lib/gforge/bin/update-user-group-cvs.sh > /dev/null 2>&1
+ rm -f /var/lib/gforge/dumps/*cvs*dump
+ su -s /bin/sh gforge -c /usr/lib/gforge/plugins/scmcvs/bin/cvs_dump.pl
+ /usr/lib/gforge/plugins/scmcvs/bin/cvs_update.pl
+
+ if [ ! -e /var/lib/gforge/chroot/cvs ] ; then
+ cd /var/lib/gforge/chroot
+ ln -s cvsroot cvs
+ fi
+
+ # logs
+ chown root:gforge /var/log/gforge/cvs
+ chmod 775 /var/log/gforge/cvs
+
+ # Restart some services
+ [ -d /etc/ssh ] && invoke-rc.d ssh restart || true
+ [ -d /etc/ssh-nonfree ] && invoke-rc.d ssh-nonfree restart || true
+
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
--- /dev/null
+#! /bin/sh
+# prerm script for gforge-plugin-scmcvs
+#
+# see: dh_installdeb(1)
+set -e
+
+#DEBHELPER#
+
+# summary of how this script can be called:
+# * <prerm> `remove'
+# * <old-prerm> `upgrade' <new-version>
+# * <new-prerm> `failed-upgrade' <old-version>
+# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+# * <deconfigured's-prerm> `deconfigure' `in-favour'
+# <package-being-installed> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ remove|deconfigure)
+ /usr/lib/gforge/bin/unregister-plugin scmcvs
+ test -f /etc/default/apache2 && . /etc/default/apache2
+ if [ "$NO_START" != "0" ]; then
+ if [ -x /usr/sbin/apache ]; then
+ /usr/sbin/invoke-rc.d --quiet apache reload
+ fi
+ else
+ if [ -x /usr/sbin/apache2 ]; then
+ /usr/sbin/invoke-rc.d --quiet apache2 reload
+ fi
+ fi
+ /usr/lib/gforge/plugins/scmcvs/bin/db-delete.pl
+ ;;
+ upgrade|failed-upgrade)
+ ;;
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+
+
+exit 0
+
+
--- /dev/null
+#
+# Regular cron jobs for the gforge-plugins scmsvn
+#
+
+# Tarballs
+5 2 * * * root [ -x /usr/share/gforge/plugins/scmsvn/cronjobs/tarballs.php ] && php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include /usr/share/gforge/plugins/scmsvn/cronjobs/tarballs.php > /dev/null 2>&1
+
+# Snapshots
+35 3 * * * root [ -x /usr/share/gforge/plugins/scmsvn/cronjobs/snapshots.sh ] && /usr/share/gforge/plugins/scmsvn/cronjobs/snapshots.sh generate > /dev/null 2>&1
+
+# Repositories update
+45 * * * * root [ -x /usr/share/gforge/plugins/scmsvn/cronjobs/svn_dump.pl ] && su -s /bin/sh gforge -c /usr/share/gforge/plugins/scmsvn/cronjobs/svn_dump.pl > /dev/null 2>&1 && [ -x /usr/share/gforge/plugins/scmsvn/cronjobs/svn_update.pl ] && /usr/share/gforge/plugins/scmsvn/cronjobs/svn_update.pl > /dev/null 2>&1
+
+# Statistics
+55 4 * * Sun root [ -x /usr/share/gforge/plugins/scmsvn/cronjobs/svn-stats.php ] && php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include /usr/share/gforge/plugins/scmsvn/cronjobs/svn-stats.php > /dev/null 2>&1
--- /dev/null
+etc/gforge/httpd.d
+etc/gforge/plugins/scmsvn
+usr/lib/gforge/bin
+usr/lib/gforge/plugins/scmsvn/bin
+usr/lib/gforge/plugins/scmsvn/cgi-bin
+usr/lib/gforge/plugins/scmsvn/lib
+usr/lib/gforge/plugins/scmsvn/cronjobs
+usr/lib/gforge/cgi-bin/plugins/scmsvn
+usr/share/gforge/etc/httpd.d
+usr/share/gforge/www/plugins/scmsvn
+usr/share/gforge/plugins/scmsvn/cronjobs
+usr/share/gforge/plugins/scmsvn/common
+usr/share/gforge/scm
+var/lib/gforge/chroot/svnroot
+var/log/gforge/svn
--- /dev/null
+#! /bin/sh
+# postinst script for gforge-plugin-scmsvn
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+#
+# quoting from the policy:
+# Any necessary prompting should almost always be confined to the
+# post-installation script, and should be protected with a conditional
+# so that unnecessary prompting doesn't happen if a package's
+# installation fails and the `postinst' is called with `abort-upgrade',
+# `abort-remove' or `abort-deconfigure'.
+
+case "$1" in
+ configure)
+ /usr/sbin/gforge-config
+
+ # Prepare database
+ su -s /bin/sh gforge -c '/usr/lib/gforge/bin/register-plugin scmsvn "Subversion"'
+ test -f /etc/default/apache2 && . /etc/default/apache2
+ if [ "$NO_START" != "0" ]; then
+ if [ -x /usr/sbin/apache ]; then
+ /usr/sbin/invoke-rc.d --quiet apache reload
+ fi
+ else
+ if [ -x /usr/sbin/apache2 ]; then
+ /usr/sbin/invoke-rc.d --quiet apache2 reload
+ fi
+ fi
+
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
-usr/share/doc/gforge-plugins
+usr/share/doc/gforge-plugins-extra
usr/share/gforge/etc
usr/share/gforge/etc/templates
usr/share/gforge/etc/httpd.d
+++ /dev/null
-#
-# Regular cron jobs for the gforge-plugins scmcvs
-#
-# Tarballs
-5 2 * * * root [ -x /usr/share/gforge/plugins/scmcvs/cronjobs/tarballs.php ] && php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include /usr/share/gforge/plugins/scmcvs/cronjobs/tarballs.php > /dev/null 2>&1
-
-# Snapshots
-35 2 * * * root [ -x /usr/share/gforge/plugins/scmcvs/cronjobs/snapshots.sh ] && /usr/share/gforge/plugins/scmcvs/cronjobs/snapshots.sh generate
-
-# Repositories update (.pl in debian)
-5 * * * * root [ -x /usr/share/gforge/plugins/scmcvs/cronjobs/cvs_dump.pl ] && su -s /bin/sh gforge -c /usr/share/gforge/plugins/scmcvs/cronjobs/cvs_dump.pl && [ -x /usr/share/gforge/plugins/scmcvs/cronjobs/cvs_update.pl ] && /usr/share/gforge/plugins/scmcvs/cronjobs/cvs_update.pl
-
-# CVS add/commit Statistics
-45 4 * * * root [ -x /usr/share/gforge/plugins/scmcvs/cronjobs/cvs-stats.pl ] && /usr/share/gforge/plugins/scmcvs/cronjobs/cvs-stats.pl > /dev/null 2>&1
-
-#
-# Regular cron jobs for the gforge-plugins scmsvn
-#
-
-# Tarballs
-5 2 * * * root [ -x /usr/share/gforge/plugins/scmsvn/cronjobs/tarballs.php ] && php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include /usr/share/gforge/plugins/scmsvn/cronjobs/tarballs.php
-
-# Snapshots
-35 3 * * * root [ -x /usr/share/gforge/plugins/scmsvn/cronjobs/snapshots.sh ] && /usr/share/gforge/plugins/scmsvn/cronjobs/snapshots.sh generate
-
-# Repositories update
-45 * * * * root [ -x /usr/share/gforge/plugins/scmsvn/cronjobs/svn_dump.pl ] && su -s /bin/sh gforge -c /usr/share/gforge/plugins/scmsvn/cronjobs/svn_dump.pl && [ -x /usr/share/gforge/plugins/scmsvn/cronjobs/svn_update.pl ] && /usr/share/gforge/plugins/scmsvn/cronjobs/svn_update.pl
-
-# Statistics
-55 4 * * Sun root [ -x /usr/share/gforge/plugins/scmsvn/cronjobs/svn-stats.php ] && php -d include_path=/etc/gforge:/usr/share/gforge/:/usr/share/gforge/www/include /usr/share/gforge/plugins/scmsvn/cronjobs/svn-stats.php
# [Disabled] DSFHELPER:dbhost-variables#
#DSFHELPER:patch-apache#
-patch_apache_propose apache2
+# patch_apache_propose apache2
/usr/sbin/gforge-config
# Patch Apache configuration files
- patch_apache_replace apache2
+ # patch_apache_replace apache2
db_stop
# Setup our Apache
/usr/lib/gforge/bin/create-vhosts.sh --norestart
/usr/lib/gforge/bin/install-apache.sh configure
- # If you want to work with sourceforge-web-apache at the same time
- if [ -f /etc/apache/httpd.conf ] ; then
- if grep -q "^Include /etc/sourceforge/sf-httpd.conf" /etc/apache/httpd.conf ; then
- echo "" >/etc/gforge/httpd.common
- fi
- fi
-
# Set up upload directory
#chown www-data:www-data /var/lib/gforge/uploads
# Next line done in 20050127-frs-reorg.php
# gforge
# (gforge is a meta-package and needs no files)
-
- # gforge-plugins
- cp -r plugins $(CURDIR)/debian/gforge-plugins/usr/share/gforge/
- find $(CURDIR)/debian/gforge-plugins/usr/share/gforge/ -name .svn -type d | xargs rm -rf
- cp -r $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/*/etc/* $(CURDIR)/debian/gforge-plugins/usr/share/gforge/etc/
- rm -rf $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/*/etc/*
- rm -rf $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/*/debian
- ln -s /var/lib/gforge/www/plugins $(CURDIR)/debian/gforge-plugins/usr/share/gforge/www
- chown www-data:www-data $(CURDIR)/debian/gforge-plugins/var/lib/gforge/www/plugins
- chmod 755 $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/*/sbin/*
- chmod 755 $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/*/bin/*
- rm -f $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/*/COPYING
+
+ # gforge-plugins-extra
+ cp -r plugins $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/
+ cp -r $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/*/etc/* $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/etc/
+ rm -rf $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/*/etc/*
+ rm -rf $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/*/debian
+ ln -s /var/lib/gforge/www/plugins $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/www
+ chown www-data:www-data $(CURDIR)/debian/gforge-plugins-extra/var/lib/gforge/www/plugins
+ chmod 755 $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/*/sbin/*
+ chmod 755 $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/*/bin/*
+ rm -f $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/*/COPYING
# mediawiki plugin
- cp -r $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/mediawiki/usr $(CURDIR)/debian/gforge-plugins/
- rm -rf $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/mediawiki/usr
- mv $(CURDIR)/debian/gforge-plugins/usr/share/mediawiki1.7/LocalLdapSettings.php \
- $(CURDIR)/debian/gforge-plugins/usr/share/mediawiki1.7/LocalLdapSettings.php.example
- mv $(CURDIR)/debian/gforge-plugins/usr/share/mediawiki1.7/LocalSettings.php \
- $(CURDIR)/debian/gforge-plugins/usr/share/mediawiki1.7/LocalSettings.php.gforge_example
- mv $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/mediawiki/README $(CURDIR)/debian/gforge-plugins/usr/share/doc/gforge-plugins/README.mediawiki
- # scmcvs plugin
- install -m 755 deb-specific/install-cvs.sh $(CURDIR)/debian/gforge-plugins/usr/lib/gforge/bin/
- cp -r deb-specific/scmcvs/cronjobs/* $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/scmcvs/cronjobs
- # scmsvn plugin
- install -m 755 deb-specific/install-svn.sh $(CURDIR)/debian/gforge-plugins/usr/lib/gforge/bin/
- cp -r deb-specific/scmsvn/cronjobs/* $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/scmsvn/cronjobs
+ cp -r $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/mediawiki/usr $(CURDIR)/debian/gforge-plugins-extra/
+ rm -rf $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/mediawiki/usr
+ mv $(CURDIR)/debian/gforge-plugins-extra/usr/share/mediawiki1.7/LocalLdapSettings.php \
+ $(CURDIR)/debian/gforge-plugins-extra/usr/share/mediawiki1.7/LocalLdapSettings.php.example
+ mv $(CURDIR)/debian/gforge-plugins-extra/usr/share/mediawiki1.7/LocalSettings.php \
+ $(CURDIR)/debian/gforge-plugins-extra/usr/share/mediawiki1.7/LocalSettings.php.gforge_example
+ mv $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/mediawiki/README $(CURDIR)/debian/gforge-plugins-extra/usr/share/doc/gforge-plugins-extra/README.mediawiki
# cvstracker plugin
- chmod +x $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/svntracker/postcommit.example
+ chmod +x $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/svntracker/postcommit.example
# fckeditor plugin
- chmod +x $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/fckeditor/www/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl
- chmod +x $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/fckeditor/www/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/*.cgi
+ chmod +x $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/fckeditor/www/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl
+ chmod +x $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/fckeditor/www/editor/filemanager/browser/mcpuk/connectors/php/Commands/helpers/*.cgi
# webcalendar plugin
- mv $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/webcalendar/www/includes/settings.php \
- $(CURDIR)/debian/gforge-plugins/var/lib/gforge/www/plugins/webcalendar/www/includes
- chown www-data $(CURDIR)/debian/gforge-plugins/var/lib/gforge/www/plugins/webcalendar/www/includes/settings.php
- chmod 600 $(CURDIR)/debian/gforge-plugins/var/lib/gforge/www/plugins/webcalendar/www/includes/settings.php
+ mv $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/webcalendar/www/includes/settings.php \
+ $(CURDIR)/debian/gforge-plugins-extra/var/lib/gforge/www/plugins/webcalendar/www/includes
+ chown www-data $(CURDIR)/debian/gforge-plugins-extra/var/lib/gforge/www/plugins/webcalendar/www/includes/settings.php
+ chmod 600 $(CURDIR)/debian/gforge-plugins-extra/var/lib/gforge/www/plugins/webcalendar/www/includes/settings.php
ln -s /var/lib/gforge/www/plugins/webcalendar/www/includes/settings.php \
- $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/webcalendar/www/includes/settings.php
- chmod +x $(CURDIR)/debian/gforge-plugins/usr/share/gforge/plugins/webcalendar/www/tools/*.pl
+ $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/webcalendar/www/includes/settings.php
+ chmod +x $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/webcalendar/www/tools/*.pl
+
+ # Remove files that are in other packages
+ rm -r $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/scmcvs/
+ rm -r $(CURDIR)/debian/gforge-plugins-extra/usr/share/gforge/plugins/scmsvn/
+
+ # gforge-plugin-scmcvs
+ install -m 755 deb-specific/install-cvs.sh $(CURDIR)/debian/gforge-plugin-scmcvs/usr/lib/gforge/bin/
+ cp -r deb-specific/scmcvs/cronjobs/* $(CURDIR)/debian/gforge-plugin-scmcvs/usr/share/gforge/plugins/scmcvs/cronjobs
+ cp -r plugins/scmcvs/bin/* $(CURDIR)/debian/gforge-plugin-scmcvs/usr/lib/gforge/plugins/scmcvs/bin/
+ cp -r plugins/scmcvs/common/* $(CURDIR)/debian/gforge-plugin-scmcvs/usr/share/gforge/plugins/scmcvs/common/
+ cp -r plugins/scmcvs/cronjobs/* $(CURDIR)/debian/gforge-plugin-scmcvs/usr/share/gforge/plugins/scmcvs/cronjobs/
+ cp -r plugins/scmcvs/etc/plugins/scmcvs/* $(CURDIR)/debian/gforge-plugin-scmcvs/etc/gforge/plugins/scmcvs/
+
+ # gforge-plugin-scmsvn
+ install -m 755 deb-specific/install-svn.sh $(CURDIR)/debian/gforge-plugin-scmsvn/usr/lib/gforge/bin/
+ cp -r deb-specific/scmsvn/cronjobs/* $(CURDIR)/debian/gforge-plugin-scmsvn/usr/share/gforge/plugins/scmsvn/cronjobs
+ cp -r plugins/scmsvn/bin/* $(CURDIR)/debian/gforge-plugin-scmsvn/usr/lib/gforge/plugins/scmsvn/bin/
+ cp -r plugins/scmsvn/common/* $(CURDIR)/debian/gforge-plugin-scmsvn/usr/share/gforge/plugins/scmsvn/common/
+ cp -r plugins/scmsvn/cronjobs/* $(CURDIR)/debian/gforge-plugin-scmsvn/usr/share/gforge/plugins/scmsvn/cronjobs/
+ cp -r plugins/scmsvn/etc/plugins/scmsvn/* $(CURDIR)/debian/gforge-plugin-scmsvn/etc/gforge/plugins/scmsvn/
# gforge-common
install -m 644 etc/httpd.d/[0-9][0-9]* $(CURDIR)/debian/gforge-common/usr/share/gforge/etc/httpd.d/
find $(CURDIR)/debian/gforge-common/usr/share/gforge/common -type d -exec chmod 0755 {} \;
find $(CURDIR)/debian/gforge-common/usr/share/gforge/common -type f -exec chmod 0644 {} \;
cp -r locales/* $(CURDIR)/debian/gforge-common/usr/share/locale/
- find $(CURDIR)/debian/gforge-common/ -name .svn -type d | xargs rm -rf
# gforge/debian/gforge-web-apache2
install -m 644 $(CURDIR)/debian/gforge-web-apache2.overrides $(CURDIR)/debian/gforge-web-apache2/usr/share/lintian/overrides/gforge-web-apache2
cp -r www $(CURDIR)/debian/gforge-web-apache2/usr/share/gforge/
install -m 644 deb-specific/index_std.php $(CURDIR)/debian/gforge-web-apache2/etc/gforge/custom/
rm $(CURDIR)/debian/gforge-web-apache2/usr/share/gforge/www/index_std.php
- find $(CURDIR)/debian/gforge-web-apache2/usr/share/gforge/ -name .svn -type d | xargs rm -rf
find $(CURDIR)/debian/gforge-web-apache2 -name \*.uu -type f | xargs rm -f
rm -f $(CURDIR)/debian/gforge-web-apache2/usr/share/gforge/www/themes/gforge/COPYING
find $(CURDIR)/debian/gforge-web-apache2/usr/share/gforge/www -type d -exec chmod 0755 {} \;
# viewvc rights
find $(CURDIR)/debian/gforge-web-apache2/usr/share/gforge/www/scm/viewvc -type f -exec chmod 0644 {} \;
- grep -ri '^#!' $(CURDIR)/debian/gforge-web-apache2/usr/share/gforge/www/scm/viewvc | grep -v '\.svn' | cut -d: -f1 | xargs chmod 0755
+ grep -ril '^#!' $(CURDIR)/debian/gforge-web-apache2/usr/share/gforge/www/scm/viewvc | xargs chmod 0755
# dojo toolkit
#chmod 0755 $(CURDIR)/debian/gforge-web-apache2/usr/share/gforge/www/dojo/src/storage/storage.sh
install -m 755 deb-specific/create-mailing-lists.pl $(CURDIR)/debian/gforge-lists-mailman/usr/lib/gforge/bin/
install -m 755 deb-specific/fix-mailing-lists.pl $(CURDIR)/debian/gforge-lists-mailman/usr/lib/gforge/bin/
+ # Remove potential SCM artefacts from binary packages
+ for i in $(addprefix $(CURDIR)/debian/,$(shell dh_listpackages)) ; do find $$i -name .svn -or -name {arch} -or -name .arch-ids -or -name .bzr | xargs echo rm -rf ; done
+
binary-indep: build install
dh_testdir
dh_testroot
purge)
for flavour in apache apache-perl apache-ssl apache2; do
- [ ! -e /etc/$flavour/conf.d/gforge.httpd.conf ] && rm -f /etc/$flavour/conf.d/gforge.httpd.conf
+ [ -e /etc/$flavour/conf.d/gforge.httpd.conf ] && rm -f /etc/$flavour/conf.d/gforge.httpd.conf
if [ -x /usr/sbin/$flavour ]; then
invoke-rc.d $flavour restart < /dev/null > /dev/null 2>&1 || true
fi
if ($sys_use_scm && !$scm) {
form_release_key(getStringFromRequest("form_key"));
- $feedback .= _('Site has SCM enabled, but no SCM was chosen.');
+ // $feedback .= _('Site has SCM enabled, but no SCM was chosen.');
} else {
$scm_host = $sys_cvs_host;
if ($sys_use_scm && $scm) {