Hello community, here is the log from the commit of package mono-addins for openSUSE:Factory checked in at Tue Oct 4 18:13:56 CEST 2011.
-------- --- openSUSE:Factory/mono-addins/mono-addins.changes 2011-09-23 02:13:07.000000000 +0200 +++ /mounts/work_src_done/STABLE/mono-addins/mono-addins.changes 2011-10-04 02:40:55.000000000 +0200 @@ -1,0 +2,10 @@ +Tue Oct 4 00:31:09 UTC 2011 - [email protected] + +- Update to 0.6.2 + + Added option to support non-interactive installations when + using mautil; + + Avoid entering in an infinite loop when finding corrupted file; + + Fixed crash when clicking for add-in info in dynamic assembles; + + Fix bug in Repair command + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- mono-addins-0.6.1.tar.bz2 New: ---- mono-addins-0.6.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mono-addins.spec ++++++ --- /var/tmp/diff_new_pack.uHV4UR/_old 2011-10-04 18:13:52.000000000 +0200 +++ /var/tmp/diff_new_pack.uHV4UR/_new 2011-10-04 18:13:52.000000000 +0200 @@ -19,7 +19,7 @@ %define _libdir %{_prefix}/lib Name: mono-addins -Version: 0.6.1 +Version: 0.6.2 Release: 0 License: X11/MIT BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ mono-addins-0.6.1.tar.bz2 -> mono-addins-0.6.2.tar.bz2 ++++++ ++++ 8351 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mono-addins-0.6.1/Mono.Addins/Mono.Addins/AddinEngine.cs new/mono-addins-0.6.2/Mono.Addins/Mono.Addins/AddinEngine.cs --- old/mono-addins-0.6.1/Mono.Addins/Mono.Addins/AddinEngine.cs 2011-04-13 11:00:29.000000000 +0200 +++ new/mono-addins-0.6.2/Mono.Addins/Mono.Addins/AddinEngine.cs 2011-08-04 20:36:41.000000000 +0200 @@ -669,8 +669,14 @@ { if (AddinDatabase.RunningSetupProcess || asm is System.Reflection.Emit.AssemblyBuilder) return; + string codeBase; + try { + codeBase = asm.CodeBase; + } catch { + return; + } Uri u; - if (!Uri.TryCreate (asm.CodeBase, UriKind.Absolute, out u)) + if (!Uri.TryCreate (codeBase, UriKind.Absolute, out u)) return; string asmFile = u.LocalPath; Addin ainfo = Registry.GetAddinForHostAssembly (asmFile); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mono-addins-0.6.1/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs new/mono-addins-0.6.2/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs --- old/mono-addins-0.6.1/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs 2011-04-13 11:00:29.000000000 +0200 +++ new/mono-addins-0.6.2/Mono.Addins/Mono.Addins.Database/AddinDatabase.cs 2011-08-04 20:36:41.000000000 +0200 @@ -940,12 +940,17 @@ } return lastDomainId.ToString (); } - - internal void ResetCachedData () + + internal void ResetBasicCachedData () { allSetupInfos = null; addinSetupInfos = null; rootSetupInfos = null; + } + + internal void ResetCachedData () + { + ResetBasicCachedData (); hostIndex = null; cachedAddinSetupInfos.Clear (); if (addinEngine != null) @@ -1001,6 +1006,8 @@ monitor.ReportError ("The add-in registry could not be rebuilt. It may be due to lack of write permissions to the directory: " + AddinDbDir, ex); } } + ResetBasicCachedData (); + Update (monitor, domain); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mono-addins-0.6.1/Mono.Addins/Mono.Addins.Serialization/BinaryXmlReader.cs new/mono-addins-0.6.2/Mono.Addins/Mono.Addins.Serialization/BinaryXmlReader.cs --- old/mono-addins-0.6.1/Mono.Addins/Mono.Addins.Serialization/BinaryXmlReader.cs 2011-04-13 11:00:29.000000000 +0200 +++ new/mono-addins-0.6.2/Mono.Addins/Mono.Addins.Serialization/BinaryXmlReader.cs 2011-08-01 12:14:15.000000000 +0200 @@ -105,8 +105,12 @@ byte[] bytes = new byte [len]; int n = 0; - while (n < len) - n += reader.Read (bytes, n, len - n); + while (n < len) { + int read = reader.Read (bytes, n, len - n); + if (read == 0) + throw new InvalidOperationException ("Length too high for string: " + len); + n += read; + } string s = Encoding.UTF8.GetString (bytes); stringTable.Add (s); return s; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mono-addins-0.6.1/Mono.Addins.Setup/Mono.Addins.Setup/AddinPackage.cs new/mono-addins-0.6.2/Mono.Addins.Setup/Mono.Addins.Setup/AddinPackage.cs --- old/mono-addins-0.6.1/Mono.Addins.Setup/Mono.Addins.Setup/AddinPackage.cs 2011-04-13 11:00:29.000000000 +0200 +++ new/mono-addins-0.6.2/Mono.Addins.Setup/Mono.Addins.Setup/AddinPackage.cs 2011-06-07 00:37:05.000000000 +0200 @@ -40,6 +40,7 @@ using Mono.Addins; using Mono.Addins.Description; using System.Collections.Generic; +using System.Linq; namespace Mono.Addins.Setup { @@ -236,8 +237,9 @@ return; } + // If the add-in assemblies are loaded, or if there is any file with a write lock, delay the uninstallation HashSet<string> files = new HashSet<string> (GetInstalledFiles (conf)); - if (AddinManager.CheckAssembliesLoaded (files)) { + if (AddinManager.CheckAssembliesLoaded (files) || files.Any (f => HasWriteLock (f))) { uninstallingLoaded = true; return; } @@ -254,6 +256,18 @@ CopyAddinFiles (monitor, conf, iaddin.AddinFile, tempFolder); } + bool HasWriteLock (string file) + { + if (!File.Exists (file)) + return false; + try { + File.OpenWrite (file).Close (); + return false; + } catch { + return true; + } + } + IEnumerable<string> GetInstalledFiles (AddinDescription conf) { string basePath = Path.GetDirectoryName (conf.AddinFile); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mono-addins-0.6.1/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs new/mono-addins-0.6.2/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs --- old/mono-addins-0.6.1/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs 2011-04-13 11:00:29.000000000 +0200 +++ new/mono-addins-0.6.2/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs 2011-06-07 00:37:05.000000000 +0200 @@ -675,27 +675,8 @@ internal bool HasWriteAccess (string file) { - if (File.Exists (file)) { - try { - File.OpenWrite (file).Close (); - return true; - } catch { - return false; - } - } - else if (Directory.Exists (file)) { - string tpath = Path.Combine (file, ".test"); - int n = 0; - while (Directory.Exists (tpath + n)) n++; - try { - Directory.CreateDirectory (tpath + n); - Directory.Delete (tpath + n); - return true; - } catch { - return false; - } - } else - return false; + FileInfo f = new FileInfo (file); + return !f.Exists || !f.IsReadOnly; } internal bool IsUserAddin (string addinFile) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mono-addins-0.6.1/Mono.Addins.Setup/Mono.Addins.Setup/SetupTool.cs new/mono-addins-0.6.2/Mono.Addins.Setup/Mono.Addins.Setup/SetupTool.cs --- old/mono-addins-0.6.1/Mono.Addins.Setup/Mono.Addins.Setup/SetupTool.cs 2011-04-13 11:00:29.000000000 +0200 +++ new/mono-addins-0.6.2/Mono.Addins.Setup/Mono.Addins.Setup/SetupTool.cs 2011-08-01 12:14:15.000000000 +0200 @@ -35,6 +35,7 @@ using Mono.Addins.Setup; using System.IO; using Mono.Addins.Description; +using System.Linq; namespace Mono.Addins.Setup { @@ -167,27 +168,30 @@ void Install (string[] args) { - if (args.Length < 1) { + bool prompt = !args.Any (a => a == "-y"); + var addins = args.Where (a => a != "-y"); + + if (!addins.Any ()) { PrintHelp ("install"); return; } PackageCollection packs = new PackageCollection (); - for (int n=0; n<args.Length; n++) { - if (File.Exists (args [n])) { - packs.Add (AddinPackage.FromFile (args [n])); + foreach (string arg in addins) { + if (File.Exists (arg)) { + packs.Add (AddinPackage.FromFile (arg)); } else { - string aname = Addin.GetIdName (GetFullId (args[n])); - string aversion = Addin.GetIdVersion (args[n]); + string aname = Addin.GetIdName (GetFullId (arg)); + string aversion = Addin.GetIdVersion (arg); if (aversion.Length == 0) aversion = null; AddinRepositoryEntry[] ads = service.Repositories.GetAvailableAddin (aname, aversion); if (ads.Length == 0) - throw new InstallException ("The addin '" + args[n] + "' is not available for install."); + throw new InstallException ("The addin '" + arg + "' is not available for install."); packs.Add (AddinPackage.FromRepository (ads[ads.Length-1])); } } - Install (packs, true); + Install (packs, prompt); } void CheckInstall (string[] args) @@ -252,25 +256,34 @@ void Uninstall (string[] args) { - if (args.Length < 1) + bool prompt = !args.Any (a => a == "-y"); + var addins = args.Where (a => a != "-y"); + + if (!addins.Any ()) throw new InstallException ("The add-in id is required."); + if (addins.Count () > 1) + throw new InstallException ("Only one add-in id can be provided."); - Addin ads = registry.GetAddin (GetFullId (args[0])); + string id = addins.First (); + Addin ads = registry.GetAddin (GetFullId (id)); if (ads == null) - throw new InstallException ("The add-in '" + args[0] + "' is not installed."); + throw new InstallException ("The add-in '" + id + "' is not installed."); if (!ads.Description.CanUninstall) - throw new InstallException ("The add-in '" + args[0] + "' is protected and can't be uninstalled."); - - Console.WriteLine ("The following add-ins will be uninstalled:"); - Console.WriteLine (" - " + ads.Description.Name); - foreach (Addin si in service.GetDependentAddins (args[0], true)) - Console.WriteLine (" - " + si.Description.Name); + throw new InstallException ("The add-in '" + id + "' is protected and can't be uninstalled."); - Console.WriteLine (); - Console.Write ("Are you sure you want to continue? (y/N): "); - string res = Console.ReadLine (); - if (res == "y" || res == "Y") - service.Uninstall (new ConsoleProgressStatus (verbose), ads.Id); + if (prompt) { + Console.WriteLine ("The following add-ins will be uninstalled:"); + Console.WriteLine (" - " + ads.Description.Name); + foreach (Addin si in service.GetDependentAddins (id, true)) + Console.WriteLine (" - " + si.Description.Name); + + Console.WriteLine (); + Console.Write ("Are you sure you want to continue? (y/N): "); + string res = Console.ReadLine (); + if (res != "y" && res != "Y") + return; + } + service.Uninstall (new ConsoleProgressStatus (verbose), ads.Id); } bool IsHidden (Addin ainfo) @@ -963,20 +976,22 @@ cmd = new SetupCommand (cat, "install", "i", new SetupCommandHandler (Install)); cmd.Description = "Installs add-ins."; - cmd.Usage = "[package-name|package-file] ..."; + cmd.Usage = "[-y] [package-name|package-file] ..."; cmd.AppendDesc ("Installs an add-in or set of addins. The command argument is a list"); cmd.AppendDesc ("of files and/or package names. If a package name is provided"); cmd.AppendDesc ("the package will be looked up in the registered repositories."); cmd.AppendDesc ("A specific add-in version can be specified by appending it to."); cmd.AppendDesc ("the package name using '/' as a separator, like in this example:"); - cmd.AppendDesc ("MonoDevelop.SourceEditor/0.9.1"); + cmd.AppendDesc ("MonoDevelop.SourceEditor/0.9.1\n"); + cmd.AppendDesc ("-y: Don't ask for confirmation."); commands.Add (cmd); cmd = new SetupCommand (cat, "uninstall", "u", new SetupCommandHandler (Uninstall)); cmd.Description = "Uninstalls add-ins."; - cmd.Usage = "<package-name>"; + cmd.Usage = "[-y] <package-name>"; cmd.AppendDesc ("Uninstalls an add-in. The command argument is the name"); - cmd.AppendDesc ("of the add-in to uninstall."); + cmd.AppendDesc ("of the add-in to uninstall.\n"); + cmd.AppendDesc ("-y: Don't ask for confirmation."); commands.Add (cmd); cmd = new SetupCommand (cat, "check-install", "ci", new SetupCommandHandler (CheckInstall)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mono-addins-0.6.1/configure.ac new/mono-addins-0.6.2/configure.ac --- old/mono-addins-0.6.1/configure.ac 2011-04-13 11:00:29.000000000 +0200 +++ new/mono-addins-0.6.2/configure.ac 2011-08-04 20:36:55.000000000 +0200 @@ -1,7 +1,7 @@ dnl Warning: This is an automatically generated file, do not edit! dnl Process this file with autoconf to produce a configure script. AC_PREREQ([2.54]) -AC_INIT([mono-addins], [0.6.1]) +AC_INIT([mono-addins], [0.6.2]) AM_INIT_AUTOMAKE([foreign tar-ustar]) AM_MAINTAINER_MODE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mono-addins-0.6.1/missing new/mono-addins-0.6.2/missing --- old/mono-addins-0.6.1/missing 2009-02-21 08:11:21.000000000 +0100 +++ new/mono-addins-0.6.2/missing 2011-02-19 03:47:07.000000000 +0100 @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2006-05-10.23 +scriptversion=2009-04-28.21; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, +# 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify @@ -18,9 +18,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program. If not, see <http://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -89,6 +87,9 @@ tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] +Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and +\`g' are ignored when checking the name. + Send bug reports to <[email protected]>." exit $? ;; @@ -106,15 +107,22 @@ esac +# normalize program name to check for. +program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect -# the program). +# the program). This is about non-GNU programs, so use $1 not +# $program. case $1 in - lex|yacc) + lex*|yacc*) # Not GNU programs, they don't have --version. ;; - tar) + tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 @@ -138,7 +146,7 @@ # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. -case $1 in +case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if @@ -148,7 +156,7 @@ touch aclocal.m4 ;; - autoconf) + autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the @@ -157,7 +165,7 @@ touch configure ;; - autoheader) + autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want @@ -187,7 +195,7 @@ while read f; do touch "$f"; done ;; - autom4te) + autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the @@ -210,7 +218,7 @@ fi ;; - bison|yacc) + bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package @@ -240,7 +248,7 @@ fi ;; - lex|flex) + lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package @@ -263,7 +271,7 @@ fi ;; - help2man) + help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the @@ -277,11 +285,11 @@ else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" - exit 1 + exit $? fi ;; - makeinfo) + makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file @@ -310,7 +318,7 @@ touch $file ;; - tar) + tar*) shift # We have already tried tar in the generic part. @@ -363,5 +371,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: continue with "q"... Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
