Packaging (again) for Debian

Hello, I am trying to reintroduce OCCT 7.2 to Debian as a preliminary task for releasing FreeCAD 0.17.  It had previously been removed in version 6.5.0 before the LGPL relicensing.

I've submitted my work-in-progress package to mentors.debian.net where it's awaiting further review for anyone curious: https://mentors.debian.net/package/opencascade

Part of the feedback I've gotten on the Debian-Science mailing lists suggests using their new GitLab instance for the packaging.  I had mirrored the repo from git.dev.opencascade.org over at https://salsa.debian.org/kkremitzki-guest/opencascade, but it was pointed out that because of the fact that your upstream repo has access restricted behind a signed CLA, this might not be acceptable.

Can someone let me know if I should take down that repo?  I can always package it with a history-free git repo based on a downloaded tarball.

Andrey BETENEV's picture

Hello Kurt,

Sorry for delay with processing of your post -- it had triggered a spam filter (likely due to links inside) and had to wait until forum supervisor is available...

It is great to know on your effort to put OCCT to Debian!

The recommended way to download snapshots of OCCT Git repository is to use OCCT GitWeb service (http://git.dev.opencascade.org/gitweb/?p=occt.git; link 'snapshot' near to commit).
For instance, URL https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V7_2_0;sf=tgz will give you snapshot of OCCT 7.2.0.

Note that Git snapshot is not exactly the same as the source package that you can find on the official download page: the latter contains also a bunch of generated files (documentation, MSVC, CodeBlocks, and XCode project files). 
These files are put there to help the new users to start with OCCT; they are not necessary if you are ready to build OCCT from scratch.

You can also clone OCCT Git repository anonymously (read only) using URL https://git.dev.opencascade.org/repos/occt.git
There are no restrictions on distributing the sources apart of those set by LGPL license.
CLA is needed only if you want to contribute to OCCT, i.e. need write access to the repository.

Andrey

Kurt Kremitzki's picture

Thanks for the suggestion on the snapshot, that would prevent me from having to remove some of the non-Debian platform stuff.

By the way, while preparing the package, the Debian package linter 'lintian' picked up a bunch of various typos, so it was suggested I send a patch your way--just a heads up that one of those is coming.

Kurt Kremitzki's picture

Also, there are several autogenerated Visual C++ files in the source, even in the snapshot you linked above. Could these be removed so users can generate them from source themselves? (Or provided in a separate tarball.)

BTW, here are the results from running lintian:

P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/01_Geometry/res/Geometry.rc
N:
N:    The following file is autogenerated by Microsoft Visual C++.
N:
N:    They are usually provided for the convenience of users. These files
N:    usually just take up space in the tarball and are of no use in Debian.
N:
N:    Check if upstream also provides source-only tarballs that you can use as
N:    the upstream distribution instead. If not, you may want to ask upstream
N:    to provide source-only tarballs.
N:
N:    Severity: pedantic, Certainty: possible
N:
N:    Check: cruft, Type: source
N:
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/01_Geometry/res/resource.h
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/02_Modeling/res/Modeling.rc
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/02_Modeling/res/resource.h
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/03_Viewer2d/res/Viewer2d.rc
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/03_Viewer2d/res/resource.h
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/04_Viewer3d/res/Viewer3d.rc
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/04_Viewer3d/res/resource.h
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/04_Viewer3d/res/resource.hm
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/05_ImportExport/res/ImportExport.rc
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/05_ImportExport/res/resource.h
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/07_Triangulation/res/Triangulation.rc
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/07_Triangulation/res/resource.h
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/08_HLR/res/HLR.rc
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/08_HLR/res/resource.h
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/09_Animation/res/Animation.rc
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/09_Animation/res/resource.h
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/Common/res/OCC_Resource.h
P: opencascade source: source-contains-autogenerated-visual-c++-file samples/mfc/standard/Common/res/OCC_Resource.rc

Kirill Gavrilov's picture

Also, there are several autogenerated Visual C++ files in the source, even in the snapshot you linked above.
Could these be removed so users can generate them from source themselves? (Or provided in a separate tarball.)

I don't think that .rc files in MFC samples have any other source to regenerate them from.
I suppose that header contains information about their generation because Visual Studio has generated them in the first place
(e.g. by creating a new MFC project or by using Resource Editor to create these files).
But since that - they are the only source code, and are necessary for building project.

So the only thing you can try to do is removing this confusing information from these files.

Of course, MFC samples are useless on Debian and they can be removed entirely by automated script,
but I'm not sure it is a good practice dropping such elements from source package.

Kurt Kremitzki's picture

It looks like these files might need to be removed for license reasons:

samples/qt/FuncDemo/src/edge.cpp
samples/qt/FuncDemo/src/edge.h
samples/qt/FuncDemo/src/graphwidget.cpp
samples/qt/FuncDemo/src/graphwidget.h
samples/qt/FuncDemo/src/main.cpp
samples/qt/FuncDemo/src/mainwindow.cpp
samples/qt/FuncDemo/src/mainwindow.h
samples/qt/FuncDemo/src/node.cpp
samples/qt/FuncDemo/src/node.h

Andrey BETENEV's picture

Hello Kurt,

It looks like these files might need to be removed for license reasons:

Thank you for reporting! I agree these files contain confusing statements. We shall check this and update the code to avoid confusion. See the new issue #29559

Andrey