[X2Go-Commits] [x2goserver] 01/01: x2gogetapps: Support scanning of sub-directories when searching for .desktop files. (Fixes: #633).

git-admin at x2go.org git-admin at x2go.org
Wed Oct 8 13:05:34 CEST 2014


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch release/4.0.1.x
in repository x2goserver.

commit 14f941d501585523a4eeaaea20a5549803b4a5a4
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Wed Oct 8 12:49:25 2014 +0200

    x2gogetapps: Support scanning of sub-directories when searching for .desktop files. (Fixes: #633).
---
 debian/changelog           |    3 +++
 x2goserver/bin/x2gogetapps |   24 +++++++++++++-----------
 2 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index abac25d..59d8cce 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,9 @@ x2goserver (4.0.1.19-0x2go1) UNRELEASED; urgency=medium
       eq).
     - Xsession script: Prevent bash failures when sourcing external bash
       scripts beyond our scope. (Fixes: #632).
+    - x2gogetapps: Support scanning of sub-directories when searching for
+      .desktop files. We allow to dive down one level into subdirs, we on
+      purpose do not recursively dive into the complete subtree. (Fixes: #633).
   * debian/control:
     + Add D (x2goserver): libfile-which-perl.
   * x2goserver.spec:
diff --git a/x2goserver/bin/x2gogetapps b/x2goserver/bin/x2gogetapps
index 9a760c0..c8d5ed1 100755
--- a/x2goserver/bin/x2gogetapps
+++ b/x2goserver/bin/x2gogetapps
@@ -184,21 +184,23 @@ my ($name, $pass, $uid, $gid, $quota, $comment, $gcos, $homedir, $shell, $expire
 @dirs[2]="$homedir/.x2go/applications";
 foreach(@dirs)
 {
-	my $dirname=$_;
-	if( opendir(DIR, $dirname))
-	{
-		while (defined($file = readdir(DIR))) 
+	my $basedir=$_;
+	opendir my $basedh, $basedir;
+
+	for my $dirname (grep {-d "$basedir/$_" && ! /^\.{2}$/} readdir($basedh)) {
+		if( opendir(DIR, "$basedir/$dirname"))
 		{
-			if($file =~ m/.desktop/)
+			while (defined($file = readdir(DIR))) 
 			{
-				proc_desktop_file("$dirname/$file");
+				if($file =~ m/.desktop/)
+				{
+					proc_desktop_file("$basedir/$dirname/$file");
+				}
 			}
+			closedir(DIR);
+		} else {
+			syslog ('info', "x2gogetapps - can't opendir $basedir/$dirname: $!");
 		}
-		closedir(DIR);
-	}
-	else
-	{
-		syslog ('info', "x2gogetapps - can't opendir $dirname: $!");
 	}
 }
 # closing syslog 

--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git


More information about the x2go-commits mailing list