On 13.11.2025 14:42, Andrew Cooper wrote:
> On 13/11/2025 1:34 pm, Jan Beulich wrote:
>> On 13.11.2025 14:29, Andrew Cooper wrote:
>>> On 13/11/2025 1:12 pm, Jan Beulich wrote:
>>>> On 13.11.2025 14:01, Andrew Cooper wrote:
>>>>> This is a partial backport of commit 63ebd0e9649e ("releases: use newer
>>>>> compression methods for tarballs"), but keeping gz as the only compression
>>>>> method.
>>>>>
>>>>> In addition to efficiency, this causes the tarball to use root/root 
>>>>> ownership,
>>>>> rather than leak whomever produced the tarball.
>>>> I don't understand this part. Isn't the ownership whatever "git archive" 
>>>> reports?
>>> This is fixing the issue you noticed about internal ownership:
>>>
>>> xen.org.cvs/oss-xen/release$ tar tf 4.20.1/xen-4.20.1.tar.gz --verbose | 
>>> head
>>> drwxrwxr-x andrew/andrew     0 2025-07-10 12:28 xen-4.20.1/
>>> drwxrwxr-x andrew/andrew     0 2025-07-09 14:57 xen-4.20.1/.github/
>>> drwxrwxr-x andrew/andrew     0 2025-07-09 14:57 
>>> xen-4.20.1/.github/workflows/
>>> -rw-rw-r-- andrew/andrew  1362 2025-07-09 14:57 
>>> xen-4.20.1/.github/workflows/coverity.yml
>>> -rw-rw-r-- andrew/andrew    96 2025-07-09 14:57 xen-4.20.1/.gitarchive-info
>>> -rw-rw-r-- andrew/andrew  9668 2025-07-09 14:57 xen-4.20.1/Makefile
>>> drwxrwxr-x andrew/andrew     0 2025-07-09 14:57 xen-4.20.1/stubdom/
>>> -rw-rw-r-- andrew/andrew 24220 2025-07-09 14:57 xen-4.20.1/stubdom/Makefile
>>> drwxrwxr-x andrew/andrew     0 2025-07-09 14:57 xen-4.20.1/stubdom/grub/
>>> -rw-rw-r-- andrew/andrew  2252 2025-07-09 14:57 
>>> xen-4.20.1/stubdom/grub/Makefile
>>>
>>> xen.org.cvs/oss-xen/release$ tar tf 4.20.2/xen-4.20.2.tar.gz --verbose | 
>>> head
>>> drwxrwxr-x root/root         0 2025-11-13 09:51 xen-4.20.2/
>>> -rw-rw-r-- root/root      4781 2025-11-13 09:51 xen-4.20.2/.cirrus.yml
>>> -rw-rw-r-- root/root        97 2025-11-13 09:51 xen-4.20.2/.gitarchive-info
>>> -rw-rw-r-- root/root        30 2025-11-13 09:51 xen-4.20.2/.gitattributes
>>> drwxrwxr-x root/root         0 2025-11-13 09:51 xen-4.20.2/.github/
>>> drwxrwxr-x root/root         0 2025-11-13 09:51 
>>> xen-4.20.2/.github/workflows/
>>> -rw-rw-r-- root/root      1362 2025-11-13 09:51 
>>> xen-4.20.2/.github/workflows/coverity.yml
>>> -rw-rw-r-- root/root      7035 2025-11-13 09:51 xen-4.20.2/.gitignore
>>> -rw-rw-r-- root/root       798 2025-11-13 09:51 xen-4.20.2/.gitlab-ci.yml
>>> -rw-rw-r-- root/root     15298 2025-11-13 09:51 xen-4.20.2/CHANGELOG.md
>> I guess my reply was ambiguous. I did understand that's the effect, but I
>> wasn't able to tell why such a difference would result. It's all "git
>> archive", before and after the change.
> 
> Ah.  The first git archive does the right thing, but the result gets
> expanded into the regular filesystem and takes local ownership.

Oh, I see - because of --no-same-owner being the default for non-root.

Acked-by: Jan Beulich <[email protected]>

Jan

> Then, nothing is merged, and the result is re-tar'd using:
> 
> GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
> 
> which retains local ownership into the resulting archive.
> 
> For 4.19 and earlier, I propose to add '--owner 0 --group 0' to this tar
> invocation.
> 
> ~Andrew


Reply via email to