tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
policycoreutils: 2.4 -> 2.7
xeji
7 years ago
70044c89
232c39e7
+11
-54
2 changed files
expand all
collapse all
unified
split
pkgs
os-specific
linux
policycoreutils
default.nix
fix-printf-type.patch
+11
-42
pkgs/os-specific/linux/policycoreutils/default.nix
···
1
-
{ stdenv, fetchurl, pythonPackages, gettext
2
-
, setools, libsepol, libselinux, libcap_ng, libsemanage, sepolgen
3
-
}:
4
5
stdenv.mkDerivation rec {
6
name = "policycoreutils-${version}";
7
-
version = "2.4";
8
inherit (libsepol) se_release se_url;
9
10
src = fetchurl {
11
url = "${se_url}/${se_release}/policycoreutils-${version}.tar.gz";
12
-
sha256 = "0y9l9k60iy21hj0lcvfdfxs1fxydg6d3pxp9rhy7hwr4y5vgh6dq";
13
};
14
15
-
patches = [ ./fix-printf-type.patch ];
16
-
17
postPatch = ''
18
-
# Fix references to libsepol.a
19
-
find . -name Makefile -exec sed -i 's,[^ ]*/libsepol.a,${libsepol}/lib/libsepol.a,g' {} \;
20
-
21
# Fix install references
22
-
substituteInPlace po/Makefile --replace /usr/bin/install install
23
-
24
-
# Fix references to /usr/share
25
-
grep -r '/usr/share' | awk -F: '{print $1}' | xargs sed -i "s,\(\$(DESTDIR)\)*/usr/share,$out/share,g"
26
-
27
-
# Fix sepolicy install
28
-
sed -i "s,\(setup.py install\).*,\1 --prefix=$out,g" sepolicy/Makefile
29
-
30
-
# Fix setuid install
31
-
sed -i 's|-m 4755|-m 755|' sandbox/Makefile
32
'';
33
34
-
nativeBuildInputs = [ pythonPackages.python gettext ];
35
-
buildInputs = [ setools libsepol libselinux libcap_ng libsemanage ];
36
-
pythonPath = [ libselinux sepolgen ];
37
38
preBuild = ''
39
makeFlagsArray+=("PREFIX=$out")
40
makeFlagsArray+=("DESTDIR=$out")
41
-
'';
42
-
43
-
# Creation of the system-config-selinux directory is broken
44
-
preInstall = ''
45
-
mkdir -p $out/share/system-config-selinux
46
-
'';
47
-
48
-
# Fix the python scripts to include paths to libraries
49
-
# NOTE: We are not using wrapPythonPrograms or makeWrapper as these scripts
50
-
# purge the environment as a security measure
51
-
postInstall = ''
52
-
grep -r '#!.*python' $out/bin | awk -F: '{print $1}' | xargs sed -i "1a \
53
-
import sys; \
54
-
sys.path.append('$(toPythonPath "$out")'); \
55
-
${stdenv.lib.flip stdenv.lib.concatMapStrings pythonPath (lib: ''
56
-
sys.path.append('$(toPythonPath "${lib}")'); \
57
-
'')}"
58
'';
59
-
60
-
NIX_CFLAGS_COMPILE = "-fstack-protector-all";
61
62
meta = with stdenv.lib; {
63
description = "SELinux policy core utilities";
···
1
+
{ stdenv, fetchurl, gettext, libsepol, libselinux, libsemanage }:
0
0
2
3
stdenv.mkDerivation rec {
4
name = "policycoreutils-${version}";
5
+
version = "2.7";
6
inherit (libsepol) se_release se_url;
7
8
src = fetchurl {
9
url = "${se_url}/${se_release}/policycoreutils-${version}.tar.gz";
10
+
sha256 = "1x742c7lkw30namhkw87yg7z384qzqjz0pvmqs0lk19v6958l6qa";
11
};
12
0
0
13
postPatch = ''
0
0
0
14
# Fix install references
15
+
substituteInPlace po/Makefile \
16
+
--replace /usr/bin/install install --replace /usr/share /share
17
+
substituteInPlace newrole/Makefile --replace /usr/share /share
0
0
0
0
0
0
0
18
'';
19
20
+
nativeBuildInputs = [ gettext ];
21
+
buildInputs = [ libsepol libselinux libsemanage ];
0
22
23
preBuild = ''
24
makeFlagsArray+=("PREFIX=$out")
25
makeFlagsArray+=("DESTDIR=$out")
26
+
makeFlagsArray+=("BASHCOMPLETIONDIR=$out/share/bash-completion/completions")
27
+
makeFlagsArray+=("LOCALEDIR=$out/share/locale")
28
+
makeFlagsArray+=("MAN5DIR=$out/share/man/man5")
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
'';
0
0
30
31
meta = with stdenv.lib; {
32
description = "SELinux policy core utilities";
-12
pkgs/os-specific/linux/policycoreutils/fix-printf-type.patch
···
1
-
diff -Nru policycoreutils-2.4/setfiles/restore.c policycoreutils-2.4.new/setfiles/restore.c
2
-
--- policycoreutils-2.4/setfiles/restore.c 2015-02-02 09:38:10.000000000 -0500
3
-
+++ policycoreutils-2.4.new/setfiles/restore.c 2015-08-29 20:44:13.693023222 -0400
4
-
@@ -118,7 +118,7 @@
5
-
r_opts->count++;
6
-
if (r_opts->count % STAR_COUNT == 0) {
7
-
if (r_opts->progress == 1) {
8
-
- fprintf(stdout, "\r%luk", (size_t) r_opts->count / STAR_COUNT );
9
-
+ fprintf(stdout, "\r%zuk", (size_t) r_opts->count / STAR_COUNT );
10
-
} else {
11
-
if (r_opts->nfile > 0) {
12
-
progress = (r_opts->count < r_opts->nfile) ? (100.0 * r_opts->count / r_opts->nfile) : 100;
···
0
0
0
0
0
0
0
0
0
0
0
0