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.

>> I have to admit though ...
>>
>>> --- a/tools/misc/mktarball
>>> +++ b/tools/misc/mktarball
>>> @@ -5,14 +5,6 @@
>>>  # Takes 2 arguments, the path to the dist directory and the version
>>>  set -ex
>>>  
>>> -function git_archive_into {
>>> -    mkdir -p "$2"
>>> -
>>> -    git --git-dir="$1"/.git \
>>> -   archive --format=tar HEAD | \
>>> -   tar Cxf "$2" -
>> ... that I'm unaware of what the C here does. It can't be the same as -C, 
>> and the
>> --help output of the GNU tar that I checked doesn't mention anything else at 
>> all.
> 
> It is -C.  tar has dreadful cmdline syntax.
> 
> An equivalent would be tar -C "$2" xf -

Oh, wow. I would never have thought of writing that as Cxf.

Jan

Reply via email to