[Rpm-maint] [rpm-software-management/rpm] Supporting %patch -T option (#788)

Jun Aruga notifications at github.com
Wed Jul 10 16:27:51 UTC 2019


I wanted to use `patch -T` option for %patch macro, to set fixed timestamp for a patched file.

Because It is related to reproductive build. The timestamp is used as a gz file's metadata modified date in a program.

Is it possible to support the option?

ruby.spec

```
-%patch20 -p1
+%patch20 -p1 -T
```

```
$ rhpkg srpm
error: unknown option: -T: %patch20 -p1 -T


error: unknown option: -T: %patch20 -p1 -T

Could not execute srpm: Failed to execute command.
```


https://github.com/rpm-software-management/rpm/blob/master/build/parsePrep.c#L403-L413

```
static rpmRC doPatchMacro(rpmSpec spec, const char *line)
{
...
    struct poptOption const patchOpts[] = {
	{ NULL, 'P', POPT_ARG_STRING, &opt_P, 'P', NULL, NULL },
	{ NULL, 'p', POPT_ARG_INT, &opt_p, 'p', NULL, NULL },
	{ NULL, 'R', POPT_ARG_NONE, &opt_R, 'R', NULL, NULL },
	{ NULL, 'E', POPT_ARG_NONE, &opt_E, 'E', NULL, NULL },
	{ NULL, 'b', POPT_ARG_STRING, &opt_b, 'b', NULL, NULL },
	{ NULL, 'z', POPT_ARG_STRING, &opt_b, 'z', NULL, NULL },
	{ NULL, 'F', POPT_ARG_INT, &opt_F, 'F', NULL, NULL },
	{ NULL, 'd', POPT_ARG_STRING, &opt_d, 'd', NULL, NULL },
	{ NULL, 'o', POPT_ARG_STRING, &opt_o, 'o', NULL, NULL },
	{ NULL, 0, 0, NULL, 0, NULL, NULL }
};
```


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/788
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20190710/daea218d/attachment.html>


More information about the Rpm-maint mailing list