policycoreutils: 2.4 -> 2.7
This commit is contained in:
parent
232c39e7ab
commit
70044c899e
|
@ -1,64 +1,33 @@
|
|||
{ stdenv, fetchurl, pythonPackages, gettext
|
||||
, setools, libsepol, libselinux, libcap_ng, libsemanage, sepolgen
|
||||
}:
|
||||
{ stdenv, fetchurl, gettext, libsepol, libselinux, libsemanage }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "policycoreutils-${version}";
|
||||
version = "2.4";
|
||||
version = "2.7";
|
||||
inherit (libsepol) se_release se_url;
|
||||
|
||||
src = fetchurl {
|
||||
url = "${se_url}/${se_release}/policycoreutils-${version}.tar.gz";
|
||||
sha256 = "0y9l9k60iy21hj0lcvfdfxs1fxydg6d3pxp9rhy7hwr4y5vgh6dq";
|
||||
sha256 = "1x742c7lkw30namhkw87yg7z384qzqjz0pvmqs0lk19v6958l6qa";
|
||||
};
|
||||
|
||||
patches = [ ./fix-printf-type.patch ];
|
||||
|
||||
postPatch = ''
|
||||
# Fix references to libsepol.a
|
||||
find . -name Makefile -exec sed -i 's,[^ ]*/libsepol.a,${libsepol}/lib/libsepol.a,g' {} \;
|
||||
|
||||
# Fix install references
|
||||
substituteInPlace po/Makefile --replace /usr/bin/install install
|
||||
|
||||
# Fix references to /usr/share
|
||||
grep -r '/usr/share' | awk -F: '{print $1}' | xargs sed -i "s,\(\$(DESTDIR)\)*/usr/share,$out/share,g"
|
||||
|
||||
# Fix sepolicy install
|
||||
sed -i "s,\(setup.py install\).*,\1 --prefix=$out,g" sepolicy/Makefile
|
||||
|
||||
# Fix setuid install
|
||||
sed -i 's|-m 4755|-m 755|' sandbox/Makefile
|
||||
substituteInPlace po/Makefile \
|
||||
--replace /usr/bin/install install --replace /usr/share /share
|
||||
substituteInPlace newrole/Makefile --replace /usr/share /share
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pythonPackages.python gettext ];
|
||||
buildInputs = [ setools libsepol libselinux libcap_ng libsemanage ];
|
||||
pythonPath = [ libselinux sepolgen ];
|
||||
nativeBuildInputs = [ gettext ];
|
||||
buildInputs = [ libsepol libselinux libsemanage ];
|
||||
|
||||
preBuild = ''
|
||||
makeFlagsArray+=("PREFIX=$out")
|
||||
makeFlagsArray+=("DESTDIR=$out")
|
||||
makeFlagsArray+=("BASHCOMPLETIONDIR=$out/share/bash-completion/completions")
|
||||
makeFlagsArray+=("LOCALEDIR=$out/share/locale")
|
||||
makeFlagsArray+=("MAN5DIR=$out/share/man/man5")
|
||||
'';
|
||||
|
||||
# Creation of the system-config-selinux directory is broken
|
||||
preInstall = ''
|
||||
mkdir -p $out/share/system-config-selinux
|
||||
'';
|
||||
|
||||
# Fix the python scripts to include paths to libraries
|
||||
# NOTE: We are not using wrapPythonPrograms or makeWrapper as these scripts
|
||||
# purge the environment as a security measure
|
||||
postInstall = ''
|
||||
grep -r '#!.*python' $out/bin | awk -F: '{print $1}' | xargs sed -i "1a \
|
||||
import sys; \
|
||||
sys.path.append('$(toPythonPath "$out")'); \
|
||||
${stdenv.lib.flip stdenv.lib.concatMapStrings pythonPath (lib: ''
|
||||
sys.path.append('$(toPythonPath "${lib}")'); \
|
||||
'')}"
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-fstack-protector-all";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "SELinux policy core utilities";
|
||||
license = licenses.gpl2;
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
diff -Nru policycoreutils-2.4/setfiles/restore.c policycoreutils-2.4.new/setfiles/restore.c
|
||||
--- policycoreutils-2.4/setfiles/restore.c 2015-02-02 09:38:10.000000000 -0500
|
||||
+++ policycoreutils-2.4.new/setfiles/restore.c 2015-08-29 20:44:13.693023222 -0400
|
||||
@@ -118,7 +118,7 @@
|
||||
r_opts->count++;
|
||||
if (r_opts->count % STAR_COUNT == 0) {
|
||||
if (r_opts->progress == 1) {
|
||||
- fprintf(stdout, "\r%luk", (size_t) r_opts->count / STAR_COUNT );
|
||||
+ fprintf(stdout, "\r%zuk", (size_t) r_opts->count / STAR_COUNT );
|
||||
} else {
|
||||
if (r_opts->nfile > 0) {
|
||||
progress = (r_opts->count < r_opts->nfile) ? (100.0 * r_opts->count / r_opts->nfile) : 100;
|
Loading…
Reference in New Issue