Skip to content

Commit

Permalink
libcap: initial import (fix for getdents64 syscall)
Browse files Browse the repository at this point in the history
  • Loading branch information
sepen committed Nov 19, 2024
1 parent 6107186 commit 93aa628
Show file tree
Hide file tree
Showing 3 changed files with 147 additions and 0 deletions.
111 changes: 111 additions & 0 deletions libcap/.footprint
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
drwxr-xr-x sepen/sepen lib/
lrwxrwxrwx sepen/sepen lib/libcap.so.2 -> libcap.so.2.72
-rwxr-xr-x sepen/sepen lib/libcap.so.2.72
drwxr-xr-x sepen/sepen lib/security/
-rwxr-xr-x sepen/sepen lib/security/pam_cap.so
drwxr-xr-x sepen/sepen sbin/
-rwxr-xr-x sepen/sepen sbin/capsh
-rwxr-xr-x sepen/sepen sbin/getcap
-rwxr-xr-x sepen/sepen sbin/getpcaps
-rwxr-xr-x sepen/sepen sbin/setcap
drwxr-xr-x sepen/sepen usr/
drwxr-xr-x sepen/sepen usr/include/
drwxr-xr-x sepen/sepen usr/include/sys/
-rw-r--r-- sepen/sepen usr/include/sys/capability.h
-rw-r--r-- sepen/sepen usr/include/sys/psx_syscall.h
drwxr-xr-x sepen/sepen usr/lib/
-rw-r--r-- sepen/sepen usr/lib/libcap.a
lrwxrwxrwx sepen/sepen usr/lib/libcap.so -> ../../lib/libcap.so.2.72
-rw-r--r-- sepen/sepen usr/lib/libpsx.a
lrwxrwxrwx sepen/sepen usr/lib/libpsx.so -> libpsx.so.2
lrwxrwxrwx sepen/sepen usr/lib/libpsx.so.2 -> libpsx.so.2.72
-rwxr-xr-x sepen/sepen usr/lib/libpsx.so.2.72
drwxr-xr-x sepen/sepen usr/lib/pkgconfig/
-rw-r--r-- sepen/sepen usr/lib/pkgconfig/libcap.pc
-rw-r--r-- sepen/sepen usr/lib/pkgconfig/libpsx.pc
drwxr-xr-x sepen/sepen usr/share/
drwxr-xr-x sepen/sepen usr/share/man/
drwxr-xr-x sepen/sepen usr/share/man/man1/
-rw-r--r-- sepen/sepen usr/share/man/man1/capsh.1.gz
drwxr-xr-x sepen/sepen usr/share/man/man3/
-rw-r--r-- sepen/sepen usr/share/man/man3/__psx_syscall.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_clear.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_clear_flag.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_compare.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_copy_ext.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_copy_int.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_copy_int_check.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_drop_bound.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_dup.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_fill.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_fill_flag.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_free.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_from_name.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_from_text.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_func_launcher.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_get_bound.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_get_fd.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_get_file.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_get_flag.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_get_mode.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_get_nsowner.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_get_pid.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_get_proc.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_get_secbits.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_compare.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_dup.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_fill.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_from_text.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_get_pid.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_get_proc.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_get_vector.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_init.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_set_proc.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_set_vector.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_iab_to_text.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_init.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_launch.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_launcher_callback.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_launcher_set_chroot.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_launcher_set_iab.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_launcher_set_mode.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_launcher_setgroups.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_launcher_setuid.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_max_bits.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_mode.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_mode_name.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_new_launcher.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_prctl.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_prctlw.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_proc_root.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_set_fd.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_set_file.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_set_flag.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_set_mode.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_set_nsowner.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_set_proc.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_set_secbits.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_set_syscall.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_setgroups.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_setuid.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_size.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_to_name.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/cap_to_text.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/capgetp.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/capsetp.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/libcap.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/libpsx.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/psx_load_syscalls.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/psx_set_sensitivity.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/psx_syscall.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/psx_syscall3.3.gz
-rw-r--r-- sepen/sepen usr/share/man/man3/psx_syscall6.3.gz
drwxr-xr-x sepen/sepen usr/share/man/man5/
-rw-r--r-- sepen/sepen usr/share/man/man5/capability.conf.5.gz
drwxr-xr-x sepen/sepen usr/share/man/man8/
-rw-r--r-- sepen/sepen usr/share/man/man8/captree.8.gz
-rw-r--r-- sepen/sepen usr/share/man/man8/getcap.8.gz
-rw-r--r-- sepen/sepen usr/share/man/man8/getpcaps.8.gz
-rw-r--r-- sepen/sepen usr/share/man/man8/pam_cap.8.gz
-rw-r--r-- sepen/sepen usr/share/man/man8/setcap.8.gz
4 changes: 4 additions & 0 deletions libcap/.signature
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
untrusted comment: verify with /etc/ports/raspberrypi3-arm64.pub
RWROOThsoDo5hHoTX++v1soPr7yowlttttLA9gPh82AN3zvqNSNY/x8368KKgRmdRrXgwuKnqvhs61IerRZJNurrLdZ64T0icAc=
SHA256 (Pkgfile) = 6a69212dd8ccbfb55ab128eea0d3f6d2ecf49ede8455f3805a93f6aa5940d5db
SHA256 (libcap-2.72.tar.xz) = 0274f5a15a5205f656d8f0169eef711dd29158ba8ad3b240618b342b2460175b
32 changes: 32 additions & 0 deletions libcap/Pkgfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Description: POSIX.1e capabilities library
# URL: https://sites.google.com/site/fullycapable/
# Maintainer: CRUX System Team, core-ports at crux dot nu
# Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu
# Depends on: linux-pam

name=libcap
version=2.72
release=1
source=(https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/$name-$version.tar.xz)

build() {
cd $name-$version

# use the newer getdents64 syscall
sed 's|SYS_getdents|SYS_getdents64|' -i psx/psx.c

sed "/^CFLAGS/s/-O2/$CFLAGS/" -i Make.Rules

make install \
GOLANG=no \
RAISE_SETFCAP=no \
PKGCONFIGDIR=/usr/lib/pkgconfig \
DESTDIR=$PKG

install -d $PKG/usr/lib
mv $PKG/lib/lib{cap.a,psx.*} $PKG/usr/lib
rm $PKG/lib/libcap.so
ln -s ../../lib/libcap.so.$version $PKG/usr/lib/libcap.so

sed '/^libdir/s|/lib|/usr/lib|' -i $PKG/usr/lib/pkgconfig/*.pc
}

0 comments on commit 93aa628

Please sign in to comment.