[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: New CamiTK 5.2.0 release



Dear Andreas,

Thank for your time, patience and explanations!
Hmmm, sorry, no.  If you check that branch[1] you see the names for the
two last releases are the original download names with camel case letters,
a '-' instead of '_' separating the name and the version and lacking the
'.orig' string inside the tarball name.  I would have fixed this by doing

    uscan --verbose --force-download
    pristine-tar commit ../camitk_5.2.0.orig.tar.gz

but after doing so I got:

dpkg-source: info: local changes detected, the modified files are:
 camitk-5.2.0/sdk/libraries/core/CamiTKVersion.h
dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/camitk_5.2.0-1.diff.LLSDXq

So it seems there are some differences inside the tarball.  I try to
repeat what you need to do when there is a new upstream version:

    uscan --verbose
    gbp import-orig --pristine-tar --no-interactive camitk_VERSION.orig.tar.gz
    dch -i "New upstream version"

I also tried to write the according paragraph in Debian Med policy[2]
more verbosely.  Maybe even the hint to `routine-update` is helpful.
It simply does all you want to do (including the steps above).

Thank you very much for the explanation, the wiki update and the link to routine-update, that will probably my saviour in the future!
I think I mixed up the CamiTKVersion.h at some stage before committing to master.



If there would not have been the conflict between the repository and
the original tarball I would have went on after fixing pristine-tar
branch.  But I don't know what to do with this diff:

--- camitk-5.2.0.orig/sdk/libraries/core/CamiTKVersion.h
+++ camitk-5.2.0/sdk/libraries/core/CamiTKVersion.h
@@ -32,5 +32,5 @@ const char * Core::version = "CamiTK 5.2
 const char * Core::shortVersion = "camitk-5.2";
 const char * Core::soVersion = "5";
 const char * Core::debugPostfix = "-debug";
-const char * Core::libDir = "lib";
+const char * Core::libDir = "lib/x86_64-linux-gnu";
 }
Thank you for pointing that out, I just fixed it using the correct version (it should indeed be the same as the orig tarball) :
const char * Core::libDir = "lib";

The repository has the line with "lib/x86_64-linux-gnu" while the
downloaded tarball has only "lib".  If you really need to adapt the
original tarball to some Debian specific things this needs to be done in
a quilt patch.  Please also note:  This change only works for amd64
architecture which currently is the only architecture where the Debian
package is built.  However, this restriction is only due to the fact
that libinsighttoolkit5-dev is only available for this architecture.  In
case it might be available for other architectures as well your patch
above will fail on those.
Understood. Now that the correct libDir variable is set back to just "lib", the multiarch support should be taken into account directly in the debian/rules.
The first instruction of the target override_dh_auto_configure target is:
sed -i 's+libDir = "lib";+libDir = "lib/$(DEB_HOST_MULTIARCH)";+g' sdk/libraries/core/CamiTKVersion.h

Which, from what I understand, should replace the libDir variable with the specific architecture version, hopefully making it ready for when/if libinsighttoolkit5-dev supports other architectures.
Let me know if that sounds correct for you.

I pushed the fix to salsa, let me know if that solved the problem. Best regards, Emmanuel PS : I added Manik Bhattacharjee in cc who joined me in the CamiTK project team.

Reply to: