Thread (10 messages) flat view 10 messages, 6 authors, 2021-01-23

Re: git archive setting user and group

From: René Scharfe <hidden>
Date: 2021-01-22 21:04:51

Am 22.01.21 um 21:40 schrieb Jason Pyeron:
quoted
From: Jason Pyeron <redacted>
Sent: Friday, January 22, 2021 3:09 PM

I am about to make a release for logwatch tonight. Historically the files are owned by logwatch in the
tgz file. When I use git archive it is owned by uid 0, is there an option to set the uid/uname,
gid/gname owner of the files?
Answer: not at this time, as it is hard coded in the source.

archive-tar.c:
static void prepare_header(struct archiver_args *args,
                           struct ustar_header *header,
                           unsigned int mode, unsigned long size)
{
        xsnprintf(header->mode, sizeof(header->mode), "%07o", mode & 07777);
        xsnprintf(header->size, sizeof(header->size), "%011"PRIoMAX , S_ISREG(mode) ? (uintmax_t)size : (uintmax_t)0);
        xsnprintf(header->mtime, sizeof(header->mtime), "%011lo", (unsigned long) args->time);

        xsnprintf(header->uid, sizeof(header->uid), "%07o", 0);
        xsnprintf(header->gid, sizeof(header->gid), "%07o", 0);
        strlcpy(header->uname, "root", sizeof(header->uname));
        strlcpy(header->gname, "root", sizeof(header->gname));


meh.
Adding support for using a custom user and group should be easy.  Is
this just a cosmetic thing?  Regular users would ignore the user info in
the archive, and root should not be used for extracting, and on systems
that don't have a logwatch user this wouldn't make a difference anyway,
right?

René
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help