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
This commit is contained in:
Bruno Victal 2023-10-09 21:06:14 +01:00 committed by Ludovic Courtès
parent 1e41770dfe
commit 8ca7d9eef7
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 60 additions and 10 deletions

View File

@ -1669,6 +1669,7 @@ dist_patch_DATA = \
%D%/packages/patches/libphonenumber-reproducible-build.patch \ %D%/packages/patches/libphonenumber-reproducible-build.patch \
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \ %D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
%D%/packages/patches/libquicktime-ffmpeg.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/libtar-CVE-2013-4420.patch \
%D%/packages/patches/libtgvoip-disable-sse2.patch \ %D%/packages/patches/libtgvoip-disable-sse2.patch \
%D%/packages/patches/libtgvoip-disable-webrtc.patch \ %D%/packages/patches/libtgvoip-disable-webrtc.patch \

View File

@ -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

View File

@ -60,7 +60,8 @@
(file-name (git-file-name "selinux" version)) (file-name (git-file-name "selinux" version))
(sha256 (sha256
(base32 (base32
"1lcmgmfr0q7g5cwg6b7jm6ncw8cw6c1jblkm93v1g37bfhcgrqc0")))) "1lcmgmfr0q7g5cwg6b7jm6ncw8cw6c1jblkm93v1g37bfhcgrqc0"))
(patches (search-patches "libsepol-versioned-docbook.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -231,14 +232,6 @@ binary policies.")
(name "secilc") (name "secilc")
(arguments (arguments
(substitute-keyword-arguments (package-arguments libsepol) (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) ((#:phases phases)
#~(modify-phases #$phases #~(modify-phases #$phases
(delete 'portability) (delete 'portability)
@ -247,7 +240,7 @@ binary policies.")
(inputs (inputs
(list libsepol)) (list libsepol))
(native-inputs (native-inputs
(list xmlto docbook-xsl)) (list docbook-xml-4.2 docbook-xsl xmlto))
(synopsis "SELinux common intermediate language (CIL) compiler") (synopsis "SELinux common intermediate language (CIL) compiler")
(description "The SELinux CIL compiler is a compiler that converts the (description "The SELinux CIL compiler is a compiler that converts the
@dfn{common intermediate language} (CIL) into a kernel binary policy file.") @dfn{common intermediate language} (CIL) into a kernel binary policy file.")