~ruther/guix-local

8ca7d9eef713e0d6b19aa1d429ba125f2a592cb8 — Bruno Victal 2 years ago 1e41770
gnu: secilc: Drop xmlto workaround.

The xmlto error[1] was due to libsepol using an unversioned PUBLIC identifier
for DocBook 4.2.

[1]: <https://pagure.io/xmlto/blob/6fa6a0e07644f20abf2596f78a60112713e11cbe/f/FAQ>

* gnu/packages/patches/libsepol-versioned-docbook.patch: New file.
* gnu/local.mk: Register it.
* gnu/packages/selinux.scm (libsepol)[source]: Apply it.
(secilc)[arguments]: Drop xmlto workaround.
[native-inputs]: Add docbook-xml-4.2.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I152dd7a30b2a310ed6589133bc98f5eef8a190a1
3 files changed, 60 insertions(+), 10 deletions(-)

M gnu/local.mk
A gnu/packages/patches/libsepol-versioned-docbook.patch
M gnu/packages/selinux.scm
M gnu/local.mk => gnu/local.mk +1 -0
@@ 1669,6 1669,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/libphonenumber-reproducible-build.patch	\
  %D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch	\
  %D%/packages/patches/libquicktime-ffmpeg.patch 		\
  %D%/packages/patches/libsepol-versioned-docbook.patch		\
  %D%/packages/patches/libtar-CVE-2013-4420.patch 		\
  %D%/packages/patches/libtgvoip-disable-sse2.patch 		\
  %D%/packages/patches/libtgvoip-disable-webrtc.patch 		\

A gnu/packages/patches/libsepol-versioned-docbook.patch => gnu/packages/patches/libsepol-versioned-docbook.patch +56 -0
@@ 0,0 1,56 @@
# Sent upstream: <https://lore.kernel.org/selinux/260cd39c55ff2d13f5ac916b508f023bedecfce9.1692025627.git.mirai@makinata.eu/>

From 260cd39c55ff2d13f5ac916b508f023bedecfce9 Mon Sep 17 00:00:00 2001
Message-Id: <260cd39c55ff2d13f5ac916b508f023bedecfce9.1692827278.git.mirai@makinata.eu>
From: Bruno Victal <mirai@makinata.eu>
Date: Mon, 14 Aug 2023 15:51:05 +0100
Subject: [PATCH] secilc: Use versioned DocBook public identifier.

Fix xml validation issues that often crop up since the XML catalogs
for DocBook often only contain versioned public identifiers.

Signed-off-by: Bruno Victal <mirai@makinata.eu>
---
 secilc/secil2conf.8.xml | 2 +-
 secilc/secil2tree.8.xml | 2 +-
 secilc/secilc.8.xml     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/secilc/secil2conf.8.xml b/secilc/secil2conf.8.xml
index 33646f97..330b6a07 100644
--- a/secilc/secil2conf.8.xml
+++ b/secilc/secil2conf.8.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML//EN"
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
                "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
 
 <refentry>
diff --git a/secilc/secil2tree.8.xml b/secilc/secil2tree.8.xml
index e95a8947..d7bb177e 100644
--- a/secilc/secil2tree.8.xml
+++ b/secilc/secil2tree.8.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML//EN"
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
                "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
 
 <refentry>
diff --git a/secilc/secilc.8.xml b/secilc/secilc.8.xml
index e9a121e2..5c0680a8 100644
--- a/secilc/secilc.8.xml
+++ b/secilc/secilc.8.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML//EN"
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
                "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
 
 <refentry>

base-commit: f6dc6acfa00707ce25c6357169111937f12512dd
-- 
2.40.1


M gnu/packages/selinux.scm => gnu/packages/selinux.scm +3 -10
@@ 60,7 60,8 @@
              (file-name (git-file-name "selinux" version))
              (sha256
               (base32
                "1lcmgmfr0q7g5cwg6b7jm6ncw8cw6c1jblkm93v1g37bfhcgrqc0"))))
                "1lcmgmfr0q7g5cwg6b7jm6ncw8cw6c1jblkm93v1g37bfhcgrqc0"))
              (patches (search-patches "libsepol-versioned-docbook.patch"))))
    (build-system gnu-build-system)
    (arguments
     (list


@@ 231,14 232,6 @@ binary policies.")
    (name "secilc")
    (arguments
     (substitute-keyword-arguments (package-arguments libsepol)
       ((#:make-flags flags)
        #~(let ((xsl (search-input-directory %build-inputs "xml/xsl")))
            (cons (string-append "XMLTO=xmlto --skip-validation -x "
                                 xsl "/docbook-xsl-"
                                 #$(package-version
                                    (this-package-native-input "docbook-xsl"))
                                 "/manpages/docbook.xsl")
                  #$flags)))
       ((#:phases phases)
        #~(modify-phases #$phases
            (delete 'portability)


@@ 247,7 240,7 @@ binary policies.")
    (inputs
     (list libsepol))
    (native-inputs
     (list xmlto docbook-xsl))
     (list docbook-xml-4.2 docbook-xsl xmlto))
    (synopsis "SELinux common intermediate language (CIL) compiler")
    (description "The SELinux CIL compiler is a compiler that converts the
@dfn{common intermediate language} (CIL) into a kernel binary policy file.")