[SCM] an open source computer algebra system branch, master, updated. upstream/3-1-3-1-8-g8b7e901

Felix Salfelder felix at em.cs.uni-frankfurt.de
Sat Feb 4 19:48:31 UTC 2012


The following commit has been merged in the master branch:
commit 4bc30b5cef0a8a639487105ea6fd951d5bd99684
Author: Felix Salfelder <felix at em.cs.uni-frankfurt.de>
Date:   Sat Feb 4 20:39:16 2012 +0100

    - use dpkg_buildflags
    - install $DESTDIR
    - rename library package to libsingular0
    - updated debian/copyright

diff --git a/debian/changelog b/debian/changelog
index d3775fe..279d9f6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,13 @@
-singular (3-1-3-3) UNRELEASED; urgency=low
+singular (3.1.3-3) UNRELEASED; urgency=low
 
   * new upstream version (preview)
   * removed cdbs, use plain debhelper 
-  * incomplete
+  * install to $(DESTDIR)
+  * sane, uscan friendly, version number pattern
+  * library package name: libsingular0
+  * FIXME:
+    - file name for libsingular*.so
+    - is debian/copyright complete?
 
  -- Felix Salfelder <salfelder at em.cs.uni-frankfurt.de>  Sat, 21 Jan 2012 19:05:47 +0100
 
diff --git a/debian/control b/debian/control
index 7426b4f..77285c8 100644
--- a/debian/control
+++ b/debian/control
@@ -1,14 +1,18 @@
 Source: singular
 Section: math
 Priority: optional
-Maintainer: Tim Abbott <tabbott at mit.edu>
+Maintainer: Debian Science Maintainers <debian-science-maintainers at lists.alioth.debian.org>
+Uploaders: Felix Salfelder <felix at salfelder.org>
 Homepage: http://www.singular.uni-kl.de/
+DM-Upload-Allowed: yes
 Build-Depends: autotools-dev, debhelper (>= 5), quilt, patchutils (>= 0.2.25), libgmp3-dev, libntl-dev (>=5.2), libncurses5-dev, libreadline-dev, libmpfr-dev
 Standards-Version: 3.8.0
+Vcs-Browser: http://git.debian.org/?p=debian-science/packages/singular.git
+Vcs-Git: git://git.debian.org/git/debian-science/packages/singular.git
 
 Package: singular
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libsingular-3-1  (= ${binary:Version})
+Depends: ${shlibs:Depends}, ${misc:Depends}, libsingular0  (= ${binary:Version})
 Description: A commutative algebra system
  SINGULAR is a Computer Algebra System for polynomial computations
  with special emphasis on the needs of commutative algebra,
@@ -16,11 +20,13 @@ Description: A commutative algebra system
  .
  Main computational objects: ideals/modules over very general
  polynomial rings over various ground fields.
+ .
+ This package contains the Singular CLI and some helper programs.
 
 Package: libsingular-dev
 Section: libdevel
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libsingular-3-1  (= ${binary:Version})
+Depends: ${shlibs:Depends}, ${misc:Depends}, libsingular0  (= ${binary:Version})
 Description: Library for commutative algebra, development files
  SINGULAR is a Computer Algebra System for polynomial computations
  with special emphasis on the needs of commutative algebra,
@@ -28,11 +34,15 @@ Description: Library for commutative algebra, development files
  .
  Main computational objects: ideals/modules over very general
  polynomial rings over various ground fields.
+ .
+ This package contains header files and static libaries.
 
-Package: libsingular-3-1
+Package: libsingular0
+Provides: libsingular
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libsingular-3-0-4-3
 Description: Library for commutative algebra, shared library
  SINGULAR is a Computer Algebra System for polynomial computations
  with special emphasis on the needs of commutative algebra,
@@ -40,3 +50,6 @@ Description: Library for commutative algebra, shared library
  .
  Main computational objects: ideals/modules over very general
  polynomial rings over various ground fields.
+ .
+ This package contains the shared library, some Singular runtime libraries and
+ lookup tables.
diff --git a/debian/copyright b/debian/copyright
index 99a608c..d4cf15d 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,57 +1,69 @@
-This package was debianized by Tim Abbott <tabbott at mit.edu> in 2008.
-
-It was downloaded from http://www.singular.uni-kl.de.
-
-Copyright: (C) 1986-2007 G.-M. Greuel, G. Pfister, H. Schoenemann
-	   (C) 1999-2007 O. Bachmann (omalloc/, licensed under GPL2+)
-	   (C) 1991-2007 G.-M. Greuel, R. Stobbe, J. Schmidt, G. Pfister,
-			 H. Schoenemann  (factory/)
-	   (C) 1996-2007 Michael Messollen <mmessollen at web.de> (libfac/)
-           (C) 1996-2007 Agnes Eileen Heydtmann,
-			 Alexander Dreyer,
-			 Andrea Mindnich,
-			 Anne Fruehbis-Krueger,
-			 Bernd Martin,
-			 Christian Gorzel,
-			 Christine Theis,
-			 Christoph Lossen,
-			 Dietmar Hillebrand,
-			 Gerhard Pfister,
-			 Gert-Martin Greuel,
-			 Hans Schoenemann,
-			 I.Bermejo,
-			 Ivor Saynisch,
-			 Jorge Martin Morales,
-			 Jose Ignacio Farran Martin,
-			 Kai Krueger,
-			 Markus Hochstetter,
-			 Martin Lamm,
-			 Maryna Viazovska,
-			 Mathias Schulze,
-			 Moritz Wenk,
-			 Olaf Bachmann,
-			 Ph.Gimenez,
-			 Santiago Laplagne,
-			 S. Endrass,
-			 Simon King,
-			 Thomas Bayer,
-			 Thomas Keilen,
-			 Tobias Hirsch,
-			 Viktor Levandovskyy,
-			 Wilfred Pohl,
-			 Wolfram Decker (Singular/LIB)
-
-License:
-
+This package was downloaded from http://www.singular.uni-kl.de
+
+Files: debian/*
+Authors: Tim Abbott <tabbott at mit.edu> 2008,
+Copyright: Felix Salfelder <felix at salfelder.org> 2012
+License: GPL-3+
+ The Debian packaging is licensed under the GPL,
+ version 3 or later.
+
+Files: factory/*
+Copyright: © 1991-2007 G.-M. Greuel, R. Stobbe, J. Schmidt, G. Pfister,
+             H. Schoenemann
+
+Files: omalloc/*
+Author: © 1999-2007 O. Bachmann 
+License: GPL2+
+
+Files: libfac/*
+Author: © 1996-2007 Michael Messollen <mmessollen at web.de>
+
+Files: *
+Authors:
+Copyright: © 1986-2007 G.-M. Greuel, G. Pfister, H. Schoenemann
+           © 1996-2007 Agnes Eileen Heydtmann,
+             Alexander Dreyer,
+             Andrea Mindnich,
+             Anne Fruehbis-Krueger,
+             Bernd Martin,
+             Christian Gorzel,
+             Christine Theis,
+             Christoph Lossen,
+             Dietmar Hillebrand,
+             Gerhard Pfister,
+             Gert-Martin Greuel,
+             Hans Schoenemann,
+             I.Bermejo,
+             Ivor Saynisch,
+             Jorge Martin Morales,
+             Jose Ignacio Farran Martin,
+             Kai Krueger,
+             Markus Hochstetter,
+             Martin Lamm,
+             Maryna Viazovska,
+             Mathias Schulze,
+             Moritz Wenk,
+             Olaf Bachmann,
+             Ph.Gimenez,
+             Santiago Laplagne,
+             S. Endrass,
+             Simon King,
+             Thomas Bayer,
+             Thomas Keilen,
+             Tobias Hirsch,
+             Viktor Levandovskyy,
+             Wilfred Pohl,
+             Wolfram Decker (Singular/LIB)
+License: GPL2+
    This package is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; version 2 or version 3 of the License.
-
+   .
    This package is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-
+   .
    You should have received a copy of the GNU General Public License
    along with this package; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
@@ -59,48 +71,31 @@ License:
 On Debian systems, the complete text of the GNU General
 Public License can be found in `/usr/share/common-licenses/GPL'.
 
-The file factory/bin/folding.el is
-
-Copyright (C) 1992, 1993, Jamie Lokier
-
-and is also licensed under the GPL, version 2 or higher.
-
-The file Singular/run.c is
-
+Files: Singular/run.c
 Copyright (C) 1998  Charles S. Wilson
+License: GPL2+
 
-and is licensed under the GPL, version 2 or higher.
-
-The file omalloc/gmalloc.c is
+Files: factory/bin/folding.el
+Copyright: (C) 1992, 1993, Jamie Lokier
+License: GPL2+
 
-Copyright 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
+Files: omalloc/gmalloc.c
+Copyright: 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
                   Written May 1989 by Mike Haertel.
+License: GPL2+
 
-and is licensed under the GPL, version 2 or higher.
-
-The file factory/readcf.cc is
-
-Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005,
+Files: factory/readcf.cc
+Copyright: (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005,
       2006 Free Software Foundation, Inc.
+License: GPL2+
 
-and is licensed under the GPL, version 2 or higher.
-
-The files kernel/fegetopt.h and kernel/fegetopt.c are
-
-Copyright (C) 1987-1994 Free Software Foundation, Inc.
-
-and are licensed under the GPL, version 2 or higher.
-
-The directory mpr/ is taken from the libiberty library, and is
-
-   Copyright 1989-1992 Free Software Foundation, Inc.
+Files: kernel/fegetopt.{h,c}
+Copyright: (C) 1987-1994 Free Software Foundation, Inc.
+License: GPL2+
 
-and is licensed under the GPL, version 2 or higher.
- 
-The file kernel/htmlhelp.h has a different license:
-
- * Copyright 2004 Jacek Caban
- *
+Files: kernel/htmlhelp.h
+Copyright: 2004 Jacek Caban
+License: LGPL
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
@@ -118,10 +113,9 @@ The file kernel/htmlhelp.h has a different license:
 On Debian systems, the complete text of the GNU Lesser General Public
 License can be found in `/usr/share/common-licenses/LGPL'.
 
-The file omalloc/omReturn.h has the following license:
-
- * Copyright 2000 by Gray Watson
- *
+Files: omalloc/omReturn.h
+Copyright: 2000 by Gray Watson
+License: other
  * This file is part of the dmalloc package.
  *
  * Permission to use, copy, modify, and distribute this software for
@@ -137,12 +131,9 @@ The file omalloc/omReturn.h has the following license:
  *
  * The author may be contacted via http://dmalloc.com/
 
-The files Singular/ndbm.cc and Singular/ndbm.h have the following license:
-
-Copyright (c) 1983 Regents of the University of California.
-
-License:
-
+Files: Singular/ndbm.{cc,h}
+Copyright: (c) 1983 Regents of the University of California.
+License: BSD
     Redistribution and use in source and binary forms, with or without
     modification, are permitted under the terms of the BSD License.
 
@@ -161,39 +152,37 @@ License:
 On Debian systems, the complete text of the BSD License can be 
 found in `/usr/share/common-licenses/BSD'.
 
-The directory omalloc/Misc/dlmalloc has the following license:
-
-Copyright (c) 1995 Wolfram Gloger
-
-Permission to use, copy, modify, distribute, and sell this software
-and its documentation for any purpose is hereby granted without fee,
-provided that (i) the above copyright notices and this permission
-notice appear in all copies of the software and related documentation,
-and (ii) the name of Wolfram Gloger may not be used in any advertising
-or publicity relating to the software.
-
-THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
-EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
-WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-
-IN NO EVENT SHALL WOLFRAM GLOGER BE LIABLE FOR ANY SPECIAL,
-INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY
-DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY
-OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-The directory MP/ was removed from the singular package because it had
-non-DFSG free code (the license requires non-commercial use).
-
-The directory ntl/ was removed from the singular package in order to
-use the Debian ntl package from upstream sources.
-
-The directory Singular/LIB/surfex and the file Singular/LIB/surfex.lib
-were removed from the singular package because it had unclear
-copyright status, had no actual java sources for the class files, and
-regardless should be packaged separately should it be included in
-Debian.
-
-The Debian packaging is (C) 2008, Tim Abbott <tabbott at mit.edu> and is
-licensed under the GPL, see above.
+Files: omalloc/Misc/dlmalloc
+Copyright: (c) 1995 Wolfram Gloger
+License: other
+    Permission to use, copy, modify, distribute, and sell this software
+    and its documentation for any purpose is hereby granted without fee,
+    provided that (i) the above copyright notices and this permission
+    notice appear in all copies of the software and related documentation,
+    and (ii) the name of Wolfram Gloger may not be used in any advertising
+    or publicity relating to the software.
+    .
+    THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
+    EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+    WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+    .
+    IN NO EVENT SHALL WOLFRAM GLOGER BE LIABLE FOR ANY SPECIAL,
+    INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY
+    DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+    WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY
+    OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+    PERFORMANCE OF THIS SOFTWARE.
+
+Files: MP/*
+    The directory MP/ was removed from the singular package because it had
+    non-DFSG free code (the license requires non-commercial use).
+
+Files: ntl/*
+    removed from the singular package as we
+    use the Debian ntl package from upstream sources.
+
+Files: Singular/LIB/surfex{.lib,}
+    removed from the singular package because it had unclear
+    copyright status, had no actual java sources for the class files, and
+    regardless should be packaged separately should it be included in
+    Debian.
diff --git a/debian/libsingular-3-1.install b/debian/libsingular-3-1.install
deleted file mode 100644
index eb6e3dc..0000000
--- a/debian/libsingular-3-1.install
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/bin/*.so usr/lib/singular/
-usr/lib/singular/libsingular-*.so usr/lib/
-usr/share/singular/* usr/lib/singular/
diff --git a/debian/libsingular0.install b/debian/libsingular0.install
new file mode 100644
index 0000000..76bf0bc
--- /dev/null
+++ b/debian/libsingular0.install
@@ -0,0 +1,6 @@
+#usr/bin/*.so usr/lib/singular/
+#usr/lib/*.lib usr/lib/singular/
+usr/lib/singular/libsingular-*.so usr/lib/
+
+#seems too specific to put in share
+usr/share/singular/* usr/lib/singular/
diff --git a/debian/patches/IntegerProgramming_make.patch b/debian/patches/IntegerProgramming_make.patch
index 614f17a..56dd1a3 100644
--- a/debian/patches/IntegerProgramming_make.patch
+++ b/debian/patches/IntegerProgramming_make.patch
@@ -1,5 +1,24 @@
 --- a/IntegerProgramming/Makefile.in
 +++ b/IntegerProgramming/Makefile.in
+@@ -57,12 +57,12 @@
+ install_all: install
+ 
+ install install-libsingular: $(MAIN1) $(MAIN2) $(MAIN3) $(MAIN4) $(LLL)
+-	${MKINSTALLDIRS} ${bindir}
+-	${INSTALL_PROGRAM} $(MAIN1) ${bindir}
+-	${INSTALL_PROGRAM} $(MAIN2) ${bindir}
+-	${INSTALL_PROGRAM} $(MAIN3) ${bindir}
+-	${INSTALL_PROGRAM} $(MAIN4) ${bindir}
+-	${INSTALL_PROGRAM} $(LLL) ${bindir}
++	${MKINSTALLDIRS} $(DESTDIR)${bindir}
++	${INSTALL_PROGRAM} $(MAIN1) $(DESTDIR)${bindir}
++	${INSTALL_PROGRAM} $(MAIN2) $(DESTDIR)${bindir}
++	${INSTALL_PROGRAM} $(MAIN3) $(DESTDIR)${bindir}
++	${INSTALL_PROGRAM} $(MAIN4) $(DESTDIR)${bindir}
++	${INSTALL_PROGRAM} $(LLL) $(DESTDIR)${bindir}
+ 
+ install-bindist: $(MAIN1) $(MAIN2) $(MAIN3) $(MAIN4)
+ 	${MKINSTALLDIRS} ${install_bindir}
 @@ -84,6 +84,7 @@
  	-rm -f ${bindir}/$(MAIN3)
  	-rm -f ${bindir}/$(MAIN4)
diff --git a/debian/patches/Singular_make.patch b/debian/patches/Singular_make.patch
index 703fc58..010e8cf 100644
--- a/debian/patches/Singular_make.patch
+++ b/debian/patches/Singular_make.patch
@@ -63,7 +63,7 @@
  
  Singular-static: version.h
  	sleep 1
-@@ -382,14 +388,17 @@
+@@ -382,13 +388,16 @@
  	  tesths.cc iparith.o mpsr_Tok.o claptmpl.o\
  	  ${OBJS} ${LDFLAGS} ${LIBS} ../kernel/mmalloc.o 
  
@@ -73,7 +73,7 @@
 -	iparith.o mpsr_Tok.o claptmpl.o \
 -	${OBJS} -lkernel -L../kernel -L../factory -L../libfac -L${libdir} ${LIBSINGULAR_LIBS}
 +${LIBSINGULAR_NAME}: version.h $(WIN_LIBS) scanner.cc  ${OBJS} \
-+         iparith.o libparse.cc claptmpl.o mpsr_Tok.o $(DL_LIBS) tesths.o |mod2.h
++         iparith.o libparse.cc claptmpl.o mpsr_Tok.o $(DL_LIBS) tesths.o
 +	$(LIBSINGULAR_LD) ${SLDFLAGS} ${LIBSINGULAR_FLAGS} -o ${LIBSINGULAR_NAME} \
 + 	tesths.o iparith.o mpsr_Tok.o claptmpl.o \
 + 	${OBJS} -lkernel -L../kernel -L../factory -L../libfac -L${libdir} ${LIBSINGULAR_LIBS}
@@ -82,18 +82,12 @@
 +	fi
  
 -libsingular.a: mod2.h Makefile version.h $(WIN_LIBS) scanner.cc  ${OBJS} \
--         iparith.o libparse.cc claptmpl.o mpsr_Tok.o
 +libsingular.a: Makefile version.h $(WIN_LIBS) scanner.cc  ${OBJS} \
-+         iparith.o libparse.cc claptmpl.o mpsr_Tok.o |mod2.h
+          iparith.o libparse.cc claptmpl.o mpsr_Tok.o
  	mkdir libsingular.tmp
  	(cd  libsingular.tmp; \
- 	ar x ../../kernel/libkernel.a; \
-@@ -415,21 +424,21 @@
- 
- misc_ip.o emacs.o tesths.o: version.h
- 
--claptmpl.o: claptmpl.cc mod2.h
-+claptmpl.o: claptmpl.cc |mod2.h
+@@ -418,18 +427,18 @@
+ claptmpl.o: claptmpl.cc mod2.h
  	${CXX} ${CXXFLAGS}  ${CPPFLAGS} ${DEFS} -c $<
  
 -iparith.inc: gentable.cc grammar.h tok.h table.h mod2.h
@@ -135,25 +129,78 @@
  	$(CXX) $(CXXFLAGS) -DGENERATE_OPTION_INDEX  -DTSINGULAR -I../kernel feOpt.cc -o feOptTS
  	./feOptTS
  	rm -f feOptTS feOptTS.exe
-@@ -576,7 +585,7 @@
- 	${MKINSTALLDIRS} ${bindir}
- 	${INSTALL_PROGRAM} ${SING_EXEC} ${SINGULAR}
- 	-for file in *.so; do \
+@@ -560,49 +569,41 @@
+ install-nolns: all installbin-nolns installslib-nolns
+ 
+ installbin: ${SING_EXEC} libparse ESingular TSingular ${RUN_SINGULARS}
+-	${MKINSTALLDIRS} ${bindir}
+-	${INSTALL_PROGRAM} ${SING_EXEC} ${SINGULAR}
+-	-for file in *.so; do \
 -	  ${INSTALL_PROGRAM} $$file ${bindir}; \
-+	  ${INSTALL_PROGRAM} $$file ${libdir}; \
++	${MKINSTALLDIRS} $(DESTDIR)${bindir}
++	${MKINSTALLDIRS} $(DESTDIR)${libdir}
++	${INSTALL_PROGRAM} ${SING_EXEC} $(DESTDIR)${SINGULAR}
++	for file in *.so; do \
++	  ${INSTALL_PROGRAM} $$file $(DESTDIR)${libdir}; \
+ 	done
+-	${INSTALL_PROGRAM} libparse ${RUN_SINGULARS} ${bindir}
+-	${INSTALL_PROGRAM} ESingular TSingular ${bindir}
+-	${INSTALL_PROGRAM} surfex ${bindir}
+-	chmod a+x ${SINGULAR}
+-	rm -f ${bindir}/${SING_EXEC}${EXEC_EXT}
+-	cd ${bindir}; ${LN_S} ${SINGULAR} Singular${EXEC_EXT};
+-
+-installbin-nolns: ${SING_EXEC} libparse ESingular TSingular ${RUN_SINGULARS}
+-	${MKINSTALLDIRS} ${bindir}
+-	${INSTALL_PROGRAM} ${SING_EXEC} ${SINGULAR}
+-	-for file in *.so; do \
+-	  ${INSTALL_PROGRAM} $$file ${bindir}; \
+-	done
+-	${INSTALL_PROGRAM} libparse ${RUN_SINGULARS} ${bindir}
+-	${INSTALL_PROGRAM} ESingular TSingular ${DL_LIBS} ${bindir}
+-	chmod a+x ${SINGULAR}
+-	rm -f ${bindir}/${SING_EXEC}${EXEC_EXT}
+-	${INSTALL_PROGRAM} ${SINGULAR} ${bindir}/Singular${EXEC_EXT};
++	${INSTALL_PROGRAM} libparse ${RUN_SINGULARS} $(DESTDIR)${bindir}
++	${INSTALL_PROGRAM} ESingular TSingular $(DESTDIR)${bindir}
++	${INSTALL_PROGRAM} surfex $(DESTDIR)${bindir}
++	chmod a+x $(DESTDIR)${SINGULAR}
++	rm -f $(DESTDIR)${bindir}/${SING_EXEC}${EXEC_EXT}
++	cd $(DESTDIR)${bindir}; ${LN_S} ${SINGULAR} Singular${EXEC_EXT};
++
++installbin-nolns: installbin
++	${INSTALL_PROGRAM} ${SING_EXEC} $(DESTDIR)${bindir}/Singular${EXEC_EXT};
+ 
+ installslib: LIB
+ 	test -r ${slibdir} || ${LN_S} `pwd`/LIB ${slibdir}
+ 
+ installslib-nolns: LIB
+-	${MKINSTALLDIRS} ${slibdir}
++	${MKINSTALLDIRS} $(DESTDIR)${slibdir}
+ 	for file in `pwd`/LIB/*.lib; do \
+-	  ${INSTALL_DATA}  $$file ${slibdir}; \
++	  ${INSTALL_DATA}  $$file $(DESTDIR)${slibdir}; \
+ 	done
+-	${MKINSTALLDIRS} ${slibdir}/gftables
++	${MKINSTALLDIRS} $(DESTDIR)${slibdir}/gftables
+ 	for file in `pwd`/LIB/gftables/*; do \
+-	  ${INSTALL_DATA}  $$file ${slibdir}/gftables/; \
++	  ${INSTALL_DATA}  $$file $(DESTDIR)${slibdir}/gftables/; \
  	done
- 	${INSTALL_PROGRAM} libparse ${RUN_SINGULARS} ${bindir}
- 	${INSTALL_PROGRAM} ESingular TSingular ${DL_LIBS} ${bindir}
-@@ -600,7 +609,7 @@
+ 
  install-libsingular: libsingular
- 	${MKINSTALLDIRS} ${includedir}/singular
+-	${MKINSTALLDIRS} ${includedir}/singular
++	${MKINSTALLDIRS} $(DESTDIR)${includedir}/singular
  	for file in *.$(SO_SUFFIX); do \
 -	  ${INSTALL_PROGRAM}  $$file ${libdir}; \
-+	  cp -a $$file ${libdir}; \
++	  cp -a $$file $(DESTDIR)${libdir}; \
  	done
- 	${INSTALL_PROGRAM} libsingular.h ${includedir}
+-	${INSTALL_PROGRAM} libsingular.h ${includedir}
++	${INSTALL_PROGRAM} libsingular.h $(DESTDIR)${includedir}
  	for file in subexpr.h tok.h grammar.h ipid.h lists.h ipshell.h attrib.h; do \
-@@ -620,7 +629,7 @@
+ 	sed -e "s:<kernel/:<singular/:" < $$file |sed -e "s:<Singular/:<singular/:"|sed -e "s:<omalloc/:<:"|sed -e "s:<factory/:<:" >${includedir}/singular/$$file ;\
+ 	done
+@@ -620,7 +621,7 @@
  mostlyclean: 
  	-rm -f Singular Singular-static Singularg Singularp libparse feOpt*.inc
  	-rm -f *.o *.og core *.op *.so* *.dl_o*
@@ -162,3 +209,63 @@
  
  clean: mostlyclean
  	-rm -f *.bak *.d *.dd depend 
+@@ -654,23 +655,23 @@
+ 
+ install-bindist: $(HEADERS) $(SOURCES) Makefile depend
+ 	echo "#define MAKE_DISTRIBUTION	" > distrib.h
+-	sleep 1
+-	${MAKE} ${SING_EXEC} ESingular TSingular libparse ${RUN_SINGULARS}
+-	${MKINSTALLDIRS} ${install_bindir} 
+-	${INSTALL_PROGRAM} ${SING_EXEC} ${install_bindir}/Singular
+-	-${INSTALL_PROGRAM} *.so ${install_bindir}
+-	${INSTALL_PROGRAM} -s  libparse ${RUN_SINGULARS} ESingular TSingular ${install_bindir}
+-	${INSTALL_PROGRAM} surfex ${install_bindir}
++	# sleep 1
++	${MAKE} ${SING_EXEC} ESingular TSingular libparse $(DESTDIR)${RUN_SINGULARS}
++	${MKINSTALLDIRS} $(DESTDIR)${install_bindir}
++	${INSTALL_PROGRAM} ${SING_EXEC} $(DESTDIR)${install_bindir}/Singular
++	-${INSTALL_PROGRAM} *.so $(DESTDIR)${install_bindir}
++	${INSTALL_PROGRAM} -s  libparse ${RUN_SINGULARS} ESingular TSingular $(DESTDIR)${install_bindir}
++	${INSTALL_PROGRAM} surfex $(DESTDIR)${install_bindir}
+ 	echo "#undef MAKE_DISTRIBUTION " > distrib.h
+ 
+ install-sharedist: ${SLIBS_FILES} LIB/gftables
+-	${MKINSTALLDIRS} ${install_slibdir}
+-	cp ${SLIBS_FILES} ${install_slibdir}
+-	${MKINSTALLDIRS} ${install_slibdir}/gftables
+-	cp ${GFTABLES} ${install_slibdir}/gftables
+-	${MKINSTALLDIRS} ${install_slibdir}/surfex
+-	cp LIB/surfex/surfex.jar ${install_slibdir}/surfex
+-	chmod -R +rX ${install_slibdir}/*
++	${MKINSTALLDIRS} $(DESTDIR)${install_slibdir}
++	cp ${SLIBS_FILES} $(DESTDIR)${install_slibdir}
++	${MKINSTALLDIRS} $(DESTDIR)${install_slibdir}/gftables
++	cp ${GFTABLES} $(DESTDIR)${install_slibdir}/gftables
++	${MKINSTALLDIRS} $(DESTDIR)${install_slibdir}/surfex
++	cp LIB/surfex/surfex.jar $(DESTDIR)${install_slibdir}/surfex
++	chmod -R +rX $(DESTDIR)${install_slibdir}/*
+ 
+ tar:
+ 	tar cf Singular-${SINGULAR_VERSION}-src.tar ${DISTFILES}
+@@ -768,8 +769,8 @@
+ 	$(CXXG) ${CXXFLAGSG} ${CPPFLAGS} ${CXXTEMPLFLAGSG} ${DEFSG} -c mpsr_Tok.cc -o mpsr_Tok.og
+ 
+ installg: Singularg
+-	${MKINSTALLDIRS} ${bindir}
+-	${INSTALL_PROGRAM} Singularg ${bindir}	
++	${MKINSTALLDIRS} $(DESTDIR)${bindir}
++	${INSTALL_PROGRAM} Singularg $(DESTDIR)${bindir}
+ 
+ ESingularg: mod2.h feOpt.cc version.h emacs.cc \
+            feOptES.inc
+@@ -848,8 +849,8 @@
+ 	$(CXXP) ${CXXFLAGSP} ${CPPFLAGS} ${CXXTEMPLFLAGSP} ${DEFSP} -c mpsr_Tok.cc -o mpsr_Tok.op
+ 
+ installp: Singularp
+-	${MKINSTALLDIRS} ${bindir}
+-	${INSTALL_PROGRAM} Singularp ${bindir}	
++	${MKINSTALLDIRS} $(DESTDIR)${bindir}
++	${INSTALL_PROGRAM} Singularp $(DESTDIR)${bindir}
+ 
+ ##
+ ## dependencies
diff --git a/debian/patches/change-library-search-path.patch b/debian/patches/change-library-search-path.patch
index ead51be..634a2d9 100644
--- a/debian/patches/change-library-search-path.patch
+++ b/debian/patches/change-library-search-path.patch
@@ -1,14 +1,19 @@
 missing description
-Index: singular-20071209/kernel/feResource.cc
-===================================================================
---- singular-20071209.orig/kernel/feResource.cc	2008-02-07 05:12:57.000000000 -0500
-+++ singular-20071209/kernel/feResource.cc	2008-02-07 05:13:14.000000000 -0500
-@@ -73,7 +73,7 @@
+--- a/kernel/feResource.cc
++++ b/kernel/feResource.cc
+@@ -73,12 +73,14 @@
  {
    {"SearchPath",    's', feResPath,  NULL,
     "$SINGULARPATH;"
 -   "%b/LIB;"
-+   "/usr/lib/singular/LIB/;"
++   "%r/lib/singular;" // r is mostly what i'd call $PREFIX, YMMV
++#ifndef CHAOTIC_RESOURCES
     "%b/MOD;"
     "%r/LIB;"
     "%r/../LIB;"
+    "%d/LIB;"
+    "%d/../LIB"
++#endif
+    ""},
+   {"Singular",  'S',    feResBinary,"SINGULAR_EXECUTABLE",  "%d/"S_UNAME"/Singular",(char *)""},
+   {"BinDir",    'b',    feResDir,   "SINGULAR_BIN_DIR",     "%d/"S_UNAME,           (char *)""},
diff --git a/debian/patches/factory_make.patch b/debian/patches/factory_make.patch
index fc5a8ac..130c364 100644
--- a/debian/patches/factory_make.patch
+++ b/debian/patches/factory_make.patch
@@ -32,6 +32,40 @@ e.g. factoryconf.h, config.h is generated during configure
  	echo $*.d "\\" > $@
  	$(CXX) -MM $< $(DEPCXXFLAGS) >> $@
  %.dtmp: %.template
+@@ -640,21 +640,21 @@
+ install-nolns: install
+ 
+ installcf:	cf
+-		$(MKINSTALLDIRS) $(libdir)
+-		$(MKINSTALLDIRS) $(includedir)
+-		$(MKINSTALLDIRS) $(templatedir)
+-		$(INSTALL_DATA) $(libfactory) $(libdir)/$(libfactory)
+-		-$(INSTALL_DATA) libsingcf_g.a $(libdir)/libsingcf_g.a
+-		-$(INSTALL_DATA) libsingcf_p.a $(libdir)/libsingcf_p.a
+-		$(INSTALL_DATA) factory.h $(includedir)/factory.h
+-		$(INSTALL_DATA) cf_gmp.h $(includedir)/cf_gmp.h
+-		$(INSTALL_DATA) factoryconf.h $(includedir)/factoryconf.h
+-		$(INSTALL_DATA) $(srcdir)/ftmpl_inst.cc $(templatedir)/ftmpl_inst.cc
++		$(MKINSTALLDIRS) $(DESTDIR)$(libdir)
++		$(MKINSTALLDIRS) $(DESTDIR)$(includedir)
++		$(MKINSTALLDIRS) $(DESTDIR)$(templatedir)
++		$(INSTALL_DATA) $(libfactory) $(DESTDIR)$(libdir)/$(libfactory)
++		-$(INSTALL_DATA) libsingcf_g.a $(DESTDIR)$(libdir)/libsingcf_g.a
++		-$(INSTALL_DATA) libsingcf_p.a $(DESTDIR)$(libdir)/libsingcf_p.a
++		$(INSTALL_DATA) factory.h $(DESTDIR)$(includedir)/factory.h
++		$(INSTALL_DATA) cf_gmp.h $(DESTDIR)$(includedir)/cf_gmp.h
++		$(INSTALL_DATA) factoryconf.h $(DESTDIR)$(includedir)/factoryconf.h
++		$(INSTALL_DATA) $(srcdir)/ftmpl_inst.cc $(DESTDIR)$(templatedir)/ftmpl_inst.cc
+ 		for file in $(templatesrc) $(templateincl); do \
+-		  $(INSTALL_DATA) $(srcdir)/templates/$$file $(templatedir)/$$file; \
++		  $(INSTALL_DATA) $(srcdir)/templates/$$file $(DESTDIR)$(templatedir)/$$file; \
+ 		done
+ # we run `ranlib' another time for SUN machines
+-		$(RANLIB) $(libdir)/$(libfactory)
++		$(RANLIB) $(DESTDIR)$(libdir)/$(libfactory)
+ 
+ installmem:	mem
+ 		$(MKINSTALLDIRS) $(libdir)
 @@ -780,8 +780,10 @@
  # seems gmake needs at least a trivial command.  otherwise all
  # files which depend on config.h will be remade even if congig.h
diff --git a/debian/patches/kernel_make.patch b/debian/patches/kernel_make.patch
index 0bff691..40b07f1 100644
--- a/debian/patches/kernel_make.patch
+++ b/debian/patches/kernel_make.patch
@@ -34,6 +34,41 @@
  	$(CXX) $(CPPFLAGS) -g -Dp_Procs_Dynamic p_Procs_Generate.cc -o p_Procs_Dynamic
  	./p_Procs_Dynamic > p_Procs_Dynamic.xx && mv p_Procs_Dynamic.xx p_Procs_Dynamic.inc
  	-rm -f p_Procs_Dynamic p_Procs_Dynamic.exe
+@@ -275,8 +276,8 @@
+ install-nolns: install
+ 
+ install-libsingular: install
+-	-${MKINSTALLDIRS} ${includedir}
+-	-${MKINSTALLDIRS} ${includedir}/singular
++	-${MKINSTALLDIRS} $(DESTDIR)${includedir}
++	-${MKINSTALLDIRS} $(DESTDIR)${includedir}/singular
+ 	-for file in *.h kInline.cc; do sed -e "s:<kernel/:<singular/:"< $$file | sed -e "s:<Singular/:<singular/:"|sed -e "s:<omalloc/:<:"|sed -e "s:<factory/:<:" > ${includedir}/singular/$$file; done
+ 
+ install: all installbin
+@@ -293,12 +294,12 @@
+ 
+ 
+ installbin: ${DL_LIBS} ${DL_LIBSG} libkernel.a libkernel_g.a
+-	${MKINSTALLDIRS} ${bindir}
++	${MKINSTALLDIRS} $(DESTDIR)${bindir}
+ 	- ranlib libkernel.a
+ 	- ranlib libkernel_g.a
+ ifeq (,${DL_LIBS})
+ else
+-	-${INSTALL_PROGRAM} ${DL_LIBS} ${bindir}
++	${INSTALL_PROGRAM} ${DL_LIBS} $(DESTDIR)${bindir}
+ ifeq (,${DL_LIBSG})
+ else
+ 	-for file in ${DL_LIBS} ${DL_LIBSG}; do ${INSTALL_PROGRAM} $$file ../Singular; done
+@@ -310,7 +311,7 @@
+ 	${MKINSTALLDIRS} ${bindir}
+ ifeq (,${DL_LIBS})
+ else
+-	-${INSTALL_PROGRAM} ${DL_LIBS} ${bindir}
++	${INSTALL_PROGRAM} ${DL_LIBS} $(DESTDIR)${bindir}
+ endif
+ 
+ ##
 @@ -448,15 +449,15 @@
  ## dependencies
  ##
diff --git a/debian/patches/libfac_make.patch b/debian/patches/libfac_make.patch
index 9877928..7c4b6b3 100644
--- a/debian/patches/libfac_make.patch
+++ b/debian/patches/libfac_make.patch
@@ -1,14 +1,5 @@
 --- a/libfac/Makefile.in
 +++ b/libfac/Makefile.in
-@@ -37,7 +37,7 @@
- ##
- CXXFLAGS	= @CXXFLAGS@
- CXXTEMPLFLAGS	= @CXXTEMPLFLAGS@
--CPPFLAGS	= -I${srcdir}/factor -I${srcdir}/charset -I${srcdir} -I.. -I${prefix} @CPPFLAGS@ 
-+CPPFLAGS	= -I${srcdir}/factor -I${srcdir}/charset -I${srcdir} -I.. -I${prefix} @CPPFLAGS@ 
- DEFS		= @DEFS@ 
- LDFLAGS		= @LDFLAGS@
- LIBS		= -lfac -lcf -lcfmem -lgmp @LIBS@
 @@ -86,40 +86,40 @@
  OPTOBJ:
  	${MKINSTALLDIRS} OPTOBJ
@@ -62,3 +53,24 @@
  	$(CXX) -g $(CPPFLAGS) $(DEFS) -c $< -o $@
  
  libfac:		OPTOBJ libfac.a
+@@ -147,13 +147,13 @@
+ install-nolns: install
+ 
+ install install-libsingular:	all
+-	${MKINSTALLDIRS} ${includedir}
+-	${MKINSTALLDIRS} ${libdir}
+-	${INSTALL_DATA} ${LIBFACINCLUDE} ${includedir}
+-	${INSTALL_DATA} ${TARGETNAME}.a ${libdir}
+-	-${INSTALL_DATA} libsingfac_g.a ${libdir}
+-	$(RANLIB) ${libdir}/${TARGETNAME}.a
+-	-$(RANLIB) ${libdir}/libsingfac_g.a
++	${MKINSTALLDIRS} $(DESTDIR)${includedir}
++	${MKINSTALLDIRS} $(DESTDIR)${libdir}
++	${INSTALL_DATA} ${LIBFACINCLUDE} $(DESTDIR)${includedir}
++	${INSTALL_DATA} ${TARGETNAME}.a $(DESTDIR)${libdir}
++	-${INSTALL_DATA} libsingfac_g.a $(DESTDIR)${libdir}
++	$(RANLIB) $(DESTDIR)${libdir}/${TARGETNAME}.a
++	-$(RANLIB) $(DESTDIR)${libdir}/libsingfac_g.a
+ 
+ install_all: install libsingfac_p.a
+ 	-${INSTALL_DATA} libsingfac_p.a ${libdir}
diff --git a/debian/patches/omalloc_make.patch b/debian/patches/omalloc_make.patch
index c3bf28f..4525ddd 100644
--- a/debian/patches/omalloc_make.patch
+++ b/debian/patches/omalloc_make.patch
@@ -1,7 +1,7 @@
 the target 'install-libsingular' is defined twice. this is a bug.
 --- a/omalloc/Makefile.in
 +++ b/omalloc/Makefile.in
-@@ -180,9 +180,9 @@
+@@ -180,22 +180,22 @@
  ##
  install-nolns: install
  
@@ -13,4 +13,28 @@ the target 'install-libsingular' is defined twice. this is a bug.
 +#	$(INSTALL) omalloc.h $(includedir)/singular
  
  install install-libsingular: all
- 	$(MKINSTALLDIRS) $(libdir)
+-	$(MKINSTALLDIRS) $(libdir)
+-	$(MKINSTALLDIRS) $(includedir)
+-	$(INSTALL_DATA) libomalloc.a $(libdir)
+-	$(RANLIB) $(libdir)/libomalloc.a
+-	$(INSTALL_DATA) libomalloc_ndebug.a $(libdir)
+-	$(RANLIB) $(libdir)/libomalloc_ndebug.a
+-	$(INSTALL_DATA) omalloc.o $(libdir)
+-	$(INSTALL_DATA) omalloc_debug.o $(libdir)
+-	$(INSTALL_DATA) omalloc.h $(includedir)
+-	$(INSTALL_DATA) omlimits.h $(includedir)
+-	$(INSTALL_DATA) mylimits.h $(includedir)
++	$(MKINSTALLDIRS) $(DESTDIR)$(libdir)
++	$(MKINSTALLDIRS) $(DESTDIR)$(includedir)
++	$(INSTALL_DATA) libomalloc.a $(DESTDIR)$(libdir)
++	$(RANLIB) $(DESTDIR)$(libdir)/libomalloc.a
++	$(INSTALL_DATA) libomalloc_ndebug.a $(DESTDIR)$(libdir)
++	$(RANLIB) $(DESTDIR)$(libdir)/libomalloc_ndebug.a
++	$(INSTALL_DATA) omalloc.o $(DESTDIR)$(libdir)
++	$(INSTALL_DATA) omalloc_debug.o $(DESTDIR)$(libdir)
++	$(INSTALL_DATA) omalloc.h $(DESTDIR)$(includedir)
++	$(INSTALL_DATA) omlimits.h $(DESTDIR)$(includedir)
++	$(INSTALL_DATA) mylimits.h $(DESTDIR)$(includedir)
+ 
+ install_all: install libomalloc_p.a
+ 	$(INSTALL_DATA) libomalloc_p.a $(libdir)
diff --git a/debian/rules b/debian/rules
index 25e3ff4..100783d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,13 +2,23 @@
 
 DH_VERBOSE=1
 
+CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
+CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
+CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS)
+LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
+
+CFLAGS += -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wextra
+CXXFLAGS += -Wall
+
 #DEB_AUTO_UPDATE_AUTOCONF = 1
 #include /usr/share/cdbs/1/rules/debhelper.mk
 #include /usr/share/cdbs/1/class/autotools.mk
 #include /usr/share/cdbs/1/rules/patchsys-quilt.mk
 
 # Singular doesn't use DESTDIR, so we'll try to put DESTDIR in PREFIX
-PREFIX=$(CURDIR)/debian/tmp/usr
+#PREFIX=$(CURDIR)/debian/tmp/usr
+# ouch. no
+PREFIX=/usr
 DEB_CONFIGURE_EXTRA_FLAGS += --with-apint=gmp --with-gmp=/usr/lib --disable-NTL \
                              --with-ntl --with-NTL --without-MP --enable-gmp=/usr/lib \
                              --enable-Singular --enable-factory --enable-libfac \
@@ -24,7 +34,9 @@ DEB_MAKE_INVOKE += slibdir=$(PREFIX)/share/singular install_slibdir=$(PREFIX)/sh
 DEB_MAKE_BUILD_TARGET = clean
 DEB_MAKE_CLEAN_TARGET = distclean
 DEB_MAKE_INSTALL_TARGET = install-nolns
-DEB_FIXPERMS_EXCLUDE = libsingular-3-0-4-3.so
+# DEB_FIXPERMS_EXCLUDE = libsingular-3-0-4-3.so
+#
+# FIXME:
 DEB_DH_LINK_singular += usr/share/man/man1/Singular.1.gz usr/share/man/man1/ESingular.1.gz
 DEB_DH_LINK_singular += usr/share/man/man1/Singular.1.gz usr/share/man/man1/TSingular.1.gz
 
@@ -131,9 +143,10 @@ configure-stamp:
 	# hack/workaround
 	# this is used as .so VERSION in Singular/Makefile (injected via quilt patch)
 	echo 3-1 > VERSION
-	CFLAGS=-fPIC CXXFLAGS=-fPIC \
-	CPPFLAGS="-I../omalloc -I$(CURDIR)/factory" \
-	LDFLAGS="-L$(CURDIR)/factory -L$(CURDIR)/libfac -L$(CURDIR)/omalloc" \
+	CFLAGS="$(CFLAGS) -fPIC" \
+	CXXFLAGS="$(CXXFLAGS) -fPIC" \
+	CPPFLAGS="$(CPPFLAGS) -I../omalloc -I$(CURDIR)/factory" \
+	LDFLAGS="$(LDFLAGS) -L$(CURDIR)/factory -L$(CURDIR)/libfac -L$(CURDIR)/omalloc" \
 	./configure $(DEB_CONFIGURE_EXTRA_FLAGS)
 	touch $@
 
@@ -147,8 +160,9 @@ install: install-stamp
 
 install-stamp: build-stamp
 	dh_testdir
-	dh_testroot
+#	dh_testroot
 	dh_prep
-	make $(DEB_MAKE_INVOKE) install-nolns PREFIX='$(PREFIX)' MAKE='$(MAKE) $(DEB_MAKE_INVOKE) PREFIX="$(PREFIX)"'
+	DESTDIR=$(CURDIR)/debian/tmp/ $(MAKE) $(DEB_MAKE_INVOKE) install-nolns
+	# PREFIX='$(PREFIX)' MAKE='$(MAKE) $(DEB_MAKE_INVOKE) PREFIX="$(PREFIX)"'
 	touch $@
 
diff --git a/debian/singular.install b/debian/singular.install
index 95e971d..8daf458 100644
--- a/debian/singular.install
+++ b/debian/singular.install
@@ -2,5 +2,6 @@ usr/bin/Singular /usr/bin
 usr/bin/ESingular /usr/bin
 usr/bin/TSingular /usr/bin
 
-usr/bin/* usr/lib/singular
+usr/bin/*_* usr/lib/singular
+usr/bin/*lib* usr/lib/singular
 #debian/singular-bin/* /usr/bin

-- 
an open source computer algebra system



More information about the debian-science-commits mailing list