Bug#352150: [Pkg-octave-devel] Bug#352150: octave-forge: depends on octave2.1, could it also depend on 2.9?

Colin Ingram synergizedmusic at gmail.com
Tue Feb 14 00:50:56 UTC 2006


On 2/9/06, Bill Denney <bill at givebillmoney.com> wrote:
> Package: octave-forge
> Version: 2005.06.13-8
> Severity: important
>
>
> I tried to install octave-forge when I started using 2.9 tonight, but it
> seems to require 2.1.  Could it be made to install on either or could it
> be packaged for both separately if not?
>
> Thanks,
>
> Bill
>

As Rafael noted this is currently being worked on.  The following
patch to the debian files of octave-forge version 2006.01.28-1 should
allow you to build a local octave-forge version against octave-2.9.4

Index: patches/50_admin-octlink.dpatch
===================================================================
--- patches/50_admin-octlink.dpatch	(.../tags/packages/octave-forge/2006.01.28-1/debian)	(revision
0)
+++ patches/50_admin-octlink.dpatch	(.../branches/2.9transition/packages/octave-forge/debian)	(revision
493)
@@ -0,0 +1,16 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 50_admin-octlink.dpatch by Colin Ingram <synergizedmusic at gmail.com>
+##
+## DP: Adds missing admin/octlink.sh
+
+ at DPATCH@
+diff -urNad octave-forge-2006.01.28~/admin/octlink.sh
octave-forge-2006.01.28/admin/octlink.sh
+--- octave-forge-2006.01.28~/admin/octlink.sh	1969-12-31
18:00:00.000000000 -0600
++++ octave-forge-2006.01.28/admin/octlink.sh	2006-02-01
04:07:10.000000000 -0600
+@@ -0,0 +1,6 @@
++#! /bin/sh
++
++FN2=`echo $2 | sed -e's/.octlink//'`
++FN1=`echo $1 | sed -e's/.oct//'`
++if test -e $2 ; then /bin/rm $2; fi
++echo "autoload (\"$FN2\", which (\"$FN1\"));" > $2

Property changes on: patches/50_admin-octlink.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Index: patches/00list
===================================================================
--- patches/00list	(.../tags/packages/octave-forge/2006.01.28-1/debian)	(revision
493)
+++ patches/00list	(.../branches/2.9transition/packages/octave-forge/debian)	(revision
493)
@@ -2,3 +2,4 @@
 50_make-pattern-rules
 50_main-set-makefile
 50_makefile-syntax-fix
+50_admin-octlink
Index: rules
===================================================================
--- rules	(.../tags/packages/octave-forge/2006.01.28-1/debian)	(revision 493)
+++ rules	(.../branches/2.9transition/packages/octave-forge/debian)	(revision
493)
@@ -4,47 +4,80 @@
 # Copyright 2000 - 2004 by Dirk Eddelbuettel <edd at debian.org>

 PACKAGE		= octave-forge
+common_pkg      = $(PACKAGE)-common
+2.1_pkg         = $(PACKAGE)2.1
+2.9_pkg         = $(PACKAGE)2.9

 include /usr/share/dpatch/dpatch.make
 include /usr/share/octave/debian/defs.make

+2.1             = 2.1.72
+2.9             = 2.9.4
 altname         = octave-forge-alternatives
 debtmp		:= $(CURDIR)/debian/$(PACKAGE)
 debdoc          := $(debtmp)/usr/share/doc/$(PACKAGE)
+2.9octdir  	:= $(shell octave-config-$(2.9) -p LOCALAPIOCTFILEDIR)
+2.1octdir  	:= $(shell octave-config-$(2.1) -p LOCALAPIOCTFILEDIR)
 octdir  	:= $(OCTDIR)
+2.9mdir  	:= $(shell octave-config-$(2.9) -p LOCALAPIFCNFILEDIR)
+2.1mdir  	:= $(shell octave-config-$(2.1) -p LOCALAPIFCNFILEDIR)
 mdir	  	:= $(MDIR)
 altoctdir       := /usr/lib/$(altname)
 altmdir         := /usr/share/$(altname)
-octbin		:= $(shell octave-config-2.1.72 -p LOCALARCHLIBDIR)
+octbin		:= $(shell octave-config-2.9.4 -p LOCALARCHLIBDIR)

 mycheck:
-		@echo "debtmp $(debtmp)"
-		@echo "debdic $(debdoc)"
-		@echo "otdir  $(octdir)"
-		@echo "mdir   $(mdir)"
-		@echo "octbin $(octbin)"
+		@echo "debtmp   $(debtmp)"
+		@echo "debdic   $(debdoc)"
+		@echo "otdir    $(octdir)"
+		@echo "2.1otdir $(2.1octdir)"
+		@echo "2.9otdir $(2.9octdir)"
+		@echo "mdir     $(mdir)"
+		@echo "2.1mdir  $(2.1mdir)"
+		@echo "2.9mdir  $(2.9mdir)"
+		@echo "octbin   $(octbin)"

 arch 		:= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-
-## edd 22 Feb 2003 now use 3.2 versions everywhere
-## edd 27 Jun 2003  now that gcc 3.3 is in unstable and testing, relax this
-#compilerpath	= /usr/bin/gcc-3.2
-#cpppath		= /usr/bin/g++-3.2
-#fcpath		= /usr/bin/g77-3.2
 compilerpath	= /usr/bin/gcc
 cpppath		= /usr/bin/g++
 fcpath		= /usr/bin/gfortran
 compilerflags	= "-O2"
 linkerflags	= "-s"

-## hppa needs g++-3.3
-## edd 27 Jun 2003  now that gcc 3.3 is in unstable and testing, relax this
-#ifeq ($(arch),hppa-linux)
-#compilerpath	= /usr/bin/gcc-3.3
-#cpppath		= /usr/bin/g++-3.3
-#fcpath		= /usr/bin/g77-3.3
-#endif
+define l_configure
+	patch-stamp
+	chmod 0755 admin/octlink.sh
+	dh_testdir
+	touch extra/MacOSX/NOINSTALL
+	[ -f autogen.sh ] && ./autogen.sh && chmod 0755 configure
+	CC=$(compilerpath)			\
+	CXX=$(cpppath) 				\
+	FC=$(fcpath)				\
+	F77=$(fcpath)				\
+	CFLAGS=$(compilerflags)			\
+	CXXFLAGS=$(compilerflags)		\
+	FFLAGS=$(compilerflags)			\
+	OCTAVE=octave-__OCTVERS__	       	\
+	MKOCTFILE=mkoctfile-__OCTVERS__	        \
+	touch configure-stamp__OCTVERS__
+endef

+define l_install
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs
+	strip */*/*.oct
+	$(MAKE) install MPATH=$(debtmp)/$(mdir)/$(PACKAGE)	\
+			OPATH=$(debtmp)/$(__VERS__octdir)/$(PACKAGE) \
+			XPATH=$(debtmp)/$(octbin)		\
+			ALTMPATH=$(debtmp)/$(altmdir)           \
+			ALTOPATH=$(debtmp)/$(altoctdir)         \
+			prefix=$(debtmp)/usr			\
+			mandir=$(debtmp)/usr/share/man
+	rm -vf $(debtmp)/rasmol.sh
+	touch install-stamp__VERS__
+endef
 get-orig-source: upstream
 upstream:
 		links http://octave.sf.net
@@ -53,10 +86,18 @@
                 # see the script cvs_checkout.sh instead

 configure:	configure-stamp
+
+configure-stamp2.1: $(subst __OCTVERS__,$(2.1),$(l_configure))
+
+configure-stamp2.9: touch main/sparse/NOINSTALL
+		    $(subst __OCTVERS__,$(2.9),$(l_configure))
+
 configure-stamp: patch-stamp
-		dh_testdir
-		mv configure configure-orig
+		 chmod 0755 admin/octlink.sh
+		 dh_testdir
+		 mv configure configure-orig
 		touch extra/MacOSX/NOINSTALL
+		touch main/sparse/NOINSTALL
 		[ -f autogen.sh ] && ./autogen.sh && chmod 0755 configure
 		CC=$(compilerpath)			\
 		CXX=$(cpppath)				\
@@ -65,6 +106,8 @@
 		CFLAGS=$(compilerflags)			\
 		CXXFLAGS=$(compilerflags)		\
 		FFLAGS=$(compilerflags)			\
+		OCTAVE="octave-2.9.4"                   \
+		MKOCTFILE="mkoctfile-2.9.4"             \
 		./configure --prefix=/usr --with-altmpath=$(altmdir)
                 # clean the tsa/ directory
                 # ( cd extra/tsa && ../../debian/tsacleanup.pl )
@@ -93,13 +136,16 @@
 		rm -vf $(debtmp)/rasmol.sh
 		touch install-stamp

+install-stamp2.1: $(subst __VERS__,2.1,$(l_install))
+install-stamp2.9: $(subst __VERS__,2.9,$(l_install))
+
 check:		check-stamp
 check-stamp:
 		dh_testdir
-		-$(MAKE) check 	OCTAVE=octave2.1
+		-$(MAKE) check 	OCTAVE=octave-2.9.4
 		touch check-stamp

-clean: unpatch
+clean: 		unpatch
 		dh_testdir
 		dh_testroot
 		-test -f configure-orig && mv configure-orig configure
@@ -109,7 +155,7 @@
 		-rm -rf *~ $(debtmp) debian/*~ debian/files*	\
 			fntests.* admin/RPM/octave-forge.spec
 		-rm -f `find . -name PKG_ADD`
-
+		rm -f extra/MacOSX/NOINSTALL main/sparse/NOINSTALL
 		# The following should be dropped when the
 		# main/set/Makefile is included in the upstream tarball
 		-rm -f main/set/ismember.m main/set/setdiff.m	\
Index: control
===================================================================
--- control	(revision 487)
+++ control	(working copy)
@@ -4,7 +4,7 @@
 Maintainer: Debian Octave Group <pkg-octave-devel at lists.alioth.debian.org>
 Uploaders: Rafael Laboissiere <rafael at debian.org>
 Standards-Version: 3.6.2
-Build-Depends: debhelper (>= 4), octave2.1-headers (>= 2.1.72-9),
libxt-dev, gfortran, libqhull-dev, libginac-dev (>= 1.3.3-2+b1),
libgmp3-dev, autoconf, libjpeg62-dev, libpng12-dev, libncurses5-dev,
libreadline5-dev, tetex-bin, libgsl0-dev, netcdfg-dev, units, dpatch
+Build-Depends: debhelper (>= 4), octave2.9-headers (= 2.9.4-12),
libxt-dev, gfortran, libqhull-dev, libginac-dev (>= 1.3.3-2+b1),
libgmp3-dev, autoconf, libjpeg62-dev, libpng12-dev, libncurses5-dev,
libreadline5-dev, tetex-bin, libgsl0-dev, netcdfg-dev, units, dpatch
 Build-Conflicts: octave2.0-headers, octave2.0

 Package: octave-forge




More information about the Pkg-octave-devel mailing list