[poppler] 2 uid/gid in source tarball since 0.60.0.

Albert Astals Cid aacid at kde.org
Wed Dec 27 22:23:35 UTC 2017


El dimecres, 27 de desembre de 2017, a les 13:47:02 CET, suzuki toshiya va 
escriure:
> Hi,
> 
> This is not a harmful issue. Since 0.60.0, the tarball
> includes 2 uid/gid, like this.
> 
> ...
> -rw-rw-r-- root/root      1165 2017-10-03 06:29
> poppler-0.60.0/utils/pdfunite.1 -rw-rw-r-- root/root     15943 2017-10-03
> 06:29 poppler-0.60.0/utils/pdfunite.cc -rw-rw-r-- root/root      1167
> 2017-10-03 06:29
> poppler-0.60.0/utils/printencodings.cc
> -rw-rw-r-- root/root       854 2017-10-03 06:29
> poppler-0.60.0/utils/printencodings.h
> -rw-rw-r-- tsdgeos/tsdgeos 2089691 2017-10-03 06:45 poppler-0.60.0/ChangeLog
> drwxrwxr-x tsdgeos/tsdgeos       0 2017-10-03 06:42
> poppler-0.60.0/glib/reference/html/
> -rw-rw-r-- tsdgeos/tsdgeos    9625 2017-10-03 06:42
> poppler-0.60.0/glib/reference/html/PopplerColor.html
> -rw-r--r-- tsdgeos/tsdgeos     186 2017-10-03 06:42
> poppler-0.60.0/glib/reference/html/up.png
> ...
> 
> I found that this is because git-archive generates a
> tarball with root:root, always.
> 
> # for detail, see
> https://github.com/git/git/blob/936d1b989416a95f593bf81ccae8ac62cd83f279/arc
> hive-tar.c#L207
> 
> CMakeLists.txt's "dist" target appends some files
> to the tarball generated by git-archive, like this.
> 
> ...
> set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${POPPLER_VERSION})
> add_custom_target(dist
>     COMMAND
>         COMMAND git log --stat | fmt --split-only >
> ${CMAKE_BINARY_DIR}/ChangeLog COMMAND git archive --prefix=${ARCHIVE_NAME}/
> HEAD >
> ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar
>         COMMAND tar -C ${CMAKE_BINARY_DIR} -rf
> ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar ChangeLog
> --transform='s,,${ARCHIVE_NAME}/,' COMMAND tar -C ${CMAKE_BINARY_DIR} -rf
> ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar glib/reference/html
> --transform='s,,${ARCHIVE_NAME}/,'
>         COMMAND xz -9 ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar
>     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
> 
> Usually "tar" would retain the original owner & group,
> so the concatenated tarball would have 2 sections,
> root:root and others.
> 
> Should git have some options to change the owner/group
> from root:root? Or, the appended contents should be root:root?
> 
> For GNU tar, it is easy to set the owner/group manually
> via command line option (maybe --owner root:0 --group root:0
> would work), but other tar have different options, or
> lack such features.
> 
> Considering that current CMakeLists.txt already uses an
> option specific to GNU tar, --transform, addition of
> more options specific to GNU tar would not be so harmful.
> 
> How do you think of?
> 
> 1) git-archive should be improved.

Probably, but out of scope, i'd say :D

> 
> 2) CMakeLists.txt should be improved to harmonize owner/group
> between the initial part and appendix, by using GNU tar
> specific option.

If you're bored enough to propose a patch, sure.

> 
> 3) Just keep as it is now, but the availability of GNU tar
> should be checked, to avoid unexpected error by non-GNU tar.

Well, i'm actually the only one "real" user of that, so it's fine for me if it 
only works on gnu tar. If someone else ever wants to take over releasing and 
they don't use gnu tar they can always try to improve it.

Cheers,
  Albert

> 
> 4) CMakeLists.txt should be improved to work with other
> variants of tar. It is important that owner/group issue.
> 
> Regards,
> mpsuzuki
> 
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/poppler




More information about the poppler mailing list