import libcap-2.48-7.el9
This commit is contained in:
commit
2b8fd97521
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/libcap-2.48.tar.gz
|
1
.libcap.metadata
Normal file
1
.libcap.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
c81102815c481257e53168e83b8849bc9f154d54 SOURCES/libcap-2.48.tar.gz
|
210
SOURCES/libcap-static-analysis-fix-2.patch
Normal file
210
SOURCES/libcap-static-analysis-fix-2.patch
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
diff --color -ru a/libcap/cap_proc.c b/libcap/cap_proc.c
|
||||||
|
--- a/libcap/cap_proc.c 2021-02-05 06:52:17.000000000 +0100
|
||||||
|
+++ b/libcap/cap_proc.c 2021-08-27 10:07:37.627519433 +0200
|
||||||
|
@@ -689,6 +689,10 @@
|
||||||
|
cap_value_t c;
|
||||||
|
int raising = 0;
|
||||||
|
|
||||||
|
+ if (temp == NULL) {
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
for (i = 0; i < _LIBCAP_CAPABILITY_U32S; i++) {
|
||||||
|
__u32 newI = iab->i[i];
|
||||||
|
__u32 oldIP = temp->u[i].flat[CAP_INHERITABLE] |
|
||||||
|
diff --color -ru a/libcap/cap_text.c b/libcap/cap_text.c
|
||||||
|
--- a/libcap/cap_text.c 2021-02-05 06:52:17.000000000 +0100
|
||||||
|
+++ b/libcap/cap_text.c 2021-08-27 10:14:45.180389737 +0200
|
||||||
|
@@ -160,6 +160,7 @@
|
||||||
|
cap_blks = _LINUX_CAPABILITY_U32S_3;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
+ cap_free(res);
|
||||||
|
errno = EINVAL;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
@@ -398,6 +399,9 @@
|
||||||
|
for (n = 0; n < cmb; n++) {
|
||||||
|
if (getstateflags(caps, n) == t) {
|
||||||
|
char *this_cap_name = cap_to_name(n);
|
||||||
|
+ if (this_cap_name == NULL) {
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
if ((strlen(this_cap_name) + (p - buf)) > CAP_TEXT_SIZE) {
|
||||||
|
cap_free(this_cap_name);
|
||||||
|
errno = ERANGE;
|
||||||
|
@@ -450,6 +454,9 @@
|
||||||
|
for (n = cmb; n < __CAP_MAXBITS; n++) {
|
||||||
|
if (getstateflags(caps, n) == t) {
|
||||||
|
char *this_cap_name = cap_to_name(n);
|
||||||
|
+ if (this_cap_name == NULL) {
|
||||||
|
+ return NULL;
|
||||||
|
+ }
|
||||||
|
if ((strlen(this_cap_name) + (p - buf)) > CAP_TEXT_SIZE) {
|
||||||
|
cap_free(this_cap_name);
|
||||||
|
errno = ERANGE;
|
||||||
|
@@ -549,6 +556,9 @@
|
||||||
|
cap_iab_t cap_iab_from_text(const char *text)
|
||||||
|
{
|
||||||
|
cap_iab_t iab = cap_iab_init();
|
||||||
|
+ if (iab == NULL) {
|
||||||
|
+ return iab;
|
||||||
|
+ }
|
||||||
|
if (text != NULL) {
|
||||||
|
unsigned flags;
|
||||||
|
for (flags = 0; *text; text++) {
|
||||||
|
diff --color -ru a/libcap/_makenames.c b/libcap/_makenames.c
|
||||||
|
--- a/libcap/_makenames.c 2021-02-05 06:52:17.000000000 +0100
|
||||||
|
+++ b/libcap/_makenames.c 2021-08-27 10:02:53.263979868 +0200
|
||||||
|
@@ -49,6 +49,10 @@
|
||||||
|
int was = pointers_avail * sizeof(char *);
|
||||||
|
pointers_avail = 2 * list[i].index + 1;
|
||||||
|
pointers = recalloc(pointers, was, pointers_avail * sizeof(char *));
|
||||||
|
+ if (pointers == NULL) {
|
||||||
|
+ perror("unable to continue");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
pointers[list[i].index] = list[i].name;
|
||||||
|
int n = strlen(list[i].name);
|
||||||
|
diff --color -ru a/pam_cap/pam_cap.c b/pam_cap/pam_cap.c
|
||||||
|
--- a/pam_cap/pam_cap.c 2021-08-26 09:23:55.560021048 +0200
|
||||||
|
+++ b/pam_cap/pam_cap.c 2021-08-27 10:17:00.406562672 +0200
|
||||||
|
@@ -60,6 +60,9 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
*groups = calloc(ngrps, sizeof(char *));
|
||||||
|
+ if (*groups == NULL) {
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
int g_n = 0, i;
|
||||||
|
for (i = 0; i < ngrps; i++) {
|
||||||
|
const struct group *g = getgrgid(grps[i]);
|
||||||
|
diff --color -ru a/progs/capsh.c b/progs/capsh.c
|
||||||
|
--- a/progs/capsh.c 2021-08-26 09:23:55.561021064 +0200
|
||||||
|
+++ b/progs/capsh.c 2021-08-27 10:43:32.973136965 +0200
|
||||||
|
@@ -100,7 +100,16 @@
|
||||||
|
display_prctl_set("Bounding", cap_get_bound);
|
||||||
|
display_prctl_set("Ambient", cap_get_ambient);
|
||||||
|
iab = cap_iab_get_proc();
|
||||||
|
+ if (iab == NULL) {
|
||||||
|
+ perror("failed to get IAB for process");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
text = cap_iab_to_text(iab);
|
||||||
|
+ if (text == NULL) {
|
||||||
|
+ perror("failed to obtain text for IAB");
|
||||||
|
+ cap_free(iab);
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
printf("Current IAB: %s\n", text);
|
||||||
|
cap_free(text);
|
||||||
|
cap_free(iab);
|
||||||
|
@@ -402,6 +411,10 @@
|
||||||
|
child = 0;
|
||||||
|
|
||||||
|
char *temp_name = cap_to_name(cap_max_bits() - 1);
|
||||||
|
+ if (temp_name == NULL) {
|
||||||
|
+ perror("obtaining highest capability name");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
if (temp_name[0] != 'c') {
|
||||||
|
printf("WARNING: libcap needs an update (cap=%d should have a name).\n",
|
||||||
|
cap_max_bits() - 1);
|
||||||
|
diff --color -ru a/progs/getcap.c b/progs/getcap.c
|
||||||
|
--- a/progs/getcap.c 2021-02-05 06:52:17.000000000 +0100
|
||||||
|
+++ b/progs/getcap.c 2021-08-27 10:21:36.547999961 +0200
|
||||||
|
@@ -110,11 +110,11 @@
|
||||||
|
|
||||||
|
for (i=optind; argv[i] != NULL; i++) {
|
||||||
|
struct stat stbuf;
|
||||||
|
-
|
||||||
|
- if (lstat(argv[i], &stbuf) != 0) {
|
||||||
|
- fprintf(stderr, "%s (%s)\n", argv[i], strerror(errno));
|
||||||
|
+ char *arg = argv[i];
|
||||||
|
+ if (lstat(arg, &stbuf) != 0) {
|
||||||
|
+ fprintf(stderr, "%s (%s)\n", arg, strerror(errno));
|
||||||
|
} else if (recursive) {
|
||||||
|
- nftw(argv[i], do_getcap, 20, FTW_PHYS);
|
||||||
|
+ nftw(arg, do_getcap, 20, FTW_PHYS);
|
||||||
|
} else {
|
||||||
|
int tflag = S_ISREG(stbuf.st_mode) ? FTW_F :
|
||||||
|
(S_ISLNK(stbuf.st_mode) ? FTW_SL : FTW_NS);
|
||||||
|
diff --color -ru a/progs/setcap.c b/progs/setcap.c
|
||||||
|
--- a/progs/setcap.c 2021-02-05 06:52:17.000000000 +0100
|
||||||
|
+++ b/progs/setcap.c 2021-08-27 10:23:30.764835298 +0200
|
||||||
|
@@ -166,9 +166,12 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
cap_on_file = cap_get_file(*++argv);
|
||||||
|
-
|
||||||
|
if (cap_on_file == NULL) {
|
||||||
|
cap_on_file = cap_from_text("=");
|
||||||
|
+ if (cap_on_file == NULL) {
|
||||||
|
+ perror("unable to use missing capability");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
cmp = cap_compare(cap_on_file, cap_d);
|
||||||
|
diff --color -ru a/psx/psx.c b/psx/psx.c
|
||||||
|
--- a/psx/psx.c 2021-08-26 09:23:55.562021081 +0200
|
||||||
|
+++ b/psx/psx.c 2021-08-27 10:24:49.997107969 +0200
|
||||||
|
@@ -107,6 +107,10 @@
|
||||||
|
*/
|
||||||
|
static void *psx_do_registration(void) {
|
||||||
|
registered_thread_t *node = calloc(1, sizeof(registered_thread_t));
|
||||||
|
+ if (node == NULL) {
|
||||||
|
+ perror("unable to register psx handler");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
pthread_mutex_init(&node->mu, NULL);
|
||||||
|
node->thread = pthread_self();
|
||||||
|
pthread_setspecific(psx_action_key, node);
|
||||||
|
diff --color -ru a/tests/libcap_launch_test.c b/tests/libcap_launch_test.c
|
||||||
|
--- a/tests/libcap_launch_test.c 2021-02-05 06:52:17.000000000 +0100
|
||||||
|
+++ b/tests/libcap_launch_test.c 2021-08-27 10:31:31.662559385 +0200
|
||||||
|
@@ -93,6 +93,10 @@
|
||||||
|
printf("[%d] test should %s\n", i,
|
||||||
|
v->result ? "generate error" : "work");
|
||||||
|
cap_launch_t attr = cap_new_launcher(v->args[0], v->args, v->envp);
|
||||||
|
+ if (attr == NULL) {
|
||||||
|
+ perror("failed to obtain launcher");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
if (v->chroot) {
|
||||||
|
cap_launcher_set_chroot(attr, v->chroot);
|
||||||
|
}
|
||||||
|
diff --color -ru a/tests/libcap_psx_test.c b/tests/libcap_psx_test.c
|
||||||
|
--- a/tests/libcap_psx_test.c 2021-02-05 06:52:17.000000000 +0100
|
||||||
|
+++ b/tests/libcap_psx_test.c 2021-08-27 10:29:57.157041470 +0200
|
||||||
|
@@ -16,6 +16,10 @@
|
||||||
|
usleep(1234);
|
||||||
|
pid_t pid = fork();
|
||||||
|
cap_t start = cap_get_proc();
|
||||||
|
+ if (start == NULL) {
|
||||||
|
+ perror("FAILED: unable to start");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
if (pid == 0) {
|
||||||
|
cap_set_proc(start);
|
||||||
|
exit(0);
|
||||||
|
@@ -27,6 +31,7 @@
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
cap_set_proc(start);
|
||||||
|
+ cap_free(start);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -35,6 +40,10 @@
|
||||||
|
printf("hello libcap and libpsx ");
|
||||||
|
fflush(stdout);
|
||||||
|
cap_t start = cap_get_proc();
|
||||||
|
+ if (start == NULL) {
|
||||||
|
+ perror("FAILED: to actually start");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
pthread_t ignored[10];
|
||||||
|
for (i = 0; i < 10; i++) {
|
||||||
|
pthread_create(&ignored[i], NULL, thread_fork_exit, NULL);
|
152
SOURCES/libcap-static-analysis-fix.patch
Normal file
152
SOURCES/libcap-static-analysis-fix.patch
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
diff --color -ru a/pam_cap/pam_cap.c b/pam_cap/pam_cap.c
|
||||||
|
--- a/pam_cap/pam_cap.c 2021-02-05 06:52:17.000000000 +0100
|
||||||
|
+++ b/pam_cap/pam_cap.c 2021-04-23 09:48:00.091122637 +0200
|
||||||
|
@@ -218,7 +218,7 @@
|
||||||
|
if (!cap_set_proc(cap_s)) {
|
||||||
|
ok = 1;
|
||||||
|
}
|
||||||
|
- goto cleanup_cap_s;
|
||||||
|
+ goto cleanup_conf;
|
||||||
|
}
|
||||||
|
|
||||||
|
iab = cap_iab_from_text(conf_caps);
|
||||||
|
@@ -238,10 +238,9 @@
|
||||||
|
_pam_drop(conf_caps);
|
||||||
|
|
||||||
|
cleanup_cap_s:
|
||||||
|
- if (cap_s) {
|
||||||
|
- cap_free(cap_s);
|
||||||
|
- cap_s = NULL;
|
||||||
|
- }
|
||||||
|
+ cap_free(cap_s);
|
||||||
|
+ cap_s = NULL;
|
||||||
|
+
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --color -ru a/progs/capsh.c b/progs/capsh.c
|
||||||
|
--- a/progs/capsh.c 2021-02-05 06:52:17.000000000 +0100
|
||||||
|
+++ b/progs/capsh.c 2021-04-23 09:48:00.095122691 +0200
|
||||||
|
@@ -336,8 +336,8 @@
|
||||||
|
*/
|
||||||
|
static char *find_self(const char *arg0)
|
||||||
|
{
|
||||||
|
- int i;
|
||||||
|
- char *parts, *dir, *scratch;
|
||||||
|
+ int i, status=1;
|
||||||
|
+ char *p = NULL, *parts, *dir, *scratch;
|
||||||
|
const char *path;
|
||||||
|
|
||||||
|
for (i = strlen(arg0)-1; i >= 0 && arg0[i] != '/'; i--);
|
||||||
|
@@ -352,21 +352,45 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
parts = strdup(path);
|
||||||
|
+ if (parts == NULL) {
|
||||||
|
+ fprintf(stderr, "insufficient memory for parts of path\n");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
scratch = malloc(2+strlen(path)+strlen(arg0));
|
||||||
|
- if (parts == NULL || scratch == NULL) {
|
||||||
|
+ if (scratch == NULL) {
|
||||||
|
fprintf(stderr, "insufficient memory for path building\n");
|
||||||
|
- exit(1);
|
||||||
|
+ goto free_parts;
|
||||||
|
}
|
||||||
|
|
||||||
|
- for (i=0; (dir = strtok(parts, ":")); parts = NULL) {
|
||||||
|
+ for (p = parts; (dir = strtok(p, ":")); p = NULL) {
|
||||||
|
sprintf(scratch, "%s/%s", dir, arg0);
|
||||||
|
if (access(scratch, X_OK) == 0) {
|
||||||
|
- return scratch;
|
||||||
|
+ status = 0;
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ if (status) {
|
||||||
|
+ fprintf(stderr, "unable to find executable '%s' in PATH\n", arg0);
|
||||||
|
+ free(scratch);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+free_parts:
|
||||||
|
+ free(parts);
|
||||||
|
+ if (status) {
|
||||||
|
+ exit(status);
|
||||||
|
+ }
|
||||||
|
+ return scratch;
|
||||||
|
+}
|
||||||
|
|
||||||
|
- fprintf(stderr, "unable to find executable '%s' in PATH\n", arg0);
|
||||||
|
- exit(1);
|
||||||
|
+static long safe_sysconf(int name)
|
||||||
|
+{
|
||||||
|
+ long ans = sysconf(name);
|
||||||
|
+ if (ans <= 0) {
|
||||||
|
+ fprintf(stderr, "sysconf(%d) returned a non-positive number: %ld\n", name, ans);
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
+ return ans;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[], char *envp[])
|
||||||
|
@@ -617,7 +641,9 @@
|
||||||
|
* Given we are now in a new directory tree, its good practice
|
||||||
|
* to start off in a sane location
|
||||||
|
*/
|
||||||
|
- status = chdir("/");
|
||||||
|
+ if (status == 0) {
|
||||||
|
+ status = chdir("/");
|
||||||
|
+ }
|
||||||
|
|
||||||
|
cap_free(orig);
|
||||||
|
|
||||||
|
@@ -718,14 +744,14 @@
|
||||||
|
gid_t *group_list;
|
||||||
|
int g_count;
|
||||||
|
|
||||||
|
- length = sysconf(_SC_GETGR_R_SIZE_MAX);
|
||||||
|
+ length = safe_sysconf(_SC_GETGR_R_SIZE_MAX);
|
||||||
|
buf = calloc(1, length);
|
||||||
|
if (NULL == buf) {
|
||||||
|
fprintf(stderr, "No memory for [%s] operation\n", argv[i]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
- max_groups = sysconf(_SC_NGROUPS_MAX);
|
||||||
|
+ max_groups = safe_sysconf(_SC_NGROUPS_MAX);
|
||||||
|
group_list = calloc(max_groups, sizeof(gid_t));
|
||||||
|
if (NULL == group_list) {
|
||||||
|
fprintf(stderr, "No memory for gid list\n");
|
||||||
|
@@ -741,8 +767,7 @@
|
||||||
|
}
|
||||||
|
if (!isdigit(*ptr)) {
|
||||||
|
struct group *g, grp;
|
||||||
|
- getgrnam_r(ptr, &grp, buf, length, &g);
|
||||||
|
- if (NULL == g) {
|
||||||
|
+ if (getgrnam_r(ptr, &grp, buf, length, &g) || NULL == g) {
|
||||||
|
fprintf(stderr, "Failed to identify gid for group [%s]\n", ptr);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
@@ -835,6 +860,7 @@
|
||||||
|
argv[argc] = NULL;
|
||||||
|
execve(argv[i], argv+i, envp);
|
||||||
|
fprintf(stderr, "execve '%s' failed!\n", argv[i]);
|
||||||
|
+ free(argv[i]);
|
||||||
|
exit(1);
|
||||||
|
} else if (!strncmp("--shell=", argv[i], 8)) {
|
||||||
|
shell = argv[i]+8;
|
||||||
|
diff --color -ru a/psx/psx.c b/psx/psx.c
|
||||||
|
--- a/psx/psx.c 2021-02-05 06:52:17.000000000 +0100
|
||||||
|
+++ b/psx/psx.c 2021-04-23 09:48:00.095122691 +0200
|
||||||
|
@@ -454,6 +454,10 @@
|
||||||
|
int __wrap_pthread_create(pthread_t *thread, const pthread_attr_t *attr,
|
||||||
|
void *(*start_routine) (void *), void *arg) {
|
||||||
|
psx_starter_t *starter = calloc(1, sizeof(psx_starter_t));
|
||||||
|
+ if (starter == NULL) {
|
||||||
|
+ perror("failed at thread creation");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
starter->fn = start_routine;
|
||||||
|
starter->arg = arg;
|
||||||
|
/*
|
37
SOURCES/libcap-use-compiler-flag-options.patch
Normal file
37
SOURCES/libcap-use-compiler-flag-options.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From 7c13fa4e4c044941afd3b3766de71821cdc04397 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
|
Date: Sun, 14 Feb 2021 14:06:49 -0800
|
||||||
|
Subject: [PATCH] Update Make.Rules for Fedora RPM build
|
||||||
|
|
||||||
|
---
|
||||||
|
Make.Rules | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Make.Rules b/Make.Rules
|
||||||
|
index ded9014..537cb6c 100644
|
||||||
|
--- a/Make.Rules
|
||||||
|
+++ b/Make.Rules
|
||||||
|
@@ -56,10 +56,10 @@ IPATH += -fPIC -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include
|
||||||
|
|
||||||
|
CC := $(CROSS_COMPILE)gcc
|
||||||
|
DEFINES := -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
|
||||||
|
-COPTS ?= -O2
|
||||||
|
+COPTS ?= $(RPM_OPT_FLAGS)
|
||||||
|
CFLAGS ?= $(COPTS) $(DEFINES)
|
||||||
|
BUILD_CC ?= $(CC)
|
||||||
|
-BUILD_COPTS ?= -O2
|
||||||
|
+BUILD_COPTS ?= $(RPM_OPT_FLAGS)
|
||||||
|
BUILD_CFLAGS ?= $(BUILD_COPTS) $(DEFINES) $(IPATH)
|
||||||
|
AR := $(CROSS_COMPILE)ar
|
||||||
|
RANLIB := $(CROSS_COMPILE)ranlib
|
||||||
|
@@ -69,7 +69,7 @@ WARNINGS=-Wall -Wwrite-strings \
|
||||||
|
-Wstrict-prototypes -Wmissing-prototypes \
|
||||||
|
-Wnested-externs -Winline -Wshadow
|
||||||
|
LD=$(CC) -Wl,-x -shared
|
||||||
|
-LDFLAGS ?= #-g
|
||||||
|
+LDFLAGS ?= $(RPM_LD_FLAGS)
|
||||||
|
LIBCAPLIB := -L$(topdir)/libcap -lcap
|
||||||
|
PSXLINKFLAGS := -lpthread -Wl,-wrap,pthread_create
|
||||||
|
LIBPSXLIB := -L$(topdir)/libcap -lpsx $(PSXLINKFLAGS)
|
||||||
|
--
|
||||||
|
2.29.2
|
393
SPECS/libcap.spec
Normal file
393
SPECS/libcap.spec
Normal file
@ -0,0 +1,393 @@
|
|||||||
|
Name: libcap
|
||||||
|
Version: 2.48
|
||||||
|
Release: 7%{?dist}
|
||||||
|
Summary: Library for getting and setting POSIX.1e capabilities
|
||||||
|
URL: https://sites.google.com/site/fullycapable/
|
||||||
|
License: BSD or GPLv2
|
||||||
|
|
||||||
|
Source: https://git.kernel.org/pub/scm/libs/libcap/libcap.git/snapshot/%{name}-%{version}.tar.gz
|
||||||
|
Patch0: libcap-use-compiler-flag-options.patch
|
||||||
|
Patch1: libcap-static-analysis-fix.patch
|
||||||
|
Patch2: libcap-static-analysis-fix-2.patch
|
||||||
|
|
||||||
|
BuildRequires: libattr-devel pam-devel perl-interpreter gcc
|
||||||
|
BuildRequires: make
|
||||||
|
|
||||||
|
%description
|
||||||
|
libcap is a library for getting and setting POSIX.1e (formerly POSIX 6)
|
||||||
|
draft 15 capabilities.
|
||||||
|
|
||||||
|
%package static
|
||||||
|
Summary: Static libraries for libcap development
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description static
|
||||||
|
The libcap-static package contains static libraries needed to develop programs
|
||||||
|
that use libcap and need to be statically linked.
|
||||||
|
|
||||||
|
libcap is a library for getting and setting POSIX.1e (formerly POSIX 6)
|
||||||
|
draft 15 capabilities.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for libcap
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Development files (Headers, etc) for libcap.
|
||||||
|
|
||||||
|
libcap is a library for getting and setting POSIX.1e (formerly POSIX 6)
|
||||||
|
draft 15 capabilities.
|
||||||
|
|
||||||
|
Install libcap-devel if you want to develop or compile applications using
|
||||||
|
libcap.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
# libcap can not be build with _smp_mflags:
|
||||||
|
make prefix=%{_prefix} lib=%{_lib} LIBDIR=%{_libdir} SBINDIR=%{_sbindir} \
|
||||||
|
INCDIR=%{_includedir} MANDIR=%{_mandir} PKGCONFIGDIR=%{_libdir}/pkgconfig/
|
||||||
|
|
||||||
|
%install
|
||||||
|
make install RAISE_SETFCAP=no \
|
||||||
|
DESTDIR=%{buildroot} \
|
||||||
|
LIBDIR=%{_libdir} \
|
||||||
|
SBINDIR=%{_sbindir} \
|
||||||
|
PKGCONFIGDIR=%{_libdir}/pkgconfig/
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}/%{_mandir}/man{2,3,8}
|
||||||
|
mv -f doc/*.3 %{buildroot}/%{_mandir}/man3/
|
||||||
|
|
||||||
|
chmod +x %{buildroot}/%{_libdir}/*.so.*
|
||||||
|
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license License
|
||||||
|
%doc doc/capability.notes
|
||||||
|
%{_libdir}/*.so.*
|
||||||
|
%{_sbindir}/*
|
||||||
|
%{_mandir}/man1/*
|
||||||
|
%{_mandir}/man8/*
|
||||||
|
%{_libdir}/security/pam_cap.so
|
||||||
|
|
||||||
|
%files static
|
||||||
|
%{_libdir}/libcap.a
|
||||||
|
%{_libdir}/libpsx.a
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_includedir}/*
|
||||||
|
%{_libdir}/*.so
|
||||||
|
%{_mandir}/man3/*
|
||||||
|
%{_libdir}/pkgconfig/libcap.pc
|
||||||
|
%{_libdir}/pkgconfig/libpsx.pc
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Aug 27 2021 Zoltan Fridrich <zfridric@redhat.com> - 2.48-7
|
||||||
|
- Fix issues detected by static analyzers
|
||||||
|
Related: rhbz#1985346
|
||||||
|
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.48-6
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Fri Jun 18 2021 Zoltan Fridrich <zfridric@redhat.com> - 2.48-5
|
||||||
|
- Remove deprecated tests
|
||||||
|
Resolves: rhbz#1938758
|
||||||
|
|
||||||
|
* Tue Jun 15 2021 Zoltan Fridrich <zfridric@redhat.com> - 2.48-4
|
||||||
|
- Fix issues detected by static analyzers (rhbz#1938758)
|
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2.48-3
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* Sun Feb 14 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2.48-2
|
||||||
|
- Rebase distro flags patch
|
||||||
|
|
||||||
|
* Wed Feb 10 2021 Giuseppe Scrivano <gscrivan@redhat.com> - 2.48-1
|
||||||
|
- Update to 0.2.48
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.46-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Jan 17 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2.46-1
|
||||||
|
- Update to 0.2.46
|
||||||
|
|
||||||
|
* Wed Oct 21 2020 Karsten Hopp <karsten@fedoraproject.org> - 2.44-1
|
||||||
|
- update to 2.44
|
||||||
|
- remove additional getpcaps manpage as it now included in the sources
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.26-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.26-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.26-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Feb 04 2019 Karsten Hopp <karsten@redhat.com> - 2.26-5
|
||||||
|
- enable gating
|
||||||
|
|
||||||
|
* Mon Feb 04 2019 Karsten Hopp <karsten@redhat.com> - 2.26-4
|
||||||
|
- bump release
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.26-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 28 2019 Karsten Hopp <karsten@redhat.com> - 2.26-2
|
||||||
|
- add CI tests using the standard test interface (astepano)
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.25-12
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 02 2018 Karsten Hopp <karsten@redhat.com> - 2.25-11
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Wed Feb 21 2018 Karsten Hopp <karsten@redhat.com> - 2.25-10
|
||||||
|
- buildrequire gcc
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.25-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.25-8
|
||||||
|
- Switch to %%ldconfig_scriptlets
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.25-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.25-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.25-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Dec 15 2016 Karsten Hopp <karsten@redhat.com> - 2.25-4
|
||||||
|
- add -static subpackage (rhbz#1380251)
|
||||||
|
|
||||||
|
* Sun Nov 27 2016 Lubomir Rintel <lkundrak@v3.sk> - 2.25-3
|
||||||
|
- Add perl BR to fix FTBFS
|
||||||
|
|
||||||
|
* Mon Apr 25 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2.25-2
|
||||||
|
- Fix pkgconfig install location on aarch64
|
||||||
|
- Spec file cleanups
|
||||||
|
|
||||||
|
* Mon Apr 11 2016 Karsten Hopp <karsten@redhat.com> - 2.25-1
|
||||||
|
- libcap-2.25
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.24-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.24-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.24-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 17 2014 Tom Callaway <spot@fedoraproject.org> - 2.24-6
|
||||||
|
- fix license handling
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.24-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Apr 25 2014 Karsten Hopp <karsten@redhat.com> 2.24-4
|
||||||
|
- fix libdir in libcap.pc
|
||||||
|
|
||||||
|
* Wed Apr 23 2014 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 2.24-3
|
||||||
|
- set pkg-config dir to proper value to get it built on AArch64
|
||||||
|
|
||||||
|
* Wed Apr 16 2014 Karsten Hopp <karsten@redhat.com> 2.24-2
|
||||||
|
- fix URL and license
|
||||||
|
|
||||||
|
* Wed Apr 16 2014 Karsten Hopp <karsten@redhat.com> 2.24-1
|
||||||
|
- update to 2.24
|
||||||
|
- dropped patch for rhbz#911878, it is upstream now
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.22-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue May 14 2013 Karsten Hopp <karsten@redhat.com> 2.22-6
|
||||||
|
- mv libraries to /usr/lib*
|
||||||
|
- add getpcaps man page
|
||||||
|
- spec file cleanup
|
||||||
|
- fix URL of tarball
|
||||||
|
|
||||||
|
* Tue May 14 2013 Karsten Hopp <karsten@redhat.com> 2.22-5
|
||||||
|
- add patch from Mark Wielaard to fix use of uninitialized memory in _fcaps_load
|
||||||
|
rhbz #911878
|
||||||
|
|
||||||
|
* Sun Feb 24 2013 Ville Skyttä <ville.skytta@iki.fi> - 2.22-5
|
||||||
|
- Build with $RPM_OPT_FLAGS and $RPM_LD_FLAGS.
|
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.22-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.22-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.22-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 27 2011 Karsten Hopp <karsten@redhat.com> 2.22-1
|
||||||
|
- update to 2.22 (#689752)
|
||||||
|
|
||||||
|
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.17-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Dec 10 2009 Karsten Hopp <karsten@redhat.com> 2.17-1
|
||||||
|
- update to 2.17
|
||||||
|
|
||||||
|
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.16-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jun 16 2009 Karsten Hopp <karsten@redhat.com> 2.16-4
|
||||||
|
- fix build problems with p.e. cdrkit
|
||||||
|
|
||||||
|
* Sun Mar 22 2009 Karsten Hopp <karsten@redhat.com> 2.16-1
|
||||||
|
- update, with a fix for rebuild problems
|
||||||
|
|
||||||
|
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.10-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 06 2008 Karsten Hopp <karsten@redhat.com> 2.10-2
|
||||||
|
- drop libcap.so.1
|
||||||
|
- fix buildrequires and path to pam security module
|
||||||
|
|
||||||
|
* Thu Jun 05 2008 Karsten Hopp <karsten@redhat.com> 2.10-1
|
||||||
|
- libcap-2.10
|
||||||
|
|
||||||
|
* Thu Feb 21 2008 Karsten Hopp <karsten@redhat.com> 2.06-4
|
||||||
|
- don't build static binaries (#433808)
|
||||||
|
|
||||||
|
* Wed Feb 20 2008 Karsten Hopp <karsten@redhat.com> 2.06-3
|
||||||
|
- temporarily add libcap-1 libraries to bootstrap some packages
|
||||||
|
|
||||||
|
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.06-2
|
||||||
|
- Autorebuild for GCC 4.3
|
||||||
|
|
||||||
|
* Fri Feb 15 2008 Karsten Hopp <karsten@redhat.com> 2.06-1
|
||||||
|
- upate to 2.06 (#432983)
|
||||||
|
|
||||||
|
* Wed Jan 16 2008 Karsten Hopp <karsten@redhat.com> 1.10-33
|
||||||
|
- drop post,postun requirements on ldconfig as find-requires can handle this
|
||||||
|
|
||||||
|
* Tue Jan 15 2008 Karsten Hopp <karsten@redhat.com> 1.10-32
|
||||||
|
- add disttag
|
||||||
|
- fix changelog
|
||||||
|
- fix defattr
|
||||||
|
|
||||||
|
* Mon Jan 14 2008 Karsten Hopp <karsten@redhat.com> 1.10-31
|
||||||
|
- use cp -p in spec file to preserve file attributes (#225992)
|
||||||
|
- add license file
|
||||||
|
|
||||||
|
* Fri Aug 24 2007 Karsten Hopp <karsten@redhat.com> 1.10-30
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Fri Feb 23 2007 Karsten Hopp <karsten@redhat.com> 1.10-29
|
||||||
|
- add CAP_AUDIT_WRITE and CAP_AUDIT_CONTROL (#229833)
|
||||||
|
|
||||||
|
* Wed Feb 21 2007 Karsten Hopp <karsten@redhat.com> 1.10-28
|
||||||
|
- drop obsolete ia64 patch
|
||||||
|
- rpmlint fixes
|
||||||
|
|
||||||
|
* Wed Feb 21 2007 Karsten Hopp <karsten@redhat.com> 1.10-27
|
||||||
|
- misc. review fixes
|
||||||
|
- add debian patch to make it build with a recent glibc
|
||||||
|
- remove static lib
|
||||||
|
|
||||||
|
* Wed Jul 19 2006 Karsten Hopp <karsten@redhat.de> 1.10-25
|
||||||
|
- add patch to support COPTFLAG (#199365)
|
||||||
|
|
||||||
|
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1.10-24.2.1
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 1.10-24.2
|
||||||
|
- bump again for double-long bug on ppc(64)
|
||||||
|
|
||||||
|
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1.10-24.1
|
||||||
|
- rebuilt for new gcc4.1 snapshot and glibc changes
|
||||||
|
|
||||||
|
* Mon Dec 19 2005 Karsten Hopp <karsten@redhat.de> 1.10-24
|
||||||
|
- added development manpages
|
||||||
|
- as there are no manpages for the executables available, added at least
|
||||||
|
a FAQ (#172324)
|
||||||
|
|
||||||
|
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Mon Oct 31 2005 Steve Grubb <sgrubb@redhat.com> 1.10-23
|
||||||
|
- rebuild to pick up audit capabilities
|
||||||
|
|
||||||
|
* Wed Mar 02 2005 Karsten Hopp <karsten@redhat.de> 1.10-22
|
||||||
|
- build with gcc-4
|
||||||
|
|
||||||
|
* Wed Feb 09 2005 Karsten Hopp <karsten@redhat.de> 1.10-21
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Tue Aug 31 2004 Phil Knirsch <pknirsch@redhat.com> 1.10-20
|
||||||
|
- Fix wrong typedef in userland patch (#98801)
|
||||||
|
|
||||||
|
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Tue Jan 27 2004 Karsten Hopp <karsten@redhat.de> 1.10-17
|
||||||
|
- use _manpath
|
||||||
|
|
||||||
|
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Sat Jan 4 2003 Jeff Johnson <jbj@redhat.com> 1.10-14
|
||||||
|
- set execute bits on library so that requires are generated.
|
||||||
|
|
||||||
|
* Thu Nov 21 2002 Mike A. Harris <mharris@redhat.com> 1.10-13
|
||||||
|
- Removed %%name macro sillyness from package Summary, description text, etc.
|
||||||
|
- Removed archaic Prefix: tag
|
||||||
|
- lib64 fixes everywhere to use _lib, _libdir, etc
|
||||||
|
- Removed deletion of RPM_BUILD_DIR from %%clean section
|
||||||
|
- Added -q flag to setup macro
|
||||||
|
- Severely cleaned up spec file, and removed usage of perl
|
||||||
|
|
||||||
|
* Fri Jul 19 2002 Jakub Jelinek <jakub@redhat.com> 1.10-12
|
||||||
|
- CFLAGS was using COPTFLAG variable, not COPTFLAGS
|
||||||
|
- build with -fpic
|
||||||
|
- apply the IA-64 patch everywhere, use capget/capset from glibc,
|
||||||
|
not directly as _syscall (as it is broken on IA-32 with -fpic)
|
||||||
|
- reenable alpha
|
||||||
|
|
||||||
|
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
|
||||||
|
- automated rebuild
|
||||||
|
|
||||||
|
* Wed May 29 2002 Bernhard Rosenkraenzer <bero@redhat.com> 1.10-10
|
||||||
|
- Exclude alpha for now, apparent gcc bug.
|
||||||
|
|
||||||
|
* Fri Nov 9 2001 Bernhard Rosenkraenzer <bero@redhat.com> 1.10-6
|
||||||
|
- Fix sys/capabilities.h header (#55727)
|
||||||
|
- Move to /lib, some applications seem to be using this rather early
|
||||||
|
(#55733)
|
||||||
|
|
||||||
|
* Mon Jul 16 2001 Trond Eivind Glomsrød <teg@redhat.com>
|
||||||
|
- Add post,postun scripts
|
||||||
|
|
||||||
|
* Tue Jul 10 2001 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
- don't build libcap.so.1 with ld -shared, but gcc -shared
|
||||||
|
|
||||||
|
* Wed Jun 20 2001 Trond Eivind Glomsrød <teg@redhat.com>
|
||||||
|
- Rebuild - it was missing for alpha
|
||||||
|
|
||||||
|
* Wed Jun 06 2001 Florian La Roche <Florian.LaRoche@redhat.de>
|
||||||
|
- add s390/s390x support
|
||||||
|
|
||||||
|
* Thu May 17 2001 Bernhard Rosenkraenzer <bero@redhat.com> 1.10-1
|
||||||
|
- initial RPM
|
||||||
|
- fix build on ia64
|
Loading…
Reference in New Issue
Block a user