6.18. Acl-2.2.51

The acl package contains utilities to administer Access Control Lists, which are used to define more fine-grained discretionary access rights for files and directories.

Approximate build time: 0.1 SBU
Required disk space: 5 MB

6.18.1. Installation of Acl

Add a missing test script:

cat > test/sort-getfacl-output << "EOF"
#! /usr/bin/perl -w

undef $/;
print join("\n\n", sort split(/\n\n/, ><)), "\n\n";
EOF
chmod 755 test/sort-getfacl-output

Modify the documentation directory so that it is a versioned directory and also adds support for a DESTDIR installation:

sed -i -e 's|/@pkg_name@|&-@pkg_version@|' \
       -e 's|@prefix|$(DESTDIR)&|'         \
       -e 's|@libexec|$(DESTDIR)&|'        \
    include/builddefs.in

Modify the configure script to use file from /tools:

sed -i 's@/usr/bin/file@/tools/bin/file@g' configure

Prepare Acl for compilation:

MAKE=/tools/bin/make MSGFMT=/tools/bin/msgfmt \
MSGMERGE=/tools/bin/msgmerge XGETTEXT=/tools/bin/xgettext \
./configure --prefix=/usr --libexecdir=/usr/lib

Compile the package:

make

To test the results, issue:

make tests root-tests ext-tests

Install the package:

make install install-dev install-lib
install -v -m644 doc/*.txt /usr/share/doc/acl-2.2.49
chmod -v 755 /usr/lib/libacl.{la,so.1.1.0}
rm -v /usr/lib/libacl.so
mv -v /usr/lib/libacl.so* /lib
ln -sfv ../../lib/libacl.so.1.1.0 /usr/lib/libacl.so

6.18.2. Contents of Acl

Installed program: chacl, getfacl, setfacl
Installed libraries: libacl.{a,so}
Installed directories: /usr/share/doc/acl-2.2.51

Short Descriptions

chacl

changes the access control list of a file or directory

getfacl

gets file access control lists

setfacl

sets file access control lists

libacl

contains the acl API functions