import clufter-0.77.1-5.el8
This commit is contained in:
		
						commit
						5706e2c542
					
				
							
								
								
									
										2
									
								
								.clufter.metadata
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.clufter.metadata
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | a8e2a4aeed9ec51b267f59e66f4011d22d434cbd SOURCES/clufter-0.77.1-tests.tar.xz | ||||||
|  | 8dbcaa596a15ed926a2cb93c3cad8a6ae4eb473d SOURCES/clufter-0.77.1.tar.gz | ||||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | SOURCES/clufter-0.77.1-tests.tar.xz | ||||||
|  | SOURCES/clufter-0.77.1.tar.gz | ||||||
							
								
								
									
										142
									
								
								SOURCES/fix-jing-simplified-rng.xsl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								SOURCES/fix-jing-simplified-rng.xsl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,142 @@ | |||||||
|  | <xsl:stylesheet version="1.0" | ||||||
|  |                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||||||
|  |                 xmlns:rng="http://relaxng.org/ns/structure/1.0" | ||||||
|  |                 xmlns="http://relaxng.org/ns/structure/1.0" | ||||||
|  |                 exclude-result-prefixes="rng"> | ||||||
|  | <xsl:output format="xml" indent="yes"/> | ||||||
|  | <xsl:strip-space elements="*"/> | ||||||
|  | 
 | ||||||
|  | <xsl:param name="filename-or-version" select="'99.99'"/> | ||||||
|  | <xsl:variable name="version"> | ||||||
|  |     <xsl:variable name="version-local"> | ||||||
|  |         <xsl:choose> | ||||||
|  |             <xsl:when test="starts-with($filename-or-version, 'pacemaker-')"> | ||||||
|  |                 <xsl:variable name="version-tail" | ||||||
|  |                               select="substring-after($filename-or-version, 'pacemaker-')"/> | ||||||
|  |                 <xsl:choose> | ||||||
|  |                     <xsl:when test="contains(substring-after($version-tail, '.'), '.')"> | ||||||
|  |                         <xsl:value-of select="substring( | ||||||
|  |                                                   $version-tail, | ||||||
|  |                                                   1, | ||||||
|  |                                                   string-length($version-tail) | ||||||
|  |                                                   - | ||||||
|  |                                                   1 | ||||||
|  |                                                   - | ||||||
|  |                                                   string-length( | ||||||
|  |                                                       substring-after( | ||||||
|  |                                                           substring-after( | ||||||
|  |                                                               $version-tail, | ||||||
|  |                                                               '.' | ||||||
|  |                                                           ), | ||||||
|  |                                                           '.' | ||||||
|  |                                                       ) | ||||||
|  |                                                   ) | ||||||
|  |                                               )"/> | ||||||
|  |                     </xsl:when> | ||||||
|  |                     <xsl:otherwise> | ||||||
|  |                         <xsl:value-of select="$version-tail"/> | ||||||
|  |                     </xsl:otherwise> | ||||||
|  |                 </xsl:choose> | ||||||
|  |             </xsl:when> | ||||||
|  |             <xsl:otherwise> | ||||||
|  |                 <xsl:value-of select="$filename-or-version"/> | ||||||
|  |             </xsl:otherwise> | ||||||
|  |         </xsl:choose> | ||||||
|  |     </xsl:variable> | ||||||
|  |     <xsl:if test="number($version-local) = number('NaN')"> | ||||||
|  |         <xsl:message terminate="yes"> | ||||||
|  |             <xsl:value-of select="concat('Wrong number specification: ', $version-local)"/> | ||||||
|  |         </xsl:message> | ||||||
|  |     </xsl:if> | ||||||
|  |     <xsl:value-of select="$version-local"/> | ||||||
|  | </xsl:variable> | ||||||
|  | <xsl:variable name="version-major"> | ||||||
|  |     <xsl:choose> | ||||||
|  |         <xsl:when test="contains($version, '.')"> | ||||||
|  |             <xsl:value-of select="number(substring-before($version, '.'))"/> | ||||||
|  |         </xsl:when> | ||||||
|  |         <xsl:otherwise> | ||||||
|  |             <xsl:value-of select="number($version)"/> | ||||||
|  |         </xsl:otherwise> | ||||||
|  |     </xsl:choose> | ||||||
|  | </xsl:variable> | ||||||
|  | <xsl:variable name="version-minor"> | ||||||
|  |     <xsl:value-of select="number(concat('0', substring-after($version, '.')))"/> | ||||||
|  | </xsl:variable> | ||||||
|  | 
 | ||||||
|  | <xsl:template match="/rng:grammar"> | ||||||
|  |     <xsl:copy> | ||||||
|  |         <xsl:copy-of select="@*"/> | ||||||
|  |         <xsl:attribute name="datatypeLibrary"> | ||||||
|  |             <xsl:value-of select="'http://www.w3.org/2001/XMLSchema-datatypes'"/> | ||||||
|  |         </xsl:attribute> | ||||||
|  |         <xsl:apply-templates/> | ||||||
|  |     </xsl:copy> | ||||||
|  | </xsl:template> | ||||||
|  | 
 | ||||||
|  | <!-- drop these --> | ||||||
|  | <xsl:template match="@ns[. = '']"/> | ||||||
|  | <xsl:template match="@datatypeLibrary[ | ||||||
|  |                          . = '' | ||||||
|  |                          or | ||||||
|  |                          . = 'http://www.w3.org/2001/XMLSchema-datatypes' | ||||||
|  |                      ]"/> | ||||||
|  | 
 | ||||||
|  | <!-- limit highest schema version in /cib/@validate-with to that | ||||||
|  |      of the file processed --> | ||||||
|  | <xsl:template match="rng:attribute[@name = 'validate-with']/rng:choice/rng:value"> | ||||||
|  |     <xsl:choose> | ||||||
|  |         <xsl:when test="starts-with(text(), 'pacemaker-') | ||||||
|  |                         and | ||||||
|  |                         ( | ||||||
|  |                             number( | ||||||
|  |                                 substring-before(substring-after(text(), 'pacemaker-'), '.') | ||||||
|  |                             ) > $version-major | ||||||
|  |                             or | ||||||
|  |                             ( | ||||||
|  |                                 number( | ||||||
|  |                                     substring-before(substring-after(text(), 'pacemaker-'), '.') | ||||||
|  |                                 ) = $version-major | ||||||
|  |                                 and | ||||||
|  |                                 number( | ||||||
|  |                                     concat('0', substring-after(substring-after(text(), 'pacemaker-'), '.')) | ||||||
|  |                                 ) > $version-minor | ||||||
|  | 
 | ||||||
|  |                             ) | ||||||
|  |                         )"/> | ||||||
|  |         <xsl:otherwise> | ||||||
|  |             <xsl:copy> | ||||||
|  |                 <xsl:apply-templates select="@*|node()"/> | ||||||
|  |             </xsl:copy> | ||||||
|  |         </xsl:otherwise> | ||||||
|  |     </xsl:choose> | ||||||
|  | </xsl:template> | ||||||
|  | 
 | ||||||
|  | <!-- ensure "status" section is optional; see also: | ||||||
|  |      - https://github.com/ClusterLabs/pacemaker/commit/89f5177 | ||||||
|  |      - https://pagure.io/clufter/c/a3985ec --> | ||||||
|  | <xsl:template match="*[name() != 'optional']/rng:ref[@name = 'status']"> | ||||||
|  |     <optional> | ||||||
|  |         <xsl:copy> | ||||||
|  |             <xsl:apply-templates select="@*|node()"/> | ||||||
|  |         </xsl:copy> | ||||||
|  |     </optional> | ||||||
|  | </xsl:template> | ||||||
|  | 
 | ||||||
|  | <!-- ensure neither "score-attribute" nor "score-attribute-mangle" attributes | ||||||
|  |      of rsc_colocation are supported; see also: | ||||||
|  |      - https://github.com/ClusterLabs/pacemaker/commit/30383cc | ||||||
|  |      - https://pagure.io/clufter/c/abd2d45 (+ 53b8215) --> | ||||||
|  | <xsl:template match="rng:element[@name = 'rsc_colocation']//rng:choice[ | ||||||
|  |                          rng:attribute[@name = 'score'] | ||||||
|  |                      ]"> | ||||||
|  |     <xsl:apply-templates select="rng:attribute[@name = 'score']"/> | ||||||
|  | </xsl:template> | ||||||
|  | 
 | ||||||
|  | <xsl:template match="@*|node()"> | ||||||
|  |     <xsl:copy> | ||||||
|  |         <xsl:apply-templates select="@*|node()"/> | ||||||
|  |     </xsl:copy> | ||||||
|  | </xsl:template> | ||||||
|  | 
 | ||||||
|  | </xsl:stylesheet> | ||||||
							
								
								
									
										71
									
								
								SOURCES/pacemaker-borrow-schemas
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								SOURCES/pacemaker-borrow-schemas
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | # Copyright 2017 Red Hat, Inc. | ||||||
|  | # Part of clufter project | ||||||
|  | # Licensed under GPLv2+ (a copy included | http://gnu.org/licenses/gpl-2.0.txt) | ||||||
|  | 
 | ||||||
|  | # A helper for "borrow validation schemas from pacemaker" process. | ||||||
|  | 
 | ||||||
|  | die() { echo; echo "$@"; exit 1; } | ||||||
|  | 
 | ||||||
|  | # $1 ... input directory with original pacemaker schemas | ||||||
|  | # $2 ... output directory with consolidated schemas | ||||||
|  | # $3 ... schemas to skip (as posix-egrep expression) | ||||||
|  | # $4 ... postprocess XSLT | ||||||
|  | # $5 ... clobber existing files?  (true if set and non-null) | ||||||
|  | consolidate() { | ||||||
|  | 	inputdir="${1}"; outputdir="${2}"; skipschemas="${3}"; postprocess="${4}" | ||||||
|  | 	test "${#}" -lt 5 || clobber="${5}" | ||||||
|  | 	mkdir -p -- "${outputdir}" | ||||||
|  | 	# for all the schema versions at the boundary of the "major" bump, | ||||||
|  | 	# except for the lower boundary of the first one (i.e. pacemaker-1.0) | ||||||
|  | 	# -- the versions in between are not interesting from validation POV | ||||||
|  | 	for base in $( | ||||||
|  | 	  find "${inputdir}" -regextype posix-egrep -regex "${skipschemas}" -prune \ | ||||||
|  | 	    -o -name 'pacemaker-*.rng' -printf '%P\n' | sort -V \ | ||||||
|  | 	  | sed -e 'N;/^\(pacemaker-[0-9]\)\.\([0-9][0-9]*\)\.rng\n\1\.\([0-9][0-9]*\)\.rng$/!p;D'); do | ||||||
|  | 		f="${inputdir}/${base}" | ||||||
|  | 		printf "processing: ${f} ... " | ||||||
|  | 		test -f "${f}" || continue | ||||||
|  | 		sentinel=10; old=/dev/null; new="${f}" | ||||||
|  | 		# until the jing output converged (simplification gets idempotent) | ||||||
|  | 		# as prescribed by did-size-change heuristic (or sentinel is hit) | ||||||
|  | 		while [ "$(stat -c '%s' "${old}")" != "$(stat -c '%s' "${new}")" ]; do | ||||||
|  | 			[ "$((sentinel -= 1))" -gt 0 ] || break | ||||||
|  | 			[ "${old}" = "${f}" ] && old="${outputdir}/${base}"; | ||||||
|  | 			[ "${new}" = "${f}" ] \ | ||||||
|  | 			  && { old="${f}"; new="${outputdir}/${base}.new"; } \ | ||||||
|  | 			  || cp -f "${new}" "${old}" | ||||||
|  | 			jing -is "${old}" > "${new}" | ||||||
|  | 			#printf "(%d -> %d) " "$(stat -c '%s' "${old}")" "$(stat -c '%s' "${new}")" | ||||||
|  | 		done | ||||||
|  | 		printf "%d iterations" "$((10 - ${sentinel}))" | ||||||
|  | 		test -z "${clobber-}" && test -s "${old}" && die "file ${old} already exists" || : | ||||||
|  | 		if [ -z "${postprocess}" ]; then | ||||||
|  | 			mv "${new}" "${old}" | ||||||
|  | 			printf ", moved\n" | ||||||
|  | 		else | ||||||
|  | 			# xmllint drops empty lines caused by the applied transformation | ||||||
|  | 			xsltproc --stringparam filename-or-version "${base}" \ | ||||||
|  | 			  "${postprocess}" "${new}" \ | ||||||
|  | 			  | xmllint --format - > "${old}" | ||||||
|  | 			rm -f -- "${new}" | ||||||
|  | 			printf ", postprocessed\n" | ||||||
|  | 		fi | ||||||
|  | 	done | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | which jing >/dev/null 2>&1 || die "jing (from jing-trang project) required" | ||||||
|  | 
 | ||||||
|  | : "${INPUTDIR=$(pkg-config --variable schemadir pacemaker)}" | ||||||
|  | test -n "${INPUTDIR}" || die "Input dir with pacemaker schemas not known" | ||||||
|  | 
 | ||||||
|  | : "${OUTPUTDIR=schemas-consolidated}" | ||||||
|  | test -n "${OUTPUTDIR}" || die "Output dir for consolidated schemas not known" | ||||||
|  | 
 | ||||||
|  | : "${POSTPROCESS=$(dirname "${0}")/fix-jing-simplified-rng.xsl}" | ||||||
|  | 
 | ||||||
|  | # skip non-defaults of upstream releases | ||||||
|  | #: "${SKIPSCHEMAS=.*/pacemaker-(1\.0|2\.[126]).rng}" | ||||||
|  | : "${SKIPSCHEMAS=".*/pacemaker-next\.rng"}"  # only skip WIP schema by default | ||||||
|  | 
 | ||||||
|  | consolidate "${INPUTDIR}" "${OUTPUTDIR}" "${SKIPSCHEMAS}" "${POSTPROCESS}" "${@}" | ||||||
							
								
								
									
										604
									
								
								SPECS/clufter.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										604
									
								
								SPECS/clufter.spec
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,604 @@ | |||||||
|  | # virtual provides: | ||||||
|  | #   clufter        -> clufter-cli | ||||||
|  | #   clufter-lib    -> python.+-clufter (any if multiple) | ||||||
|  | #   python-clufter -> python2-clufter (subject of change) | ||||||
|  | 
 | ||||||
|  | # conditionals: | ||||||
|  | %bcond_with python2 | ||||||
|  | 
 | ||||||
|  | # https://fedoraproject.org/wiki/Packaging:Python_Appendix#Manual_byte_compilation | ||||||
|  | %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') | ||||||
|  | 
 | ||||||
|  | Name:           clufter | ||||||
|  | Version:        0.77.1 | ||||||
|  | Release:        5%{?dist} | ||||||
|  | Summary:        Tool/library for transforming/analyzing cluster configuration formats | ||||||
|  | License:        GPLv2+ | ||||||
|  | URL:            https://pagure.io/%{name} | ||||||
|  | 
 | ||||||
|  | BuildRequires:  gcc | ||||||
|  | # required for autosetup macro | ||||||
|  | BuildRequires:  git-core | ||||||
|  | 
 | ||||||
|  | %if %{with python2} | ||||||
|  | # Python 2 related | ||||||
|  | BuildRequires:  python2-devel | ||||||
|  | BuildRequires:  python2-setuptools | ||||||
|  | BuildRequires:  python2-lxml | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | # Python 3 related | ||||||
|  | BuildRequires:  python3-devel | ||||||
|  | BuildRequires:  python3-setuptools | ||||||
|  | BuildRequires:  python3-lxml | ||||||
|  | 
 | ||||||
|  | # following to ensure "which bash" (and, in extension, "which sh") works | ||||||
|  | BuildRequires:  bash which | ||||||
|  | 
 | ||||||
|  | BuildRequires:  pkgconfig(libxml-2.0) | ||||||
|  | # needed for schemadir path pointer | ||||||
|  | BuildRequires:  pkgconfig(pacemaker) | ||||||
|  | # needed for schemas themselves | ||||||
|  | BuildRequires:  pacemaker | ||||||
|  | # needed to squash multi-file schemas to single file | ||||||
|  | BuildRequires:  jing | ||||||
|  | # needed for xsltproc and xmllint respectively | ||||||
|  | BuildRequires:  libxslt libxml2 | ||||||
|  | 
 | ||||||
|  | #global test_version | ||||||
|  | %global testver      %{?test_version}%{?!test_version:%{version}} | ||||||
|  | 
 | ||||||
|  | Source0:        https://people.redhat.com/jpokorny/pkgs/%{name}/%{name}-%{version}.tar.gz | ||||||
|  | Source1:        https://people.redhat.com/jpokorny/pkgs/%{name}/%{name}-%{testver}-tests.tar.xz | ||||||
|  | Source2:        https://pagure.io/%{name}/raw/v%{version}/f/misc/fix-jing-simplified-rng.xsl | ||||||
|  | Source3:        https://pagure.io/%{name}/raw/v%{version}/f/misc/pacemaker-borrow-schemas | ||||||
|  | 
 | ||||||
|  | %description | ||||||
|  | While primarily aimed at (CMAN,rgmanager)->(Corosync/CMAN,Pacemaker) cluster | ||||||
|  | stacks configuration conversion (as per RHEL trend), the command-filter-format | ||||||
|  | framework (capable of XSLT) offers also other uses through its plugin library. | ||||||
|  | 
 | ||||||
|  | %package cli | ||||||
|  | Summary:        Tool for transforming/analyzing cluster configuration formats | ||||||
|  | Provides:       %{name} = %{version}-%{release} | ||||||
|  | 
 | ||||||
|  | BuildRequires:  bash-completion | ||||||
|  | 
 | ||||||
|  | BuildRequires:  help2man | ||||||
|  | 
 | ||||||
|  | # following for pkg_resources module | ||||||
|  | %if 0%{?rhel} > 7 | ||||||
|  | Requires:       platform-python-setuptools | ||||||
|  | %else | ||||||
|  | Requires:       python3-setuptools | ||||||
|  | %endif | ||||||
|  | Requires:       python3-%{name} = %{version}-%{release} | ||||||
|  | Requires:       %{_bindir}/nano | ||||||
|  | BuildArch:      noarch | ||||||
|  | 
 | ||||||
|  | %description cli | ||||||
|  | While primarily aimed at (CMAN,rgmanager)->(Corosync/CMAN,Pacemaker) cluster | ||||||
|  | stacks configuration conversion (as per RHEL trend), the command-filter-format | ||||||
|  | framework (capable of XSLT) offers also other uses through its plugin library. | ||||||
|  | 
 | ||||||
|  | This package contains %{name} command-line interface for the underlying | ||||||
|  | library (packaged as python3-%{name}). | ||||||
|  | 
 | ||||||
|  | %if %{with python2} | ||||||
|  | %package -n python2-%{name} | ||||||
|  | Summary:        Library for transforming/analyzing cluster configuration formats | ||||||
|  | License:        GPLv2+ and GFDL | ||||||
|  | 
 | ||||||
|  | Provides:       %{name}-lib = %{version}-%{release} | ||||||
|  | %{?python_provide:%python_provide python2-%{name}} | ||||||
|  | Requires:       %{name}-bin = %{version}-%{release} | ||||||
|  | Requires:       python2-lxml | ||||||
|  | BuildArch:      noarch | ||||||
|  | 
 | ||||||
|  | %description -n python2-%{name} | ||||||
|  | While primarily aimed at (CMAN,rgmanager)->(Corosync/CMAN,Pacemaker) cluster | ||||||
|  | stacks configuration conversion (as per RHEL trend), the command-filter-format | ||||||
|  | framework (capable of XSLT) offers also other uses through its plugin library. | ||||||
|  | 
 | ||||||
|  | This package contains %{name} library including built-in plugins. | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | %package -n python3-%{name} | ||||||
|  | Summary:        Library for transforming/analyzing cluster configuration formats | ||||||
|  | License:        GPLv2+ and GFDL | ||||||
|  | 
 | ||||||
|  | Provides:       %{name}-lib = %{version}-%{release} | ||||||
|  | %{?python_provide:%python_provide python3-%{name}} | ||||||
|  | %if %{without python2} | ||||||
|  | Obsoletes:      python-%{name} < %{version}-%{release} | ||||||
|  | Obsoletes:      python2-%{name} < %{version}-%{release} | ||||||
|  | %endif | ||||||
|  | Requires:       python3-lxml | ||||||
|  | Requires:       %{name}-bin = %{version}-%{release} | ||||||
|  | BuildArch:      noarch | ||||||
|  | 
 | ||||||
|  | %description -n python3-%{name} | ||||||
|  | While primarily aimed at (CMAN,rgmanager)->(Corosync/CMAN,Pacemaker) cluster | ||||||
|  | stacks configuration conversion (as per RHEL trend), the command-filter-format | ||||||
|  | framework (capable of XSLT) offers also other uses through its plugin library. | ||||||
|  | 
 | ||||||
|  | This package contains %{name} library including built-in plugins. | ||||||
|  | 
 | ||||||
|  | %package bin | ||||||
|  | Summary:        Common internal compiled files for %{name} | ||||||
|  | License:        GPLv2+ | ||||||
|  | 
 | ||||||
|  | Requires:       %{name}-common = %{version}-%{release} | ||||||
|  | 
 | ||||||
|  | %description bin | ||||||
|  | While primarily aimed at (CMAN,rgmanager)->(Corosync/CMAN,Pacemaker) cluster | ||||||
|  | stacks configuration conversion (as per RHEL trend), the command-filter-format | ||||||
|  | framework (capable of XSLT) offers also other uses through its plugin library. | ||||||
|  | 
 | ||||||
|  | This package contains internal, arch-specific files for %{name}. | ||||||
|  | 
 | ||||||
|  | %package common | ||||||
|  | Summary:        Common internal data files for %{name} | ||||||
|  | License:        GPLv2+ | ||||||
|  | BuildArch:      noarch | ||||||
|  | 
 | ||||||
|  | %description common | ||||||
|  | While primarily aimed at (CMAN,rgmanager)->(Corosync/CMAN,Pacemaker) cluster | ||||||
|  | stacks configuration conversion (as per RHEL trend), the command-filter-format | ||||||
|  | framework (capable of XSLT) offers also other uses through its plugin library. | ||||||
|  | 
 | ||||||
|  | This package contains internal, arch-agnostic files for %{name}. | ||||||
|  | 
 | ||||||
|  | %package lib-general | ||||||
|  | Summary:        Extra %{name} plugins usable for/as generic/auxiliary products | ||||||
|  | Requires:       %{name}-lib = %{version}-%{release} | ||||||
|  | BuildArch:      noarch | ||||||
|  | 
 | ||||||
|  | %description lib-general | ||||||
|  | This package contains set of additional plugins targeting variety of generic | ||||||
|  | formats often serving as a byproducts in the intermediate steps of the overall | ||||||
|  | process arrangement: either experimental commands or internally unused, | ||||||
|  | reusable formats and filters. | ||||||
|  | 
 | ||||||
|  | %package lib-ccs | ||||||
|  | Summary:        Extra plugins for transforming/analyzing CMAN configuration | ||||||
|  | Requires:       %{name}-lib-general = %{version}-%{release} | ||||||
|  | BuildArch:      noarch | ||||||
|  | 
 | ||||||
|  | %description lib-ccs | ||||||
|  | This package contains set of additional plugins targeting CMAN cluster | ||||||
|  | configuration: either experimental commands or internally unused, reusable | ||||||
|  | formats and filters. | ||||||
|  | 
 | ||||||
|  | %package lib-pcs | ||||||
|  | Summary:        Extra plugins for transforming/analyzing Pacemaker configuration | ||||||
|  | Requires:       %{name}-lib-general = %{version}-%{release} | ||||||
|  | BuildArch:      noarch | ||||||
|  | 
 | ||||||
|  | %description lib-pcs | ||||||
|  | This package contains set of additional plugins targeting Pacemaker cluster | ||||||
|  | configuration: either experimental commands or internally unused, reusable | ||||||
|  | formats and filters. | ||||||
|  | 
 | ||||||
|  | %prep | ||||||
|  | %autosetup -p1 -S git -b 1 | ||||||
|  | 
 | ||||||
|  | %if "%{testver}" != "%{version}" | ||||||
|  |     %{__cp} -a ../"%{name}-%{testver}"/* . | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | ## for some esoteric reason, the line above has to be empty | ||||||
|  | %{__python3} setup.py saveopts -f setup.cfg pkg_prepare \ | ||||||
|  |                       --ccs-flatten='%{_libexecdir}/%{name}-%{version}/ccs_flatten' \ | ||||||
|  |                       --editor='%{_bindir}/nano' \ | ||||||
|  |                       --extplugins-shared='%{_datarootdir}/%{name}/ext-plugins' \ | ||||||
|  |                       --ra-metadata-dir='%{_datadir}/cluster' \ | ||||||
|  |                       --ra-metadata-ext='metadata' \ | ||||||
|  |                       --shell-posix='%(which sh 2>/dev/null || echo /bin/SHELL-POSIX)' \ | ||||||
|  |                       --shell-bashlike='%(which bash 2>/dev/null || echo /bin/SHELL-BASHLIKE)' | ||||||
|  | %{__python3} setup.py saveopts -f setup.cfg pkg_prepare \ | ||||||
|  |   --report-bugs='https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}' | ||||||
|  | 
 | ||||||
|  | %build | ||||||
|  | %if %{with python2} | ||||||
|  | %py2_build | ||||||
|  | %endif | ||||||
|  | # see https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale; | ||||||
|  | # specifically: | ||||||
|  | #   File "setup.py", line 466, in _pkg_prepare_file | ||||||
|  | #     content = fr.read() | ||||||
|  | #   File "/usr/lib64/python3.5/encodings/ascii.py", line 26, in decode | ||||||
|  | #     return codecs.ascii_decode(input, self.errors)[0] | ||||||
|  | # UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 221: ordinal not in range(128) | ||||||
|  | export LC_ALL=C.UTF-8 LANG=C.UTF-8 | ||||||
|  | %py3_build | ||||||
|  | 
 | ||||||
|  | %{__python3} -I ./run-dev --skip-ext --completion-bash 2>/dev/null \ | ||||||
|  |   | sed 's|run[-_]dev|%{name}|g' > .bashcomp | ||||||
|  | # generate man pages (proper commands and aliases from a sorted sequence) | ||||||
|  | %{__mkdir_p} -- .manpages/man1 | ||||||
|  | { echo; %{__python3} -I ./run-dev -l | sed -n 's|^  \(\S\+\).*|\1|p' \ | ||||||
|  |   | sort; } > .subcmds | ||||||
|  | sed -e 's:\(.\+\):\\\&\\fIrun_dev-\1\\fR\\\|(1), :' \ | ||||||
|  |   -e '1s|\(.*\)|\[SEE ALSO\]\n|' \ | ||||||
|  |   -e '$s|\(.*\)|\1\nand perhaps more|' \ | ||||||
|  |   .subcmds > .see-also | ||||||
|  | help2man -N -h -H -i .see-also \ | ||||||
|  |   -n "$(sed -n '2s|[^(]\+(\([^)]\+\))|\1|p' README)" \ | ||||||
|  |   '%{__python3} -I ./run-dev' | sed 's|run\\\?[-_]dev|%{name}|g' \ | ||||||
|  |   > ".manpages/man1/%{name}.1" | ||||||
|  | while read cmd; do | ||||||
|  |   [ -n "${cmd}" ] || continue | ||||||
|  |   echo -e "#\!/bin/sh\n{ [ \$# -ge 1 ] && [ \"\$1\" = \"--version\" ] \ | ||||||
|  |   && %{__python3} -I ./run-dev \"\$@\" \ | ||||||
|  |   || %{__python3} -I ./run-dev \"${cmd}\" \"\$@\"; }" > ".tmp-${cmd}" | ||||||
|  |   chmod +x ".tmp-${cmd}" | ||||||
|  |   grep -v "^${cmd}\$" .subcmds \ | ||||||
|  |     | grep -e '^$' -e "$(echo ${cmd} | cut -d- -f1)\(-\|\$\)" \ | ||||||
|  |     | sed -e 's:\(.\+\):\\\&\\fIrun_dev-\1\\fR\\\|(1), :' \ | ||||||
|  |       -e '1s|\(.*\)|\[SEE ALSO\]\n\\\&\\fIrun_dev\\fR\\\|(1), \n|' \ | ||||||
|  |       -e '$s|\(.*\)|\1\nand perhaps more|' > .see-also | ||||||
|  |   # XXX uses ";;&" bashism | ||||||
|  |   case "${cmd}" in | ||||||
|  |   ccs[2-]*) | ||||||
|  |     sed -i \ | ||||||
|  |       '1s:\(.*\):\1\n\\\&\\fIcluster.conf\\fR\\\|(5), \\\&\\fIccs\\fR\\\|(7), :' \ | ||||||
|  |     .see-also | ||||||
|  |     ;;& | ||||||
|  |   ccs2pcs*) | ||||||
|  |     sed -i \ | ||||||
|  |       '1s:\(.*\):\1\n\\\&\\fI%{_pkgdocdir}/rgmanager-pacemaker\\fR\\\|, :' \ | ||||||
|  |     .see-also | ||||||
|  |     ;;& | ||||||
|  |   *[2-]pcscmd*) | ||||||
|  |     sed -i '1s:\(.*\):\1\n\\\&\\fIpcs\\fR\\\|(8), :' .see-also | ||||||
|  |     ;;& | ||||||
|  |   esac | ||||||
|  |   help2man -N -h -H -i .see-also -n "${cmd}" "./.tmp-${cmd}" \ | ||||||
|  |     | sed 's|run\\\?[-_]dev|%{name}|g' \ | ||||||
|  |   > ".manpages/man1/%{name}-${cmd}.1" | ||||||
|  | done < .subcmds | ||||||
|  | 
 | ||||||
|  | OUTPUTDIR=.schemas POSTPROCESS="%{SOURCE2}" sh "%{SOURCE3}" --clobber | ||||||
|  | 
 | ||||||
|  | %install | ||||||
|  | %if %{with python2} | ||||||
|  | %py2_install | ||||||
|  | %endif | ||||||
|  | # see build section | ||||||
|  | export LC_ALL=C.UTF-8 LANG=C.UTF-8 | ||||||
|  | %py3_install | ||||||
|  | 
 | ||||||
|  | # following is needed due to umask 022 not taking effect(?) leading to 775 | ||||||
|  | %{__chmod} -- g-w '%{buildroot}%{_libexecdir}/%{name}-%{version}/ccs_flatten' | ||||||
|  | # %%{_bindir}/%%{name} should have been created | ||||||
|  | test -f '%{buildroot}%{_bindir}/%{name}' \ | ||||||
|  |   || %{__install} -D -pm 644 -- '%{buildroot}%{_bindir}/%{name}' \ | ||||||
|  |                                 '%{buildroot}%{_bindir}/%{name}' | ||||||
|  | 
 | ||||||
|  | # move data files from python-specific locations to a single common one | ||||||
|  | # and possibly symlink that back | ||||||
|  | %{__mkdir_p} -- '%{buildroot}%{_datarootdir}/%{name}/formats' | ||||||
|  | for format in cib corosync; do | ||||||
|  |   %{__cp} -a -t '%{buildroot}%{_datarootdir}/%{name}/formats' \ | ||||||
|  |           -- "%{buildroot}%{python3_sitelib}/%{name}/formats/${format}" | ||||||
|  | %if %{with python2} | ||||||
|  |   %{__rm} -f -- "%{buildroot}%{python2_sitelib}/%{name}/formats/${format}"/* | ||||||
|  |   ln -s -t "%{buildroot}%{python2_sitelib}/%{name}/formats/${format}" \ | ||||||
|  |      -- $(pushd "%{buildroot}%{_datarootdir}/%{name}/formats/${format}" >/dev/null; \ | ||||||
|  |           ls -1A | sed "s:.*:%{_datarootdir}/%{name}/formats/${format}/\\0:") | ||||||
|  | %endif | ||||||
|  |   %{__rm} -f -- "%{buildroot}%{python3_sitelib}/%{name}/formats/${format}"/* | ||||||
|  |   ln -s -t "%{buildroot}%{python3_sitelib}/%{name}/formats/${format}" \ | ||||||
|  |      -- $(pushd "%{buildroot}%{_datarootdir}/%{name}/formats/${format}" >/dev/null; \ | ||||||
|  |           ls -1A | sed "s:.*:%{_datarootdir}/%{name}/formats/${format}/\\0:") | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | # move ext-plugins from python-specific locations to a single common one | ||||||
|  | # incl. the different sorts of precompiled bytecodes | ||||||
|  | %{__mkdir_p} -- '%{buildroot}%{_datarootdir}/%{name}/ext-plugins' | ||||||
|  | %if %{with python2} | ||||||
|  | mv -t '%{buildroot}%{_datarootdir}/%{name}/ext-plugins' \ | ||||||
|  |    -- '%{buildroot}%{python2_sitelib}/%{name}'/ext-plugins/*/ | ||||||
|  | %endif | ||||||
|  | %{__cp} -af -t '%{buildroot}%{_datarootdir}/%{name}/ext-plugins' \ | ||||||
|  |         -- '%{buildroot}%{python3_sitelib}/%{name}'/ext-plugins/* | ||||||
|  | %{__rm} -rf -- '%{buildroot}%{python3_sitelib}/%{name}'/ext-plugins/*/ | ||||||
|  | 
 | ||||||
|  | # byte-compilation | ||||||
|  | %if %{with python2} | ||||||
|  | %if "%{?quote:1}" != "" && "%{?quote:1}" != "1" | ||||||
|  | %py_byte_compile %{quote:%{__python2} -Es} %{python2_sitelib}/%{name} | ||||||
|  | %py_byte_compile %{quote:%{__python2} -Es} %{buildroot}%{_datarootdir}/%{name}/ext-plugins | ||||||
|  | %else | ||||||
|  | %py_byte_compile %{__python2} %{python2_sitelib}/%{name} | ||||||
|  | %py_byte_compile %{__python2} %{buildroot}%{_datarootdir}/%{name}/ext-plugins | ||||||
|  | %endif | ||||||
|  | %endif | ||||||
|  | %if "%{?quote:1}" != "" && "%{?quote:1}" != "1" | ||||||
|  | %py_byte_compile %{quote:%{__python3} -I} %{python3_sitelib}/%{name} | ||||||
|  | %py_byte_compile %{quote:%{__python3} -I} %{buildroot}%{_datarootdir}/%{name}/ext-plugins | ||||||
|  | %else | ||||||
|  | %py_byte_compile %{__python3} %{python3_sitelib}/%{name} | ||||||
|  | %py_byte_compile %{__python3} %{buildroot}%{_datarootdir}/%{name}/ext-plugins | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | declare bashcompdir="$(pkg-config --variable=completionsdir bash-completion \ | ||||||
|  |                        || echo '%{_datadir}/bash-completion/completions')" | ||||||
|  | declare bashcomp="${bashcompdir}/%{name}" | ||||||
|  | %{__install} -D -pm 644 -- \ | ||||||
|  |   .bashcomp '%{buildroot}%{_sysconfdir}/%{name}/bash-completion' | ||||||
|  | %{__mkdir_p} -- "%{buildroot}${bashcompdir}" | ||||||
|  | ln -s '%{_sysconfdir}/%{name}/bash-completion' "%{buildroot}${bashcomp}" | ||||||
|  | # own %%{_datadir}/bash-completion in case of ...bash-completion/completions, | ||||||
|  | # more generally any path up to any of /, /usr, /usr/share, /etc | ||||||
|  | while true; do | ||||||
|  |   test "$(dirname "${bashcompdir}")" != "/" \ | ||||||
|  |   && test "$(dirname "${bashcompdir}")" != "%{_prefix}" \ | ||||||
|  |   && test "$(dirname "${bashcompdir}")" != "%{_datadir}" \ | ||||||
|  |   && test "$(dirname "${bashcompdir}")" != "%{_sysconfdir}" \ | ||||||
|  |   || break | ||||||
|  |   bashcompdir="$(dirname "${bashcompdir}")" | ||||||
|  | done | ||||||
|  | cat >.bashcomp-files <<-EOF | ||||||
|  | 	${bashcompdir} | ||||||
|  | 	%dir %{_sysconfdir}/%{name} | ||||||
|  | 	%verify(not size md5 mtime) %{_sysconfdir}/%{name}/bash-completion | ||||||
|  | EOF | ||||||
|  | %{__mkdir_p} -- '%{buildroot}%{_mandir}' | ||||||
|  | %{__cp} -a -t '%{buildroot}%{_mandir}' -- .manpages/* | ||||||
|  | %{__cp} -a -f -t '%{buildroot}%{_datarootdir}/%{name}/formats/cib' \ | ||||||
|  |               -- .schemas/pacemaker-*.*.rng | ||||||
|  | %{__mkdir_p} -- '%{buildroot}%{_pkgdocdir}' | ||||||
|  | %{__cp} -a -t '%{buildroot}%{_pkgdocdir}' \ | ||||||
|  |            -- gpl-2.0.txt doc/*.txt doc/rgmanager-pacemaker | ||||||
|  | 
 | ||||||
|  | %check | ||||||
|  | # just a basic sanity check | ||||||
|  | # we need to massage RA metadata files and PATH so the local run works | ||||||
|  | # XXX we could also inject buildroot's site_packages dir to PYTHONPATH | ||||||
|  | declare ret=0 \ | ||||||
|  |         ccs_flatten_dir="$(dirname '%{buildroot}%{_libexecdir}/%{name}-%{version}/ccs_flatten')" | ||||||
|  | ln -s '%{buildroot}%{_datadir}/cluster'/*.'metadata' \ | ||||||
|  |       "${ccs_flatten_dir}" | ||||||
|  | %if %{with python2} | ||||||
|  | PATH="${PATH:+${PATH}:}${ccs_flatten_dir}" PYTHONEXEC="%{__python2} -Es" ./run-tests | ||||||
|  | %endif | ||||||
|  | # see build section | ||||||
|  | export LC_ALL=C.UTF-8 LANG=C.UTF-8 | ||||||
|  | PATH="${PATH:+${PATH}:}${ccs_flatten_dir}" PYTHONEXEC="%{__python3} -I" ./run-tests | ||||||
|  | ret=$? | ||||||
|  | %{__rm} -f -- "${ccs_flatten_dir}"/*.'metadata' | ||||||
|  | [ ${ret} -eq 0 ] || exit ${ret} | ||||||
|  | 
 | ||||||
|  | %post cli | ||||||
|  | if [ $1 -gt 1 ]; then  # no gain regenerating it w/ fresh install (same result) | ||||||
|  | declare bashcomp="%{_sysconfdir}/%{name}/bash-completion" | ||||||
|  | %{_bindir}/%{name} --completion-bash > "${bashcomp}" 2>/dev/null || : | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | %post lib-general | ||||||
|  | declare bashcomp="%{_sysconfdir}/%{name}/bash-completion" | ||||||
|  | # if the completion file is not present, suppose it is not desired | ||||||
|  | test -x '%{_bindir}/%{name}' && test -f "${bashcomp}" \ | ||||||
|  |   && %{_bindir}/%{name} --completion-bash > "${bashcomp}" 2>/dev/null || : | ||||||
|  | 
 | ||||||
|  | %post lib-ccs | ||||||
|  | declare bashcomp="%{_sysconfdir}/%{name}/bash-completion" | ||||||
|  | # if the completion file is not present, suppose it is not desired | ||||||
|  | test -x '%{_bindir}/%{name}' && test -f "${bashcomp}" \ | ||||||
|  |   && %{_bindir}/%{name} --completion-bash > "${bashcomp}" 2>/dev/null || : | ||||||
|  | 
 | ||||||
|  | %post lib-pcs | ||||||
|  | declare bashcomp="%{_sysconfdir}/%{name}/bash-completion" | ||||||
|  | # if the completion file is not present, suppose it is not desired | ||||||
|  | test -x '%{_bindir}/%{name}' && test -f "${bashcomp}" \ | ||||||
|  |   && %{_bindir}/%{name} --completion-bash > "${bashcomp}" 2>/dev/null || : | ||||||
|  | 
 | ||||||
|  | %files cli -f .bashcomp-files | ||||||
|  | %{_mandir}/man1/*.1* | ||||||
|  | %{_bindir}/%{name} | ||||||
|  | 
 | ||||||
|  | %if %{with python2} | ||||||
|  | %files -n python2-%{name} | ||||||
|  | %{python2_sitelib}/%{name} | ||||||
|  | %{python2_sitelib}/%{name}-*.egg-info | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | %files -n python3-%{name} | ||||||
|  | %{python3_sitelib}/%{name} | ||||||
|  | %{python3_sitelib}/%{name}-*.egg-info | ||||||
|  | 
 | ||||||
|  | %files bin | ||||||
|  | %{_libexecdir}/%{name}-%{version} | ||||||
|  | 
 | ||||||
|  | %files common | ||||||
|  | %{_datadir}/cluster | ||||||
|  | %{_datarootdir}/%{name} | ||||||
|  | %dir %{_pkgdocdir} | ||||||
|  | %{_pkgdocdir}/*[^[:digit:]] | ||||||
|  | %license %{_pkgdocdir}/*[[:digit:]].txt | ||||||
|  | 
 | ||||||
|  | %files lib-general | ||||||
|  | %{_datarootdir}/%{name}/ext-plugins/lib-general | ||||||
|  | 
 | ||||||
|  | %files lib-ccs | ||||||
|  | %{_datarootdir}/%{name}/ext-plugins/lib-ccs | ||||||
|  | 
 | ||||||
|  | %files lib-pcs | ||||||
|  | %{_datarootdir}/%{name}/ext-plugins/lib-pcs | ||||||
|  | 
 | ||||||
|  | %changelog | ||||||
|  | * Fri Nov 16 2018 Lumír Balhar <lbalhar@redhat.com> - 0.77.1-5 | ||||||
|  | - Require platform-python-setuptools instead of python3-setuptools | ||||||
|  | - Resolves: rhbz#1650489 | ||||||
|  | 
 | ||||||
|  | * Wed Oct 24 2018 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.77.1-4 | ||||||
|  | - fix missing explicit BuildRequires to ensure environment for compiling | ||||||
|  |   C code per the guidelines, and to fix FTBFS: rhbz#1603658 | ||||||
|  |   (contributed by Igor Gnatenko <ignatenkobrain@fedoraproject.org>) | ||||||
|  | - fix a thinko in py_byte_compile space-contained argument passing | ||||||
|  |   (https://github.com/rpm-software-management/rpm/issues/222#issuecomment-410026431) | ||||||
|  | - fix a violation of "unversioned docdirs" guideline | ||||||
|  |   (https://fedoraproject.org//wiki/Changes/UnversionedDocdirs) | ||||||
|  |   Resolves: rhbz#1638027 | ||||||
|  | 
 | ||||||
|  | * Mon Mar 19 2018 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.77.1-3 | ||||||
|  | - fix previously omitted unqualified python invocations, drop no longer | ||||||
|  |   needed byte-compilation products through a full grip on such a process, | ||||||
|  |   and also use -I switch to python3 instead of possibly weaker -Es | ||||||
|  | 
 | ||||||
|  | * Mon Mar 19 2018 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.77.1-2 | ||||||
|  | - stop creating Python 2 packages by default (nothing in Fedora uses it) | ||||||
|  | - fix a previously omitted unqualified python invocation | ||||||
|  | 
 | ||||||
|  | * Thu Mar 15 2018 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.77.1-1 | ||||||
|  | - drop no longer favoured Group tag | ||||||
|  | - replace unqualified python invocations with explicit python3 | ||||||
|  | - bump upstream package, see https://pagure.io/clufter/releases | ||||||
|  | 
 | ||||||
|  | * Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.77.0-3 | ||||||
|  | - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild | ||||||
|  | 
 | ||||||
|  | * Wed Jan 03 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.77.0-2 | ||||||
|  | - Update Python 2 dependency declarations to new packaging standards | ||||||
|  |   (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) | ||||||
|  | 
 | ||||||
|  | * Sun Nov 12 2017 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.77.0-1 | ||||||
|  | - bump upstream package, see https://pagure.io/clufter/releases | ||||||
|  | 
 | ||||||
|  | * Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.76.0-3 | ||||||
|  | - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild | ||||||
|  | 
 | ||||||
|  | * Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.76.0-2 | ||||||
|  | - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild | ||||||
|  | 
 | ||||||
|  | * Tue Jun 06 2017 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.76.0-1 | ||||||
|  | - factor "borrow validation schemas from pacemaker" out to a separate script | ||||||
|  | - bump upstream package, see https://pagure.io/clufter/releases | ||||||
|  | 
 | ||||||
|  | * Fri May 26 2017 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.75.0-1 | ||||||
|  | - move nano fallback editor dependency to -cli package [PGissue#1] | ||||||
|  | - bump upstream package, see https://pagure.io/clufter/releases | ||||||
|  | 
 | ||||||
|  | * Tue Mar 21 2017 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.70.0-1 | ||||||
|  | - split -bin and -common packages, the former becoming the only arch-specific | ||||||
|  | - also move python-specific (entry points, main files) back from -cli package | ||||||
|  | - also rename python-clufter to python2-clufter (former is a legacy alias) | ||||||
|  | - also leverage the above modularization to package python3-clufter in parallel | ||||||
|  | - bump upstream package (version rolling the above changes out) | ||||||
|  | 
 | ||||||
|  | * Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.59.8-2 | ||||||
|  | - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild | ||||||
|  | 
 | ||||||
|  | * Wed Jan 18 2017 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.59.8-1 | ||||||
|  | - bump upstream package, see | ||||||
|  |   https://github.com/jnpkrn/clufter/releases/tag/v0.59.8 | ||||||
|  | 
 | ||||||
|  | * Mon Dec 12 2016 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.59.7-1 | ||||||
|  | - bump upstream package, see | ||||||
|  |   https://github.com/jnpkrn/clufter/releases/tag/v0.59.7 | ||||||
|  | 
 | ||||||
|  | * Fri Oct 21 2016 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.59.6-1 | ||||||
|  | - bump upstream package, see https://pagure.io/clufter/releases | ||||||
|  | 
 | ||||||
|  | * Tue Aug 09 2016 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.59.5-1 | ||||||
|  | - bump upstream package, see https://pagure.io/clufter/releases | ||||||
|  | 
 | ||||||
|  | * Wed Jul 27 2016 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.59.1-1 | ||||||
|  | - bump upstream package, see https://pagure.io/clufter/releases | ||||||
|  | 
 | ||||||
|  | * Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.58.0-2 | ||||||
|  | - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages | ||||||
|  | 
 | ||||||
|  | * Mon Jul 18 2016 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.58.0-1 | ||||||
|  | - bump upstream package, see https://pagure.io/clufter/releases | ||||||
|  | 
 | ||||||
|  | * Fri Jul 01 2016 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.57.0-1 | ||||||
|  | - bump upstream package, see https://pagure.io/clufter/releases | ||||||
|  |   (cumulative update incl. 0.56.3 and 0.57.0 changes) | ||||||
|  | - make Python interpreter execution sane | ||||||
|  | - drop license compatibility macro as pointless for Fedora (and EPEL, | ||||||
|  |   when it comes to it) at this point | ||||||
|  | 
 | ||||||
|  | * Fri Mar 18 2016 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.56.2-1 | ||||||
|  | - bump upstream package, see | ||||||
|  |   https://github.com/jnpkrn/clufter/releases/tag/v0.56.2 | ||||||
|  | 
 | ||||||
|  | * Tue Feb 09 2016 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.56.1-1 | ||||||
|  | - add ability to borrow validation schemas from pacemaker installed along | ||||||
|  | - bump upstream package, see | ||||||
|  |   https://github.com/jnpkrn/clufter/releases/tag/v0.56.1 | ||||||
|  | 
 | ||||||
|  | * Tue Feb 02 2016 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.56.0-1 | ||||||
|  | - move entry_points.txt to clufter-cli sub-package | ||||||
|  | - general spec file refresh (pagure.io as a default project base, etc.) | ||||||
|  | - bump upstream package, see | ||||||
|  |   https://github.com/jnpkrn/clufter/releases/tag/v0.56.0 | ||||||
|  | 
 | ||||||
|  | * Mon Dec 21 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.55.0-1 | ||||||
|  | - auto-generate SEE ALSO sections for the man pages | ||||||
|  | - bump upstream package (intentional jump on upstream front), | ||||||
|  |   see https://github.com/jnpkrn/clufter/releases/tag/v0.55.0 | ||||||
|  | 
 | ||||||
|  | * Fri Oct 09 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.50.5-1 | ||||||
|  | - generate man pages also for offered commands | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Thu Sep 10 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.50.4-1 | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Mon Sep 07 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.50.3-1 | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Wed Aug 12 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.50.2-1 | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Wed Jul 15 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.50.1-1 | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Fri Jul 03 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.50.0-1 | ||||||
|  | - bump upstream package (intentional jump on upstream front) | ||||||
|  | 
 | ||||||
|  | * Fri Jun 19 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.12.0-1 | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.2-2 | ||||||
|  | - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild | ||||||
|  | 
 | ||||||
|  | * Mon Jun 01 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.11.2-1 | ||||||
|  | - move completion module to clufter-cli sub-package | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Tue May 19 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.11.1-1 | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Wed Apr 15 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.11.0-1 | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Wed Apr 08 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.10.4-1 | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Mon Mar 23 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.10.3-1 | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Tue Mar 17 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.10.2-1 | ||||||
|  | - bump upstream package | ||||||
|  | - add dependency on python-setuptools | ||||||
|  | 
 | ||||||
|  | * Wed Mar 04 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.10.1-1 | ||||||
|  | - bump upstream package | ||||||
|  | 
 | ||||||
|  | * Thu Feb 26 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.10.0-1 | ||||||
|  | - packaging enhacements (structure, redundancy, ownership, scriptlets, symlink) | ||||||
|  | - version bump so as not to collide with python-clufter co-packaged with pcs | ||||||
|  | 
 | ||||||
|  | * Tue Jan 20 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.3.5-1 | ||||||
|  | - packaging enhancements (pkg-config, license tag) | ||||||
|  | 
 | ||||||
|  | * Wed Jan 14 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.3.4-1 | ||||||
|  | - packaging enhancements (permissions, ownership) | ||||||
|  | - man page for CLI frontend now included | ||||||
|  | 
 | ||||||
|  | * Tue Jan 13 2015 Jan Pokorný <jpokorny+rpm-clufter@fedoraproject.org> - 0.3.3-1 | ||||||
|  | - initial build | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user