Hi Elliott, On Mon, Dec 16, 2024 at 09:03:47AM GMT, enh wrote: > On Mon, Dec 16, 2024 at 8:57 AM Alejandro Colomar <alx@xxxxxxxxxx> wrote: > > > Hi Elliott, > > > > On Mon, Dec 16, 2024 at 08:44:59AM GMT, enh wrote: > > > On Thu, Aug 29, 2024 at 7:44 PM Alejandro Colomar <alx@xxxxxxxxxx> > > wrote: > > > > > @@ -285,6 +293,7 @@ is a file descriptor referring to a file other > > > > > > > > Would you mind checking this?: > > > > > > > > $ head -n11 <CONTRIBUTING.d/git > > > > Name > > > > Git - instructions for configuring git(1) > > > > > > > > Description > > > > git-diff(1), gitattributes(5) > > > > To produce useful hunk contexts in manual pages, we > > need to > > > > hack > > > > git(1)'s idea of a function name, and also to tell git > > what > > > > is a > > > > manual page. > > > > > > > > $ git config --global diff.man.xfuncname '^\.S[SHsh] > > > > .*$'; > > > > $ echo '*.[0-9]* diff=man' > > >>~/.config/git/attributes; > > > > > > > > It helps reviewing diffs for manual pages. :) > > > > > > > > > > ~/man-pages$ echo '*.[0-9]* diff=man' >>~/.git/attributes; > > > > You mistyped. It should be > > > > >>~/.config/git/attributes; > > > > not > > > > >>~/.git/attributes; > > > > well, i edited that line because the copy & pasted command with .config > didn't work. Fixed. Thanks! <https://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git/commit/?h=contrib&id=a43746817db68129448e09b2d356fa12f7da6764> > > > > > -bash: /usr/local/google/home/enh/.git/attributes: No such file or > > directory > > > > Hmmm, I should mkdir(1) first. > > > > > i assume this is meant to be > > > > > > ~/man-pages$ echo '*.[0-9]* diff=man' >>~/.gitattributes; > > > > > > instead? > > > > Nope; I think that won't work (per your patch, it seems it didn't). > > > > Would you mind creating the directories as appropriate, re-running that > > command, and resending the patch? (That will also help check that you > > ran it correctly.) > > > > attached... Thanks! > diff --git a/man/man2/chmod.2 b/man/man2/chmod.2 Would you mind adding a commit message? > index ae53fe3c9..3085840a2 100644 > --- a/man/man2/chmod.2 > +++ b/man/man2/chmod.2 > @@ -11,7 +11,7 @@ > .\" > .TH chmod 2 (date) "Linux man-pages (unreleased)" > .SH NAME > -chmod, fchmod, fchmodat \- change permissions of a file > +chmod, fchmod, lchown, fchmodat \- change permissions of a file s/lchown/lchmod/? > .SH LIBRARY > Standard C library > .RI ( libc ,\~ \-lc ) > @@ -21,6 +21,7 @@ .SH SYNOPSIS > .P > .BI "int chmod(const char *" pathname ", mode_t " mode ); > .BI "int fchmod(int " fd ", mode_t " mode ); > +.BI "int lchmod(const char *" pathname ", mode_t " mode ); Ok. > .P > .BR "#include <fcntl.h>" " /* Definition of AT_* constants */" > .B #include <sys/stat.h> > @@ -51,6 +52,12 @@ .SH SYNOPSIS > .\" || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) > .fi > .P > +.BR lchmod (): > +.nf > + Since glibc 2.5: > + _DEFAULT_SOURCE > +.fi > +.P Ok. > .BR fchmodat (): > .nf > Since glibc 2.10: > @@ -60,9 +67,10 @@ .SH SYNOPSIS > .fi > .SH DESCRIPTION > The > -.BR chmod () > +.BR chmod (), > +.BR fchmod (), > and > -.BR fchmod () > +.BR lchmod () Ok. > system calls change a file's mode bits. > (The file mode consists of the file permission bits plus the set-user-ID, > set-group-ID, and sticky bits.) > @@ -76,6 +84,11 @@ .SH DESCRIPTION > .BR fchmod () > changes the mode of the file referred to by the open file descriptor > .IR fd . > +.IP \[bu] > +.BR lchmod () > +is like > +.BR chmod (), > +but does not dereference symbolic links. Ok. > .P > The new file mode is specified in > .IR mode , > @@ -203,8 +216,9 @@ .SS fchmodat() > If > .I pathname > is a symbolic link, do not dereference it: > -instead operate on the link itself. > -This flag is not currently implemented. > +instead operate on the link itself, > +like > +.BR lchmod (). Ok. > .P > See > .BR openat (2) > @@ -285,6 +299,7 @@ .SH ERRORS > specified > .BR AT_SYMLINK_NOFOLLOW , > which is not supported. > +(See C library/kernel differences.) Ok. > .TP > .B EPERM > The effective UID does not match the owner of the file, > @@ -310,12 +325,22 @@ .SS C library/kernel differences > have a > .I flags > argument. > +.P > +Linux 6.6 added the > +.BR fchmodat2 () > +system call with the POSIX flags argument. This might be better in the HISTORY section. What do you think? > .SS glibc notes > On older kernels where > -.BR fchmodat () > +.BR fchmodat2 () > is unavailable, the glibc wrapper function falls back to the use of > -.BR chmod (). > -When > +.BR fchmodat () > +when no flags are supplied, > +or to > +.BR chmod () > +otherwise. > +In the > +.BR chmod () > +fallback, if Ok. > .I pathname > is a relative pathname, > glibc constructs a pathname based on the symbolic link in > @@ -324,7 +349,16 @@ .SS glibc notes > .I dirfd > argument. > .SH STANDARDS > +.TP > +.BR chmod () > +.TQ > +.BR fchmod () > +.TQ > +.BR fchmodat () > POSIX.1-2008. > +.TP > +.BR lchmod () > +Linux. Ok. Too bad that OpenBSD lacks it. The other BSDs have it. :/ > .SH HISTORY > .TP > .BR chmod () > @@ -336,6 +370,9 @@ .SH HISTORY > POSIX.1-2008. > Linux 2.6.16, > glibc 2.4. > +.TP > +.BR lchmod () > +Linux 2.6.16, glibc 2.5. Ok. > .SH SEE ALSO > .BR chmod (1), > .BR chown (2), Cheers, Alex -- <https://www.alejandro-colomar.es/>
Attachment:
signature.asc
Description: PGP signature