Package: libopencascade6.2
Version: 6.2-7
Tags: patch

Hi Adam,

I made a mistake when fixing  #486386, Standard_Macro64.hxx should
be in a versioned directory to avoid conflicts with newer packages.
Here is a tested patch againt 6.2-7.  This patch also ensures that
Standard_Macro64.hxx is not included directly.

Denis
libopencascade6.2: /usr/include/opencascade/arch/Standard_Macro64.hxx will cause conflicts

Standard_Macro64.hxx file has been moved from libopencascade-dev
into libopencascade6.2 as requested in #486386.  But this file
will prevent newer libopencascadeX.Y packages from being installed
along with libopencascade6.2, here is a tested patch againt 6.2-7.
This patch also ensures that Standard_Macro64.hxx is not included
directly.

diff --git a/debian/libopencascade6.2.files b/debian/libopencascade6.2.files
index f99f3c9..5b284f0 100644
--- a/debian/libopencascade6.2.files
+++ b/debian/libopencascade6.2.files
@@ -8,4 +8,4 @@ usr/share/opencascade/6.2/src/XmlOcafResource/*
 usr/share/opencascade/6.2/src/SHMessage/*
 usr/share/opencascade/6.2/src/XSMessage/*
 usr/share/opencascade/6.2/src/XSTEPResource/*
-usr/include/opencascade/arch/Standard_Macro64.hxx
+usr/include/opencascade/arch-6.2/Standard_Macro64.hxx
diff --git a/debian/patches/OCC64.patch b/debian/patches/OCC64.patch
index 2b2d420..4cb43c3 100644
--- a/debian/patches/OCC64.patch
+++ b/debian/patches/OCC64.patch
@@ -32,7 +32,7 @@ diff -aur occ6.2/ros/configure.in mod/ros/configure.in
  adm/make/WOKSH/Makefile \
  adm/make/WOKLibs/Makefile \
  adm/make/TKjcas/Makefile \
-+inc/arch/Standard_Macro64.hxx \
++inc/arch-6.2/Standard_Macro64.hxx \
  ])
 --- opencascade-6.2/ros/src/CPPExt/CPPExt_Standard.edl~	2007-03-21 17:13:42.000000000 -0400
 +++ opencascade-6.2/ros/src/CPPExt/CPPExt_Standard.edl	2008-06-12 13:26:47.000000000 -0400
@@ -75,17 +75,22 @@ diff -aur occ6.2/ros/configure.in mod/ros/configure.in
 -#define _OCC64 1
 -#endif
 -#endif
-+#include <arch/Standard_Macro64.hxx>
++#include <arch-6.2/Standard_Macro64.hxx>
  
  #endif  
-Index: opencascade-6.2/ros/inc/arch/Standard_Macro64.hxx.in
+Index: opencascade-6.2/ros/inc/arch-6.2/Standard_Macro64.hxx.in
 ===================================================================
 --- /dev/null
-+++ opencascade-6.2/ros/inc/arch/Standard_Macro64.hxx.in
-@@ -0,0 +1,7 @@
++++ opencascade-6.2/ros/inc/arch-6.2/Standard_Macro64.hxx.in
+@@ -0,0 +1,12 @@
 +#ifndef _Standard_Macro64_HeaderFile
 +# define _Standard_Macro64_HeaderFile
 +
++// This file must not be included directly because its name may change.
++#ifndef _Standard_Macro_HeaderFile
++# error "Standard_Macro64.hxx must not be included directly, include Standard_Macro.hxx instead!"
++#endif
++
 +// Define _OCC64 variable on 64-bit platforms
 [EMAIL PROTECTED]@
 +
diff --git a/debian/rules b/debian/rules
index 3117af7..60b357d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -67,7 +67,7 @@ install: build
 	$(MAKE) -C ros install DESTDIR=$(CURDIR)/debian/tmp
 	# Why doesn't OpenCASCADE install its own headers??
 	cp -a ros/inc debian/tmp/usr/
-	rm -f debian/tmp/usr/inc/config.h debian/tmp/usr/inc/arch/Standard_Macro64.hxx.in
+	rm -f debian/tmp/usr/inc/config.h debian/tmp/usr/inc/arch-6.2/Standard_Macro64.hxx.in
 	cp -a ros/config.h debian/tmp/usr/inc/
 	install -d debian/tmp/usr/include
 	mv debian/tmp/usr/inc debian/tmp/usr/include/opencascade

Reply via email to