commit 15ab23e2650a2a601a7c1d9ec78c8f40be6c0171 Author: CentOS Sources Date: Tue Mar 28 09:45:55 2023 +0000 import augeas-1.13.0-3.el9 diff --git a/.augeas.metadata b/.augeas.metadata new file mode 100644 index 0000000..72b3277 --- /dev/null +++ b/.augeas.metadata @@ -0,0 +1 @@ +22c15195bf6c7e71b4cfa2cc387b30a65ce75e65 SOURCES/augeas-1.13.0.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6756495 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/augeas-1.13.0.tar.gz diff --git a/SOURCES/0001-Chrony-add-new-directives-and-options-745.patch b/SOURCES/0001-Chrony-add-new-directives-and-options-745.patch new file mode 100644 index 0000000..ea6b1ba --- /dev/null +++ b/SOURCES/0001-Chrony-add-new-directives-and-options-745.patch @@ -0,0 +1,109 @@ +From 08101c754aafab4d0f79367839bbd0d6012c31cf Mon Sep 17 00:00:00 2001 +From: Miroslav Lichvar +Date: Wed, 2 Mar 2022 14:54:39 +0100 +Subject: [PATCH 1/3] Chrony: add new directives and options (#745) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Support new configuration added in chrony 4.1 and 4.2. + +Co-authored-by: Raphaël Pinson +(cherry picked from commit 5f3a566511626c35f69961598f1f332db01ed7a1) +--- + lenses/chrony.aug | 11 ++++++++--- + lenses/tests/test_chrony.aug | 9 +++++++-- + 2 files changed, 15 insertions(+), 5 deletions(-) + +diff --git a/lenses/chrony.aug b/lenses/chrony.aug +index 91c8ed51..d1c29531 100644 +--- a/lenses/chrony.aug ++++ b/lenses/chrony.aug +@@ -57,8 +57,11 @@ module Chrony = + (************************************************************************ + * Group: Create required expressions + ************************************************************************) ++ (* Variable: hex *) ++ let hex = /[0-9a-fA-F]+/ ++ + (* Variable: number *) +- let number = integer | decimal | decimal . /[eE]/ . integer ++ let number = integer | decimal | decimal . /[eE]/ . integer | hex + + (* Variable: address_re *) + let address_re = Rx.ip | Rx.hostname +@@ -79,6 +82,8 @@ module Chrony = + Server/Peer/Pool options with values + *) + let cmd_options = "asymmetry" ++ | "certset" ++ | "extfield" + | "filter" + | "key" + | /maxdelay((dev)?ratio)?/ +@@ -96,7 +101,7 @@ module Chrony = + Server/Peer/Pool options without values + *) + let cmd_flags = "auto_offline"|"iburst"|"noselect"|"offline"|"prefer" +- |"require"|"trust"|"xleave"|"burst"|"nts" ++ |"copy"|"require"|"trust"|"xleave"|"burst"|"nts" + + (* Variable: ntp_source + Server/Peer/Pool key names +@@ -183,7 +188,7 @@ module Chrony = + | "nocerttimecheck" | "ntsdumpdir" | "ntsntpserver" + | "ntsport" | "ntsprocesses" | "ntsrefresh" | "ntsrotate" + | "ntsservercert" | "ntsserverkey" | "ntstrustedcerts" +- | "ntpsigndsocket" | "pidfile" ++ | "ntpsigndsocket" | "pidfile" | "ptpport" + | "port" | "reselectdist" | "rtcautotrim" | "rtcdevice" + | "rtcfile" | "sched_priority" | "stratumweight" | "user" + +diff --git a/lenses/tests/test_chrony.aug b/lenses/tests/test_chrony.aug +index 0c86cde7..691e63f7 100644 +--- a/lenses/tests/test_chrony.aug ++++ b/lenses/tests/test_chrony.aug +@@ -17,8 +17,8 @@ module Test_Chrony = + server ntp1.example.com + server ntp2.example.com iburst + server ntp3.example.com presend 2 +-server ntp4.example.com offline polltarget 4 +-server ntp5.example.com maxdelay 2 offline ++server ntp4.example.com offline polltarget 4 extfield F323 copy ++server ntp5.example.com maxdelay 2 offline certset 1 + server ntp6.example.com maxdelay 2 iburst presend 2 xleave offset 1e-4 + server ntp7.example.com iburst presend 2 offline prefer trust require + server ntp8.example.com minsamples 8 maxsamples 16 version 3 +@@ -88,6 +88,7 @@ ntsport 123 + ntsprocesses 2 + ntsrefresh 86400 + ntsrotate 86400 ++ptpport 319 + " + + test Chrony.lns get exampleconf = +@@ -110,10 +111,13 @@ ntsrotate 86400 + { "server" = "ntp4.example.com" + { "offline" } + { "polltarget" = "4" } ++ { "extfield" = "F323" } ++ { "copy" } + } + { "server" = "ntp5.example.com" + { "maxdelay" = "2" } + { "offline" } ++ { "certset" = "1" } + } + { "server" = "ntp6.example.com" + { "maxdelay" = "2" } +@@ -312,6 +316,7 @@ ntsrotate 86400 + { "ntsprocesses" = "2" } + { "ntsrefresh" = "86400" } + { "ntsrotate" = "86400" } ++ { "ptpport" = "319" } + + + (* Local Variables: *) +-- +2.31.1 + diff --git a/SOURCES/0002-Kdump-parse-auto_reset_crashkernel-754.patch b/SOURCES/0002-Kdump-parse-auto_reset_crashkernel-754.patch new file mode 100644 index 0000000..0c9b150 --- /dev/null +++ b/SOURCES/0002-Kdump-parse-auto_reset_crashkernel-754.patch @@ -0,0 +1,276 @@ +From e0bce2e8c21ccc69729676e8dc6fa1e541aedee2 Mon Sep 17 00:00:00 2001 +From: Laszlo Ersek +Date: Wed, 20 Apr 2022 10:13:06 +0200 +Subject: [PATCH 2/3] Kdump: parse "auto_reset_crashkernel" (#754) + +The "auto_reset_crashkernel" keyword was introduced in the following +kexec-tools patch set: + + [PATCH v5 00/13] crashkernel=auto: support fadump and remove + crashkernel.default + https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org/thread/V5WPTRAPJR65QXSTNW6W6E7ZBAUCQNUH/#V5WPTRAPJR65QXSTNW6W6E7ZBAUCQNUH + +Related upstream commit: + + https://src.fedoraproject.org/rpms/kexec-tools/c/73ced7f451a72 + +Recognize "auto_reset_crashkernel" in "kdump.aug". Update the test case. +Also copy "kdump.conf" from kexec-tools @ 73ced7f451a72 to +"tests/root/etc/kdump.conf". + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2042772 +Signed-off-by: Laszlo Ersek +(cherry picked from commit 288a028da531a5f58d9ee89bc29fd73e7483bf24) +--- + lenses/kdump.aug | 4 + + lenses/tests/test_kdump.aug | 2 + + tests/root/etc/kdump.conf | 192 ++++++++++++++++++++++++++++++++++++ + 3 files changed, 198 insertions(+) + create mode 100644 tests/root/etc/kdump.conf + +diff --git a/lenses/kdump.aug b/lenses/kdump.aug +index ddf50ede..e50486c3 100644 +--- a/lenses/kdump.aug ++++ b/lenses/kdump.aug +@@ -25,6 +25,7 @@ let empty = Util.empty + let comment = Util.comment + let value_to_eol = store /[^ \t\n#][^\n#]*[^ \t\n#]|[^ \t\n#]/ + let int_to_eol = store Rx.integer ++let yn_to_eol = store ("yes" | "no") + let delimiter = Util.del_ws_spc + let eol = Util.eol + let value_to_spc = store Rx.neg1 +@@ -64,9 +65,12 @@ let simple_kws = "raw" | "net" | "path" | "core_collector" | "kdump_post" + let int_kws = "force_rebuild" | "override_resettable" | "debug_mem_level" + | "link_delay" | "disk_timeout" + ++let yn_kws = "auto_reset_crashkernel" ++ + let option = Build.key_value_line_comment ( simple_kws | fs_types ) + delimiter value_to_eol comment + | Build.key_value_line_comment int_kws delimiter int_to_eol comment ++ | Build.key_value_line_comment yn_kws delimiter yn_to_eol comment + | list "extra_bins" + | list "extra_modules" + | list "blacklist" +diff --git a/lenses/tests/test_kdump.aug b/lenses/tests/test_kdump.aug +index 51c79a38..ff82af05 100644 +--- a/lenses/tests/test_kdump.aug ++++ b/lenses/tests/test_kdump.aug +@@ -11,6 +11,7 @@ module Test_Kdump = + #comment after empty line + # + #comment after empty comment ++auto_reset_crashkernel yes + path /var/crash #comment after entry + core_collector makedumpfile -c + default poweroff +@@ -49,6 +50,7 @@ blacklist gfs2 + { "#comment" = "comment after empty line" } + { } + { "#comment" = "comment after empty comment" } ++ { "auto_reset_crashkernel" = "yes" } + { "path" = "/var/crash" + { "#comment" = "comment after entry" } } + { "core_collector" = "makedumpfile -c" } +diff --git a/tests/root/etc/kdump.conf b/tests/root/etc/kdump.conf +new file mode 100644 +index 00000000..d4fc78b0 +--- /dev/null ++++ b/tests/root/etc/kdump.conf +@@ -0,0 +1,192 @@ ++# This file contains a series of commands to perform (in order) in the kdump ++# kernel after a kernel crash in the crash kernel(1st kernel) has happened. ++# ++# Directives in this file are only applicable to the kdump initramfs, and have ++# no effect once the root filesystem is mounted and the normal init scripts are ++# processed. ++# ++# Currently, only one dump target and path can be specified. If the dumping to ++# the configured target fails, the failure action which can be configured via ++# the "failure_action" directive will be performed. ++# ++# Supported options: ++# ++# auto_reset_crashkernel ++# - whether to reset kernel crashkernel to new default value ++# or not when kexec-tools updates the default crashkernel value and ++# existing kernels using the old default kernel crashkernel value. ++# The default value is yes. ++# ++# raw ++# - Will dd /proc/vmcore into . ++# Use persistent device names for partition devices, ++# such as /dev/vg/. ++# ++# nfs ++# - Will mount nfs to , and copy /proc/vmcore to ++# //%HOST-%DATE/, supports DNS. ++# ++# ssh ++# - Will save /proc/vmcore to :/%HOST-%DATE/, ++# supports DNS. ++# NOTE: make sure the user has write permissions on the server. ++# ++# sshkey ++# - Will use the sshkey to do ssh dump. ++# Specify the path of the ssh key to use when dumping ++# via ssh. The default value is /root/.ssh/kdump_id_rsa. ++# ++# ++# - Will mount -t , and copy ++# /proc/vmcore to //%HOST_IP-%DATE/. ++# NOTE: can be a device node, label or uuid. ++# It's recommended to use persistent device names ++# such as /dev/vg/. ++# Otherwise it's suggested to use label or uuid. ++# ++# path ++# - "path" represents the file system path in which vmcore ++# will be saved. If a dump target is specified in ++# kdump.conf, then "path" is relative to the specified ++# dump target. ++# ++# Interpretation of "path" changes a bit if the user didn't ++# specify any dump target explicitly in kdump.conf. In this ++# case, "path" represents the absolute path from root. The ++# dump target and adjusted path are arrived at automatically ++# depending on what's mounted in the current system. ++# ++# Ignored for raw device dumps. If unset, will use the default ++# "/var/crash". ++# ++# core_collector ++# - This allows you to specify the command to copy ++# the vmcore. The default is makedumpfile, which on ++# some architectures can drastically reduce vmcore size. ++# See /sbin/makedumpfile --help for a list of options. ++# Note that the -i and -g options are not needed here, ++# as the initrd will automatically be populated with a ++# config file appropriate for the running kernel. ++# The default core_collector for raw/ssh dump is: ++# "makedumpfile -F -l --message-level 7 -d 31". ++# The default core_collector for other targets is: ++# "makedumpfile -l --message-level 7 -d 31". ++# ++# "makedumpfile -F" will create a flattened vmcore. ++# You need to use "makedumpfile -R" to rearrange the dump data to ++# a normal dumpfile readable with analysis tools. For example: ++# "makedumpfile -R vmcore < vmcore.flat". ++# ++# For core_collector format details, you can refer to ++# kexec-kdump-howto.txt or kdump.conf manpage. ++# ++# kdump_post ++# - This directive allows you to run a executable binary ++# or script after the vmcore dump process terminates. ++# The exit status of the current dump process is fed to ++# the executable binary or script as its first argument. ++# All files under /etc/kdump/post.d are collectively sorted ++# and executed in lexical order, before binary or script ++# specified kdump_post parameter is executed. ++# ++# kdump_pre ++# - Works like the "kdump_post" directive, but instead of running ++# after the dump process, runs immediately before it. ++# Exit status of this binary is interpreted as follows: ++# 0 - continue with dump process as usual ++# non 0 - run the final action (reboot/poweroff/halt) ++# All files under /etc/kdump/pre.d are collectively sorted and ++# executed in lexical order, after binary or script specified ++# kdump_pre parameter is executed. ++# Even if the binary or script in /etc/kdump/pre.d directory ++# returns non 0 exit status, the processing is continued. ++# ++# extra_bins ++# - This directive allows you to specify additional binaries or ++# shell scripts to be included in the kdump initrd. ++# Generally they are useful in conjunction with a kdump_post ++# or kdump_pre binary or script which depends on these extra_bins. ++# ++# extra_modules ++# - This directive allows you to specify extra kernel modules ++# that you want to be loaded in the kdump initrd. ++# Multiple modules can be listed, separated by spaces, and any ++# dependent modules will automatically be included. ++# ++# failure_action ++# - Action to perform in case dumping fails. ++# reboot: Reboot the system. ++# halt: Halt the system. ++# poweroff: Power down the system. ++# shell: Drop to a bash shell. ++# Exiting the shell reboots the system by default, ++# or perform "final_action". ++# dump_to_rootfs: Dump vmcore to rootfs from initramfs context and ++# reboot by default or perform "final_action". ++# Useful when non-root dump target is specified. ++# The default option is "reboot". ++# ++# default ++# - Same as the "failure_action" directive above, but this directive ++# is obsolete and will be removed in the future. ++# ++# final_action ++# - Action to perform in case dumping succeeds. Also performed ++# when "shell" or "dump_to_rootfs" failure action finishes. ++# Each action is same as the "failure_action" directive above. ++# The default is "reboot". ++# ++# force_rebuild <0 | 1> ++# - By default, kdump initrd will only be rebuilt when necessary. ++# Specify 1 to force rebuilding kdump initrd every time when kdump ++# service starts. ++# ++# force_no_rebuild <0 | 1> ++# - By default, kdump initrd will be rebuilt when necessary. ++# Specify 1 to bypass rebuilding of kdump initrd. ++# ++# force_no_rebuild and force_rebuild options are mutually ++# exclusive and they should not be set to 1 simultaneously. ++# ++# override_resettable <0 | 1> ++# - Usually an unresettable block device can't be a dump target. ++# Specifying 1 when you want to dump even though the block ++# target is unresettable ++# By default, it is 0, which will not try dumping destined to fail. ++# ++# dracut_args ++# - Pass extra dracut options when rebuilding kdump initrd. ++# ++# fence_kdump_args ++# - Command line arguments for fence_kdump_send (it can contain ++# all valid arguments except hosts to send notification to). ++# ++# fence_kdump_nodes ++# - List of cluster node(s) except localhost, separated by spaces, ++# to send fence_kdump notifications to. ++# (this option is mandatory to enable fence_kdump). ++# ++ ++#raw /dev/vg/lv_kdump ++#ext4 /dev/vg/lv_kdump ++#ext4 LABEL=/boot ++#ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937 ++#nfs my.server.com:/export/tmp ++#nfs [2001:db8::1:2:3:4]:/export/tmp ++#ssh user@my.server.com ++#ssh user@2001:db8::1:2:3:4 ++#sshkey /root/.ssh/kdump_id_rsa ++auto_reset_crashkernel yes ++path /var/crash ++core_collector makedumpfile -l --message-level 7 -d 31 ++#core_collector scp ++#kdump_post /var/crash/scripts/kdump-post.sh ++#kdump_pre /var/crash/scripts/kdump-pre.sh ++#extra_bins /usr/bin/lftp ++#extra_modules gfs2 ++#failure_action shell ++#force_rebuild 1 ++#force_no_rebuild 1 ++#dracut_args --omit-drivers "cfg80211 snd" --add-drivers "ext2 ext3" ++#fence_kdump_args -p 7410 -f auto -c 0 -i 10 ++#fence_kdump_nodes node1 node2 +-- +2.31.1 + diff --git a/SOURCES/0003-semanage-Fix-parsing-of-ignoredirs-758.patch b/SOURCES/0003-semanage-Fix-parsing-of-ignoredirs-758.patch new file mode 100644 index 0000000..f1b417f --- /dev/null +++ b/SOURCES/0003-semanage-Fix-parsing-of-ignoredirs-758.patch @@ -0,0 +1,148 @@ +From aca3def462ab141c3991a2d27c44341b809cf970 Mon Sep 17 00:00:00 2001 +From: rwmjones +Date: Thu, 6 Oct 2022 12:15:56 +0100 +Subject: [PATCH 3/3] semanage: Fix parsing of ignoredirs (#758) + +From /etc/selinux/semanage.conf from a RHEL 9.1 system, this line +caused problems: + + ignoredirs=/root;/bin;/boot;/dev;/etc [...] + +Parse this as a list of modified Rx.fspath, generating a tree like: + + /files/etc/selinux/semanage.conf/ignoredirs/1 = /root + /files/etc/selinux/semanage.conf/ignoredirs/2 = /bin + /files/etc/selinux/semanage.conf/ignoredirs/3 = /dev + /files/etc/selinux/semanage.conf/ignoredirs/4 = /etc + [...] + +Also this adds the RHEL 9 file as another test case and adjusts the +output of the existing test case. + +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2077120 +Signed-off-by: Richard W.M. Jones + +Signed-off-by: Richard W.M. Jones +(cherry picked from commit a3ba6e2d32b95507e2474a219e788ac3d54bc4a1) +--- + lenses/semanage.aug | 7 +++- + lenses/tests/test_semanage.aug | 4 +- + tests/root/etc/selinux/semanage.conf | 60 ++++++++++++++++++++++++++++ + tests/xpath.tests | 1 + + 4 files changed, 70 insertions(+), 2 deletions(-) + create mode 100644 tests/root/etc/selinux/semanage.conf + +diff --git a/lenses/semanage.aug b/lenses/semanage.aug +index 46f93b32..edd97131 100644 +--- a/lenses/semanage.aug ++++ b/lenses/semanage.aug +@@ -23,7 +23,12 @@ let sep = IniFile.sep "=" "=" + let empty = IniFile.empty + let eol = IniFile.eol + +-let entry = IniFile.entry IniFile.entry_re sep comment ++let list_keys = "ignoredirs" ++let scl = del ";" ";" ++let fspath = /[^ \t\n;#]+/ (* Rx.fspath without ; or # *) ++ ++let entry = IniFile.entry_list list_keys sep fspath scl comment ++ | IniFile.entry (IniFile.entry_re - list_keys) sep comment + | empty + + let title = IniFile.title_label "@group" (IniFile.record_re - /^end$/) +diff --git a/lenses/tests/test_semanage.aug b/lenses/tests/test_semanage.aug +index a6ceaca0..f76b95f3 100644 +--- a/lenses/tests/test_semanage.aug ++++ b/lenses/tests/test_semanage.aug +@@ -68,7 +68,9 @@ test Semanage.lns get conf = + { "usepasswd" = "False" } + { "bzip-small" = "true" } + { "bzip-blocksize" = "5" } +- { "ignoredirs" = "/root" } ++ { "ignoredirs" ++ { "1" = "/root" } ++ } + { } + { "@group" = "sefcontext_compile" + { "path" = "/usr/sbin/sefcontext_compile" } +diff --git a/tests/root/etc/selinux/semanage.conf b/tests/root/etc/selinux/semanage.conf +new file mode 100644 +index 00000000..406f16f1 +--- /dev/null ++++ b/tests/root/etc/selinux/semanage.conf +@@ -0,0 +1,60 @@ ++# Authors: Jason Tang ++# ++# Copyright (C) 2004-2005 Tresys Technology, LLC ++# ++# This library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2.1 of the License, or (at your option) any later version. ++# ++# This library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with this library; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++# ++# Specify how libsemanage will interact with a SELinux policy manager. ++# The four options are: ++# ++# "source" - libsemanage manipulates a source SELinux policy ++# "direct" - libsemanage will write directly to a module store. ++# /foo/bar - Write by way of a policy management server, whose ++# named socket is at /foo/bar. The path must begin ++# with a '/'. ++# foo.com:4242 - Establish a TCP connection to a remote policy ++# management server at foo.com. If there is a colon ++# then the remainder is interpreted as a port number; ++# otherwise default to port 4242. ++module-store = direct ++ ++# When generating the final linked and expanded policy, by default ++# semanage will set the policy version to POLICYDB_VERSION_MAX, as ++# given in . Change this setting if a different ++# version is necessary. ++#policy-version = 19 ++ ++# expand-check check neverallow rules when executing all semanage ++# commands. There might be a penalty in execution time if this ++# option is enabled. ++expand-check=0 ++ ++# usepasswd check tells semanage to scan all pass word records for home directories ++# and setup the labeling correctly. If this is turned off, SELinux will label only /home ++# and home directories of users with SELinux login mappings defined, see ++# semanage login -l for the list of such users. ++# If you want to use a different home directory, you will need to use semanage fcontext command. ++# For example, if you had home dirs in /althome directory you would have to execute ++# semanage fcontext -a -e /home /althome ++usepasswd=False ++bzip-small=true ++bzip-blocksize=5 ++ignoredirs=/root;/bin;/boot;/dev;/etc;/lib;/lib64;/proc;/run;/sbin;/sys;/tmp;/usr;/var ++optimize-policy=true ++ ++[sefcontext_compile] ++path = /usr/sbin/sefcontext_compile ++args = -r $@ ++[end] +diff --git a/tests/xpath.tests b/tests/xpath.tests +index 4278e433..71c998b8 100644 +--- a/tests/xpath.tests ++++ b/tests/xpath.tests +@@ -109,6 +109,7 @@ test descendant-or-self /files/descendant-or-self :: 4 + /files/etc/ssh/ssh_config/Host/SendEnv[1]/4 = LC_TIME + /files/etc/ssh/ssh_config/Host/SendEnv[2]/4 = LC_TELEPHONE + /files/etc/aliases/4 ++ /files/etc/selinux/semanage.conf/ignoredirs/4 = /dev + /files/etc/fstab/4 + /files/etc/pam.d/login/4 + /files/etc/pam.d/newrole/4 +-- +2.31.1 + diff --git a/SPECS/augeas.spec b/SPECS/augeas.spec new file mode 100644 index 0000000..b19e755 --- /dev/null +++ b/SPECS/augeas.spec @@ -0,0 +1,377 @@ +Name: augeas +Version: 1.13.0 +Release: 3%{?dist} +Summary: A library for changing configuration files + +License: LGPLv2+ +URL: http://augeas.net/ + +# The upstream release tarballs on github don't work, see: +# https://github.com/hercules-team/augeas/pull/744 +# The website release tarballs were not created for 1.13: +# http://download.augeas.net/ +#Source0: https://github.com/hercules-team/augeas/archive/refs/tags/release-%{version}.tar.gz +# So I had to create a tarball myself using make dist. +Source0: %{name}-%{version}.tar.gz + +# Add new directives and options for chrony. +# Upstream commit 5f3a566511626c35f69961598f1f332db01ed7a1 +Patch1: 0001-Chrony-add-new-directives-and-options-745.patch + +# Parse auto_reset_crashkernel in kdump (RHBZ#2042772). +# Upstream commit 288a028da531a5f58d9ee89bc29fd73e7483bf24 +Patch2: 0002-Kdump-parse-auto_reset_crashkernel-754.patch + +# Fix parsing of /etc/selinux/semanage.conf in RHEL 9 (RHBZ#2077120). +# Upstream commit a3ba6e2d32b95507e2474a219e788ac3d54bc4a1 +Patch3: 0003-semanage-Fix-parsing-of-ignoredirs-758.patch + +Provides: bundled(gnulib) + +BuildRequires: make +BuildRequires: gcc +BuildRequires: readline-devel +BuildRequires: libselinux-devel +BuildRequires: libxml2-devel + +Requires: %{name}-libs = %{version}-%{release} + +%description +A library for programmatically editing configuration files. Augeas parses +configuration files into a tree structure, which it exposes through its +public API. Changes made through the API are written back to the initially +read files. + +The transformation works very hard to preserve comments and formatting +details. It is controlled by ``lens'' definitions that describe the file +format and the transformation into a tree. + +%package devel +Summary: Development files for %{name} +Requires: %{name}-libs = %{version}-%{release} +Requires: pkgconfig + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%package libs +Summary: Libraries for %{name} + +%description libs +The libraries for %{name}. + +Augeas is a library for programmatically editing configuration files. It parses +configuration files into a tree structure, which it exposes through its +public API. Changes made through the API are written back to the initially +read files. + +%package static +Summary: Static libraries for %{name} +Requires: %{name}-devel = %{version}-%{release} + +%description static +The %{name}-static package contains static libraries needed to produce +static builds using %{name}. + + + +%prep +%autosetup -p1 + +%build +%configure \ +%ifarch riscv64 + --disable-gnulib-tests \ +%endif + --enable-static +make %{?_smp_mflags} + +%check +# Disable test-preserve.sh SELinux testing. This fails when run under mock due +# to differing SELinux labelling. +export SKIP_TEST_PRESERVE_SELINUX=1 + +# Tests disabled because gnulib tests fail see: +# https://bugzilla.redhat.com/show_bug.cgi?id=1674672 +#make %{?_smp_mflags} check || { +# echo '===== tests/test-suite.log =====' +# cat tests/test-suite.log +# exit 1 +#} + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' + +# The tests/ subdirectory contains lenses used only for testing, and +# so it shouldn't be packaged. +rm -r $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/dist/tests + +# In 1.9.0, the example /usr/bin/dump gets installed inadvertently +rm -f $RPM_BUILD_ROOT/usr/bin/dump + +%ldconfig_scriptlets libs + +%files +%{_bindir}/augmatch +%{_bindir}/augparse +%{_bindir}/augtool +%{_bindir}/fadot +%doc %{_mandir}/man1/* +%{_datadir}/vim/vimfiles/syntax/augeas.vim +%{_datadir}/vim/vimfiles/ftdetect/augeas.vim + +%files libs +# _datadir/augeas and _datadir/augeas/lenses are owned +# by filesystem. +%{_datadir}/augeas/lenses/dist +%{_libdir}/*.so.* +%doc AUTHORS COPYING NEWS + +%files devel +%doc +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/augeas.pc + +%files static +%{_libdir}/libaugeas.a +%{_libdir}/libfa.a + +%changelog +* Thu Oct 06 2022 Richard W.M. Jones - 1.13.0-3 +- Fix parsing of /etc/selinux/semanage.conf in RHEL 9 + resolves: rhbz#2077120 + +* Wed Apr 20 2022 Richard W.M. Jones - 1.13.0-2 +- Parse auto_reset_crashkernel in kdump + resolves: rhbz#2042772 +- Add new directives and options for chrony + +* Wed Jan 12 2022 Richard W.M. Jones - 1.13.0-1 +- New upstream version 1.13.0 + +* Wed Jul 21 2021 Fedora Release Engineering - 1.12.1-0.2.git18558bb +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jul 06 2021 Richard W.M. Jones - 1.12.1-0.1 +- Package up a git pre-release of 1.12.1 or 1.13.0. + +* Thu Apr 15 2021 Richard W.M. Jones - 1.12.0-6 +- Add upstream patch to parse chrony configuration. +- Use %%autosetup. + +* Tue Jan 26 2021 Fedora Release Engineering - 1.12.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.12.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 1.12.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 1.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Apr 15 2019 Richard W.M. Jones - 1.12.0-1 +- New upstream release 1.12.0. + +* Sun Feb 17 2019 Igor Gnatenko - 1.11.0-4 +- Rebuild for readline 8.0 + +* Thu Jan 31 2019 Fedora Release Engineering - 1.11.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Nov 26 2018 Richard W.M. Jones - 1.11.0-2 +- Augeas uses gnulib, add the correct 'Provides' line. + +* Tue Aug 28 2018 Richard W.M. Jones - 1.11.0-1 +- New upstream version 1.11.0. + +* Thu Jul 12 2018 Fedora Release Engineering - 1.10.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Jan 29 2018 David Lutterkort - 1.10.1-1 +- New upstream version 1.10.1 + +* Fri Jan 26 2018 Richard W.M. Jones - 1.10.0-1 +- New upstream version 1.10.0 (RHBZ#1538846). +- Remove upstream patch. +- New tool ‘augmatch’. + +* Tue Nov 21 2017 David Lutterkort - 1.9.0 +- New upstream version 1.9.0 (RHBZ#1482713) +- Add -static subpackage (RHBZ#1405600) + +* Thu Aug 24 2017 Richard W.M. Jones - 1.8.1-1 +- New upstream version 1.8.1. +- Fixes CVE-2017-7555 (RHBZ#1482340). + +* Wed Aug 02 2017 Fedora Release Engineering - 1.8.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Mar 21 2017 Dominic Cleal - 1.8.0-1 +- Update to 1.8.0 + +* Fri Feb 10 2017 Fedora Release Engineering - 1.7.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jan 12 2017 Igor Gnatenko - 1.7.0-3 +- Rebuild for readline 7.x + +* Sat Nov 12 2016 Richard W.M. Jones - 1.7.0-2 +- riscv64: Disable gnulib tests on riscv64 architecture. + +* Wed Nov 09 2016 Dominic Cleal - 1.7.0-1 +- Update to 1.7.0 + +* Mon Aug 08 2016 Dominic Cleal - 1.6.0-1 +- Update to 1.6.0 + +* Thu May 12 2016 Dominic Cleal - 1.5.0-1 +- Update to 1.5.0 + +* Wed Feb 03 2016 Fedora Release Engineering - 1.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Jun 02 2015 Dominic Cleal - 1.4.0-1 +- Update to 1.4.0 + +* Sat Nov 08 2014 Dominic Cleal - 1.3.0-1 +- Update to 1.3.0; remove all patches + +* Fri Aug 15 2014 Fedora Release Engineering - 1.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Mar 31 2014 Dominic Cleal - 1.2.0-2 +- Add patch for Krb5, parse braces in values (RHBZ#1079444) + +* Wed Feb 12 2014 Dominic Cleal - 1.2.0-1 +- Update to 1.2.0, add check section +- Update source URL to download.augeas.net (RHBZ#996032) + +* Sat Aug 03 2013 Fedora Release Engineering - 1.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jun 19 2013 David Lutterkort - 1.1.0-1 +- Update to 1.1.0; remove all patches + +* Tue Jun 18 2013 Richard W.M. Jones - 1.0.0-4 +- Fix /etc/sysconfig/network (RHBZ#904222). + +* Wed Jun 5 2013 Richard W.M. Jones - 1.0.0-3 +- Don't package lenses in tests/ subdirectory. + +* Wed Feb 13 2013 Fedora Release Engineering - 1.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jan 4 2013 David Lutterkort - 1.0.0-1 +- New version; remove all patches + +* Wed Jul 18 2012 Fedora Release Engineering - 0.10.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jan 10 2012 David Lutterkort - 0.10.0-3 +- Add patches for bugs 247 and 248 (JSON lens) + +* Sat Dec 3 2011 Richard W.M. Jones - 0.10.0-2 +- Add patch to resolve missing libxml2 requirement in augeas.pc. + +* Fri Dec 2 2011 David Lutterkort - 0.10.0-1 +- New version + +* Mon Jul 25 2011 David Lutterkort - 0.9.0-1 +- New version; removed patch pathx-whitespace-ea010d8 + +* Tue May 3 2011 David Lutterkort - 0.8.1-2 +- Add patch pathx-whitespace-ea010d8.patch to fix BZ 700608 + +* Fri Apr 15 2011 David Lutterkort - 0.8.1-1 +- New version + +* Wed Feb 23 2011 David Lutterkort - 0.8.0-1 +- New version + +* Mon Feb 07 2011 Fedora Release Engineering - 0.7.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Nov 22 2010 Matthew Booth - 0.7.4-1 +- Update to version 0.7.4 + +* Thu Nov 18 2010 Richard W.M. Jones - 0.7.3-2 +- Upstream patch proposed to fix GCC optimization bug (RHBZ#651992). + +* Fri Aug 6 2010 David Lutterkort - 0.7.3-1 +- Remove upstream patches + +* Tue Jun 29 2010 David Lutterkort - 0.7.2-2 +- Patches based on upstream fix for BZ 600141 + +* Tue Jun 22 2010 David Lutterkort - 0.7.2-1 +- Fix ownership of /usr/share/augeas. BZ 569393 + +* Wed Apr 21 2010 David Lutterkort - 0.7.1-1 +- New version + +* Thu Jan 14 2010 David Lutterkort - 0.7.0-1 +- Remove patch vim-ftdetect-syntax.patch. It's upstream + +* Tue Dec 15 2009 David Lutterkort - 0.6.0-2 +- Fix ftdetect file for vim + +* Mon Nov 30 2009 David Lutterkort - 0.6.0-1 +- Install vim syntax files + +* Mon Sep 14 2009 David Lutterkort - 0.5.3-1 +- Remove separate xorg.aug, included in upstream source + +* Tue Aug 25 2009 Matthew Booth - 0.5.2-3 +- Include new xorg lens from upstream + +* Fri Jul 24 2009 Fedora Release Engineering - 0.5.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jul 13 2009 David Lutterkort - 0.5.2-1 +- New version + +* Fri Jun 5 2009 David Lutterkort - 0.5.1-1 +- Install fadot + +* Fri Mar 27 2009 David Lutterkort - 0.5.0-2 +- fadot isn't being installed just yet + +* Tue Mar 24 2009 David Lutterkort - 0.5.0-1 +- New program /usr/bin/fadot + +* Mon Mar 9 2009 David Lutterkort - 0.4.2-1 +- New version + +* Fri Feb 27 2009 David Lutterkort - 0.4.1-1 +- New version + +* Fri Feb 6 2009 David Lutterkort - 0.4.0-1 +- New version + +* Mon Jan 26 2009 David Lutterkort - 0.3.6-1 +- New version + +* Tue Dec 23 2008 David Lutterkort - 0.3.5-1 +- New version + +* Mon Feb 25 2008 David Lutterkort - 0.0.4-1 +- Initial specfile