[Fusionforge-commits] FusionForge branch master updated. fbcff8eac594544a7e1c55b1ce205c88c72d65e4

Sylvain Beucler beuc-inria at fusionforge.org
Mon Jan 19 16:26:09 CET 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".

The branch, master has been updated
       via  fbcff8eac594544a7e1c55b1ce205c88c72d65e4 (commit)
       via  da153423a238e050318f6abe5c66de135b0ed929 (commit)
      from  7fd178e5ee123d85a1c1b77d8581636ffcf71de7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit fbcff8eac594544a7e1c55b1ce205c88c72d65e4
Author: Sylvain Beucler <sylvain.beucler at inria.fr>
Date:   Mon Jan 19 16:25:52 2015 +0100

    systasksd: clarify output

diff --git a/src/etc/init.d/fusionforge-systasksd b/src/etc/init.d/fusionforge-systasksd
index c0df8d6..283beb1 100755
--- a/src/etc/init.d/fusionforge-systasksd
+++ b/src/etc/init.d/fusionforge-systasksd
@@ -25,7 +25,7 @@ function check_running() {
 case $1 in
     start)
 	if check_running; then
-	    echo "Already running"
+	    echo "fusionforge-systasksd: already running"
 	else
 	    $DAEMON &
 	    echo $! > $PIDFILE
@@ -34,23 +34,23 @@ case $1 in
 		rm -f $PIDFILE
 		return 1
 	    fi
-	    echo "Started"
+	    echo "fusionforge-systasksd: started"
 	fi
 	;;
     stop)
 	if [ -e $PIDFILE ]; then
 	    kill $(cat $PIDFILE)
 	    rm -f $PIDFILE
-	    echo "Stopped"
+	    echo "fusionforge-systasksd: stopped"
 	else
-	    echo "No PID file, assuming stopped."
+	    echo "fusionforge-systasksd: no PID file, assuming stopped."
 	fi
 	;;
     status)
 	if check_running; then
-	    echo "Running"
+	    echo "fusionforge-systasksd: running"
 	else
-	    echo "Stopped"
+	    echo "fusionforge-systasksd: stopped"
 	    return 3
 	fi
 	;;

commit da153423a238e050318f6abe5c66de135b0ed929
Author: Sylvain Beucler <sylvain.beucler at inria.fr>
Date:   Mon Jan 19 16:13:11 2015 +0100

    reactivity: use textual task identifier to ease debugging and data display

diff --git a/src/bin/systasks_wait_until_empty.php b/src/bin/systasks_wait_until_empty.php
index afa2983..69f188d 100755
--- a/src/bin/systasks_wait_until_empty.php
+++ b/src/bin/systasks_wait_until_empty.php
@@ -37,7 +37,7 @@ do {
 	if ($nb > 0) {
 		echo "systasks_wait_until_empty.php: pending:\n";
 		while ($arr = db_fetch_array($res)) {
-			echo "- {$arr['systask_id']} {$arr['plugin_id']} {$arr['systask_type_id']}"
+			echo "- {$arr['systask_id']} {$arr['plugin_id']} {$arr['systask_type']}"
 				. " {$arr['group_id']} {$arr['user_id']}\n";
 		}
 	}
diff --git a/src/bin/systasksd b/src/bin/systasksd
index 6b6c105..3ab9117 100755
--- a/src/bin/systasksd
+++ b/src/bin/systasksd
@@ -43,12 +43,12 @@ function usergroups_sync() {
 	}
 }
 
-function systask_get_script($plugin_id, $systask_type_id) {
+function systask_get_script($plugin_id, $systask_type) {
 	global $cron_arr;
 	if ($plugin_id == null) {
-		if (isset($cron_arr[$systask_type_id]))
+		if (isset($cron_arr[$systask_type]))
 			return forge_get_config('source_path')
-				.'/cronjobs/'.$cron_arr[$systask_type_id];
+				.'/cronjobs/'.$cron_arr[$systask_type];
 	} else {
 		global $pm;
 		$plugins = $pm->GetPlugins();  // reload in case a new plugin was installed
@@ -58,9 +58,9 @@ function systask_get_script($plugin_id, $systask_type_id) {
 				$pm->LoadPlugin($plugins[$plugin_id]);
 				$plugin = $pm->GetPluginObject($plugins[$plugin_id]);
 			}
-			if (isset($plugin->systask_types[$systask_type_id]))
+			if (isset($plugin->systask_types[$systask_type]))
 				return forge_get_config('plugins_path')."/".$plugin->GetName()
-					."/cronjobs/".$plugin->systask_types[$systask_type_id];
+					."/cronjobs/".$plugin->systask_types[$systask_type];
 		}
 	}
 	return null;
@@ -111,7 +111,7 @@ while (true) {
 		db_reconnect();
 	while ($arr = db_fetch_array($res)) {
 		usergroups_sync();
-		$script = systask_get_script($arr['plugin_id'], $arr['systask_type_id']);
+		$script = systask_get_script($arr['plugin_id'], $arr['systask_type']);
 		if (!file_exists($script))
 			// Not installed on this node, skipping
 			continue;
@@ -119,7 +119,7 @@ while (true) {
 			db_query_params("UPDATE systasks SET status=$1, error_message=$2"
 							. " WHERE systask_id=$3",
 							array('ERROR',
-								  "Cron job {$arr['plugin_id']}/{$arr['systask_type_id']}"
+								  "Cron job {$arr['plugin_id']}/{$arr['systask_type']}"
 								  . " '$script' not executable.\n",
 								  $arr['systask_id']));
 			continue;
diff --git a/src/common/include/RBAC.php b/src/common/include/RBAC.php
index d002c8c..bc58c48 100644
--- a/src/common/include/RBAC.php
+++ b/src/common/include/RBAC.php
@@ -230,7 +230,7 @@ abstract class BaseRole extends Error {
 		}
 
 		$systasksq = new SysTasksQ();
-		$systasksq->add(SYSTASK_CORE, SYSTASK_SCM_REPO, $project->getID());
+		$systasksq->add(SYSTASK_CORE, 'SCM_REPO', $project->getID());
 
 		return true ;
 	}
@@ -266,7 +266,7 @@ abstract class BaseRole extends Error {
 		plugin_hook ("role_unlink_project", $hook_params);
 
 		$systasksq = new SysTasksQ();
-		$systasksq->add(SYSTASK_CORE, SYSTASK_SCM_REPO, $project->getID());
+		$systasksq->add(SYSTASK_CORE, 'SCM_REPO', $project->getID());
 
 		return true ;
 	}
@@ -889,7 +889,7 @@ abstract class BaseRole extends Error {
 
 		$systasksq = new SysTasksQ();
 		foreach ($this->getLinkedProjects() as $project) {
-			$systasksq->add(SYSTASK_CORE, SYSTASK_SCM_REPO, $project->getID());
+			$systasksq->add(SYSTASK_CORE, 'SCM_REPO', $project->getID());
 		}
 
 		return true;
diff --git a/src/common/include/SCMPlugin.class.php b/src/common/include/SCMPlugin.class.php
index 2c82d1b..eddf97a 100644
--- a/src/common/include/SCMPlugin.class.php
+++ b/src/common/include/SCMPlugin.class.php
@@ -53,7 +53,7 @@ abstract class SCMPlugin extends Plugin {
 		switch ($hookname) {
 			case 'group_plugin_use': {
 				$systasksq = new SysTasksQ();
-				$systasksq->add(SYSTASK_CORE, SYSTASK_SCM_REPO, $params['group_id']);
+				$systasksq->add(SYSTASK_CORE, 'SCM_REPO', $params['group_id']);
 				break;
 			}
 			case 'scm_plugin': {
diff --git a/src/common/include/SysTasksQ.class.php b/src/common/include/SysTasksQ.class.php
index d1bc4ea..4106351 100644
--- a/src/common/include/SysTasksQ.class.php
+++ b/src/common/include/SysTasksQ.class.php
@@ -21,20 +21,19 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
+# Default category (plugin_id field)
 define('SYSTASK_CORE', null);
-define('SYSTASK_HOMEDIR', 25);
-define('SYSTASK_SCM_REPO', 27);
 
 class SysTasksQ extends Error {
-		function add($plugin_id, $systask_type_id, $group_id, $user_id=null) {
+		function add($plugin_id, $systask_type, $group_id, $user_id=null) {
 				$res = db_query_params('INSERT INTO systasks (
 				    plugin_id,
-				    systask_type_id,
+				    systask_type,
 				    group_id,
 				    user_id,
 				    requested
 				  ) VALUES ($1, $2, $3, $4, now())',
-				  array($plugin_id, $systask_type_id, $group_id, $user_id));
+				  array($plugin_id, $systask_type, $group_id, $user_id));
 				if (!$res || db_affected_rows($res) < 1) {
 						$this->setError(sprintf(_('Error: Cannot create system action: %s'),
 												db_error()));
diff --git a/src/common/include/System.class.php b/src/common/include/System.class.php
index 29e3746..f26610f 100644
--- a/src/common/include/System.class.php
+++ b/src/common/include/System.class.php
@@ -76,7 +76,7 @@ class System extends Error {
 			return false;
 		} else {
 			$systasksq = new SysTasksQ();
-			$systasksq->add(SYSTASK_CORE, SYSTASK_HOMEDIR, null, $user_id);
+			$systasksq->add(SYSTASK_CORE, 'HOMEDIR', null, $user_id);
 			return true;
 		}
 	}
diff --git a/src/common/include/cron_utils.php b/src/common/include/cron_utils.php
index e734a60..12eeb96 100644
--- a/src/common/include/cron_utils.php
+++ b/src/common/include/cron_utils.php
@@ -26,42 +26,43 @@
 //	This key id# is important - do not change or renumber
 //
 require_once $gfcommon.'include/SysTasksQ.class.php';
-$cron_arr = array();
-$cron_arr[0]='unused';
-$cron_arr[1]='db/calculate_user_metric.php';
-$cron_arr[2]='db/check_stale_tracker_items.php';
-$cron_arr[3]='db/db_project_sums.php';
-$cron_arr[4]='db/db_stats_agg.php';
-$cron_arr[5]='db/db_trove_maint.php';
-$cron_arr[6]='db/massmail.php';
-$cron_arr[7]='db/project_cleanup.php';
-$cron_arr[8]='db/project_weekly_metric.php';
-$cron_arr[9]='db/rating_stats.php';
-$cron_arr[10]='db/rotate_activity.php';
-$cron_arr[11]='db/site_stats.php';
-$cron_arr[12]='db/vacuum.php';
-#$cron_arr[13]='cvs.php';
-#$cron_arr[14]='history_parse.php';
-#$cron_arr[15]='ssh_create.php';
-#$cron_arr[16]='usergroup.php';
-#$cron_arr[17]='misc/mailaliases.php';
-$cron_arr[18]='lists/mailing_lists_create.php';
-#$cron_arr[19]='tarballs.php';
-$cron_arr[20]='db/reporting_cron.php';
-#$cron_arr[21]='create_svn.php';
-$cron_arr[22]='db/daily_task_email.php';
-#$cron_arr[23]='misc/backup_site.php';
-#$cron_arr[24]='svn-stats.php';
-$cron_arr[SYSTASK_HOMEDIR]='shell/homedirs.php';
-#$cron_arr[26]='update_users.php';
-$cron_arr[SYSTASK_SCM_REPO]='scm/create_scm_repos.php';
-$cron_arr[28]='scm/gather_scm_stats.php';
-#$cron_arr[29]='weekly.php';
-$cron_arr[30]='web-vhosts/create_vhosts.php';
+$cron_arr = array(
+	 0 => 'unused',
+	 1 => 'db/calculate_user_metric.php',
+	 2 => 'db/check_stale_tracker_items.php',
+	 3 => 'db/db_project_sums.php',
+	 4 => 'db/db_stats_agg.php',
+	 5 => 'db/db_trove_maint.php',
+	 6 => 'db/massmail.php',
+	 7 => 'db/project_cleanup.php',
+	 8 => 'db/project_weekly_metric.php',
+	 9 => 'db/rating_stats.php',
+	10 => 'db/rotate_activity.php',
+	11 => 'db/site_stats.php',
+	12 => 'db/vacuum.php',
+	18 => 'lists/mailing_lists_create.php',
+	20 => 'db/reporting_cron.php',
+	22 => 'db/daily_task_email.php',
+	'HOMEDIR' => 'shell/homedirs.php',  # 25
+	'SCM_REPO' => 'scm/create_scm_repos.php',  # 27
+	28 => 'scm/gather_scm_stats.php',
+	30 => 'web-vhosts/create_vhosts.php',
+	);
 
-#$cron_arr[901]='create_groups.php';
-#$cron_arr[902]='mailing_lists_index.php';
-#$cron_arr[903]='job-server.pl';
+#	 13 => 'cvs.php',
+#	 14 => 'history_parse.php',
+#	 15 => 'ssh_create.php',
+#	 16 => 'usergroup.php',
+#	 17 => 'misc/mailaliases.php',
+#	 19 => 'tarballs.php',
+#	 21 => 'create_svn.php',
+#	 23 => 'misc/backup_site.php',
+#	 24 => 'svn-stats.php',
+#	 26 => 'update_users.php',
+#	 29 => 'weekly.php',
+#    901 => 'create_groups.php';
+#    902 => 'mailing_lists_index.php';
+#    903 => 'job-server.pl';
 
 function cron_entry($job,$output) {
 	$sql='INSERT INTO cron_history (rundate,job,output)
diff --git a/src/cronjobs/scm/create_scm_repos.php b/src/cronjobs/scm/create_scm_repos.php
index 5e69be8..c976556 100755
--- a/src/cronjobs/scm/create_scm_repos.php
+++ b/src/cronjobs/scm/create_scm_repos.php
@@ -38,8 +38,8 @@ session_set_admin ();
 
 setup_plugin_manager();
 
-$res = db_query_params('SELECT systask_id, group_id FROM systasks WHERE status=$1 AND systask_type_id=$2',
-                       array('WIP', SYSTASK_SCM_REPO));
+$res = db_query_params('SELECT systask_id, group_id FROM systasks WHERE status=$1 AND systask_type=$2',
+                       array('WIP', 'SCM_REPO'));
 if (!$res) {
 	$this->setError('Unable to get list of projects using SCM: '.db_error());
 	return false;
@@ -56,7 +56,7 @@ $hook_params = array ('output' => '') ;
 plugin_hook_by_reference ('scm_update_repolist', $hook_params) ;
 $output .= $hook_params['output'];
 
-cron_entry(SYSTASK_SCM_REPO, $output);
+cron_entry(27, $output);
 
 // Local Variables:
 // mode: php
diff --git a/src/db/20141210-systasks.sql b/src/db/20141210-systasks.sql
index aae9b14..245b162 100644
--- a/src/db/20141210-systasks.sql
+++ b/src/db/20141210-systasks.sql
@@ -9,7 +9,7 @@ CREATE TYPE systask_status AS ENUM ('TODO', 'WIP', 'DONE', 'ERROR');
 CREATE TABLE systasks (
     systask_id       SERIAL PRIMARY KEY,
     plugin_id        integer REFERENCES plugins ON DELETE CASCADE,
-    systask_type_id  integer NOT NULL,
+    systask_type     text NOT NULL,
     group_id         integer REFERENCES groups ON DELETE CASCADE,
     user_id          integer REFERENCES users ON DELETE CASCADE,
     status           systask_status DEFAULT 'TODO' NOT NULL,
diff --git a/src/plugins/mediawiki/common/mediawikiPlugin.class.php b/src/plugins/mediawiki/common/mediawikiPlugin.class.php
index 6f78893..1828bbd 100644
--- a/src/plugins/mediawiki/common/mediawikiPlugin.class.php
+++ b/src/plugins/mediawiki/common/mediawikiPlugin.class.php
@@ -33,13 +33,11 @@ forge_define_config_item('enable_uploads', 'mediawiki', false);
 forge_set_config_item_bool('enable_uploads', 'mediawiki');
 }
 require_once $gfcommon.'include/SysTasksQ.class.php';
-define('SYSTASK_MEDIAWIKI_CREATE_WIKI', 1);
-define('SYSTASK_MEDIAWIKI_CREATE_IMAGEDIR', 2);
 
 class MediaWikiPlugin extends Plugin {
 	public $systask_types = array(
-		SYSTASK_MEDIAWIKI_CREATE_WIKI => 'create-wikis.php',
-		SYSTASK_MEDIAWIKI_CREATE_IMAGEDIR => 'create-imagedirs.php'
+		'MEDIAWIKI_CREATE_WIKI' => 'create-wikis.php',
+		'MEDIAWIKI_CREATE_IMAGEDIR' => 'create-imagedirs.php'
 	);
 
 	function __construct ($id=0) {
@@ -63,13 +61,13 @@ _("This plugin allows each project to embed Mediawiki under a tab.");
 		$this->_addHook("clone_project_from_template") ;
 		$this->_addHook('group_delete');
 	}
-
-        function process() {
+	
+	function process() {
 		echo '<h1>Mediawiki</h1>';
 		echo $this->getPluginInfo()->getpropVal('answer');
-        }
+	}
 
-        function &getPluginInfo() {
+	function &getPluginInfo() {
 		if (!is_a($this->pluginInfo, 'MediaWikiPluginInfo')) {
 			require_once 'MediaWikiPluginInfo.class.php';
 			$this->pluginInfo = new MediaWikiPluginInfo($this);
@@ -380,8 +378,8 @@ _("This plugin allows each project to embed Mediawiki under a tab.");
 			if (getIntFromRequest('use_mediawiki') == 1) {
 				$systasksq = new SystasksQ();
 				$group_id = $params['group'];
-				$systasksq->add($this->getID(), SYSTASK_MEDIAWIKI_CREATE_WIKI, $group_id);
-				$systasksq->add($this->getID(), SYSTASK_MEDIAWIKI_CREATE_IMAGEDIR, $group_id);
+				$systasksq->add($this->getID(), 'MEDIAWIKI_CREATE_WIKI', $group_id);
+				$systasksq->add($this->getID(), 'MEDIAWIKI_CREATE_IMAGEDIR', $group_id);
 			}
 			return true;
 	}
diff --git a/src/plugins/scmgit/www/index.php b/src/plugins/scmgit/www/index.php
index b8e8e6f..69954d3 100644
--- a/src/plugins/scmgit/www/index.php
+++ b/src/plugins/scmgit/www/index.php
@@ -72,7 +72,7 @@ case 'request-personal-repo':
 								$user->getID(),
 								$plugin_id));
 
-				$systasksq->add(SYSTASK_CORE, SYSTASK_SCM_REPO, $group_id);
+				$systasksq->add(SYSTASK_CORE, 'SCM_REPO', $group_id);
 				scm_header(array('title' => _('SCM Repository'), 'group' => $group_id));
 				echo _('You have now requested a personal Git repository for this project.  It will be created shortly.');
 				scm_footer();
diff --git a/src/www/my/systasks.php b/src/www/my/systasks.php
index 0456d24..ba9496a 100644
--- a/src/www/my/systasks.php
+++ b/src/www/my/systasks.php
@@ -52,7 +52,7 @@ $gids = implode(',', $gids);
 $title_arr = array(
 	_('Task ID'),
 	_('Plugin'),
-	_('SysTask Type ID'),
+	_('SysTask Type'),
 	_('Group ID'),
 	_('Status'),
 	_('Requested'),
@@ -63,7 +63,7 @@ $title_arr = array(
 echo $HTML->listTableTop($title_arr);
 $query = "
 SELECT systask_id, unix_group_name,
-plugin_name, systasks.status,
+plugin_name, systask_type, systasks.status,
     EXTRACT(epoch FROM requested) AS requested,
     EXTRACT(epoch FROM started) AS started,
     EXTRACT(epoch FROM stopped) AS stopped,
@@ -83,7 +83,7 @@ for ($i=0; $i<db_numrows($res); $i++) {
 		$cells[][] = 'core';
 	else
 		$cells[][] = $plugin_name;
-	$cells[][] = db_result($res,$i,'systask_type_id');
+	$cells[][] = db_result($res,$i,'systask_type');
 	$cells[][] = db_result($res,$i,'unix_group_name');
 	$cells[][] = db_result($res,$i,'status');
 	$cells[][] = date("H:i:s", db_result($res, $i,'requested'));
diff --git a/src/www/scm/admin/index.php b/src/www/scm/admin/index.php
index d4533b7..95e342d 100644
--- a/src/www/scm/admin/index.php
+++ b/src/www/scm/admin/index.php
@@ -70,7 +70,7 @@ if (getStringFromRequest('create_repository') && getStringFromRequest('submit'))
 	}
 	else {
 		$feedback = sprintf(_('New repository %s registered, will be created shortly.'), $repo_name);
-		$systasksq->add(SYSTASK_CORE, SYSTASK_SCM_REPO, $group_id);
+		$systasksq->add(SYSTASK_CORE, 'SCM_REPO', $group_id);
 	}
 } elseif (getStringFromRequest('delete_repository') && getStringFromRequest('submit')) {
 	$repo_name = trim(getStringFromRequest('repo_name'));
@@ -86,7 +86,7 @@ if (getStringFromRequest('create_repository') && getStringFromRequest('submit'))
 	}
 	else {
 		$feedback = sprintf(_('Repository %s is marked for deletion (actual deletion will happen shortly).'), $repo_name);
-		$systasksq->add(SYSTASK_CORE, SYSTASK_SCM_REPO, $group_id);
+		$systasksq->add(SYSTASK_CORE, 'SCM_REPO', $group_id);
 	}
 } elseif (getStringFromRequest('submit')) {
 	$hook_params = array();

-----------------------------------------------------------------------

Summary of changes:
 src/bin/systasks_wait_until_empty.php              |    2 +-
 src/bin/systasksd                                  |   14 ++--
 src/common/include/RBAC.php                        |    6 +-
 src/common/include/SCMPlugin.class.php             |    2 +-
 src/common/include/SysTasksQ.class.php             |    9 ++-
 src/common/include/System.class.php                |    2 +-
 src/common/include/cron_utils.php                  |   71 ++++++++++----------
 src/cronjobs/scm/create_scm_repos.php              |    6 +-
 src/db/20141210-systasks.sql                       |    2 +-
 src/etc/init.d/fusionforge-systasksd               |   12 ++--
 .../mediawiki/common/mediawikiPlugin.class.php     |   18 +++--
 src/plugins/scmgit/www/index.php                   |    2 +-
 src/www/my/systasks.php                            |    6 +-
 src/www/scm/admin/index.php                        |    4 +-
 14 files changed, 77 insertions(+), 79 deletions(-)


hooks/post-receive
-- 
FusionForge



More information about the Fusionforge-commits mailing list