r17025 - in /packages/experimental/gnome-app-install/debian: changelog control.in links patches/06_remove-codec-installation.patch
slomo at users.alioth.debian.org
slomo at users.alioth.debian.org
Sun Sep 21 13:49:16 UTC 2008
Author: slomo
Date: Sun Sep 21 13:49:16 2008
New Revision: 17025
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=17025
Log:
* debian/patches/06_remove-codec-installation.patch,
debian/links,
debian/control.in:
+ Remove gstreamer codec installation from gnome-app-install. This is now
handled by gnome-codec-install.
Added:
packages/experimental/gnome-app-install/debian/patches/06_remove-codec-installation.patch
Modified:
packages/experimental/gnome-app-install/debian/changelog
packages/experimental/gnome-app-install/debian/control.in
packages/experimental/gnome-app-install/debian/links
Modified: packages/experimental/gnome-app-install/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/gnome-app-install/debian/changelog?rev=17025&op=diff
==============================================================================
--- packages/experimental/gnome-app-install/debian/changelog (original)
+++ packages/experimental/gnome-app-install/debian/changelog Sun Sep 21 13:49:16 2008
@@ -1,3 +1,13 @@
+gnome-app-install (0.5.5.1-2) experimental; urgency=low
+
+ * debian/patches/06_remove-codec-installation.patch,
+ debian/links,
+ debian/control.in:
+ + Remove gstreamer codec installation from gnome-app-install. This is now
+ handled by gnome-codec-install.
+
+ -- Sebastian Dröge <slomo at debian.org> Mon, 11 Aug 2008 19:27:25 +0200
+
gnome-app-install (0.5.5.1-1) unstable; urgency=low
[ Josselin Mouette ]
Modified: packages/experimental/gnome-app-install/debian/control.in
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/gnome-app-install/debian/control.in?rev=17025&op=diff
==============================================================================
--- packages/experimental/gnome-app-install/debian/control.in (original)
+++ packages/experimental/gnome-app-install/debian/control.in Sun Sep 21 13:49:16 2008
@@ -30,7 +30,6 @@
python-gnome2,
python-gtkhtml2,
python-gtkmozembed,
- python-gst0.10,
python-gtk2 (>= 2.10.1),
python-sexy,
python-xdg (>= 0.8),
@@ -38,4 +37,4 @@
XB-Python-Version: ${python:Versions}
Description: GNOME Application Installer
A pretty application installer for GNOME. It can also search for mime
- types or GStreamer codecs.
+ types.
Modified: packages/experimental/gnome-app-install/debian/links
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/gnome-app-install/debian/links?rev=17025&op=diff
==============================================================================
--- packages/experimental/gnome-app-install/debian/links (original)
+++ packages/experimental/gnome-app-install/debian/links Sun Sep 21 13:49:16 2008
@@ -1,2 +1,0 @@
-usr/bin/gnome-app-install usr/bin/gnome-codec-install
-usr/share/man/man1/gnome-app-install.1.gz usr/share/man/man1/gnome-codec-install.1.gz
Added: packages/experimental/gnome-app-install/debian/patches/06_remove-codec-installation.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/packages/experimental/gnome-app-install/debian/patches/06_remove-codec-installation.patch?rev=17025&op=file
==============================================================================
--- packages/experimental/gnome-app-install/debian/patches/06_remove-codec-installation.patch (added)
+++ packages/experimental/gnome-app-install/debian/patches/06_remove-codec-installation.patch Sun Sep 21 13:49:16 2008
@@ -1,0 +1,547 @@
+diff -Naur gnome-app-install-0.5.5.1.old/AppInstall/activation.py gnome-app-install-0.5.5.1/AppInstall/activation.py
+--- gnome-app-install-0.5.5.1.old/AppInstall/activation.py 2008-06-13 17:37:17.000000000 +0200
++++ gnome-app-install-0.5.5.1/AppInstall/activation.py 2008-09-21 15:37:27.000000000 +0200
+@@ -40,9 +40,6 @@
+ return False
+ def menuCacheName(self):
+ """ Each activation-mode can have a different cached menu
+- This is useful for e.g. codec activation style because
+- there are only very few codecs so it makes sense to read
+- only the subset of the menu with codec information
+ """
+ return "menu.p"
+ def searchTerms(self):
+@@ -141,112 +138,6 @@
+ _("Please wait. This might take a "
+ "minute or two.")))
+
+-class CodecSearchActivationStyle(SearchActivationStyle):
+- def __init__(self, options, args):
+- SearchActivationStyle.__init__(self, 'codec', options)
+- self._codecs = []
+- self._args = args
+- self.options = options
+- # Points to the SHOW_ALL filter, importing Menu would take too much time
+- self.menuFilter = 0
+- self.isInstallerOnly = True
+-
+- def _parseArgs(self):
+- " helper that tries to decode the commandline"
+- for arg in self._args:
+- # we get a string like this:
+- #gstreamer.net|0.10|totem|DivX MPEG-4 Version 5 decoder|decoder-video/x-divx, divxversion=(int)5 (DivX MPEG-4 Version 5 decoder)
+- try:
+- (origin,version,app,descr,search_token) = arg.split("|")
+- except ValueError, e:
+- sys.stderr.write("invalid commandline '%s' (%s)\n" % (arg, e))
+- return False
+- self.addSearchTerm("%s:%s" % (version, search_token))
+- return True
+-
+- def preRun(self):
+- if self._parseArgs():
+- if not askConfirmation(_("Search for suitable codec?"),
+- _("The required software to play this "
+- "file is not installed. You need to install "
+- "suitable codecs to play "
+- "media files. Do you want to search for a codec "
+- "that supports the selected file?\n\n"
+- "The search will also include software which is not "
+- "officially supported."),
+- self.options.transient_for):
+- sys.exit(4)
+- else:
+- import gtk
+- abbrev = _("Invalid commandline")
+- msg = _("'%s' does not understand the commandline argument '%s'" % (sys.argv[0], self._args))
+- dlg = gtk.MessageDialog(None,
+- gtk.DIALOG_MODAL,
+- gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
+- abbrev)
+- dlg.format_secondary_text(msg)
+- dlg.run()
+- dlg.destroy()
+- sys.exit(1)
+- return True
+-
+- def modifyUserInterface(self, app):
+- import gtk
+- SearchActivationStyle.modifyUserInterface(self, app)
+- #FIXME: second message needs some love
+- app.label_progress.set_markup("<big><b>%s</b></big>\n\n%s" %
+- (_("Searching for appropriate "
+- "codecs"),
+- _("Please wait. This might take a "
+- "minute or two.")))
+- app.hbox_search_show.hide()
+- app.button_ok.set_label(_("_Install"))
+- app.window_main.set_title(_("Install multimedia codecs"))
+- app.window_main.set_property("default_width", 500)
+- app.window_main.set_property("default_height", 400)
+- col = app.treeview_packages.get_column(1)
+- col.set_title(_("Codec"))
+- model = app.treeview_packages.get_model()
+- model.set_sort_column_id(2, gtk.SORT_DESCENDING)
+-
+- def menuCacheName(self):
+- return "codec_menu.p"
+-
+- def addSearchTerm(self, string):
+- #print "addSearchTerm: ", string
+- # we split the string here for the gstreamer caps support
+- # we get something like:
+- # 'decoder-video/x-indeo, indeoversion=(int)3'
+- # and we will only compare the first bit as the later requires
+- # more python-gst support and that is slow. but we want to
+- # give the user fast results (even if we sometimes come up
+- # with a window saying "no applications found"
+- string = string.replace(", ",",")
+- #Skip the description from the search token
+- string = string.split(" ")[0]
+- self._codecs.append(string)
+- (ok,unapproved,abbrev,msg) = self.lookup(string.split(",")[0])
+- if ok: return
+- print >>sys.stderr, abbrev
+- #sys.exit(9 - unapproved)
+- sys.exit(1)
+-
+- def searchTerms(self): return self._codecs
+- def selectFilter(self, menu): return menu._codecMatch
+-
+- def quitHook(self):
+- if not self._userapproved:
+- print >>sys.stderr, _("additional codec installation declined")
+- #sys.exit(3)
+- sys.exit(4)
+- if not self._changessuccessful:
+- print >>sys.stderr, _("additional codec installation failed")
+- sys.exit(2)
+-
+- def autoClose(self):
+- " auto close the app on successful codec installs "
+- return True
+-
+ class MimeSearchActivationStyle(SearchActivationStyle):
+ def __init__(self, options, uri, duri):
+ SearchActivationStyle.__init__(self, 'mime', options)
+@@ -425,9 +316,7 @@
+ app.applyChanges([item], [])
+
+ # activation style
+- if sys.argv[0].split("/")[-1] == "gnome-codec-install":
+- style = CodecSearchActivationStyle(options, args)
+- elif options.mime_type:
++ if options.mime_type:
+ #FIXME: What is an uri, duri?
+ uri = None
+ duri = None
+diff -Naur gnome-app-install-0.5.5.1.old/AppInstall/AppInstall.py gnome-app-install-0.5.5.1/AppInstall/AppInstall.py
+--- gnome-app-install-0.5.5.1.old/AppInstall/AppInstall.py 2008-06-13 17:37:16.000000000 +0200
++++ gnome-app-install-0.5.5.1/AppInstall/AppInstall.py 2008-09-21 15:40:57.000000000 +0200
+@@ -656,7 +656,7 @@
+
+ def _ensureUnsupportedOrLegalWarning(self, item):
+ """ warn:
+- - on potential legal problems (codecs) always
++ - on potential legal problems always
+ - when a universe or multiverse package is installed for
+ the first time
+ """
+diff -Naur gnome-app-install-0.5.5.1.old/AppInstall/CoreMenu.py gnome-app-install-0.5.5.1/AppInstall/CoreMenu.py
+--- gnome-app-install-0.5.5.1.old/AppInstall/CoreMenu.py 2008-06-13 17:37:16.000000000 +0200
++++ gnome-app-install-0.5.5.1/AppInstall/CoreMenu.py 2008-09-21 15:42:27.000000000 +0200
+@@ -109,7 +109,6 @@
+ item.iconname = item.iconname[:-4]
+ item.comment = entry.DesktopEntry.getComment()
+ item.mime = entry.DesktopEntry.get('MimeType', list=True)
+- item.codecs = entry.DesktopEntry.get("X-AppInstall-Codecs").split(';')
+ item.patentBadness = entry.DesktopEntry.get("X-AppInstall-PatentBadness", type='boolean')
+ # popcon data
+ popcon_str = entry.DesktopEntry.get("X-AppInstall-Popcon")
+diff -Naur gnome-app-install-0.5.5.1.old/AppInstall/Menu.py gnome-app-install-0.5.5.1/AppInstall/Menu.py
+--- gnome-app-install-0.5.5.1.old/AppInstall/Menu.py 2008-06-13 17:37:17.000000000 +0200
++++ gnome-app-install-0.5.5.1/AppInstall/Menu.py 2008-09-21 15:45:54.000000000 +0200
+@@ -13,7 +13,6 @@
+ import sys
+ import os
+ import gettext
+-import gst
+
+ from warnings import warn
+ from gettext import gettext as _
+@@ -35,9 +34,7 @@
+ SHOW_ONLY_PROPRIETARY,
+ ) = range(9)
+
+-PIMP_APPS = ["gstreamer0.10-plugins-ugly",
+- "gstreamer0.10-ffmpeg",
+- "sun-java5-plugin",
++PIMP_APPS = ["sun-java5-plugin",
+ "flashplugin-nonfree",
+ "ubuntu-restricted-extras"]
+
+@@ -223,10 +220,6 @@
+ rank += 25
+ trigger += " mime"
+ hit = True
+- if self._codecMatch(item, term, fuzzy=True):
+- rank += 15
+- trigger += " codec"
+- hit = True
+ if self.cache.has_key(item.pkgname) and \
+ term in self.cache[item.pkgname].description.lower():
+ rank += 10
+@@ -247,26 +240,6 @@
+ return True
+ return False
+
+- def _codecMatch(self, item, term, fuzzy=False):
+- #print "_codecMatch for pkg '%s' (term: %s) " % (item.pkgname, term)
+- if ":" in term:
+- term = term.split(":")[1]
+- search_cap = gst.caps_from_string(term)
+- #print "search_cap: ", search_cap
+- for codec in item.codecs:
+- if ":" in codec:
+- codec = codec.split(":")[1]
+- if fuzzy and term in codec:
+- return True
+- else:
+- cap = gst.caps_from_string(codec)
+- #print "codec: ",codec
+- #print "cap: ",cap
+- if (cap and search_cap and
+- (search_cap & cap)):
+- return True
+- return False
+-
+ def _activationStyleFilter(self, item):
+ #print "_activationStyleFilter(): ",item
+ filter = self.activationStyle.selectFilter(self)
+diff -Naur gnome-app-install-0.5.5.1.old/AppInstall/update.py gnome-app-install-0.5.5.1/AppInstall/update.py
+--- gnome-app-install-0.5.5.1.old/AppInstall/update.py 2008-06-13 17:37:17.000000000 +0200
++++ gnome-app-install-0.5.5.1/AppInstall/update.py 2008-09-21 15:43:20.000000000 +0200
+@@ -25,7 +25,7 @@
+
+
+ def generate_mime_map(desktop_dir, cache_dir):
+- dicts = { 'mime':{}, 'codec':{} }
++ dicts = { 'mime':{} }
+
+ def record_provider(de, cp, defield,dictname):
+ try: keys = de.get(defield, list=True)
+@@ -33,9 +33,6 @@
+ if not keys: return
+ dict = dicts[dictname]
+ for key in keys:
+- # gst-caps support
+- if dictname == 'codec' and ',' in key:
+- key = key.split(",")[0]
+ try:
+ l = dict[key]
+ except KeyError:
+@@ -54,7 +51,6 @@
+ continue
+ cp = component+"/"+package
+ record_provider(de, cp, 'MimeType','mime')
+- record_provider(de, cp, 'X-AppInstall-Codecs','codec')
+
+ for (dictname,dict) in dicts.iteritems():
+ g = gdbm.open(os.path.join(cache_dir,
+@@ -68,21 +64,14 @@
+ # the regular menu cache
+ menu = CoreApplicationMenu(desktop_dir)
+ menu.createMenuCache(cache_dir)
+- # now the codec/mime menu_cache
+- codec_pickle = {}
+ mime_pickle = {}
+ for cat in menu.pickle:
+ for item in menu.pickle[cat]:
+- if item.codecs != ['']:
+- if not codec_pickle.has_key(cat):
+- codec_pickle[cat] = []
+- codec_pickle[cat].append(item)
+ if item.mime != []:
+ if not mime_pickle.has_key(cat):
+ mime_pickle[cat] = []
+ mime_pickle[cat].append(item)
+ pickle.dump(mime_pickle, open('%s/mime_menu.p' % cache_dir,'w'), 2)
+- pickle.dump(codec_pickle, open('%s/codec_menu.p' % cache_dir,'w'), 2)
+
+ def main():
+ parser = OptionParser()
+@@ -102,5 +91,5 @@
+ sys.exit(1)
+ print "Caching application data..."
+ generate_menu_cache(options.desktop_dir, options.cache_dir)
+- print "Generating mime/codec maps..."
++ print "Generating mime maps..."
+ generate_mime_map(options.desktop_dir, options.cache_dir)
+diff -Naur gnome-app-install-0.5.5.1.old/README.codecs gnome-app-install-0.5.5.1/README.codecs
+--- gnome-app-install-0.5.5.1.old/README.codecs 2008-06-13 17:37:17.000000000 +0200
++++ gnome-app-install-0.5.5.1/README.codecs 1970-01-01 01:00:00.000000000 +0100
+@@ -1,19 +0,0 @@
+-if gnome-app-install is called as "gnome-codec-install" it will expect
+-a argument like:
+-
+-gstreamer.net|0.10|totem|DivX MPEG-4 Version 5 decoder|decoder-video/x-divx, divxversion=(int)5 (DivX MPEG-4 Version 5 decoder)
+-
+-For testing run:
+-$ ./gnome-codec-install 'gstreamer.net|0.10|totem|DivX MPEG-4 Version 5 decoder|decoder-video/mpeg'
+-
+-and search if it finds a matching codec (codecs need to be encoded
+-via X-AppInstall-Codecs= field).
+-
+-Example codec desktop file:
+-/usr/share/app-install/desktop/gstreamer-ffmepg.desktop
+-
+-Some example files are here:
+-http://samples.mplayerhq.hu/
+-
+-General multimedia codec information:
+-http://wiki.multimedia.cx/index.php?title=Main_Page
+diff -Naur gnome-app-install-0.5.5.1.old/test/data/desktop/gstreamer-bad.desktop gnome-app-install-0.5.5.1/test/data/desktop/gstreamer-bad.desktop
+--- gnome-app-install-0.5.5.1.old/test/data/desktop/gstreamer-bad.desktop 2008-06-13 17:37:18.000000000 +0200
++++ gnome-app-install-0.5.5.1/test/data/desktop/gstreamer-bad.desktop 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-[Desktop Entry]
+-Comment=Codecs to play
+-Name=GStreamer plugins for mms, wavpack, quicktime, musepack, aac, xvid, mpeg2, faad
+-Encoding=UTF-8
+-Terminal=false
+-Type=Application
+-Categories=GNOME;Application;Multimedia;AudioVideo
+-X-AppInstall-Package=gstreamer0.10-plugins-bad
+-X-AppInstall-Popcon=84
+-X-AppInstall-Section=main
+-X-AppInstall-Codecs=0.10:decoder-video/x-nuv;0.10:element-wavpackdec;0.10:element-realaudiodec;0.10:decoder-audio/x-musepack;0.10:element-interleave;0.10:element-speed;0.10:element-multifilesrc;0.10:encoder-video/x-mve;0.10:element-lpwsinc;0.10:element-spectrum;0.10:decoder-video/x-mve;0.10:decoder-audio/x-ttafile;0.10:decoder-application/x-rtp, payload=(int)[ 96, 127 ], media=(string){ audio, video }, encoding-name=(string){ X-QT, X-QUICKTIME };0.10:element-multifilesink;0.10:encoder-audio/x-wavpack, framed=(boolean)true;0.10:element-freeze;0.10:urisource-mmst;0.10:decoder-video/x-cdxa;0.10:decoder-audio/x-mod;0.10:decoder-audio/x-pn-realaudio;0.10:element-mvemux;0.10:decoder-video/x-vmnc, version=(int)1;0.10:element-rfbsrc;0.10:decoder-application/x-3gp;0.10:decoder-audio/x-tta;0.10:element-mvedemux;0.10:element-deinterleave;0.10:element-modplug;0.10:element-xingmux;0.10:element-mpegvideoparse;0.10:decoder-audio/x-wavpack, framed=(boolean)true;0.10:element-vmncdec;0.10:element-cdxaparse;0.10:decoder-video/x-h264;0.10:encoder-application/x-yuv4mpeg, y4mversion=(int)2;0.10:element-sdlaudiosink;0.10:element-dvbsrc;0.10:element-qtdemux;0.10:element-ttadec;0.10:element-nuvdemux;0.10:urisource-mms;0.10:decoder-audio/x-sipro;0.10:element-bpwsinc;0.10:decoder-audio/x-nsf;0.10:element-wavpackenc;0.10:element-sdlvideosink;0.10:element-y4menc;0.10:element-iir;0.10:element-rtpxqtdepay;0.10:element-faad;0.10:decoder-audio/mpeg, mpegversion=(int){ 2, 4 };0.10:element-videocrop;0.10:decoder-audio/x-wavpack, framed=(boolean)false;0.10:decoder-audio/x-wavpack-correction, framed=(boolean)false;0.10:urisource-mmsu;0.10:element-h264parse;0.10:element-appsink;0.10:decoder-video/mpeg, mpegversion=(int)[ 1, 2 ], parsed=(boolean)false, systemstream=(boolean)false;0.10:element-appsrc;0.10:element-ttaparse;0.10:element-rganalysis;0.10:element-deinterlace;0.10:element-mmssrc;0.10:urisource-mmsh;0.10:element-nsfdec;0.10:element-videoparse;0.10:element-wavpackparse;0.10:decoder-audio/x-m4a;0.10:element-jackaudiosink;0.10:element-musepackdec;0.10:decoder-video/quicktime;0.10:element-realvideodec;0.10:decoder-video/x-pn-realvideo, rmversion=(int)[ 2, 4 ]
+diff -Naur gnome-app-install-0.5.5.1.old/test/data/desktop/gstreamer-ffmpeg.desktop gnome-app-install-0.5.5.1/test/data/desktop/gstreamer-ffmpeg.desktop
+--- gnome-app-install-0.5.5.1.old/test/data/desktop/gstreamer-ffmpeg.desktop 2008-06-13 17:37:18.000000000 +0200
++++ gnome-app-install-0.5.5.1/test/data/desktop/gstreamer-ffmpeg.desktop 1970-01-01 01:00:00.000000000 +0100
+@@ -1,13 +0,0 @@
+-[Desktop Entry]
+-Version=1.0
+-Encoding=UTF-8
+-Name=GStreamer ffmpeg video plugin
+-Comment=Codecs to play mpeg, divx, mpeg4, ac3, wmv and asf files
+-Terminal=false
+-Type=Application
+-Categories=GNOME;Application;Multimedia;AudioVideo;
+-X-AppInstall-Package=gstreamer0.10-ffmpeg
+-X-AppInstall-Popcon=0
+-X-AppInstall-Section=main
+-
+-X-AppInstall-Codecs=0.10:decoder-video/x-asus, asusversion=(int)1;0.10:element-ffdec_adpcm_sbpro_4;0.10:decoder-application/x-gst_ff-vmd;0.10:decoder-video/x-asus, asusversion=(int)2;0.10:element-ffdemux_amr;0.10:element-ffdemux_gxf;0.10:element-ffdec_xan_wc3;0.10:element-ffdec_adpcm_sbpro_3;0.10:decoder-audio/x-adpcm, layout=(string)microsoft;0.10:decoder-audio/x-au;0.10:element-ffdemux_ingenient;0.10:decoder-application/x-shockwave-flash;0.10:element-ffdec_dvvideo;0.10:decoder-audio/x-adpcm, layout=(string)yamaha;0.10:element-ffdec_asv1;0.10:element-ffdec_mp3adu;0.10:decoder-image/bmp;0.10:element-ffdemux_gif;0.10:element-postproc_linipoldeint;0.10:decoder-video/x-vp5;0.10:decoder-application/x-id3;0.10:decoder-video/x-4xm;0.10:decoder-video/x-vp6;0.10:element-ffdec_huffyuv;0.10:decoder-video/x-vp3;0.10:element-postproc_autolevels;0.10:element-ffdec_adpcm_sbpro_2;0.10:element-ffdemux_RoQ;0.10:decoder-audio/x-adpcm, layout=(string)4xm;0.10:decoder-video/x-cirrus-logic-accupak;0.10:decoder-audio/x-tta;0.10:element-ffdemux_aiff;0.10:decoder-application/x-gst_ff-sol;0.10:decoder-video/x-cinepak;0.10:element-ffdemux_flv;0.10:decoder-application/x-pn-realmedia, systemstream=(boolean)true;0.10:decoder-application/x-gst_ff-nut;0.10:element-ffdec_qtrle;0.10:decoder-audio/x-qdm2;0.10:element-ffdec_ffvhuff;0.10:element-ffdec_snow;0.10:element-postproc_hdeblock;0.10:decoder-video/x-gst_ff-cavs;0.10:element-ffdemux_wc3movie;0.10:decoder-audio/x-gst_ff-vmdaudio;0.10:decoder-application/x-gst_ff-daud;0.10:decoder-application/x-gst_ff-nsv;0.10:decoder-application/x-gst_ff-psxstr;0.10:element-postproc_default;0.10:decoder-application/x-yuv4mpeg, y4mversion=(int)1;0.10:element-ffdec_rpza;0.10:element-ffdec_vcr1;0.10:decoder-audio/x-adpcm, layout=(string)dk3;0.10:element-postproc_x1vdeblock;0.10:element-ffdec_wmv1;0.10:decoder-video/x-gst_ff-loco;0.10:element-ffdec_sol_dpcm;0.10:decoder-audio/x-dpcm, layout=(string)roq;0.10:decoder-audio/x-adpcm, layout=(string)dk4;0.10:decoder-audio/x-adpcm, layout=(string)ct;0.10:decoder-audio/x-ttafile;0.10:element-postproc_avdeblock;0.10:decoder-video/x-gst_ff-fraps;0.10:element-ffdec_loco;0.10:element-ffdec_adpcm_adx;0.10:decoder-video/x-dv, systemstream=(boolean)true;0.10:decoder-audio/x-alac;0.10:decoder-video/x-zlib;0.10:decoder-video/mpegts, systemstream=(boolean)true;0.10:decoder-audio/x-wav;0.10:decoder-audio/x-adpcm, layout=(string)smjpeg;0.10:element-ffdec_roq_dpcm;0.10:element-ffdec_interplay_dpcm;0.10:element-ffdec_zlib;0.10:decoder-video/x-gst_ff-xl;0.10:element-ffdec_qdm2;0.10:element-ffdec_cyuv;0.10:element-ffdec_sp5x;0.10:decoder-video/x-gst_ff-ffvhuff;0.10:element-ffdec_mp3on4;0.10:element-ffdec_shorten;0.10:decoder-application/x-gst_ff-RoQ;0.10:element-ffdemux_yuv4mpegpipe;0.10:decoder-audio/x-adpcm, layout=(string)quicktime;0.10:decoder-video/x-gst_ff-idcinvideo;0.10:decoder-video/x-msmpeg, msmpegversion=(int)42;0.10:decoder-video/x-msmpeg, msmpegversion=(int)43;0.10:decoder-video/x-msmpeg, msmpegversion=(int)41;0.10:element-ffdec_qdraw;0.10:element-postproc_forcequant;0.10:decoder-video/x-msvideocodec, msvideoversion=(int)1;0.10:decoder-video/x-ms-asf;0.10:element-ffdemux_mov_mp4_m4a_3gp_3g2_mj2;0.10:decoder-video/x-indeo, indeoversion=(int)3;0.10:decoder-video/mpeg, mpegversion=(int)[ 1, 2 ], systemstream=(boolean)false;0.10:decoder-video/sp5x;0.10:element-postproc_cubicipoldeint;0.10:element-ffdec_mdec;0.10:element-ffdemux_wsaud;0.10:decoder-video/x-gst_ff-interplayvideo;0.10:element-ffdec_h261;0.10:element-ffdec_h263;0.10:element-ffdec_h264;0.10:decoder-audio/x-adpcm, layout=(string)swf;0.10:element-ffdemux_mxf;0.10:element-ffdec_msrle;0.10:decoder-application/x-gst_ff-avs;0.10:decoder-application/x-gst_ff-smk;0.10:element-postproc_vdeblock;0.10:element-ffdec_wnv1;0.10:decoder-audio/x-adpcm, layout=(string)xa;0.10:decoder-video/x-compressed-yuv;0.10:decoder-video/x-rle, layout=(string)microsoft;0.10:decoder-video/x-apple-video;0.10:element-ffdec_tta;0.10:decoder-video/x-xvid;0.10:decoder-audio/x-gst_ff-sonic;0.10:element-ffdec_g726;0.10:element-ffdec_ffv1;0.10:element-ffdemux_wav;0.10:decoder-video/x-mszh;0.10:element-postproc_ffmpegdeint;0.10:decoder-application/mxf;0.10:decoder-video/x-gst_ff-avs;0.10:decoder-application/x-gst_ff-ea;0.10:element-postproc_linblenddeint;0.10:decoder-application/x-gst_ff-amr;0.10:element-ffdemux_mm;0.10:element-ffdec_adpcm_xa;0.10:decoder-video/x-ffv, ffvversion=(int)1;0.10:decoder-audio/x-gst_ff-mp3on4;0.10:element-ffdec_truespeech;0.10:decoder-audio/x-adpcm, layout=(string)ea;0.10:element-ffdec_png;0.10:decoder-audio/x-shorten;0.10:decoder-video/x-truemotion, trueversion=(int)1;0.10:element-ffdemux_voc;0.10:element-ffdec_vp3;0.10:decoder-audio/x-wma, wmaversion=(int)1, block_align=(int)[ 0, 2147483647 ], bitrate=(int)[ 0, 2147483647 ];0.10:element-ffdec_vp5;0.10:element-ffdec_h263i;0.10:element-ffdec_vp6;0.10:element-ffdemux_tta;0.10:element-postproc_ahdeblock;0.10:element-ffdec_mszh;0.10:decoder-video/x-gst_ff-snow;0.10:element-ffdec_svq1;0.10:element-ffdec_svq3;0.10:element-ffdec_mpeg4;0.10:element-ffdec_cljr;0.10:element-ffdec_rv20;0.10:decoder-application/x-gst_ff-wc3movie;0.10:element-ffdec_truemotion1;0.10:decoder-application/x-gst_ff-mov_mp4_m4a_3gp_3g2_mj2;0.10:element-ffdec_truemotion2;0.10:decoder-video/x-theora;0.10:element-ffdec_zmbv;0.10:element-postproc_mediandeint;0.10:element-ffdemux_asf;0.10:element-ffdemux_ipmovie;0.10:element-ffdec_vp6f;0.10:decoder-video/x-dv, systemstream=(boolean)false;0.10:decoder-image/gif;0.10:element-ffdemux_dv;0.10:decoder-audio/x-gst_ff-ws_snd1;0.10:decoder-video/x-matroska;0.10:element-ffdemux_mpegts;0.10:decoder-application/gxf;0.10:element-ffdemux_ea;0.10:decoder-audio/x-dpcm, layout=(string)xan;0.10:decoder-video/x-intel-h263, variant=(string)intel;0.10:decoder-application/x-gst_ff-nuv;0.10:decoder-audio/x-gst_ff-mp3adu;0.10:element-ffdec_smc;0.10:element-ffdec_camstudio;0.10:element-ffdec_real_144;0.10:element-ffdec_mpegvideo;0.10:element-ffdec_flv;0.10:decoder-video/x-smc;0.10:decoder-video/x-divx, divxversion=(int)3;0.10:decoder-video/x-ultimotion;0.10:element-ffdec_fraps;0.10:element-postproc_dering;0.10:decoder-application/x-gst_ff-mmf;0.10:element-ffdec_indeo3;0.10:element-ffdec_indeo2;0.10:decoder-video/x-ati-vcr, vcrversion=(int)1;0.10:element-ffdec_mace3;0.10:element-ffdec_adpcm_ea;0.10:element-ffdec_mace6;0.10:decoder-application/x-gst_ff-ffm;0.10:element-ffdec_adpcm_ms;0.10:element-ffdec_adpcm_ima_wav;0.10:decoder-audio/x-mace, maceversion=(int)3;0.10:element-ffdec_vc1;0.10:decoder-audio/x-mace, maceversion=(int)6;0.10:decoder-video/x-gst_ff-flic;0.10:element-ffdemux_swf;0.10:decoder-video/x-gst_ff-camstudio;0.10:element-ffdec_bmp;0.10:element-ffvideoscale;0.10:decoder-audio/x-pn-realaudio, raversion=(int)2;0.10:decoder-video/x-3ivx;0.10:decoder-video/x-msvideo;0.10:decoder-audio/x-pn-realaudio, raversion=(int)1;0.10:decoder-video/x-h264;0.10:decoder-application/x-gst_ff-mm;0.10:element-ffdemux_matroska;0.10:decoder-audio/x-aiff;0.10:decoder-audio/x-wma, wmaversion=(int)2, block_align=(int)[ 0, 2147483647 ], bitrate=(int)[ 0, 2147483647 ];0.10:decoder-video/x-h261;0.10:decoder-audio/x-pn-realaudio, raversion=(int)8;0.10:element-ffdec_cavs;0.10:element-ffdemux_sol;0.10:decoder-video/x-huffyuv;0.10:decoder-audio/x-dpcm, layout=(string)sol;0.10:decoder-image/png;0.10:element-ffdec_mjpeg;0.10:element-ffdemux_nsv;0.10:element-ffdec_vmdaudio;0.10:decoder-audio/x-adpcm, layout=(string)adx;0.10:decoder-audio/x-adpcm, layout=(string)g726;0.10:decoder-video/x-gst_ff-vmdvideo;0.10:element-ffdec_cook;0.10:element-ffdec_camtasia;0.10:element-ffdemux_ffm;0.10:decoder-video/x-indeo, indeoversion=(int)2;0.10:element-postproc_x1hdeblock;0.10:element-ffdemux_vmd;0.10:decoder-video/x-flash-screen;0.10:element-ffdemux_nut;0.10:element-ffdec_msmpeg4;0.10:element-ffdemux_nuv;0.10:element-ffdec_adpcm_4xm;0.10:decoder-application/x-gst_ff-ipmovie;0.10:element-ffdec_wmv2;0.10:element-ffdec_wmv3;0.10:decoder-audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ];0.10:decoder-video/x-rle, layout=(string)quicktime;0.10:decoder-video/x-gst_ff-zmbv;0.10:decoder-audio/x-flac;0.10:decoder-video/x-vp6-flash;0.10:decoder-audio/x-gst_ff-truespeech;0.10:element-ffdec_vqavideo;0.10:element-ffdemux_4xm;0.10:element-ffdemux_mpeg;0.10:decoder-video/x-gst_ff-aasc;0.10:element-ffdec_cinepak;0.10:element-ffdec_avs;0.10:element-ffdec_sonic;0.10:element-ffdec_ultimotion;0.10:decoder-application/x-gst_ff-film_cpk;0.10:decoder-video/mpeg, mpegversion=(int)4, systemstream=(boolean)false;0.10:element-ffdec_asv2;0.10:element-ffdemux_avs;0.10:decoder-video/x-qdrw;0.10:element-ffdemux_flic;0.10:element-ffdec_ws_snd1;0.10:decoder-video/x-divx, divxversion=(int)[ 4, 5 ];0.10:element-postproc_lowpass5;0.10:decoder-video/x-xan, wcversion=(int)3;0.10:element-ffdemux_avi;0.10:decoder-video/x-truemotion, trueversion=(int)2;0.10:element-ffdec_8bps;0.10:element-ffdemux_daud;0.10:element-postproc_tmpnoise;0.10:decoder-video/x-camtasia;0.10:element-ffdec_idcinvideo;0.10:element-ffdeinterlace;0.10:element-ffdec_mmvideo;0.10:element-ffdec_adpcm_ima_dk3;0.10:decoder-video/x-gst_ff-mdec;0.10:decoder-video/x-wmv, wmvversion=(int)3;0.10:decoder-video/x-wmv, wmvversion=(int)2;0.10:decoder-video/x-wmv, wmvversion=(int)1;0.10:decoder-video/x-h263, variant=(string)itu;0.10:element-ffdec_msmpeg4v1;0.10:decoder-video/x-pn-realvideo, systemstream=(boolean)false, rmversion=(int)2;0.10:decoder-video/x-pn-realvideo, systemstream=(boolean)false, rmversion=(int)1;0.10:decoder-video/x-gst_ff-vqavideo;0.10:element-ffdec_adpcm_yamaha;0.10:element-ffdec_alac;0.10:decoder-video/x-gst_ff-8bps;0.10:element-ffdec_adpcm_ima_ws;0.10:element-ffdec_mpeg2video;0.10:decoder-audio/x-adpcm, layout=(string)sbpro4;0.10:element-ffdec_flic;0.10:decoder-video/x-gst_ff-mmvideo;0.10:decoder-application/x-gst_ff-voc;0.10:decoder-audio/x-adpcm, layout=(string)sbpro3;0.10:decoder-audio/x-adpcm, layout=(string)sbpro2;0.10:decoder-application/x-gst_ff-ingenient;0.10:element-ffdec_flac;0.10:element-ffdec_real_288;0.10:element-ffdemux_psxstr;0.10:element-ffdec_4xm;0.10:element-ffdec_xan_dpcm;0.10:element-ffdemux_mp3;0.10:element-ffdec_roqvideo;0.10:element-ffdec_aasc;0.10:element-ffdemux_film_cpk;0.10:element-ffdec_msvideo1;0.10:decoder-video/x-flv;0.10:decoder-video/x-fli;0.10:decoder-video/x-gst_ff-wnv1;0.10:element-ffdec_vmdvideo;0.10:decoder-audio/x-adpcm, layout=(string)westwood;0.10:element-ffdemux_wsvqa;0.10:element-ffdemux_mmf;0.10:element-ffdec_xl;0.10:element-ffdec_rv10;0.10:decoder-video/x-svq, svqversion=(int)3;0.10:element-ffdec_theora;0.10:decoder-video/x-svq, svqversion=(int)1;0.10:element-ffdec_mp3;0.10:element-ffdemux_rm;0.10:element-ffdec_adpcm_ima_dk4;0.10:element-ffdemux_smk;0.10:decoder-audio/x-adpcm, layout=(string)dvi;0.10:element-ffdec_adpcm_ima_qt;0.10:decoder-video/x-flash-video, flvversion=(int)1;0.10:decoder-image/jpeg;0.10:element-ffdec_adpcm_ima_smjpeg;0.10:decoder-video/x-gst_ff-roqvideo;0.10:decoder-application/x-gst_ff-wsaud;0.10:element-ffdec_adpcm_ct;0.10:element-ffdec_msmpeg4v2;0.10:element-ffdec_interplayvideo;0.10:element-ffdec_wmav2;0.10:element-ffdemux_au;0.10:decoder-application/x-gst_ff-idcin;0.10:element-ffdec_wmav1;0.10:element-ffdemux_idcin;0.10:decoder-application/x-gst_ff-wsvqa;0.10:decoder-audio/x-dpcm, layout=(string)interplay;0.10:element-ffdec_adpcm_swf;0.10:element-ffdec_flashsv;0.10:decoder-video/mpeg, systemstream=(boolean)true
+diff -Naur gnome-app-install-0.5.5.1.old/test/data/desktop/gstreamer-fluendo-mp3.desktop gnome-app-install-0.5.5.1/test/data/desktop/gstreamer-fluendo-mp3.desktop
+--- gnome-app-install-0.5.5.1.old/test/data/desktop/gstreamer-fluendo-mp3.desktop 2008-06-13 17:37:18.000000000 +0200
++++ gnome-app-install-0.5.5.1/test/data/desktop/gstreamer-fluendo-mp3.desktop 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-[Desktop Entry]
+-Comment=Codecs to play MP3 Files
+-Name=GStreamer Fluendo MP3 Plugin
+-Encoding=UTF-8
+-Terminal=false
+-Type=Application
+-Categories=GNOME;Application;Multimedia;AudioVideo;
+-X-AppInstall-Package=gstreamer0.10-fluendo-mp3
+-X-AppInstall-Popcon=0
+-X-AppInstall-Section=main
+-X-AppInstall-Codecs=0.10:element-flump3dec;0.10:decoder-audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ]
+diff -Naur gnome-app-install-0.5.5.1.old/test/data/desktop/gstreamer-schoedinger.desktop gnome-app-install-0.5.5.1/test/data/desktop/gstreamer-schoedinger.desktop
+--- gnome-app-install-0.5.5.1.old/test/data/desktop/gstreamer-schoedinger.desktop 2008-06-13 17:37:18.000000000 +0200
++++ gnome-app-install-0.5.5.1/test/data/desktop/gstreamer-schoedinger.desktop 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-[Desktop Entry]
+-Comment=Codecs to play Dirac video streams
+-Name=GStreamer Dirac video plugin
+-Encoding=UTF-8
+-Terminal=false
+-Type=Application
+-Categories=GNOME;Application;Multimedia;AudioVideo;
+-X-AppInstall-Package=gstreamer0.10-schroedinger
+-X-AppInstall-Popcon=0
+-X-AppInstall-Section=main
+-X-AppInstall-Codecs=0.10:element-schrotoy;0.10:encoder-video/x-dirac;0.10:decoder-video/x-dirac;0.10:element-schrodec;0.10:element-schroenc;0.10:element-schroparse
+diff -Naur gnome-app-install-0.5.5.1.old/test/data/desktop/gstreamer-ugly.desktop gnome-app-install-0.5.5.1/test/data/desktop/gstreamer-ugly.desktop
+--- gnome-app-install-0.5.5.1.old/test/data/desktop/gstreamer-ugly.desktop 2008-06-13 17:37:18.000000000 +0200
++++ gnome-app-install-0.5.5.1/test/data/desktop/gstreamer-ugly.desktop 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-[Desktop Entry]
+-Comment=Codecs to play mp3, sid, mpeg1, mpeg2, AC-3, DVD (without encryption)
+-Name=GStreamer extra plugins
+-Encoding=UTF-8
+-Terminal=false
+-Type=Application
+-Categories=GNOME;Application;Multimedia;AudioVideo
+-X-AppInstall-Package=gstreamer0.10-plugins-ugly
+-X-AppInstall-Popcon=233
+-X-AppInstall-Section=main
+-X-AppInstall-Codecs=0.10:element-mpegdemux;0.10:decoder-video/x-dvd-subpicture;0.10:encoder-application/x-id3;0.10:element-dvdlpcmdec;0.10:element-asfdemux;0.10:decoder-video/x-ms-asf;0.10:decoder-video/mpeg, mpegversion=(int)[ 1, 2 ], systemstream=(boolean)false;0.10:element-rdtdepay;0.10:element-ac3iec958;0.10:element-a52dec;0.10:decoder-audio/x-private1-lpcm;0.10:element-mpegparse;0.10:decoder-audio/x-private1-ac3;0.10:encoder-audio/x-iec958;0.10:decoder-video/mpeg, mpegversion=(int){ 1, 2 }, systemstream=(boolean)true;0.10:decoder-audio/x-ac3;0.10:element-dvddemux;0.10:encoder-audio/x-raw-int, endianness=(int)4321, signed=(boolean)true;0.10:decoder-audio/x-lpcm, dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ true, false }, mute=(boolean){ true, false };0.10:decoder-audio/mpeg, mpegversion=(int)1;0.10:element-mad;0.10:decoder-application/vnd.rn-realmedia;0.10:element-mp3parse;0.10:element-mpeg2dec;0.10:decoder-video/mpeg, mpegversion=(int)2, systemstream=(boolean)true;0.10:decoder-audio/ac3;0.10:element-id3mux;0.10:urisource-dvd;0.10:decoder-audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ];0.10:decoder-video/mpeg, mpegversion=(int)[ 1, 2 ], systemstream=(boolean)true;0.10:element-dvdsubdec;0.10:element-dvdreadsrc;0.10:decoder-application/x-rdt, media=(string)application, encoding-name=(string)x-real-rdt;0.10:element-rmdemux
+diff -Naur gnome-app-install-0.5.5.1.old/test/testCodecSearch.py gnome-app-install-0.5.5.1/test/testCodecSearch.py
+--- gnome-app-install-0.5.5.1.old/test/testCodecSearch.py 2008-06-13 17:37:18.000000000 +0200
++++ gnome-app-install-0.5.5.1/test/testCodecSearch.py 1970-01-01 01:00:00.000000000 +0100
+@@ -1,49 +0,0 @@
+-#!/usr/bin/python
+-
+-import sys
+-sys.path.insert(0, '../')
+-
+-import gobject
+-import gtk
+-import unittest
+-from AppInstall.activation import *
+-from AppInstall.AppInstall import AppInstall
+-
+-class FakeOptions(object):
+- def __init__(self):
+- self.datadir = "data/"
+- self.desktopdir = "test/data/desktop"
+- self.cachedir = "test/data/cache"
+- self.transient_for = None
+- self.addon_cd = None
+- self.mime_type = "text/plain"
+- self.test_mode = True
+-
+-class TestCodecSearch(unittest.TestCase):
+- def setUp(self):
+- options = FakeOptions()
+- args = ['gstreamer|0.10|<unknown>|MPEG-1 Layer 3 (MP3) decoder|'
+- 'decoder-audio/mpeg, mpegversion=(int)1, layer=(int)3']
+- #args = ['gstreamer|0.10|<unknown>|Flash Video decoder|'
+- # 'decoder-video/x-flash-video, flvversion=(int)1']
+- style = CodecSearchActivationStyle(options, args)
+- style.isInstallerOnly = False
+- style._parseArgs()
+- self.app = AppInstall(options, style)
+-
+- def testHasItems(self):
+- model = self.app.menu.treeview_packages.get_model()
+- self.assert_(len(model) > 0,
+- "no codecs found")
+-
+- def testRun(self):
+- gobject.timeout_add(100, gtk.main_quit)
+- self.app.run()
+-
+- def tearDown(self):
+- self.app.window_main.destroy()
+- del(self.app)
+-
+-if __name__ == '__main__':
+- unittest.main()
+-
+diff -Naur gnome-app-install-0.5.5.1.old/util/getMenuData.py gnome-app-install-0.5.5.1/util/getMenuData.py
+--- gnome-app-install-0.5.5.1.old/util/getMenuData.py 2008-06-13 17:37:18.000000000 +0200
++++ gnome-app-install-0.5.5.1/util/getMenuData.py 2008-08-11 19:50:08.000000000 +0200
+@@ -46,7 +46,6 @@
+ blacklist_desktop = "blacklist_desktop.cfg"
+ renamecfg = "rename.cfg"
+ annotatecfg = "annotate.cfg"
+-codecs_foradditional = { }
+
+ # packages we have already seen
+ pkgs_seen = set()
+@@ -164,11 +163,9 @@
+ return None
+ return file
+
+-def writeMetaData(outfile, pkgname, section, codecs):
++def writeMetaData(outfile, pkgname, section):
+ outfile.write("X-AppInstall-Package=%s\n" % pkgname)
+ outfile.write("X-AppInstall-Section=%s\n" % section)
+- if codecs:
+- outfile.write("X-AppInstall-Codecs=%s\n" % ';'.join(codecs))
+ outfile.write("\n")
+ return True
+
+@@ -198,22 +195,6 @@
+ logging.error("Choked on tarball. Package: '%s'" % package)
+ return # too many bad debs. take this line out if you fix that
+
+- # and look for any codec support list
+- codecs = set()
+- for filename in dataFile.getnames():
+- if not (fnmatch.fnmatch(filename, 'usr/share/gstreamer-*/plugin-info/*.supported') or fnmatch.fnmatch(filename, './usr/share/gstreamer-*/plugin-info/*.supported')): continue
+- codecsfile = tarfile_extract_orlog(dataFile,filename);
+- if not codecsfile:
+- continue
+- logging.debug("reading codec list file %s" % filename)
+- for line in codecsfile.readlines():
+- line = string.strip(line)
+- if ';' in line:
+- logging.warning("Codec string '%s' from '%s' in '%s' contains ';'" %
+- (line, filename, dataFile.name))
+- continue
+- codecs.add(line)
+-
+ # look at the desktop files
+ for path in desktopPaths:
+ desktopfile = tarfile_extract_orlog(dataFile, path)
+@@ -257,13 +238,13 @@
+ line += "\n"
+ # if a new section starts, write the metadata now
+ if desktop_section == "[Desktop Entry]" and not written:
+- writeMetaData(outfile, pkgname, section, codecs)
++ writeMetaData(outfile, pkgname, section)
+ written=True
+ outfile.write(line)
+ if line.startswith("["):
+ desktop_section = line.strip()
+ if not written:
+- writeMetaData(outfile, pkgname, section, codecs)
++ writeMetaData(outfile, pkgname, section)
+
+ desktopfile_name = os.path.basename(desktopfile.name)
+ if desktop_annotate.has_key(desktopfile_name):
+@@ -278,10 +259,6 @@
+ # close the desktop file
+ desktopfile.close()
+
+- if codecs:
+- try: codecs_foradditional[pkgname] &= codecs
+- except KeyError: codecs_foradditional[pkgname] = codecs
+-
+ def processDeb(debPath, pkgname, section,
+ outputdir=os.path.join(os.getcwd(), "menu-data")):
+ """ extract the desktop file and the icons from a deb """
+@@ -471,40 +448,6 @@
+ else:
+ logging.error("can't find desktopfile for: %s (%s)" % (pkg,dfile))
+
+- # edit the codec lists into the entries in menu-data-additional
+- logging.debug("adding codecs: '%s'", codecs_foradditional)
+- seen = set()
+- for filename in glob.glob('menu-data-additional/*.desktop'):
+- lines = []
+- file = open(filename)
+- pkgname = None
+- for line in file:
+- line = string.strip(line)
+- if re.match("^X-AppInstall-Codecs\s*=", line): continue
+- lines.append(line)
+- m = re.match("^X-AppInstall-Package\s*=\s*(\S+)\s*$", line)
+- if m: pkgname = m.group(1)
+- file.close()
+- if not pkgname:
+- logging.warning("file '%s' doesn't specify an X-AppInstall-Package" %
+- filename)
+- continue
+- try:
+- codecs = codecs_foradditional[pkgname]
+- except KeyError:
+- continue
+- logging.debug("adding codec info to '%s' " % pkgname)
+- lines.append("X-AppInstall-Codecs=%s" % ';'.join(codecs))
+- seen.add(pkgname)
+- new_file = open(filename+'.tmp', 'w');
+- for line in lines: print >>new_file, line
+- new_file.close()
+- os.rename(filename+'.tmp', filename)
+-
+- missing = set(codecs_foradditional.keys())-seen
+- if len(missing) > 0:
+- logging.warning("Packages with codecs but no data in menu-data-additonal: %s" % missing)
+-
+ # be nice, clean-up
+ if tmpdir != None and tmpdir != "":
+ shutil.rmtree(tmpdir)
More information about the pkg-gnome-commits
mailing list