| author | Charles Plessy <plessy@debian.org> | |
| Thu, 26 Jul 2012 00:09:41 +0000 (09:09 +0900) | ||
| committer | Charles Plessy <plessy@debian.org> | |
| Thu, 26 Jul 2012 00:09:41 +0000 (09:09 +0900) |
* Adopted by László Böszörményi and Charles Plessy. (Closes: #681640)
* Manage the source package with Git in Alioth collab-maint's group.
(Closes: #682745)
* Parse Desktop entries to generate mailcap entries. Patch from Brian M. Carlson.
(Closes: #497779)
* Trigger update-mime for Desktop entry files added in /usr/share/applications.
-- Charles Plessy <plessy@debian.org> Thu, 26 Jul 2012 07:29:22 +0900
This was really uploaded to experimental as intended.
* Manage the source package with Git in Alioth collab-maint's group.
(Closes: #682745)
* Parse Desktop entries to generate mailcap entries. Patch from Brian M. Carlson.
(Closes: #497779)
* Trigger update-mime for Desktop entry files added in /usr/share/applications.
-- Charles Plessy <plessy@debian.org> Thu, 26 Jul 2012 07:29:22 +0900
This was really uploaded to experimental as intended.
| debian/changelog | patch | blob | history | |
| debian/control | patch | blob | history | |
| debian/debhelper.log | patch | blob | history | |
| debian/triggers | patch | blob | history | |
| update-mime | patch | blob | history |
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
+mime-support (3.53~experimental1) unstable; urgency=low
+
+ * Adopted by László Böszörményi and Charles Plessy. (Closes: #681640)
+ * Manage the source package with Git in Alioth collab-maint's group.
+ (Closes: #682745)
+ * Parse Desktop entries to generate mailcap entries. Patch from Brian M. Carlson.
+ (Closes: #497779)
+ * Trigger update-mime for Desktop entry files added in /usr/share/applications.
+
+ -- Charles Plessy <plessy@debian.org> Thu, 26 Jul 2012 07:29:22 +0900
+
mime-support (3.52-1) unstable; urgency=low
* removed application/x-httpd-* types (closes: 589384)
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
Build-Depends: debhelper
Section: net
Priority: standard
-Maintainer: Brian White <bcwhite@pobox.com>
+Maintainer: Mime-Support Maintainers <mime-support@plessy.org>
+Uploaders:
+ Laszlo Boszormenyi (GCS) <gcs@debian.hu>,
+ Charles Plessy <plessy@debian.org>,
Standards-Version: 3.1.1.1
+Vcs-Browser: http://git.debian.org/?p=collab-maint/mime-support.git
+Vcs-Git: git://git.debian.org/collab-maint/mime-support.git
Package: mime-support
Architecture: all
diff --git a/debian/debhelper.log b/debian/debhelper.log
--- a/debian/debhelper.log
+++ b/debian/debhelper.log
dh_md5sums
dh_md5sums
dh_md5sums
+dh_md5sums
diff --git a/debian/triggers b/debian/triggers
--- a/debian/triggers
+++ b/debian/triggers
interest /usr/lib/mime/packages
+interest /usr/share/applications
diff --git a/update-mime b/update-mime
--- a/update-mime
+++ b/update-mime
$mailcap = "/etc/mailcap";
$mailcapdef = "/usr/lib/mime/mailcap";
$mimedir = "/usr/lib/mime/packages";
+$appsdir = "/usr/share/applications";
$orderfile = "/etc/mailcap.order";
$defpriority = 5;
$localgen = 0;
%packages;
%priorities;
@order;
-
+$counter=1;
sub ReadEntries
{
- my($pkg,$priority,$counter);
-
- $counter=1;
+ my($pkg,$priority);
# foreach $file (glob "$mimedir/*") {
foreach $file (map { glob $_.'/*' } split ':',$mimedir) {
}
}
+sub RecurseIntoDirectories
+{
+ my @files;
+ foreach my $dir (@_) {
+ next if ($dir =~ m!(^|/)(\.|\#)|(\~)$!);
+ my @entries = glob "$dir/*";
+ push @files, RecurseIntoDirectories(grep { -d $_ } @entries);
+ push @files, grep { -f $_ } @entries;
+ }
+ return @files;
+}
+
+sub ReadDesktopEntries
+{
+ my($pkg,$priority);
+
+ foreach $file (RecurseIntoDirectories(split ':',$appsdir)) {
+ next if ($file =~ m!(^|/)(\.|\#)|(\~)$!);
+ next unless ($file =~ m/\.desktop$/);
+ ($pkg) = ($file =~ m|/([^/]*)\.desktop$|);
+ print STDERR "$pkg:\n" if $debug;
+
+ next if (defined $packages{$pkg});
+ $packages{$pkg} = [];
+
+ if (open(FILE,"<$file")) {
+ my($terminal, $exec, @types) = ("test=test -n \"\$DISPLAY\"");
+ while (<FILE>) {
+ chomp;
+ next if (m/^\s*$|^\s*\#/);
+ if (m/^Terminal=(\w+)/i) {
+ $terminal = "needsterminal" if ($1 eq "true");
+ }
+ elsif (m/Exec=(.*)$/i) {
+ $exec = $1;
+ $exec =~ s/%[fFuU]/%s/g;
+ $exec .= " %s" if ($exec !~ m/%s/);
+ }
+ elsif (m/MimeType=(.*)/i) {
+ push @types, split(/;/, $1);
+ }
+ }
+ if (!defined($exec) || !scalar(@types)) {
+ close(FILE);
+ next;
+ }
+ foreach $type (@types) {
+ my $entry = "$type; $exec; $terminal";
+ $priority=$defpriority;
+ $entries{$counter} = $entry;
+ push @{$packages{$pkg}},$counter;
+ push @{$priorities{$priority}},$counter;
+ print STDERR "$counter: $entry\n" if $debug;
+ $counter++;
+ }
+ close(FILE);
+ } else {
+ print STDERR "Warning: could not open file '$file' -- $!\n";
+ }
+ }
+}
sub ReadOrder
ReadEntries();
+ReadDesktopEntries();
ReadOrder();
@list = OrderEntries();
UpdateMailcap(@list);
