octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: feature freeze -> 3.0 release


From: David Bateman
Subject: Re: feature freeze -> 3.0 release
Date: Sun, 23 Sep 2007 22:05:38 +0200
User-agent: Thunderbird 1.5.0.7 (X11/20060921)

Thomas Weber wrote:
> Am Sonntag, den 23.09.2007, 14:02 +0200 schrieb Soren Hauberg:
>> Thomas Weber skrev:
>>> If you mean the Octave-forge packages:
>>> I'm not aware of anyone currently working on this for Debian. Gentoo has
>>> some packages, but I don't know how many and how they are actually
>>> packaged:
>>> http://bugs.gentoo.org/show_bug.cgi?id=179885
> 
> I had a look at the eclass at
> http://dev.gentoo.org/~markusle/octave-overlay/eclass/octave-forge.eclass
> 
> As far as I can tell, it calls configure and make directly. It parses
> the DESCRIPTION, creates some Octave code from that and let's Octave
> handle the octave_packages file.
> 

Octave has to handle the packaging at some point otherwise Octave has no
knowledge of package and can't load and unload the packages from the
path as needed (think NaN package that is useful but not always).. Sorry
the "one package manager to rule them all" argument can not hold here
and the distribution packages will have to let Octave do at this part of
the job..

My idea of the minimum at the moment is what is, and has been for a few
months, in the octave-forge CVS as the "make srpms" target. Orion has
pointed out that the effort I previously made to separate the
architecture dependent and independent files did go far enough and I
have a patch for that (see the message
http://www.cae.wisc.edu/pipermail/octave-maintainers/2007-September/004057.html,
though I've simpliied it a bit since its not fundamentally different),
that places the archiecture dependent code in

<prefix>/libexec/octave/packages/<package>/getarch()

and this can be set with a command to Octave by

pkg prefix <prefix> <archprefix>

to allow for builds that aren't preformed by root. I believe the only
change needed to the octave-forge "make srpms" target to make use of the
patch to pkg.m above is the patch attached, though I won't apply this
till the pkg.m patch is discussed...

Sorry guys, but I think the ball is in the packagers camp. Your turn to
play..

D.




I'm willing to make a test RPM to go with this
--- packages/package_Makefile.in.~1.1.~ 2007-07-12 16:58:40.000000000 +0200
+++ packages/package_Makefile.in        2007-09-23 22:01:09.415795229 +0200
@@ -43,11 +43,16 @@
          pkgdir=`octave -H -q --no-site-file --eval 
"warning('off','all');pkg('install','$(PACKAGE)');l=pkg('list');disp(l{cellfun(@(x)strcmp(x.name,'$(PKG)'),l)}.dir);$$stripcmd;"`;
 \
        else \
          shareprefix=$(DESTDIR)/`octave -H -q --no-site-file --eval 
"disp(fullfile(OCTAVE_HOME(),'share','octave'));"`; \
+         libexecprefix=$(DESTDIR)/`octave -H -q --no-site-file --eval 
"disp(fullfile(OCTAVE_HOME(),'libexec','octave'));"`; \
          octprefix=$$shareprefix/packages; \
+         archprefix=$$libexecprefix/packages; \
          if [ ! -e $$octprefix ]; then \
            mkdir -p $$octprefix; \
          fi; \
-         pkgdir=`octave -H -q --no-site-file --eval 
"warning('off','all');pkg('prefix','$$octprefix');pkg('global_list',fullfile('$$shareprefix','octave_packages'));pkg('local_list',fullfile('$$shareprefix','octave_packages'));pkg('install','$(PACKAGE)');l=pkg('list');disp(l{cellfun(@(x)strcmp(x.name,'$(PKG)'),l)}.dir);$$stripcmd;"`;
 \
+         if [ ! -e $$archprefix ]; then \
+           mkdir -p $$archprefix; \
+         fi; \
+         pkgdir=`octave -H -q --no-site-file --eval 
"warning('off','all');pkg('prefix','$$octprefix','$$archprefix');pkg('global_list',fullfile('$$shareprefix','octave_packages'));pkg('local_list',fullfile('$$shareprefix','octave_packages'));pkg('install','$(PACKAGE)');l=pkg('list');disp(l{cellfun(@(x)strcmp(x.name,'$(PKG)'),l)}.dir);$$stripcmd;"`;
 \
        fi; \
        if [ "X${DISTPKG}X" != "XX" ]; then \
          if [ -e $$pkgdir/packinfo/on_uninstall.m ]; then \

reply via email to

[Prev in Thread] Current Thread [Next in Thread]