[cmake-developers] Problem with created debian package

Domen Vrankar domen.vrankar at gmail.com
Tue Jan 2 17:39:31 EST 2018


2017-12-30 6:29 GMT+01:00 Kornel Benko <kornel at lyx.org>:

> > 2) use gnu tar instead by setting CPACK_DEBIAN_ARCHIVE_TYPE to gnutar
>
> Thanks, this is really nice. Meanwhile I found out what was going wrong.
> The package manager seems to not understand the way some filenames
> containing
> non-ascii chars are coded by cpack.
> I prepared a minimal example showing the effect here.
>
> 1.) Create a dir and copy the attached to it
> 2.) mkdir build; cd bild
> 3.) cmake .. -DCPACK_BINARY_DEB:BOOL=ON
> 4.) sudo dpkg -i wrongfilename-0.1.1-Linux.deb
>         (Reading database ... 422665 files and directories currently
> installed.)
>         Preparing to unpack wrongfilename-0.1.1-Linux.deb ...
>         Unpacking wrongfilename (0.1.1) ...
>         dpkg: error processing archive wrongfilename-0.1.1-Linux.deb
> (--install):
>          corrupted filesystem tarfile - corrupted package archive
>         Errors were encountered while processing:
>          wrongfilename-0.1.1-Linux.deb
>

Thanks for the example.

The "use gnu tar option with CPack" produces a valid package for your
example:
set(CPACK_DEBIAN_ARCHIVE_TYPE "gnutar")

It would seem that non gnu version doesn't handle non ascii filenames
correctly. I'm not certain if it's an libarchive bug or expectedly
unsupported feature (it would seem that it's a bug...) - I'll have to
investigate further.

Thanks,
Domen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake-developers/attachments/20180102/d07ee3e2/attachment.html>


More information about the cmake-developers mailing list