tag 485503 + patch
tag 485498 + patch
quit
On Tue, 10 Jun 2008 09:07:00 -0400, Adam C Powell IV <[EMAIL PROTECTED]> wrote:
[...]
>> Source files are searched into $CASROOT/ros/src, include files into
>> $CASROOT/ros/inc, libs into $CASROOT/ros/`uname -s`/lib
>> The best solution is to modify sources to look into installation path.
>> I may provide a patch, this is fairly easy. Is your package on Alioth
>> or somewhere else?
Correction: "/ros" must be removed in the quoted paragraph above
Here is an untested patch to fix 485503 and 485498, it contains
the following comments:
Data files in libopencascade6.2 must not be installed
under /usr/share/opencascade/ otherwise there will be
conflicts with newer libopencascadeX.Y
They are installed into /usr/share/opencascade/6.2/
Closes: 485498
Install all files defined in ros/env.ksh
Closes: 485503
OpenCascade states that CASROOT environment variable
must be set, several locations are relative to this
variable. The debian/occ-casroot.patch file removes
this requirement by hardcoding its value in this
package.
An alternative is to let users know that they must
set CASROOT=/usr/share/opencascade/6.2 in their
environment. In this case, all hunks from
occ-casroot.patch can be removed except
ros/src/Graphic3d/Graphic3d_GraphicDevice.cxx
Denis
Data files in libopencascade6.2 must not be installed
under /usr/share/opencascade/ otherwise there will be
conflicts with newer libopencascadeX.Y
They are installed into /usr/share/opencascade/6.2/
Closes: 485498
Install all files defined in ros/env.ksh
Closes: 485503
OpenCascade states that CASROOT environment variable
must be set, several locations are relative to this
variable. The debian/occ-casroot.patch file removes
this requirement by hardcoding its value in this
package.
An alternative is to let users know that they must
set CASROOT=/usr/share/opencascade/6.2 in their
environment. In this case, all hunks from
occ-casroot.patch can be removed except
ros/src/Graphic3d/Graphic3d_GraphicDevice.cxx
diff --git a/debian/libopencascade6.2.files b/debian/libopencascade6.2.files
index f5f6a07..09b45a3 100644
--- a/debian/libopencascade6.2.files
+++ b/debian/libopencascade6.2.files
@@ -1,3 +1,10 @@
usr/lib/*.so.*
usr/lib/*-*.so
-usr/share/opencascade/UnitsAPI/*
+usr/share/opencascade/6.2/src/UnitsAPI/*
+usr/share/opencascade/6.2/src/FontMFT/*
+usr/share/opencascade/6.2/src/Textures/*
+usr/share/opencascade/6.2/src/StdResource/*
+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/*
diff --git a/debian/opencascade-tools.files b/debian/opencascade-tools.files
index 1df36c6..91ced4f 100644
--- a/debian/opencascade-tools.files
+++ b/debian/opencascade-tools.files
@@ -1 +1,2 @@
usr/bin/*
+usr/share/opencascade/6.2/src/DrawResources/*
diff --git a/debian/occ-casroot.patch b/debian/occ-casroot.patch
new file mode 100644
index 0000000..3e51d9a
--- /dev/null
+++ b/debian/occ-casroot.patch
@@ -0,0 +1,247 @@
+diff --git a/ros/src/Aspect/Aspect_Driver.cxx b/ros/src/Aspect/Aspect_Driver.cxx
+index 46597e4..97a6ea4 100644
+--- a/ros/src/Aspect/Aspect_Driver.cxx
++++ b/ros/src/Aspect/Aspect_Driver.cxx
+@@ -35,14 +35,12 @@ Aspect_Driver::Aspect_Driver () {
+ fontdir = getenv("CSF_MDTVFontDirectory" );
+ if ( !fontdir) {
+ casroot = getenv("CASROOT");
+- if ( casroot ) {
+- TCollection_AsciiString CasRootString (casroot);
+- CasRootString += "/src/FontMFT" ;
+- CSF_MDTVFontDirectory = OSD_Environment(CasRootString.ToCString());
+- } else {
+- cout << " CASROOT or CSF_MDTVFontDirectory are mandatory to use this fonctionnality " << endl;
+- Standard_Failure::Raise ( "CSF_MDTVTexturesDirectory and CASROOT not setted " );
++ if ( !casroot ) {
++ casroot = "/usr/share/opencascade/6.2";
+ }
++ TCollection_AsciiString CasRootString (casroot);
++ CasRootString += "/src/FontMFT" ;
++ CSF_MDTVFontDirectory = OSD_Environment(CasRootString.ToCString());
+ } else {
+ CSF_MDTVFontDirectory = OSD_Environment("CSF_MDTVFontDirectory");
+ }
+diff --git a/ros/src/DPrsStd/DPrsStd.cxx b/ros/src/DPrsStd/DPrsStd.cxx
+index f873779..f18cf46 100644
+--- a/ros/src/DPrsStd/DPrsStd.cxx
++++ b/ros/src/DPrsStd/DPrsStd.cxx
+@@ -59,11 +59,12 @@ static Standard_Boolean FoundCAFPlugin () {
+ Standard_Boolean hasPlugin = Standard_False;
+ TCollection_AsciiString PluginName ;
+ if ( !plugin ) {
+- if ( casroot ) {
+- PluginName = TCollection_AsciiString (casroot);
+- PluginName+="/src/StdResource" ;
+- hasPlugin = Standard_True ;
++ if ( !casroot ) {
++ casroot = "/usr/share/opencascade/6.2";
+ }
++ PluginName = TCollection_AsciiString (casroot);
++ PluginName+="/src/StdResource" ;
++ hasPlugin = Standard_True ;
+ } else {
+ PluginName = TCollection_AsciiString (plugin);
+ hasPlugin = Standard_True ;
+diff --git a/ros/src/Draw/Draw.cxx b/ros/src/Draw/Draw.cxx
+index 3f38ddd..1fd189f 100644
+--- a/ros/src/Draw/Draw.cxx
++++ b/ros/src/Draw/Draw.cxx
+@@ -236,8 +236,7 @@ void Draw_Appli(Standard_Integer argc, char** argv,const FDraw_InitAppli Draw_In
+ #ifdef WNT
+ ReadInitFile("ddefault");
+ #else
+- cout << " the CASROOT variable is mandatory to Run OpenCascade "<<endl;
+- cout << "No default file" << endl;
++ ReadInitFile("/usr/share/opencascade/6.2/src/DrawResources/DrawDefault");
+ #endif
+ } else {
+
+diff --git a/ros/src/Draw/Draw_PloadCommands.cxx b/ros/src/Draw/Draw_PloadCommands.cxx
+index 7e94a9d..08b6736 100644
+--- a/ros/src/Draw/Draw_PloadCommands.cxx
++++ b/ros/src/Draw/Draw_PloadCommands.cxx
+@@ -54,13 +54,11 @@ static Standard_Boolean FindPluginFile (TCollection_AsciiString& thePluginName,
+ // now try by CASROOT
+ aPluginDir = getenv("CASROOT");
+
+- if ( !aPluginDir.IsEmpty() ) {
+- aPluginDir +="/src/DrawResources" ;
+- aToSetCSFVariable = Standard_True; //CSF variable to be set later
+- } else {
+- aResult = aDirFound = Standard_False;
+- cout << FAILSTR "Neither " << aCSFVariable.ToCString() << ", nor CASROOT variables have been set" << endl;
++ if ( aPluginDir.IsEmpty() ) {
++ aPluginDir = "/usr/share/opencascade/6.2";
+ }
++ aPluginDir +="/src/DrawResources" ;
++ aToSetCSFVariable = Standard_True; //CSF variable to be set later
+ }
+
+ if (aDirFound) {
+diff --git a/ros/src/Graphic3d/Graphic3d_GraphicDevice.cxx b/ros/src/Graphic3d/Graphic3d_GraphicDevice.cxx
+index e2b7a4a..d11a296 100644
+--- a/ros/src/Graphic3d/Graphic3d_GraphicDevice.cxx
++++ b/ros/src/Graphic3d/Graphic3d_GraphicDevice.cxx
+@@ -220,9 +220,7 @@ Standard_Boolean Graphic3d_GraphicDevice::ShrIsDefined (Standard_CString& aShr)
+ #endif
+ // printf("You have not defined CSF_GraphicShr, defaulting to %s",glshr);
+ } else {
+- aShr = NULL;
+- printf("You have not defined CSF_GraphicShr or CASROOT, aborting...");
+- return Standard_False;
++ glshr = "/usr/lib/libTKOpenGl-6.2.so";
+ }
+
+ aShr = glshr;
+diff --git a/ros/src/Graphic3d/Graphic3d_Texture1D.cxx b/ros/src/Graphic3d/Graphic3d_Texture1D.cxx
+index 02f67af..e4ac560 100644
+--- a/ros/src/Graphic3d/Graphic3d_Texture1D.cxx
++++ b/ros/src/Graphic3d/Graphic3d_Texture1D.cxx
+@@ -32,11 +32,12 @@ static TCollection_AsciiString GetEnvir ( ) {
+ Standard_Boolean HasDefinition = Standard_False ;
+ if ( !envir ) {
+ casroot = getenv("CASROOT");
+- if ( casroot ) {
+- VarName = TCollection_AsciiString (casroot);
+- VarName += "/src/Textures" ;
+- HasDefinition = Standard_True ;
++ if ( !casroot ) {
++ casroot = "/usr/share/opencascade/6.2";
+ }
++ VarName = TCollection_AsciiString (casroot);
++ VarName += "/src/Textures" ;
++ HasDefinition = Standard_True ;
+ } else {
+ VarName = TCollection_AsciiString (envir);
+ HasDefinition = Standard_True ;
+diff --git a/ros/src/Graphic3d/Graphic3d_Texture2D.cxx b/ros/src/Graphic3d/Graphic3d_Texture2D.cxx
+index 61c2a1e..989c13c 100644
+--- a/ros/src/Graphic3d/Graphic3d_Texture2D.cxx
++++ b/ros/src/Graphic3d/Graphic3d_Texture2D.cxx
+@@ -28,11 +28,12 @@ static TCollection_AsciiString GetEnvir ( ) {
+ Standard_Boolean HasDefinition = Standard_False ;
+ if ( !envir ) {
+ casroot = getenv("CASROOT");
+- if ( casroot ) {
+- VarName = TCollection_AsciiString (casroot);
+- VarName += "/src/Textures" ;
+- HasDefinition = Standard_True ;
++ if ( !casroot ) {
++ casroot = "/usr/share/opencascade/6.2";
+ }
++ VarName = TCollection_AsciiString (casroot);
++ VarName += "/src/Textures" ;
++ HasDefinition = Standard_True ;
+ } else {
+ VarName = TCollection_AsciiString (envir);
+ HasDefinition = Standard_True ;
+diff --git a/ros/src/Graphic3d/Graphic3d_TextureEnv.cxx b/ros/src/Graphic3d/Graphic3d_TextureEnv.cxx
+index 6d7a980..3890410 100644
+--- a/ros/src/Graphic3d/Graphic3d_TextureEnv.cxx
++++ b/ros/src/Graphic3d/Graphic3d_TextureEnv.cxx
+@@ -29,11 +29,12 @@ static TCollection_AsciiString GetEnvir ( ) {
+ Standard_Boolean HasDefinition = Standard_False ;
+ if ( !envir ) {
+ casroot = getenv("CASROOT");
+- if ( casroot ) {
+- VarName = TCollection_AsciiString (casroot);
+- VarName += "/src/Textures" ;
+- HasDefinition = Standard_True ;
++ if ( !casroot ) {
++ casroot = "/usr/share/opencascade/6.2";
+ }
++ VarName = TCollection_AsciiString (casroot);
++ VarName += "/src/Textures" ;
++ HasDefinition = Standard_True ;
+ } else {
+ VarName = TCollection_AsciiString (envir);
+ HasDefinition = Standard_True ;
+diff --git a/ros/src/UnitsAPI/UnitsAPI.cxx b/ros/src/UnitsAPI/UnitsAPI.cxx
+index f802947..0877099 100644
+--- a/ros/src/UnitsAPI/UnitsAPI.cxx
++++ b/ros/src/UnitsAPI/UnitsAPI.cxx
+@@ -35,13 +35,11 @@ void UnitsAPI::CheckLoading (const UnitsAPI_SystemUnits aSystemUnits)
+ else {
+ OSD_Environment CasRootEnv("CASROOT");
+ TCollection_AsciiString CasRootString(CasRootEnv.Value());
+- if (CasRootString.Length() > 0 ) {
+- CasRootString += "/src/UnitsAPI/Lexi_Expr.dat" ;
+- Units::LexiconFile(CasRootString.ToCString());
+- }
+- else {
+- Standard_NoSuchObject::Raise("environment variable CSF_UnitsLexicon undefined");
++ if (CasRootString.Length() == 0 ) {
++ CasRootString = "/usr/share/opencascade/6.2";
+ }
++ CasRootString += "/src/UnitsAPI/Lexi_Expr.dat" ;
++ Units::LexiconFile(CasRootString.ToCString());
+ }
+ TCollection_AsciiString sunitsfile(env2.Value());
+ if( sunitsfile.Length() > 0 )
+@@ -49,13 +47,11 @@ void UnitsAPI::CheckLoading (const UnitsAPI_SystemUnits aSystemUnits)
+ else {
+ OSD_Environment CasRootEnv("CASROOT");
+ TCollection_AsciiString CasRootString(CasRootEnv.Value());
+- if (CasRootString.Length() > 0 ) {
+- CasRootString += "/src/UnitsAPI/Units.dat";
+- Units::UnitsFile(CasRootString.ToCString());
+- }
+- else {
+- Standard_NoSuchObject::Raise("environment variable CSF_UnitsDefinition undefined");
++ if (CasRootString.Length() == 0 ) {
++ CasRootString = "/usr/share/opencascade/6.2";
+ }
++ CasRootString += "/src/UnitsAPI/Units.dat";
++ Units::UnitsFile(CasRootString.ToCString());
+ }
+ switch (aSystemUnits) {
+ case UnitsAPI_DEFAULT :
+diff --git a/ros/src/ViewerTest/ViewerTest.cxx b/ros/src/ViewerTest/ViewerTest.cxx
+index 2cc0033..af3df80 100644
+--- a/ros/src/ViewerTest/ViewerTest.cxx
++++ b/ros/src/ViewerTest/ViewerTest.cxx
+@@ -1404,11 +1404,12 @@ static TCollection_AsciiString GetEnvir (Draw_Interpretor& di) {
+ Standard_Boolean HasDefinition = Standard_False ;
+ if ( !envir ) {
+ casroot = getenv("CASROOT");
+- if ( casroot ) {
+- VarName = TCollection_AsciiString (casroot);
+- VarName += "/src/Textures" ;
+- HasDefinition = Standard_True ;
++ if ( !casroot ) {
++ casroot = "/usr/share/opencascade/6.2";
+ }
++ VarName = TCollection_AsciiString (casroot);
++ VarName += "/src/Textures" ;
++ HasDefinition = Standard_True ;
+ } else {
+ VarName = TCollection_AsciiString (envir);
+ HasDefinition = Standard_True ;
+diff --git a/ros/src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.cxx b/ros/src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.cxx
+index 199e492..5169eef 100644
+--- a/ros/src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.cxx
++++ b/ros/src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.cxx
+@@ -182,18 +182,11 @@ Standard_Boolean XmlLDrivers_DocumentStorageDriver::WriteToDomDocument
+ if (aResourceDir.IsEmpty()) {
+ // now try by CASROOT
+ aResourceDir = getenv (aCSFVariable[1]);
+- if ( !aResourceDir.IsEmpty() ) {
+- aResourceDir += "/src/XmlOcafResource" ;
+- aToSetCSFVariable = Standard_True; //CSF variable to be set later
++ if ( aResourceDir.IsEmpty() ) {
++ aResourceDir = "/usr/share/opencascade/6.2";
+ }
+-#ifdef DEB
+- else {
+- TCollection_ExtendedString aWarn = FAILSTR "Neither ";
+- aWarn = (aWarn + aCSFVariable[0] + ", nor " + aCSFVariable[1]
+- + " variables have been set");
+- aMessageDriver->Write (aWarn.ToExtString());
+- }
+-#endif
++ aResourceDir += "/src/XmlOcafResource" ;
++ aToSetCSFVariable = Standard_True; //CSF variable to be set later
+ }
+ if (!aResourceDir.IsEmpty()) {
+ TCollection_AsciiString aResourceFileName = aResourceDir + "/XmlOcaf.xsd";
diff --git a/debian/rules b/debian/rules
index 7f45ec7..55d77ce 100755
--- a/debian/rules
+++ b/debian/rules
@@ -18,6 +18,7 @@ unpatch:
patch -p1 -R < debian/occ-correct-libs.patch; \
patch -p1 -R < debian/occ-lib-release.patch; \
patch -p1 -R < debian/occ-doc-debian.patch; \
+ patch -p1 -R < debian/occ-casroot.patch; \
patch -p1 -R < debian/occ6.2.patch; \
fi
@@ -32,6 +33,7 @@ patch-stamp:
dh_testdir
if [ ! -e patch-stamp ]; then \
patch -p1 < debian/occ6.2.patch; \
+ patch -p1 < debian/occ-casroot.patch; \
patch -p1 < debian/occ-doc-debian.patch; \
patch -p1 < debian/occ-lib-release.patch; \
patch -p1 < debian/occ-correct-libs.patch; \
@@ -61,8 +63,26 @@ install: build
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
- install -d debian/tmp/usr/share/opencascade/UnitsAPI
- cp -p ros/src/UnitsAPI/*.dat debian/tmp/usr/share/opencascade/UnitsAPI/
+ install -d debian/tmp/usr/share/opencascade/6.2/src/UnitsAPI
+ cp -p ros/src/UnitsAPI/*.dat debian/tmp/usr/share/opencascade/6.2/src/UnitsAPI/
+ install -d debian/tmp/usr/share/opencascade/6.2/src/FontMFT
+ cp -p ros/src/FontMFT/*.mft debian/tmp/usr/share/opencascade/6.2/src/FontMFT/
+ install -d debian/tmp/usr/share/opencascade/6.2/src/Textures
+ cp -p ros/src/Textures/*.rgb debian/tmp/usr/share/opencascade/6.2/src/Textures/
+ install -d debian/tmp/usr/share/opencascade/6.2/src/StdResource
+ cp -p ros/src/StdResource/* debian/tmp/usr/share/opencascade/6.2/src/StdResource/
+ install -d debian/tmp/usr/share/opencascade/6.2/src/XmlOcafResource
+ cp -p ros/src/XmlOcafResource/*.xsd debian/tmp/usr/share/opencascade/6.2/src/XmlOcafResource/
+ install -d debian/tmp/usr/share/opencascade/6.2/src/SHMessage
+ cp -p ros/src/SHMessage/SHAPE.* debian/tmp/usr/share/opencascade/6.2/src/SHMessage/
+ install -d debian/tmp/usr/share/opencascade/6.2/src/XSMessage
+ cp -p ros/src/XSMessage/* debian/tmp/usr/share/opencascade/6.2/src/XSMessage/
+ install -d debian/tmp/usr/share/opencascade/6.2/src/XSTEPResource
+ cp -p ros/src/XSTEPResource/* debian/tmp/usr/share/opencascade/6.2/src/XSTEPResource/
+ install -d debian/tmp/usr/share/opencascade/6.2/src/DrawResources
+ cp -p ros/src/DrawResources/*.tcl debian/tmp/usr/share/opencascade/6.2/src/DrawResources/
+ cp -p ros/src/DrawResources/Draw* debian/tmp/usr/share/opencascade/6.2/src/DrawResources/
+ find debian/tmp/usr/share/opencascade/6.2/src -name FILES -exec rm -f {} \;
touch $@
binary-indep: install