[CMake] Tracking progress of CMake TAR

Eric Noulard eric.noulard at gmail.com
Mon Dec 17 12:31:58 EST 2018


Le lun. 17 déc. 2018 à 18:00, Person Withhats <personwithhats2 at gmail.com> a
écrit :

> I guess for now, anything that'll get it to work on Windows? That's the
> primary platform for this.
>

If you give up on portability then replace cmake -E tar with an external
program which has progress capability on Windows.
It looks like 7-zip can do that:
see: https://sevenzip.osdn.jp/chm/cmdline/switches/bs.htm
or: https://sourceforge.net/p/sevenzip/discussion/45797/thread/d10225f7/

I don't work on Windows those day so I won't be able to try it out.

Eric


>
> On Mon, Dec 17, 2018 at 8:53 AM Eric Noulard <eric.noulard at gmail.com>
> wrote:
>
>>
>> Le lun. 17 déc. 2018 à 17:17, Person Withhats <personwithhats2 at gmail.com>
>> a écrit :
>>
>>> It's untarring around 1.5GB of SDK's, I don't think listing 1000's of
>>> files is going to help.
>>>
>>
>> Yes right.
>> You need some "size extraction progress" not number of files progress.
>>
>> I'm not sure classical un-archive program do have the feature.
>>
>> I'm pretty sure that "working progress bar" is most of the time very
>> difficult to implement:
>>
>> https://ux.stackexchange.com/questions/11881/progress-bars-why-are-they-never-useful
>>
>> I was hoping for some sort of progress bar or the like,
>>>
>>
>> I'm pretty sure cmake -E tar does not have this feature.
>> Genuine unix tar command does not have such feature and some people uses
>> 'pv' (http://www.ivarch.com/programs/pv.shtml)
>> for that very same purpose
>> e.g.
>> https://superuser.com/questions/168749/is-there-a-way-to-see-any-tar-progress-per-file
>>
>> I guess the issue is the same for other archive tool including zip:
>> https://askubuntu.com/questions/909918/q-how-to-show-unzip-progress
>>
>> CMake is using libarchive for handling various archive files (including
>> tar) libarchive seems to have
>> some feature for progress display (
>> https://github.com/libarchive/libarchive/wiki/ManPageArchiveReadExtract3)
>> but CMake code is not using it in any way.
>>
>>
>>> and yes I'm using cmake -E tar .-.
>>>
>>> Any ideas?
>>>
>>
>> Beside non-portable way no.
>>
>>
>>>
>>> On Mon, Dec 17, 2018 at 7:16 AM Eric Noulard <eric.noulard at gmail.com>
>>> wrote:
>>>
>>>> I guess he is using
>>>>
>>>> cmake -E tar
>>>>
>>>> may be using 'v' verbose option from tar  should be enough.
>>>>
>>>> i.e.
>>>> cmake -E tar xvz your-archive.tar.gz
>>>>
>>>> It should display file names as they come out of the archive.
>>>> So unless your very big archive only contains relatively big files, the
>>>> output should evolve quite often.
>>>>
>>>> Eric
>>>>
>>>>
>>>> Le lun. 17 déc. 2018 à 15:46, Ian Cullen <ian.james.cullen at gmail.com>
>>>> a écrit :
>>>>
>>>>> Are you calling tar via a custom command?  tar itself looks to have a
>>>>> few options to print progress:
>>>>>
>>>>> https://www.gnu.org/software/tar/manual/html_section/tar_25.html
>>>>>
>>>>> Although none of the options seem to know the archive's size, so
>>>>> aren't able to print a completion percentage.
>>>>>
>>>>>
>>>>> On 16/12/2018 21:31, Person Withhats wrote:
>>>>>
>>>>> When running tar via CMake (in order to use cross-platform
>>>>> work-ability and what not) it'd be great to have a progress bar of any
>>>>> sort.
>>>>>
>>>>> It's awkward to wait 30-60 minutes for file untarring with absolutely
>>>>> 0 information. I'm not aware of any way to do this through CMake directly,
>>>>> only alternative is e.g. python script that does the untar for me.
>>>>>
>>>>> Any suggestions? (sorry if this is reposted, can't remember if acc was
>>>>> approved before or after sending one time)
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Powered by www.kitware.com
>>>>>
>>>>> Please keep messages on-topic and check the CMake FAQ at:
>>>>> http://www.cmake.org/Wiki/CMake_FAQ
>>>>>
>>>>> Kitware offers various services to support the CMake community. For
>>>>> more information on each offering, please visit:
>>>>>
>>>>> CMake Support: http://cmake.org/cmake/help/support.html
>>>>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>>>>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>>>>
>>>>> Visit other Kitware open-source projects at
>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>
>>>>> Follow this link to subscribe/unsubscribe:
>>>>> https://cmake.org/mailman/listinfo/cmake
>>>>>
>>>>
>>>>
>>>> --
>>>> Eric
>>>> --
>>>>
>>>> Powered by www.kitware.com
>>>>
>>>> Please keep messages on-topic and check the CMake FAQ at:
>>>> http://www.cmake.org/Wiki/CMake_FAQ
>>>>
>>>> Kitware offers various services to support the CMake community. For
>>>> more information on each offering, please visit:
>>>>
>>>> CMake Support: http://cmake.org/cmake/help/support.html
>>>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>>>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> https://cmake.org/mailman/listinfo/cmake
>>>>
>>>
>>
>> --
>> Eric
>>
>

-- 
Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20181217/aa0590a0/attachment.html>


More information about the CMake mailing list