> From: René Scharfe > Sent: Friday, January 22, 2021 4:00 PM > > Am 22.01.21 um 21:40 schrieb Jason Pyeron: > >> From: Jason Pyeron > >> 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 In this case, likely a cosmetic thing. > the archive, and root should not be used for extracting, and on systems But I can think of situations, where it would matter - and I do not agree that "root should not be used for extraction". > that don't have a logwatch user this wouldn't make a difference anyway, > right? I updated the hard coded values to match what was needed, did a make and presto all was happy. The backend should take: --group=NAME --group-id=GID --owner=NAME --owner-id=UID Patch wanted?