tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: new package: devel/acl



On Sat, Apr 29, 2023 at 07:45:52PM -0400, Greg Troxel wrote:
> David Holland <dholland-pkgtech%netbsd.org@localhost> writes:
> 
> > On Sat, Apr 08, 2023 at 11:25:36PM +0200, Alexander Schreiber wrote:
> >  > The first is devel/acl - tools to manipulate POSIX ACLs as well as
> >  > library/headers to write other programs to do so. Hard build dependency
> >  > for filesystems/glusterfs on Linux.
> >  > 
> >  > Package was built & tested on Linux amd64, included binaries work,
> >  > and glusterfs builds against. This will _not_ build on NetBSD due to
> >  > too many "All the world is Linux" assumptions (and has been marked
> >  > so in the Makefile).
> >
> > Looking at the code, this appears to be a library for implementing
> > POSIX ACLs using extended attributes, so linux-specific or not it
> > isn't applicable to NetBSD where the system already has POSIX ACLs.
> >
> > Is that right? Should I go update the DESCR and COMMENT?
> 
> My impression is that there are "POSIX ACLs" which are compliant with a
> withdrawn draft, and there are "NFSv4 ACLs" which have a spec and are a
> superset.   And then that Linux implements the semantics of POSIX ACLs
> (fine), stores them in os-specific EAs (ok) but either does not
> implement the withdrawn-standard interface or nobody on linux uses it
> (not ok).
> 
> I think this might be a package that provides the POSIX interfaces, so
> that programs written to POSIX will work on Linux.  That implies that
> GNU/Linux systems tend to have a non-standard ACL interface,

TTBOMK it provides the POSIX ACL interfaces for Linux, which on other
platforms, e.g. NetBSD, are provided by system libraries. For instance
glusterfs, having a hard requirement for POSIX ACLs, builds just fine
using those on NetBSD and only needs the acl package on Linux.

> If that's true, then this is
> 
>   Implement POSIX ACLs using Linux's not-really-POSIX ACL implementation
> 
> and it can be ONLY_FOR.

It is ONLY_FOR_PLATFORM because specifically because this package:
 - only builds on Linux to begin with due to being written only for
   Linux
 - TTBOMK it is only needed on Linux for POSIX ACL handling code,
   e.g. glusterfs (for which it is a hard build dependency on Linux,
   which is why I added it to pkgsrc in the first place)

> Howver, all my attempts to understand this so far have felt like "You
> are standing at a crevice.  You are holding a document that specifies
> POSIX ACLs, which weighs several pounds.  There is a POSIX language
> lawyer standing in a shadow nearby, looking menacing, and to the north
> is a maze of twisty passages, all alike."

Yes, trying to read and understand the POSIX standards can make on
feel this way ;-)

Kind regards,
           Alex.
-- 
"Opportunity is missed by most people because it is dressed in overalls and
 looks like work."                                      -- Thomas A. Edison


Home | Main Index | Thread Index | Old Index