[Pkg-octave-commit] rev 85 - trunk

Rafael Laboissiere rafael@costa.debian.org
Tue, 22 Feb 2005 10:03:25 +0100


Author: rafael
Date: 2005-02-22 10:03:25 +0100 (Tue, 22 Feb 2005)
New Revision: 85

Modified:
   trunk/README
Log:
* README: Added section "Centralized installation paths and octave2.1
  dependency" 


Modified: trunk/README
===================================================================
--- trunk/README	2005-02-22 05:56:51 UTC (rev 84)
+++ trunk/README	2005-02-22 09:03:25 UTC (rev 85)
@@ -116,19 +116,19 @@
 [N.B.:  This only works if your user name in the system you are working is
         the same as your user name in Alioth.  If this is not the case, you
         will need to set the SVN_SSH environment variable, like this:
-	
+
         export SVN_SSH="ssh -l my-alioth-username"
-	
+
 	Otherwise, you can add your Alioth user name directly in the URL:
-	
+
 	svn co svn+ssh://my-alioth-username@svn.debian.org/svn/pkg-octave
 
 	Yet another solution, probably the best one, is adding to your
         personal configuration file ~/.ssh/config something like:
-	
+
 	Host svn.debian.org
 	User my-alioth-username
-]	 
+]
 
 # Create the directory for the new package in trunk and tags
 
@@ -179,6 +179,59 @@
 refuse to build a package with such an entry at the top of debian/changelog.
 
 
+4. Centralized installation paths and octave2.1 dependency
+----------------------------------------------------------
+
+Starting with the release 2.1.65-1, some common build infrastructure has
+been added to the octave2.1-headers package.  The goal is to have more
+uniform octave-releated and to avoid incompatibility problems at every new
+release of Octave, even when the API counter is not incremented.
+
+These are the instructions for the developers:
+
+1) Build-Depends on octave2.1-headers (>= 2.1.65).  This is necessary to get
+   access to files defs.make and octave-depends (attached below).
+
+2) At the top of debian/rules put the following:
+
+   include /usr/share/octave/debian/defs.make
+
+   This defines the Makefile variables MDIR and OCTDIR containing the
+   installation paths for .m scripts and .oct loadable modules.  Use these
+   variables to install files in the package.
+
+   For instance, the following examples:
+
+   ##########################################
+   include /usr/share/octave/debian/defs.make
+   all:
+   	@echo MDIR: $(MDIR)
+   	@echo OCTDIR: $(OCTDIR)
+   ##########################################
+
+   would give something like:
+
+   $ make
+   MDIR: /usr/share/octave/site/m
+   OCTDIR: /usr/lib/octave/site/oct/api-v13/i386-pc-linux-gnu
+
+3) In the install rule of debian/rules, call 'octave-depends' (typically
+   near dh_shlibdeps).  This is a debhelper-like program that calculates the
+   right Octave dependency.  If you have in debian/control:
+
+       Depends: ${octave:Depends}
+
+   then octave-depends would give something like:
+
+       Depends: octave2.1 (>= 2.1.65)
+
+Notice that the dependency above will keep compatibility with later versions
+of octave2.1.  This is also insured by the fact that the $(OCTDIR) path does
+not contain a version number, only the API number. Only in the event a newer
+version of octave2.1 bumps the API number, then we will have to rebuild all
+the packages containing .oct files.
+
+
 Author
 ------