Bug #805

exiv2-0.22.tar.gz source-contains-prebuilt-windows-binary msvc/depends2.exe

Added by Mark Purcell almost 10 years ago. Updated over 9 years ago.

Start date:
24 Jan 2012
Due date:
% Done:


Estimated time:


The source tarball contains a prebuilt binary for Microsoft Windows. They are usually provided for the convenience of users. These files usually just take up space in the tarball and are of no use in Debian.

Check if upstream also provides source-only tarballs that you can use as the upstream distribution instead. If not, you may want to ask upstream to provide source-only tarballs.

Severity: pedantic, Certainty: certain

Check: cruft, Type: source



Updated by Robin Mills over 9 years ago

  • Assignee set to Robin Mills

I'm not sure what's being asked here. These programs are prebuilt for use by the msvc and msvc64 sanity tests. (source code is also provided).

I think you're asking for the tar-ball builder to exclude msvc and msvc64 and I don't see any reason to do this. The current tar ball for 0.23 is 3524381 bytes and when I remove the msvc* directories, it shrinks to 2447384 bytes.

519 rmills@rmills-laptop:~/Downloads $ ls -alt exiv2-0.23.tar.gz
-rwx------+ 1 Administrators None 3524381 May  5 23:02 exiv2-0.23.tar.gz
520 rmills@rmills-laptop:~/Downloads $ 7z x exiv2-0.23.tar.gz
521 rmills@rmills-laptop:~/Downloads $ 7z x exiv2-0.23.tar
522 rmills@rmills-laptop:~/Downloads $ rm -rf exiv2-0.23/msvc
523 rmills@rmills-laptop:~/Downloads $ rm -rf exiv2-0.23/msvc64/
524 rmills@rmills-laptop:~/Downloads $ 7z a exiv2-0.23
525 rmills@rmills-laptop:~/Downloads $ ls -alt exiv2*.zip
-rwx------+ 1 rmills None 2447384 May  5 23:04
526 rmills@rmills-laptop:~/Downloads $

MSVC users could reasonably ask for a zip file which excludes code used by unix automake tools.

I don't enjoy your use of the word "cruft" to describe code which has been carefully crafted for honest purposes. The fact that you don't need it on your debian system is no reason to speak harshly of the contribution. Please remember that all test code contributes to overall product quality. So even if you don't need this component, you benefit from its inclusion in the product mix.

For the moment, I think a "one size fits all" tar-ball is fine.


Updated by Andreas Huggel over 9 years ago

  • Status changed from New to Rejected

This looks like a "standard letter" from some Debian policy-checking-system to me. I can imagine that they are not interested in Windows executables. However, I agree with Robin, that from our cross-platform point of view, there is nothing wrong with those. Maybe the eventual switch to cmake will make these programs obsolete. In the meantime, Debian can safely remove the msvc/ and msvc64/ directories from our tarball, these directories contain Windows specific build environments which a Debian user doesn't need. I'm closing this bug as "rejected".



Updated by Gilles Caulier over 9 years ago


Cmake is definitively the way to go. With CMake you can generate project file for MSVC, nmake, Xcode, GCC, and all other main IDE available. One root configuration framework, a lots of target compilation platforms/OS.

Gilles Caulier


Updated by Robin Mills over 9 years ago


I agree with Gilles and I'm going to put some effort into about CMake.

When I added the projects to msvc64 to support the sample applications, I added about 20 vcproj files which were effectively identical. Each file had 1000 lines of XML which I generated with a one-line bash/sed script. If we embrace CMake, we can probably dump lots of stuff and have "free" support for Xcode other environments.

I think the "one size fits all" tar-ball is good. A 3mb download is very small these days. However there is stuff included that unnecessarily fattens the unix distribution. Maybe we can have it all. A smaller tar-ball, support for more build environments and less maintenance. We'll see.



Updated by Gilles Caulier over 9 years ago


If you look into the TODO-CMAKE file from root Exiv2 dir, you will see that 90% of port is already done. I recently reviewed all pending task, and file is up to date.

I personally contributed to port Exiv2 to Cmake, but time missing to complete it. I have a lots of stuff to do with digiKam & co project (which is also based on CMake (:=)))...

If you want to contribute, you is welcome. I will be glad to guide you in this task...

Gilles Caulier


Updated by Robin Mills over 9 years ago


Yes, I'm aware and appreciate the effort you've put into this. And I'm offering to pick up the ball and run with it! I expect I'll have to add some MSVC (or Xcode) only code. And I'll have to build and test everything. It's just work - you've done the heavy lifting to get us to where we are now.

Volker made a great contribution last year to the exiv2 test harness. It's now straight-forward to test MSVC builds on Cygwin or msys.

Thanks for all the effort you put into digiKam. Open-source is only possible because of the awesome contributions by folks like you and Andreas. I'm happy to be a supporter and deal with porting, testing and stuff like that to enable others to use the "core" products.


Also available in: Atom PDF