[gentoo-portage-dev] [PATCH] man/portage.5: Add userpatch documentation

2021-04-09 Thread Nekun
Signed-off-by: Nekun 
---
// seems like previous message has wrong Message-Id, resending
Starting from EAPI6, this is a built-in Portage functionality, maybe it
was not included in Portage documentation eralier because it was epatch.eclass
functionality which is exclusive for gentoo repo, but according with today's
mandatory "eapply_user" it should be here.

 man/portage.5 | 21 +
 1 file changed, 21 insertions(+)

diff --git a/man/portage.5 b/man/portage.5
index 247ec5ab0..083abd77e 100644
--- a/man/portage.5
+++ b/man/portage.5
@@ -78,6 +78,9 @@ site-specific overrides of \fB/etc/portage/make.profile/\fR
 .BR /etc/portage/sets/
 user\-defined package sets
 .TP
+.BR /etc/portage/patches/
+user-provided patches to packages
+.TP
 .BR /var/db/repos/gentoo/
 .nf
 sets.conf
@@ -1375,6 +1378,24 @@ Also see \fB/var/lib/portage/world_sets\fR and the 
\fBemerge\fR(1)
 \fB\-\-list\-sets\fR option.
 .RE
 .TP
+.BR /etc/portage/patches/
+.RS
+In this directory patches to the package source tree can be created.
+For each package, patches are taken from these subdirectories in the following 
order:
+.nr step 1 1
+.IP \n[step]. 3
+/etc/portage/patches/${CATEGORY}/${P}-${PR}[:${SLOT}]
+.IP \n+[step].
+/etc/portage/patches/${CATEGORY}/${P}[:${SLOT}]
+.IP \n+[step].
+/etc/portage/patches/${CATEGORY}/${PN}[:${SLOT}]
+.RE 2
+
+More-specific directories overrides less-specific, i.e. if more than one 
directory for the same package coexist, only patches from directory matches the 
first matching pattern will be applied. Patches for each package are applied in 
the POSIX lexicographic order. Patch file name must end in ".patch" or, for 
\fBEAPI\fR >= \fB6\fR, in ".diff".
+
+If package ebuild uses \fBEAPI\fR <= \fB5\fR, it must explicitly invoke 
\fBepatch_user\fR or inherit \fBepatch.eclass\fR(5) and rely on default 
\fBsrc_prepare\fR for apply patches. Otherwise, patches are silently ignored. 
If package ebuild uses \fBEAPI\fR >= \fB6\fR, applying user patches is 
mandatory.
+.RE
+.TP
 .BR /var/db/repos/gentoo/
 .RS
 .TP
-- 
2.26.3




[gentoo-portage-dev] [PATCH] man/portage.5: Add userpatch documentation

2021-04-09 Thread Nekun

Signed-off-by: Nekun 
---
Starting from EAPI6, this is a built-in Portage functionality, maybe it 
was not included in Portage documentation earlier because it was 
epatch.eclass functionality which is exclusive for gentoo repo, but 
according with today's mandatory "eapply_user" it should be here.


 man/portage.5 | 21 +
 1 file changed, 21 insertions(+)

diff --git a/man/portage.5 b/man/portage.5
index 247ec5ab0..083abd77e 100644
--- a/man/portage.5
+++ b/man/portage.5
@@ -78,6 +78,9 @@ site-specific overrides of 
\fB/etc/portage/make.profile/\fR

 .BR /etc/portage/sets/
 user\-defined package sets
 .TP
+.BR /etc/portage/patches/
+user-provided patches to packages
+.TP
 .BR /var/db/repos/gentoo/
 .nf
 sets.conf
@@ -1375,6 +1378,24 @@ Also see \fB/var/lib/portage/world_sets\fR and 
the \fBemerge\fR(1)

 \fB\-\-list\-sets\fR option.
 .RE
 .TP
+.BR /etc/portage/patches/
+.RS
+In this directory patches to the package source tree can be created.
+For each package, patches are taken from these subdirectories in the 
following order:

+.nr step 1 1
+.IP \n[step]. 3
+/etc/portage/patches/${CATEGORY}/${P}-${PR}[:${SLOT}]
+.IP \n+[step].
+/etc/portage/patches/${CATEGORY}/${P}[:${SLOT}]
+.IP \n+[step].
+/etc/portage/patches/${CATEGORY}/${PN}[:${SLOT}]
+.RE 2
+
+More-specific directories overrides less-specific, i.e. if more than 
one directory for the same package coexist, only patches from directory 
matches the first matching pattern will be applied. Patches for each 
package are applied in the POSIX lexicographic order. Patch file name 
must end in ".patch" or, for \fBEAPI\fR >= \fB6\fR, in ".diff".

+
+If package ebuild uses \fBEAPI\fR <= \fB5\fR, it must explicitly invoke 
\fBepatch_user\fR or inherit \fBepatch.eclass\fR(5) and rely on default 
\fBsrc_prepare\fR for apply patches. Otherwise, patches are silently 
ignored. If package ebuild uses \fBEAPI\fR >= \fB6\fR, applying user 
patches is mandatory.

+.RE
+.TP
 .BR /var/db/repos/gentoo/
 .RS
 .TP
--
2.26.3