[Pkg-octave-devel] Bug#681064: Bug#681064: octave: does not configure properly

Rafael Laboissiere rafael at laboissiere.net
Wed Jul 11 16:44:15 UTC 2012


* Santiago Vila <sanvila at unex.es> [2012-07-11 16:02]:

> On Tue, 10 Jul 2012, Rafael Laboissiere wrote:
> 
> > I suspect that your system has some file left over from another package
> > that may be causing the problem.  If this is true, then what you are
> > reporting is a real bug that must be fixed, but it is perhaps not caused
> > by the octave package.
> 
> I can assure that there is a real bug here, because this happened on
> twenty different computers at work, and everything I did was "normal",
> i.e. apt-get update, apt-get upgrade, apt-get dist-upgrade,
> dpkg --purge not-needed-package, etc.
> 
> I will not change the severity again because I don't want to start a
> bug severity war, but I still think this bug deserves a freeze exception
> (i.e. it should be RC).
> 
> After the analysis by Thomas Weber, do you still need a precise way to
> reproduce this?

At any rate, the following is a reproducible bug:

    $ sudo rmdir /usr/share/octave/packages/
    $ sudo octave --silent --no-history --no-init-file --no-window-system --eval "pkg ('rebuild');"
    error: could not find the file or path /usr/share/octave/packages
    error: called from:
    error:   /usr/share/octave/3.6.2/m/pkg/pkg.m at line 1234, column 5
    error:   /usr/share/octave/3.6.2/m/pkg/pkg.m at line 418, column 16
    error:   /usr/share/octave/3.6.2/m/startup/octaverc at line 26, column 1

I think that this is an upstream problem and I agree with you that this
bug deserves a freeze exception.  Sébastien has already set the severity
level to serious again.

For fixing the bug, I propose the patch attached below, that changes the
code in pkg.m.  To the other members of the DOG: please, tell me what you
think about the patch.  I am also wondering what we should do now. 
Should we create a "wheezy" branch in our Git repository and make an
RC-fixing release with version number, say, 3.6.2-2.wheezy.1?

Rafael
-------------- next part --------------
Description: Create packages directory, if is does not exist
 This package avoids failing errors when pkg('rebuild') is called and
 the /usr/share/octave/packages does not exist.  Note that a similar
 code exists already in pkg.m when treating the directory in archprefix.
Author: Rafael Laboissiere <rafael at laboissiere.net>
Bug-Debian: http://bugs.debian.org/681064
Forwarded: no
Last-Update: 2012-07-11

--- octave-3.6.2.orig/scripts/pkg/pkg.m
+++ octave-3.6.2/scripts/pkg/pkg.m
@@ -415,7 +415,13 @@ function [local_packages, global_package
         global_packages = archprefix;
       elseif (length (files) >= 1 && nargout <= 2 && ischar (files{1}))
         prefix = files{1};
-        prefix = absolute_pathname (prefix);
+        try
+          prefix = absolute_pathname (prefix);
+        catch
+          mkdir (prefix);
+          warning ("creating the directory %s\n", prefix);
+          prefix = absolute_pathname (prefix);
+        end_try_catch
         local_packages = prefix;
         user_prefix = true;
         if (length (files) >= 2 && ischar (files{2}))


More information about the Pkg-octave-devel mailing list