diff --git a/.cvsignore b/.cvsignore index 3f74066..427f4b6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -meld-1.1.4.tar.bz2 +meld-1.1.5.tar.bz2 diff --git a/import.log b/import.log new file mode 100644 index 0000000..4327e39 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +meld-1_1_5-5_fc10:EL-5:meld-1.1.5-5.fc10.src.rpm:1213125904 diff --git a/meld-1.1.5-git.patch b/meld-1.1.5-git.patch new file mode 100644 index 0000000..682f3d1 --- /dev/null +++ b/meld-1.1.5-git.patch @@ -0,0 +1,173 @@ +diff -urNp meld-1.1.5.OLD/vc/git.py meld-1.1.5/vc/git.py +--- meld-1.1.5.OLD/vc/git.py 1969-12-31 19:00:00.000000000 -0500 ++++ meld-1.1.5/vc/git.py 2008-06-03 19:17:13.000000000 -0400 +@@ -0,0 +1,169 @@ ++# -*- coding: utf-8 -*- ++ ++# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79: ++ ++### Copyright (C) 2002-2005 Stephen Kennedy ++### Copyright (C) 2005 Aaron Bentley ++### Copyright (C) 2007 José Fonseca ++ ++### Redistribution and use in source and binary forms, with or without ++### modification, are permitted provided that the following conditions ++### are met: ++### ++### 1. Redistributions of source code must retain the above copyright ++### notice, this list of conditions and the following disclaimer. ++### 2. Redistributions in binary form must reproduce the above copyright ++### notice, this list of conditions and the following disclaimer in the ++### documentation and/or other materials provided with the distribution. ++ ++### THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++### IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++### OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++### IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++### INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++### NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++### DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++### THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++### (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++### THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++import os ++import errno ++import _vc ++ ++class Vc(_vc.Vc): ++ ++ CMD = "git" ++ NAME = "Git" ++ PATCH_STRIP_NUM = 1 ++ PATCH_INDEX_RE = "^diff --git a/(.*) b/.*$" ++ ++ def __init__(self, location): ++ self._tree_cache = None ++ while location != "/": ++ if os.path.isdir( "%s/.git" % location): ++ self.root = location ++ return ++ location = os.path.dirname(location) ++ raise ValueError() ++ ++ def commit_command(self, message): ++ return [self.CMD,"commit","-m",message] ++ def diff_command(self): ++ return [self.CMD,"diff","HEAD"] ++ def update_command(self): ++ return [self.CMD,"pull"] ++ def add_command(self, binary=0): ++ return [self.CMD,"add"] ++ def remove_command(self, force=0): ++ return [self.CMD,"rm"] ++ def revert_command(self): ++ return [self.CMD,"checkout"] ++ def get_working_directory(self, workdir): ++ if workdir.startswith("/"): ++ return self.root ++ else: ++ return '' ++ ++ def cache_inventory(self, topdir): ++ self._tree_cache = self.lookup_tree() ++ ++ def uncache_inventory(self): ++ self._tree_cache = None ++ ++ def lookup_tree(self): ++ while 1: ++ try: ++ proc = os.popen("cd %s && git status --untracked-files" % self.root) ++ entries = proc.read().split("\n")[:-1] ++ break ++ except OSError, e: ++ if e.errno != errno.EAGAIN: ++ raise ++ statemap = { ++ "unknown": _vc.STATE_NONE, ++ "new file": _vc.STATE_NEW, ++ "deleted": _vc.STATE_REMOVED, ++ "modified": _vc.STATE_MODIFIED, ++ "typechange": _vc.STATE_NORMAL, ++ "unmerged": _vc.STATE_CONFLICT } ++ tree_state = {} ++ for entry in entries: ++ if not entry.startswith("#\t"): ++ continue ++ try: ++ statekey, name = entry[2:].split(":", 2) ++ except ValueError: ++ # untracked ++ name = entry[2:] ++ path = os.path.join(self.root, name.strip()) ++ tree_state[path] = _vc.STATE_NONE ++ else: ++ statekey = statekey.strip() ++ name = name.strip() ++ try: ++ src, dst = name.split(" -> ", 2) ++ except ValueError: ++ path = os.path.join(self.root, name.strip()) ++ state = statemap.get(statekey, _vc.STATE_NONE) ++ tree_state[path] = state ++ else: ++ # copied, renamed ++ if statekey == "renamed": ++ tree_state[os.path.join(self.root, src)] = _vc.STATE_REMOVED ++ tree_state[os.path.join(self.root, dst)] = _vc.STATE_NEW ++ return tree_state ++ ++ def get_tree(self): ++ if self._tree_cache is None: ++ return self.lookup_tree() ++ else: ++ return self._tree_cache ++ ++ def lookup_files(self, dirs, files): ++ "files is array of (name, path). assume all files in same dir" ++ ++ if len(files): ++ directory = os.path.dirname(files[0][1]) ++ elif len(dirs): ++ directory = os.path.dirname(dirs[0][1]) ++ else: ++ return [],[] ++ ++ tree = self.get_tree() ++ ++ retfiles = [] ++ retdirs = [] ++ for name,path in files: ++ state = tree.get(path, _vc.STATE_IGNORED) ++ retfiles.append( _vc.File(path, name, state) ) ++ for name,path in dirs: ++ # git does not operate on dirs, just files ++ retdirs.append( _vc.Dir(path, name, _vc.STATE_NORMAL)) ++ for path, state in tree.iteritems(): ++ # removed files are not in the filesystem, so must be added here ++ if state is _vc.STATE_REMOVED: ++ if os.path.dirname(path) == directory: ++ retfiles.append( _vc.File(path, name, state) ) ++ return retdirs, retfiles ++ ++ def listdir(self, start): ++ # just like _vc.Vc.listdir, but ignores just .git ++ if start=="": start="." ++ if start[-1] != "/": start+="/" ++ cfiles = [] ++ cdirs = [] ++ try: ++ entries = os.listdir(start) ++ entries.sort() ++ except OSError: ++ entries = [] ++ for f in [f for f in entries if f!=".git"]: ++ fname = start + f ++ lname = fname ++ if os.path.isdir(fname): ++ cdirs.append( (f, lname) ) ++ else: ++ cfiles.append( (f, lname) ) ++ dirs, files = self.lookup_files(cdirs, cfiles) ++ return dirs+files diff --git a/meld-scrollkeeper.patch b/meld-scrollkeeper.patch index b6cd4eb..60b6bfc 100644 --- a/meld-scrollkeeper.patch +++ b/meld-scrollkeeper.patch @@ -1,15 +1,7 @@ -diff -ru meld-1.1.3.OLD/help/C/GNUmakefile meld-1.1.3/help/C/GNUmakefile ---- meld-1.1.3.OLD/help/C/GNUmakefile 2006-01-28 16:43:57.000000000 -0500 -+++ meld-1.1.3/help/C/GNUmakefile 2006-02-05 16:04:32.000000000 -0500 -@@ -6,7 +6,6 @@ - XML_DIR_ := $(DESTDIR)$(helpdir)/meld/$(LANG) - OMF_NAME := meld-$(LANG).omf - OMF_DIR_ := $(DESTDIR)$(sharedir)/omf/meld --OMF_STATE:= $(DESTDIR)$(prefix)/var/lib/scrollkeeper - - .PHONY : all - all $(OMF_NAME).install : $(OMF_NAME) -@@ -18,7 +17,6 @@ +diff -ur meld-1.1.5.OLD/help/C/GNUmakefile meld-1.1.5/help/C/GNUmakefile +--- meld-1.1.5.OLD/help/C/GNUmakefile 2007-06-09 13:29:24.000000000 -0400 ++++ meld-1.1.5/help/C/GNUmakefile 2007-06-09 15:15:46.000000000 -0400 +@@ -19,7 +19,6 @@ install -m 644 meld.xml $(XML_DIR_)/meld.xml install -m 644 figures/*.png $(XML_DIR_)/figures -install -m 644 $< $(OMF_DIR_)/$(OMF_NAME) @@ -17,7 +9,26 @@ diff -ru meld-1.1.3.OLD/help/C/GNUmakefile meld-1.1.3/help/C/GNUmakefile .PHONY : uninstall uninstall : -@@ -27,7 +25,6 @@ +@@ -28,7 +27,6 @@ + $(XML_DIR_)/figures/*.png + -rmdir $(XML_DIR_)/figures \ + $(XML_DIR_) +- -scrollkeeper-update -p $(OMF_STATE) -o $(OMF_DIR_) + + .PHONY : clean + clean : +diff -ur meld-1.1.5.OLD/help/es/GNUmakefile meld-1.1.5/help/es/GNUmakefile +--- meld-1.1.5.OLD/help/es/GNUmakefile 2007-06-09 13:29:25.000000000 -0400 ++++ meld-1.1.5/help/es/GNUmakefile 2007-06-09 15:14:36.000000000 -0400 +@@ -19,7 +19,6 @@ + install -m 644 meld.$(LANG).xml $(XML_DIR_)/meld.xml + install -m 644 figures/*.png $(XML_DIR_)/figures + -install -m 644 $< $(OMF_DIR_)/$(OMF_NAME) +- -scrollkeeper-update -p $(OMF_STATE) -o $(OMF_DIR_) + + .PHONY : uninstall + uninstall : +@@ -28,7 +27,6 @@ $(XML_DIR_)/figures/*.png -rmdir $(XML_DIR_)/figures \ $(XML_DIR_) diff --git a/meld.spec b/meld.spec index 3456adb..5166ac9 100644 --- a/meld.spec +++ b/meld.spec @@ -1,5 +1,5 @@ Name: meld -Version: 1.1.4 +Version: 1.1.5 Release: 5%{?dist} Summary: Visual diff and merge tool @@ -9,6 +9,7 @@ URL: http://meld.sourceforge.net/ Source0: http://ftp.gnome.org/pub/gnome/sources/meld/1.1/meld-%{version}.tar.bz2 Patch0: desktop.patch Patch1: %{name}-scrollkeeper.patch +Patch2: %{name}-%{version}-git.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: desktop-file-utils @@ -20,6 +21,7 @@ BuildRequires: perl(XML::Parser) Requires: gnome-python2 >= 2.6.0 Requires: gnome-python2-canvas Requires: gnome-python2-gconf +Requires: gnome-python2-gtksourceview Requires: pygtk2 >= 2.6.0 Requires: pygtk2-libglade @@ -40,6 +42,7 @@ tabbed interface that allows you to open many diffs at once. %setup -q %patch0 -p1 -b .desktop %patch1 -p1 -b .scrollkeeper +%patch2 -p1 -b .git %build @@ -55,7 +58,6 @@ make prefix=%{_prefix} libdir=%{_datadir} \ desktop-file-install --vendor fedora \ --dir ${RPM_BUILD_ROOT}%{_datadir}/applications \ - --add-category X-Fedora \ --delete-original \ ${RPM_BUILD_ROOT}%{_datadir}/applications/%{name}.desktop @@ -95,9 +97,32 @@ rm -rf ${RPM_BUILD_ROOT} %changelog -* Sun Aug 5 2007 Brian Pepple - 1.1.4-5 +* Tue Jun 3 2008 Brian Pepple - 1.1.5-5 +- Backport git support (#449250). + +* Wed Nov 14 2007 Brian Pepple - 1.1.5-4 +- Add Requires on gnome-python2-gtksourceview to enable syntax coloring. (#382041) + +* Sun Aug 5 2007 Brian Pepple - 1.1.5-3 - Update license tag. +* Sun Jun 10 2007 Brian Pepple - 1.1.5-2 +- Drop requires on yelp. + +* Sat Jun 9 2007 Brian Pepple - 1.1.5-1 +- Update to 1.1.5. +- Drop gettext patch. fixed upstream. + +* Sat Jun 9 2007 Brian Pepple - 1.1.4-7 +- Add requires on yelp. + +* Sat Dec 9 2006 Brian Pepple - 1.1.4-6 +- Drop X-Fedora category from desktop file. +- Add patch to fix rejects from new version of gettext. + +* Fri Dec 8 2006 Brian Pepple - 1.1.4-5 +- Rebuild against new python. + * Wed Sep 6 2006 Brian Pepple - 1.1.4-4 - Don't ghost *.pyo files. - Add BR for intltool and perl(XML::Parser). diff --git a/sources b/sources index fbc3427..1eda81b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e780a8f67183acf7f51b13aa4a62ac85 meld-1.1.4.tar.bz2 +a92e72a3b4392ee3e677720f9a75246f meld-1.1.5.tar.bz2