diff --git a/.gitignore b/.gitignore index dafa321..526bb61 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/*.tar.* +spectool-1.0.9.tar.bz2 +rpmdevtools-6.4.tar.bz2 diff --git a/0001-Force-legacy-datestamp-while-RHBZ-1715412-is-still-a.patch b/0001-Force-legacy-datestamp-while-RHBZ-1715412-is-still-a.patch deleted file mode 100644 index f59bdfd..0000000 --- a/0001-Force-legacy-datestamp-while-RHBZ-1715412-is-still-a.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 4a4693c842b6da5d66e3a6bdb1eb7914d2402f7f Mon Sep 17 00:00:00 2001 -From: Neal Gompa -Date: Wed, 20 Jan 2021 06:50:03 -0500 -Subject: [PATCH] Force legacy datestamp while RHBZ#1715412 is still an issue - ---- - rpmdev-bumpspec | 2 +- - rpmdev-newspec.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/rpmdev-bumpspec b/rpmdev-bumpspec -index dc4eb05..3e18b41 100755 ---- a/rpmdev-bumpspec -+++ b/rpmdev-bumpspec -@@ -300,7 +300,7 @@ the Free Software Foundation; either version 2 of the License, or - parser.add_option("-n", "--new", - help="set new version and reset/set release " - "(simple spec files only)") -- parser.add_option("-D", "--legacy-datestamp", default=False, action='store_true', -+ parser.add_option("-D", "--legacy-datestamp", default=True, action='store_true', - help="use legacy datestamp for changelog entries") - parser.add_option("-d", "--datestamp", - help="changelog date string (default: today)") -diff --git a/rpmdev-newspec.in b/rpmdev-newspec.in -index 27af10f..a083dd9 100644 ---- a/rpmdev-newspec.in -+++ b/rpmdev-newspec.in -@@ -293,7 +293,7 @@ if [[ $NEWSPEC_PREFER_MACROS ]] ; then - " - fi - --if [[ $rpmver -ge 41400 ]] && [[ -z $NEWSPEC_LEGACY_DATESTAMP ]] ; then # >= 4.14 (RHEL >= 8, Fedora >= 27) -+if [[ $rpmver -ge 41400 ]] && [[ $(/bin/false) ]] ; then # >= 4.14 (RHEL >= 8, Fedora >= 27) - chlog="s|^%changelog\\s*|%changelog\\n* $(LC_ALL=C date +'%a %b %d %T %Z %Y') $(rpmdev-packager)\\n- |Mg" - else - chlog="s|^%changelog\\s*|%changelog\\n* $(LC_ALL=C date --utc +'%a %b %d %Y') $(rpmdev-packager)\\n- |Mg" --- -2.29.2 - diff --git a/0002-rpmdevtools-git-83b35ac.patch b/0002-rpmdevtools-git-83b35ac.patch deleted file mode 100644 index ff616da..0000000 --- a/0002-rpmdevtools-git-83b35ac.patch +++ /dev/null @@ -1,531 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index bb6f7c6..d55f397 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -15,7 +15,7 @@ man8_MANS = rpmdev-rmdevelrpms.8 - dist_pkgsysconf_DATA = curlrc newspec.conf rmdevelrpms.conf \ - spectemplate-lib.spec spectemplate-minimal.spec \ - spectemplate-perl.spec spectemplate-php-pear.spec \ -- spectemplate-python.spec spectemplate-ruby.spec \ -+ spectemplate-python.spec spectemplate-pyproject.spec spectemplate-ruby.spec \ - spectemplate-ocaml.spec spectemplate-R.spec spectemplate-dummy.spec \ - template.init - -diff --git a/rpmdev-bumpspec b/rpmdev-bumpspec -index b8f4047..5a6a909 100755 ---- a/rpmdev-bumpspec -+++ b/rpmdev-bumpspec -@@ -27,8 +27,10 @@ import time - - try: - from rpmautospec import specfile_uses_rpmautospec -+ from rpmautospec.subcommands.release import calculate_release_number - except ImportError: - specfile_uses_rpmautospec = None -+ calculate_release_number = None - - __version__ = "1.0.13" - -@@ -378,19 +380,25 @@ the Free Software Foundation; either version 2 of the License, or - # Not actually a parser error, but... meh. - parser.error(e) - -- uses_rpmautospec = False -+ uses_rpmautospec_autorelease = uses_rpmautospec_autochangelog = False - if specfile_uses_rpmautospec: -- uses_rpmautospec = specfile_uses_rpmautospec( -+ uses_rpmautospec_autorelease = specfile_uses_rpmautospec( - specpath=s.filename, - check_autorelease=True, - check_autochangelog=False - ) -+ uses_rpmautospec_autochangelog = specfile_uses_rpmautospec( -+ specpath=s.filename, -+ check_autorelease=False, -+ check_autochangelog=True -+ ) - -- if uses_rpmautospec: -+ changed = False -+ if uses_rpmautospec_autorelease: - if opts.new: - print("RPMAutoSpec usage detected, only setting Version.") - changed = s.newVersion(opts.new, set_release=False) -- else: -+ elif uses_rpmautospec_autochangelog: - print("RPMAutoSpec usage detected, not changing the spec file.") - continue - else: -@@ -405,14 +413,12 @@ the Free Software Foundation; either version 2 of the License, or - - changed = True - -- # If we didn't change anything, no need to write and modify the -- # changelog. - if changed: -+ # Write out changed version or release if changed. - s.writeFile(aspec) -- else: -- continue - -- if uses_rpmautospec: -+ if uses_rpmautospec_autochangelog: -+ print("RPMAutospec %autochangelog is used, no need to add %changelog entry.") - continue - - if not s.checkChangelogPresence(): -@@ -422,6 +428,10 @@ the Free Software Foundation; either version 2 of the License, or - # Get EVR for changelog entry. - cmd = ("rpm", "-q", "--specfile", "--define", "dist %{nil}", - "--qf=%|epoch?{%{epoch}:}:{}|%{version}-%{release}\n", aspec) -+ if not opts.new and calculate_release_number and uses_rpmautospec_autorelease: -+ # Rpmautospec doesn’t see a change yet so the calculated number will be one too low. -+ release_number = calculate_release_number(aspec) + 1 -+ cmd += ("--define", "_rpmautospec_release_number {}".format(release_number)) - popen = subprocess.Popen(cmd, stdout=subprocess.PIPE) - evr = popen.communicate()[0].split(b"\n")[0] - if sys.version_info[0] > 2: -diff --git a/rpmdev-spectool b/rpmdev-spectool -index 1d57256..2c06ef8 100755 ---- a/rpmdev-spectool -+++ b/rpmdev-spectool -@@ -25,7 +25,9 @@ import os - import tempfile - import time - from collections import OrderedDict --from typing import Optional -+from typing import Any, Callable, Dict, List, Optional -+from typing import OrderedDict as OrderedDictT -+from typing import Tuple - from urllib.parse import urlparse - - import progressbar -@@ -46,13 +48,13 @@ anything about missing sources or patches). The plan is to catch errors like - this in spectool itself and warn the user about it in the future.""" - - --def complete_spec_paths(prefix, **kwargs): -+def complete_spec_paths(prefix, **kwargs) -> List[str]: - import glob - - return glob.glob(prefix + "*.spec") - - --def get_args() -> dict: -+def get_args() -> Dict[str, Any]: - try: - import argcomplete - except ImportError: -@@ -191,6 +193,15 @@ def get_args() -> dict: - help="output debug info, don't clean up when done", - ) - -+ misc.add_argument( -+ "--http-header", -+ "-H", -+ action="append", -+ dest="headers", -+ default=[], -+ help="Optionally add custom headers", -+ ) -+ - specfile = parser.add_argument("specfile", action="store") - - if argcomplete: -@@ -202,17 +213,17 @@ def get_args() -> dict: - return vars(parser.parse_args()) - - --def split_numbers(args: str) -> list: -+def split_numbers(args: str) -> List[str]: - return args.split(",") - - - # simple streamed file download progress tracker inspired by requests_download - class ProgressTracker: -- def __init__(self, progress_bar: progressbar.ProgressBar): -+ def __init__(self, progress_bar: progressbar.ProgressBar) -> None: - self.progress_bar = progress_bar - self.received = 0 - -- def on_start(self, response: requests.Response): -+ def on_start(self, response: requests.Response) -> None: - max_value = None - - if "content-length" in response.headers: -@@ -221,7 +232,7 @@ class ProgressTracker: - self.progress_bar.start(max_value=max_value) - self.received = 0 - -- def on_chunk(self, chunk: bytes): -+ def on_chunk(self, chunk: bytes) -> None: - self.received += len(chunk) - - try: -@@ -229,12 +240,13 @@ class ProgressTracker: - except ValueError: - pass - -- def on_finish(self): -+ def on_finish(self) -> None: - self.progress_bar.finish() - - - # simple streamed file download implementation inspired by requests_download --def download(url, target, headers=None, tracker: Optional[ProgressTracker] = None): -+def download(url, target, headers=None, -+ tracker: Optional[ProgressTracker] = None) -> None: - if headers is None: - headers = {} - -@@ -263,7 +275,8 @@ def download(url, target, headers=None, tracker: Optional[ProgressTracker] = Non - tracker.on_finish() - - --def get_file(url: str, path: str, force: bool) -> bool: -+def get_file(url: str, path: str, force: bool, -+ headers: Optional[Dict[str, str]] = None) -> bool: - if os.path.exists(path): - if force: - os.remove(path) -@@ -272,13 +285,13 @@ def get_file(url: str, path: str, force: bool) -> bool: - return False - - progress = ProgressTracker(progressbar.DataTransferBar()) -- download(url, path, tracker=progress) -+ download(url, path, tracker=progress, headers=headers) - - return True - - - class Spec: -- def __init__(self, path: str): -+ def __init__(self, path: str) -> None: - self.path = path - self.spec = rpm.spec(self.path) - -@@ -289,10 +302,10 @@ class Spec: - self.files = list(self.spec.sources) - self.files.sort(key=(lambda file: file[1])) - -- self._sources = None -- self._patches = None -+ self._sources: Optional[OrderedDictT[str, str]] = None -+ self._patches: Optional[OrderedDictT[str, str]] = None - -- def _files(self, typ) -> OrderedDict: -+ def _files(self, typ: int) -> OrderedDictT[str, str]: - # file is a 3-tuple of (path, number, type) - # type 1: source file - # type 2: patch file -@@ -305,41 +318,42 @@ class Spec: - return files - - @property -- def sources(self) -> OrderedDict: -+ def sources(self) -> OrderedDictT[str, str]: - if not self._sources: - self._sources = self._files(1) - - return self._sources - - @property -- def patches(self) -> OrderedDict: -+ def patches(self) -> OrderedDictT[str, str]: - if not self._patches: - self._patches = self._files(2) - - return self._patches - -- def print_source(self, number: int, value: str = None): -+ def print_source(self, number: str, value: Optional[str] = None) -> None: - if not value: - value = self.sources[number] - - print("Source{}: {}".format(number, value)) - -- def print_patch(self, number: int, value: str = None): -+ def print_patch(self, number: str, value: Optional[str] = None) -> None: - if not value: - value = self.patches[number] - - print("Patch{}: {}".format(number, value)) - -- def list_sources(self): -+ def list_sources(self) -> None: - for (number, value) in self.sources.items(): - self.print_source(number, value) - -- def list_patches(self): -+ def list_patches(self) -> None: - for (number, value) in self.patches.items(): - self.print_patch(number, value) - - @staticmethod -- def _get_file(value: str, directory: str, force: bool, dry: bool): -+ def _get_file(value: str, directory: str, force: bool, dry: bool, -+ headers: Optional[Dict[str, str]] = None) -> None: - parsed = urlparse(value) - - if "#" not in value: -@@ -354,19 +368,23 @@ class Spec: - return - - if parsed.scheme: -+ if dry: -+ print("Would have downloaded: {}".format(value)) -+ return None - if not dry: - path = os.path.join(directory, basename) - - try: - print("Downloading: {}".format(value)) - os.makedirs(directory, exist_ok=True) -- really = get_file(value, path, force) -+ really = get_file(value, path, force, headers=headers) - if really: - print("Downloaded: {}".format(basename)) - - except IOError as e: - print("Download failed:") - print(e) -+ raise e - - except KeyboardInterrupt: - if os.path.isfile(path): -@@ -376,28 +394,53 @@ class Spec: - print("Download cancelled.") - raise - -- else: -- print("Would have downloaded: {}".format(value)) -- -- def get_source(self, number: int, directory: str, force: bool, dry: bool, value: str = None): -+ def get_source(self, number: str, directory: str, force: bool, dry: bool, -+ value: Optional[str] = None, -+ headers: Optional[Dict[str, str]] = None) -> bool: - if not value: - value = self.sources[number] - -- self._get_file(value, directory, force, dry) -+ try: -+ self._get_file(value, directory, force, dry, headers=headers) -+ return False -+ -+ except IOError: -+ return True - -- def get_patch(self, number: int, directory: str, force: bool, dry: bool, value: str = None): -+ def get_patch(self, number: str, directory: str, force: bool, dry: bool, -+ value: Optional[str] = None, -+ headers: Optional[Dict[str, str]] = None) -> bool: - if not value: - value = self.patches[number] - -- self._get_file(value, directory, force, dry) -+ try: -+ self._get_file(value, directory, force, dry, headers=headers) -+ return False -+ -+ except IOError: -+ return True -+ -+ def get_sources(self, directory: str, force: bool, dry: bool, -+ headers: Optional[Dict[str, str]] = None): -+ failure = False - -- def get_sources(self, directory: str, force: bool, dry: bool): - for number, value in self.sources.items(): -- self.get_source(number, directory, force, dry, value) -+ if self.get_source(number, directory, force, dry, value, -+ headers=headers): -+ failure = True -+ -+ return failure -+ -+ def get_patches(self, directory: str, force: bool, dry: bool, -+ headers: Optional[Dict[str, str]] = None): -+ failure = False - -- def get_patches(self, directory: str, force: bool, dry: bool): - for number, value in self.patches.items(): -- self.get_patch(number, directory, force, dry, value) -+ if self.get_patch(number, directory, force, dry, value, -+ headers=headers): -+ failure = True -+ -+ return failure - - - def main() -> int: -@@ -484,6 +527,10 @@ def main() -> int: - if args["get_files"]: - force = args["force"] - dry = args["dry_run"] -+ headers = {} -+ for header in args["headers"]: -+ k, sep, v = header.partition(':') -+ headers[k.strip()] = v.strip() - - if args["directory"] and args["sourcedir"]: - print("Conflicting requests for download directory.") -@@ -496,18 +543,21 @@ def main() -> int: - else: - directory = os.getcwd() - -+ tasks: List[Tuple[Callable[..., bool], Tuple[Any, ...]]] = [] -+ - if args["source"]: - numbers = split_numbers(args["source"]) - - for number in numbers: - if number not in spec.sources.keys(): -- print("No patch with number '{}' found.".format(number)) -+ print("No source with number '{}' found.".format(number)) - continue - -- spec.get_source(number, directory, force, dry) -+ tasks.append((spec.get_source, (number, directory, force, dry, -+ headers))) - - elif args["sources"] and not args["patch"]: -- spec.get_sources(directory, force, dry) -+ tasks.append((spec.get_sources, (directory, force, dry, headers))) - - if args["patch"]: - numbers = split_numbers(args["patch"]) -@@ -517,10 +567,22 @@ def main() -> int: - print("No patch with number '{}' found.".format(number)) - continue - -- spec.get_patch(number, directory, force, dry) -+ tasks.append((spec.get_patch, (number, directory, force, dry, -+ headers))) - - elif args["patches"] and not args["source"]: -- spec.get_patches(directory, force, dry) -+ tasks.append((spec.get_patches, (directory, force, dry, headers))) -+ -+ failure = False -+ -+ for task, fargs in tasks: -+ fail = task(*fargs) -+ -+ if fail: -+ failure = True -+ -+ if failure: -+ return 1 - - return 0 - -diff --git a/spectemplate-cmake.spec b/spectemplate-cmake.spec -new file mode 100644 -index 0000000..0cdcbb8 ---- /dev/null -+++ b/spectemplate-cmake.spec -@@ -0,0 +1,38 @@ -+Name: -+Version: -+Release: 1%{?dist} -+Summary: -+ -+License: -+URL: -+Source0: -+ -+BuildRequires: cmake -+ -+%description -+%{summary}. -+ -+ -+%prep -+%autosetup -q -+ -+ -+%build -+%cmake -+%cmake_build -+ -+ -+%install -+%cmake_install -+ -+ -+%check -+%ctest -+ -+ -+%files -+%license add-license-file-here -+%doc add-docs-here -+ -+ -+%changelog -diff --git a/spectemplate-pyproject.spec b/spectemplate-pyproject.spec -new file mode 100644 -index 0000000..15d5a65 ---- /dev/null -+++ b/spectemplate-pyproject.spec -@@ -0,0 +1,60 @@ -+Name: python-... -+Version: ... -+Release: 1%{?dist} -+Summary: ... -+ -+License: ... -+URL: https://... -+# use a source from git forge or PyPI: -+Source: %{url}/archive/v%{version}/...-%{version}.tar.gz / %{pypi_source ...} -+ -+# for pure Python packages: -+BuildArch: noarch -+# for packages with extension modules: -+BuildRequires: gcc -+ -+BuildRequires: python3-devel -+ -+%global _description %{expand: -+...} -+ -+%description %_description -+ -+%package -n python3-... -+Summary: %{summary} -+ -+%description -n python3-... %_description -+ -+ -+%prep -+%autosetup -p1 -n ...-%{version} -+ -+ -+%generate_buildrequires -+# use the appropriate flags to get all test dependencies: -+%pyproject_buildrequires -x... / -t -+ -+ -+%build -+%pyproject_wheel -+ -+ -+%install -+%pyproject_install -+# list the installed top-level Python module names: -+%pyproject_save_files ... -+ -+ -+%check -+# testing the package is mandatory, at least somehow: -+%tox / %pytest / %pyproject_check_import ... -+ -+ -+%files -n python3-... -f %{pyproject_files} -+%doc README.* -+# only add LICENSE / COPYING if not included in %%{pyproject_files} -+%license LICENSE / COPYING -+%{_bindir}/... -+ -+ -+%changelog diff --git a/progressbar.py b/progressbar.py deleted file mode 100644 index c822e29..0000000 --- a/progressbar.py +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/python3 -# -*- coding: utf-8 -*- -# -# A simple text-based progress bar, compatible with the basic API of: -# https://github.com/WoLpH/python-progressbar -# -# Copyright (C) 2021 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program 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 General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, -# USA. - - -import shutil -import sys -import time - - -class ProgressBar: - FORMAT = '{value:>10} / {max_value:<10} [{bars}]' - BARS = '= ' - SPINLEN = 5 - - def __init__(self, stream=sys.stderr, max_width=80, fps=10): - self._stream = stream - self._max_width = max_width - self._min_delay = 1 / fps - - @staticmethod - def _format_value(value): - raise NotImplementedError() - - def start(self, max_value): - self._value = 0 - self._max_value = max_value or 0 - self._status = dict() - self._spinner = 0 - self._timestamp = 0 - self.update(0) - - def update(self, value): - self._value = value - if value > self._max_value: - self._max_value = 0 - - ts = time.time() - if (ts - self._timestamp) < self._min_delay: - return - self._timestamp = ts - - status = {'value': self._format_value(value), - 'max_value': self._format_value(self._max_value) \ - if self._max_value else '???', - 'bars': ''} - - termw = min(shutil.get_terminal_size()[0], self._max_width) - nbars = max(termw - len(self.FORMAT.format(**status)), 0) - nfill = nskip = 0 - - if self._max_value: - nfill = round(nbars * value / self._max_value) - elif nbars > self.SPINLEN: - nfill = self.SPINLEN - nskip = self._spinner % (nbars - self.SPINLEN) - self._spinner = nskip + 1 - - status['bars'] = self.BARS[1] * nskip + \ - self.BARS[0] * nfill + \ - self.BARS[1] * (nbars - nfill - nskip) - - if status == self._status: - return - self._status = status - - self._stream.write('\r') - self._stream.write(self.FORMAT.format(**self._status)) - self._stream.flush() - - def finish(self): - self._max_value = self._value - self._timestamp = 0 # Force an update - self.update(self._value) - - self._stream.write('\n') - self._stream.flush() - - -class DataTransferBar(ProgressBar): - @staticmethod - def _format_value(value): - symbols = ' KMGTPEZY' - depth = 0 - max_depth = len(symbols) - 1 - unit = 1024.0 - - # 1023.95 should be formatted as 1.0 (not 1024.0) - # More info: https://stackoverflow.com/a/63839503 - thres = unit - 0.05 - - while value >= thres and depth < max_depth: - depth += 1 - value /= unit - symbol = ' %siB' % symbols[depth] if depth > 0 else '' - - return '%.1f%s' % (value, symbol) - - -if __name__ == '__main__': - # Show a dummy bar for debugging purposes - - bar = DataTransferBar() - size = 50*1024*1024 - chunk = 1024*1234 - recvd = 0 - - bar.start(size) - while recvd < (size - chunk): - recvd += chunk - bar.update(recvd) - time.sleep(0.1) - bar.update(size) - bar.finish() diff --git a/rpmdevtools-9.5-no_qa_robot.patch b/rpmdevtools-9.5-no_qa_robot.patch deleted file mode 100644 index 1e17765..0000000 --- a/rpmdevtools-9.5-no_qa_robot.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up rpmdevtools-9.5/Makefile.am.orig rpmdevtools-9.5/Makefile.am ---- rpmdevtools-9.5/Makefile.am.orig 2021-12-10 11:37:29.889405680 +0100 -+++ rpmdevtools-9.5/Makefile.am 2021-12-10 11:37:34.637495820 +0100 -@@ -1,4 +1,4 @@ --SUBDIRS = emacs qa-robot -+SUBDIRS = emacs - - pkgsysconfdir = $(sysconfdir)/rpmdevtools - bashcompdir = @bashcompdir@ -diff -up rpmdevtools-9.5/Makefile.in.orig rpmdevtools-9.5/Makefile.in ---- rpmdevtools-9.5/Makefile.in.orig 2021-12-10 11:37:31.073428158 +0100 -+++ rpmdevtools-9.5/Makefile.in 2021-12-10 11:37:38.304565439 +0100 -@@ -317,7 +317,7 @@ target_alias = @target_alias@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = emacs qa-robot -+SUBDIRS = emacs - pkgsysconfdir = $(sysconfdir)/rpmdevtools - bin_SCRIPTS = rpmdev-newinit rpmdev-newspec rpmdev-rmdevelrpms - dist_bin_SCRIPTS = rpmdev-checksig rpmdev-diff rpmdev-extract rpmdev-md5 \ diff --git a/rpmdevtools.spec b/rpmdevtools.spec index 86879d9..e0c632b 100644 --- a/rpmdevtools.spec +++ b/rpmdevtools.spec @@ -1,63 +1,58 @@ +%define emacs_sitestart_d %{_datadir}/emacs/site-lisp/site-start.d +%define xemacs_sitestart_d %{_datadir}/xemacs/site-packages/lisp/site-start.d +%define spectool_version 1.0.9 + Name: rpmdevtools -Version: 9.6 -Release: 13%{?dist} +Version: 6.4 +Release: 1%{?dist} Summary: RPM Development Tools -# rpmdev-md5 and rpmdev-setuptree are GPL-2.0-only, -# everything else is GPL-2.0-or-later. -License: GPL-2.0-or-later AND GPL-2.0-only -URL: https://pagure.io/rpmdevtools -Source0: https://releases.pagure.org/rpmdevtools/%{name}-%{version}.tar.xz -Source1: progressbar.py - -# Fedora-specific downstream patches -## Force legacy datestamp by default until rhbz#1715412 is resolved -Patch1001: 0001-Force-legacy-datestamp-while-RHBZ-1715412-is-still-a.patch - -# RHEL-specific downstream patches -## Remove fakeroot dependency (rhbz#1905465) -Patch2001: rpmdevtools-9.5-no_qa_robot.patch +Group: Development/Tools +# rpmdev-setuptree is GPLv2, everything else GPLv2+ +License: GPLv2+ and GPLv2 +URL: http://fedoraproject.org/ +Source0: %{name}-%{version}.tar.bz2 +Source1: http://people.redhat.com/nphilipp/spectool/spectool-%{spectool_version}.tar.bz2 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch -# help2man, pod2man, *python for creating man pages -BuildRequires: make -BuildRequires: help2man -BuildRequires: %{_bindir}/pod2man -BuildRequires: perl-generators -# python dependencies for spectool -# spectool is executed for creating man page -BuildRequires: python3-devel -%if ! 0%{?rhel} -BuildRequires: python3dist(progressbar2) -%endif -BuildRequires: python3dist(requests) -BuildRequires: python3dist(rpm) -# emacs-common >= 1:22.3-3 for macros.emacs -BuildRequires: emacs-common >= 1:22.3-3 -BuildRequires: bash-completion -Requires: curl +Provides: spectool = %{spectool_version} +Obsoletes: fedora-rpmdevtools < 5.0 +# Minimal RPM build requirements +Requires: bash +Requires: bzip2 +Requires: coreutils +Requires: cpio Requires: diffutils -%if ! 0%{?rhel} -Requires: fakeroot -%endif -Requires: file Requires: findutils Requires: gawk +Requires: gcc +Requires: gcc-c++ Requires: grep -Requires: rpm-build >= 4.4.2.3 -Requires: python3dist(argcomplete) -%if ! 0%{?rhel} -Requires: python3dist(progressbar2) -%endif -Requires: python3dist(requests) -Requires: python3dist(rpm) +Requires: gzip +Requires: info +Requires: make +Requires: patch +Requires: redhat-release +Requires: redhat-rpm-config +Requires: rpm-build >= 4.4.2.1 Requires: sed -Requires: emacs-filesystem -# Optionally support rpmautospec -Recommends: python%{python3_version}dist(rpmautospec) +Requires: tar +Requires: unzip +Requires: util-linux +Requires: which +# Additionally required for tool operations +#Requires: cpio +Requires: fakeroot +Requires: file +Requires: perl +Requires: python +Requires: rpm-python +#Requires: sed +Requires: wget %description -This package contains scripts and Emacs support files to aid in +This package contains scripts and (X)Emacs support files to aid in development of RPM packages. rpmdev-setuptree Create RPM build tree within user's home directory rpmdev-diff Diff contents of two archives @@ -65,583 +60,218 @@ rpmdev-newspec Creates new .spec from template rpmdev-rmdevelrpms Find (and optionally remove) "development" RPMs rpmdev-checksig Check package signatures using alternate RPM keyring rpminfo Print information about executables and libraries -rpmdev-md5/sha* Display checksums of all files in an archive file +rpmdev-md5 Display the md5sum of all files in an RPM rpmdev-vercmp RPM version comparison checker -rpmdev-spectool Expand and download sources and patches in specfiles +spectool Expand and download sources and patches in specfiles rpmdev-wipetree Erase all files within dirs created by rpmdev-setuptree rpmdev-extract Extract various archives, "tar xvf" style -rpmdev-bumpspec Bump revision in specfile ...and many more. %prep -%autosetup -N -%autopatch -p1 %{!?rhel:-M2000} -grep -lF "%{_bindir}/python " * \ -| xargs sed -i -e "s|%{_bindir}/python |%{_bindir}/python3 |" - -%if 0%{?rhel} -# Let spectool find the bundled progressbar2 implementation -cp %{SOURCE1} . -sed -i \ -'s|^\(import progressbar\)$|'\ -'import sys\n'\ -'sys.path.insert(1, "%{_datadir}/rpmdevtools")\n'\ -'\1\nsys.path.pop(1)|' \ -rpmdev-spectool -%endif +%setup -q -a 1 +cp -p spectool*/README README.spectool %build %configure --libdir=%{_prefix}/lib -%make_build +make %{?_smp_mflags} %install -%make_install +rm -rf $RPM_BUILD_ROOT -echo %%{_datadir}/bash-completion > %{name}.files -[ -d %{buildroot}%{_sysconfdir}/bash_completion.d ] && \ -echo %%{_sysconfdir}/bash_completion.d > %{name}.files +make install DESTDIR=$RPM_BUILD_ROOT -for dir in %{_emacs_sitestartdir} ; do - install -dm 755 %{buildroot}$dir - ln -s %{_datadir}/rpmdevtools/rpmdev-init.el %{buildroot}$dir - touch %{buildroot}$dir/rpmdev-init.elc +install -pm 755 spectool*/spectool $RPM_BUILD_ROOT%{_bindir} + +for dir in %{emacs_sitestart_d} %{xemacs_sitestart_d} ; do + install -dm 755 $RPM_BUILD_ROOT$dir + ln -s %{_datadir}/rpmdevtools/rpmdev-init.el $RPM_BUILD_ROOT$dir + touch $RPM_BUILD_ROOT$dir/rpmdev-init.elc done -# For backwards compatibility -ln -sr %{buildroot}%{_bindir}/rpmdev-spectool %{buildroot}%{_bindir}/spectool -echo ".so man1/rpmdev-spectool.1" > %{buildroot}%{_mandir}/man1/spectool.1 -%if 0%{?rhel} -cp %{SOURCE1} %{buildroot}%{_datadir}/rpmdevtools/ -%py_byte_compile %{python3} %{buildroot}%{_datadir}/rpmdevtools/ -%endif +%clean +rm -rf $RPM_BUILD_ROOT -%files -f %{name}.files -%license COPYING -%doc NEWS +%triggerin -- emacs-common +[ -d %{emacs_sitestart_d} ] && \ + ln -sf %{_datadir}/rpmdevtools/rpmdev-init.el %{emacs_sitestart_d} || : + +%triggerin -- xemacs-common +[ -d %{xemacs_sitestart_d} ] && \ + ln -sf %{_datadir}/rpmdevtools/rpmdev-init.el %{xemacs_sitestart_d} || : + +%triggerun -- emacs-common +[ $2 -eq 0 ] && rm -f %{emacs_sitestart_d}/rpmdev-init.el* || : + +%triggerun -- xemacs-common +[ $2 -eq 0 ] && rm -f %{xemacs_sitestart_d}/rpmdev-init.el* || : + + +%files +%defattr(-,root,root,-) +%doc COPYING README* %config(noreplace) %{_sysconfdir}/rpmdevtools/ %{_datadir}/rpmdevtools/ -%{_bindir}/* -%{_emacs_sitestartdir}/rpmdev-init.el -%ghost %{_emacs_sitestartdir}/rpmdev-init.elc -%{_mandir}/man[18]/*.[18]* +%{_bindir}/rpm* +%{_bindir}/spectool +%ghost %{_datadir}/*emacs +%{_mandir}/man[18]/rpm*.[18]* %changelog -* Sat Aug 09 2025 Fabio Valentini - 9.6-13 -- Revert to last stable release - -* Mon Aug 04 2025 Mark Wielaard - 9.6-12.git83b35ac -- Add BuildRequires for autoreconf, fixes rhbz#2385580 - -* Fri Jul 25 2025 Fedora Release Engineering - 9.6-11.git83b35ac -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 23 2025 Jens Petersen - 9.6-10.git83b35ac -- update to latest git 83b35ac changes - -* Sat Jan 18 2025 Fedora Release Engineering - 9.6-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Jul 19 2024 Fedora Release Engineering - 9.6-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jan 26 2024 Fedora Release Engineering - 9.6-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 9.6-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Aug 25 2023 Petr Pisar - 9.6-5 -- Convert a license tag to SPDX format - -* Fri Jul 21 2023 Fedora Release Engineering - 9.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jan 20 2023 Fedora Release Engineering - 9.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 9.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Feb 04 2022 Neal Gompa - 9.6-1 -- Update to 9.6 - -* Fri Jan 21 2022 Fedora Release Engineering - 9.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Nov 9 2021 Jerry James - 9.5-3 -- Drop XEmacs support in F36 and later - -* Fri Jul 23 2021 Fedora Release Engineering - 9.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sat Jul 17 2021 Neal Gompa - 9.5-1 -- Update to 9.5 - -* Sat Jul 17 2021 Neal Gompa - 9.4-1 -- Update to 9.4 - -* Mon Feb 15 2021 Miro Hrončok - 9.3-5 -- Require any Python version of the Python packages - -* Wed Jan 27 2021 Fedora Release Engineering - 9.3-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jan 25 2021 Miro Hrončok - 9.3-3 -- spectool: Download text as text - -* Fri Jan 22 2021 Michal Domonkos - 9.3-2 -- Replace requests-download dependency with requests - -* Wed Jan 20 2021 Neal Gompa - 9.3-1 -- Update to 9.3 -- Force legacy datestamp by default until rhbz#1715412 is resolved - -* Mon Oct 05 2020 Neal Gompa - 9.2-1 -- Update to 9.2 - -* Thu Aug 20 2020 Neal Gompa - 9.1-1 -- Update to 9.1 - -* Wed Jul 29 2020 Fedora Release Engineering - 9.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jul 16 2020 Neal Gompa - 9.0-2 -- Backport fix for python spec template - -* Tue Jul 14 2020 Neal Gompa - 9.0-1 -- Update to 9.0 - -* Wed Mar 25 2020 Jitka Plesnikova - 8.10-11 -- Add perl dependencies needed for build - -* Thu Jan 30 2020 Fedora Release Engineering - 8.10-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jul 26 2019 Fedora Release Engineering - 8.10-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sat Feb 02 2019 Fedora Release Engineering - 8.10-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Nov 28 2018 Neal Gompa - 8.10-7 -- Fix regex substitution issues with Python 3.7 (rhbz#1651954) - -* Sun Sep 16 2018 Neal Gompa - 8.10-6 -- Fix regex related deprecation warnings (rhbz#1598089) - -* Sat Jul 14 2018 Fedora Release Engineering - 8.10-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri Feb 09 2018 Fedora Release Engineering - 8.10-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 8.10-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 8.10-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Sat Jan 14 2017 Ville Skyttä - 8.10-1 -- Update to 8.10 - -* Mon Dec 19 2016 Miro Hrončok - 8.9-2 -- Rebuild for Python 3.6 - -* Sat Jun 25 2016 Ville Skyttä - 8.9-1 -- Update to 8.9 - -* Sat Jun 25 2016 Ville Skyttä - 8.8-1 -- Update to 8.8 - -* Fri Jun 24 2016 Petr Písař -- Add new mandatory perl build deps - -* Thu Jun 23 2016 Ville Skyttä - 8.7-1 -- Update to 8.7 -- Specfile cleanups - -* Thu Feb 04 2016 Fedora Release Engineering - 8.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jun 5 2015 Ville Skyttä - 8.6-2 -- Use python3 on > F-22 - -* Sun May 10 2015 Ville Skyttä - 8.6-1 -- Update to 8.6 - -* Mon Oct 20 2014 Ville Skyttä - 8.5-1 -- Update to 8.5 -- Mark COPYING as %%license where applicable - -* Sun Jun 08 2014 Fedora Release Engineering - 8.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu Oct 17 2013 Ville Skyttä - 8.4-2 -- Do not require devscripts in any scenario. - -* Mon Oct 7 2013 Ville Skyttä - 8.4-1 -- Update to 8.4. - -* Sun Aug 04 2013 Fedora Release Engineering - 8.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed Jul 17 2013 Petr Pisar - 8.3-4 -- Perl 5.18 rebuild - -* Thu Feb 14 2013 Fedora Release Engineering - 8.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Tue Oct 16 2012 Thomas Woerner - 8.3-2 -- xemacs is not available on RHEL (RHBZ#866841) - -* Sun Sep 2 2012 Ville Skyttä - 8.3-1 -- Update to 8.3. -- Drop specfile constructs no longer needed with Fedora's rpm. - -* Sat Jul 21 2012 Fedora Release Engineering - 8.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jan 14 2012 Fedora Release Engineering - 8.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Sat Nov 12 2011 Ville Skyttä - 8.2-1 -- Update to 8.2. - -* Tue Apr 26 2011 Ville Skyttä - 8.1-1 -- Update to 8.1. - -* Tue Mar 1 2011 Ville Skyttä - 8.0-3 -- Require xemacs-filesystem on F-15+ (#672093). - -* Wed Feb 09 2011 Fedora Release Engineering - 8.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Sun Feb 6 2011 Ville Skyttä - 8.0-1 -- Update to 8.0, fixes #519061 and #657594. - -* Mon Sep 27 2010 Ville Skyttä - 7.10-1 -- Update to 7.10, fixes #595135 and #619867. -- Patch spectool to work with specfiles containing Icon or BuildArchitectures - (#637000). - -* Thu May 20 2010 Ville Skyttä - 7.9-1 -- Update to 7.9, fixes #588313 and #589705. - -* Fri Apr 16 2010 Ville Skyttä - 7.8-2 -- Require %%{_bindir}/man instead of man (#582932). - -* Tue Feb 16 2010 Ville Skyttä - 7.8-1 -- Update to 7.8, fixes #562316. - -* Tue Feb 2 2010 Ville Skyttä - 7.7-1 -- Update to 7.7, fixes #558263. - -* Mon Dec 7 2009 Ville Skyttä - 7.6-1 -- Update to 7.6, fixes #528907. - -* Thu Sep 17 2009 Ville Skyttä - 7.5-1 -- Update to 7.5, fixes #502403. - -* Fri Aug 21 2009 Ville Skyttä - 7.4-1 -- Update to 7.4, fixes #215927 and #466353. -- Patch spectool to make -s and -p to work as documented (Todd Zullinger). - -* Sun Jul 26 2009 Fedora Release Engineering - 7.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Mon May 25 2009 Ville Skyttä - 7.3-1 -- Release 7.3. - -* Sat May 23 2009 Ville Skyttä -- Add rpmdev-packager - script for getting rpm packager info. -- Use rpmdev-packager in rpmdev-bumpspec and rpmdev-init.el. -- Fix rpmdev-extract MIME type comparisons with file(1) output containing - parameters. - -* Wed May 20 2009 Ville Skyttä - 7.2-1 -- Release 7.2. - -* Sun May 3 2009 Ville Skyttä -- Add dummy spec template for ad-hoc testing. - -* Sat May 2 2009 Ville Skyttä -- Improve newspec/newinit when only "-o foo" argument is given (#498588, - thanks to Edwin ten Brink). -- Try to get packager mail address for *Emacs rpm-spec-mode from ~/.fedora.cert - if rpm-spec-user-mail-address is not set. -- Add xz support to rpmdev-extract. - -* Sat Apr 18 2009 Ville Skyttä -- Make bumpspec's use of "head" POSIX compliant. - -* Thu Apr 16 2009 Ville Skyttä -- Add rpmdev-newinit for easier access to the init script template, move the - template to %%{_sysconfdir}/rpmdevtools, improve reload action example. - -* Tue Apr 7 2009 Ville Skyttä -- Speed up rpmls bash completion. - -* Sat Apr 4 2009 Ville Skyttä - 7.1-1 -- 7.1. -- Make rpmdev-md5 and friends work on non-srpm package files too. - -* Sun Mar 15 2009 Ville Skyttä -- Add bash completion. - -* Mon Mar 9 2009 Ville Skyttä -- Add query format option to rmdevelrpms, sort output by NEVRA. - -* Sun Feb 22 2009 Ville Skyttä -- Use %%global instead of %%define in spec templates. -- Handle %%global in addition to %%define in rpmdev-bumpspec. - -* Mon Jan 26 2009 Ville Skyttä -- Add result dependent exit statuses to rpmdev-vercmp. - -* Fri Dec 26 2008 Ville Skyttä -- Add minimum version to rpm-python dependency (for rpmdev-bumpspec). - -* Fri Dec 26 2008 Ville Skyttä - 7.0-1 -- 7.0. -- Drop fonts spec template, adapt to new ones from Fedora fonts SIG (#477055). -- Add man page for rpmdev-newspec. - -* Tue Dec 16 2008 Ville Skyttä -- Add imake and intltool to internal list of devel packages in rmdevelrpms. - -* Sat Dec 13 2008 Ville Skyttä -- Add rpmdev-sha*/*sum companions to rpmdev-md5 (ticket #7). - -* Wed Nov 26 2008 Ville Skyttä -- Add vamp-plugin-sdk to internal list of non-devel packages in rmdevelrpms - (#472641, Michael Schwendt). - -* Thu Nov 20 2008 Ville Skyttä -- Drop "minimal buildroot" dependencies. -- Drop fedora-rpmdevtools Obsoletes. - -* Mon Oct 13 2008 Ville Skyttä -- Show available types in rpmdev-newspec --help (ticket #6, Todd Zullinger). - -* Fri Sep 26 2008 Ville Skyttä -- Add -r/--rightmost option to rpmdev-bumpspec (ticket #1, Thorsten Leemhuis). -- Add %%packager from rpm config to the set of defaults for rpmdev-bumpspec's - user string. - -* Thu Sep 25 2008 Ville Skyttä -- Bring rpmdev-bumpspec copyright holder closer to truth (Michael Schwendt). - -* Mon Sep 22 2008 Ville Skyttä -- Switch to lzma compressed tarball. - -* Sun Sep 7 2008 Ville Skyttä -- Improve arch specific %%files in perl spec template (#461177, Chris Weyl). - -* Sun Aug 3 2008 Ville Skyttä - 6.7-1 -- 6.7. -- Make rpmdev-diff, rpmdev-md5 and rpminfo honor TMPDIR. - -* Sat Apr 26 2008 Ville Skyttä -- Make rpmls work with URLs. - -* Sun Apr 20 2008 Ville Skyttä -- Include rpm arch in dir names created by rpmdev-extract (#443266). - -* Fri Apr 18 2008 Ville Skyttä -- Remove duplicate "reload" from case block in init script template. -- Fix exit status of "reload" in case service is not running in init - script template (#442993). - -* Thu Mar 27 2008 Ville Skyttä - 6.6-1 -- Fix man page generation. - -* Wed Mar 26 2008 Ville Skyttä - 6.5-1 -- 6.5. - -* Sun Mar 23 2008 Ville Skyttä -- Generate man pages at build time. - -* Sat Mar 22 2008 Ville Skyttä -- Remove libgcj-devel and zlib-devel from rmdevelrpms' internal exclusion - list, they're not essential on non-devel systems any more. - -* Mon Mar 17 2008 Ville Skyttä -- Include ocaml spec template. - -* Tue Mar 11 2008 Ville Skyttä -- Include Michael Schwendt's bumpspecfile.py (as rpmdev-bumpspec). - -* Tue Feb 12 2008 Ville Skyttä -- Sync with qa-robot upstream. -- Update spectool to 1.0.10. - -* Sun Feb 3 2008 Ville Skyttä -- Add support for 7-zip, lzma and lzo in rpmdev-extract. - -* Fri Feb 1 2008 Ville Skyttä -- Add ';;' to the init script template's reload action. - -* Sat Dec 8 2007 Ville Skyttä -- Add fonts spec template from the Fedora Fonts SIG (#407781). -- Add option to use macro style instead of shell style variables to newspec. -- Prefer ~/.config/rpmdevtools/rmdevelrpms.conf over ~/.rmdevelrpmsrc in - rmdevelrpms. - * Fri Oct 12 2007 Lubomir Kundrak - 6.4-1 - Import the previous fix into CVS to resync, bump version * Fri Oct 12 2007 Lubomir Kundrak - 6.3-1 - Fix paths in qa-robot tools -* Sat Sep 8 2007 Ville Skyttä - 6.2-1 +* Sat Sep 8 2007 Ville Skyttä - 6.2-1 - Sync deps with Fedora's new "assumed present in buildroots" packages list. -* Thu Sep 6 2007 Ville Skyttä +* Thu Sep 6 2007 Ville Skyttä - Init script template cleanups. -* Tue Aug 28 2007 Ville Skyttä +* Tue Aug 28 2007 Ville Skyttä - Update rpminfo to version 2004-07-07-02. -* Fri Aug 10 2007 Ville Skyttä - 6.1-1 +* Fri Aug 10 2007 Ville Skyttä - 6.1-1 - Sync COPYING with http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt -* Mon Aug 6 2007 Ville Skyttä +* Mon Aug 6 2007 Ville Skyttä - Work around #250990 in rpmls and rpmdev-extract. - Clarify copyright info of rpmdev-* and rpmls. -* Sat Jul 7 2007 Ville Skyttä +* Sat Jul 7 2007 Ville Skyttä - Fix Epoch handling in the 2-arg form of rpmdev-vercmp with yum < 3.1.2. - The long form of the list option in rmdevelrpms is --list-only, not --list. -* Thu Jul 5 2007 Ville Skyttä - 6.0-1 +* Thu Jul 5 2007 Ville Skyttä - 6.0-1 - Remove check-{buildroot,rpaths*}, now included in rpm-build >= 4.4.2.1. - Drop explicit dependency on patch, pulled in by recent rpm-build. - Add cmake and scons to default devel package list in rpmdev-rmdevelrpms. - Add LSB comment block to init script template. -* Wed Jun 27 2007 Ville Skyttä +* Wed Jun 27 2007 Ville Skyttä - Add 2-argument form for comparing EVR strings to rpmdev-vercmp (available only if rpmUtils.miscutils is available). -* Sat Jun 16 2007 Ville Skyttä +* Sat Jun 16 2007 Ville Skyttä - Include rpmsodiff and dependencies (rpmargs, rpmelfsym, rpmfile, rpmpeek, rpmsoname) from ALT Linux's qa-robot package. - Include rpmls (#213778). -* Fri Jun 15 2007 Ville Skyttä +* Fri Jun 15 2007 Ville Skyttä - Update spectool to 1.0.9 (#243731). -* Wed Apr 11 2007 Ville Skyttä +* Wed Apr 11 2007 Ville Skyttä - Add --list-only option to rmdevelrpms (Thorsten Leemhuis). -* Tue Mar 13 2007 Ville Skyttä +* Tue Mar 13 2007 Ville Skyttä - BR perl(ExtUtils::MakeMaker) by default in perl spec template. - Drop deprecated backwards compatibility with fedora-rpmdevtools. - Update URL. -* Wed Nov 8 2006 Ville Skyttä +* Wed Nov 8 2006 Ville Skyttä - Arch-qualify output of matched packages in rmdevelrpms and allow arch-qualified packages in the config file. -* Wed Oct 25 2006 Ville Skyttä - 5.3-1 +* Wed Oct 25 2006 Ville Skyttä - 5.3-1 - Update spectool to 1.0.8, fixes #212108. -* Mon Oct 2 2006 Ville Skyttä - 5.2-1 +* Mon Oct 2 2006 Ville Skyttä - 5.2-1 - Skip *.jar.so.debug in check-buildroot (#208903). - Treat yasm and *-static as devel packages in rmdevelrpms. -* Sat Sep 9 2006 Ville Skyttä - 5.1-1 +* Sat Sep 9 2006 Ville Skyttä - 5.1-1 - Re-add PHP PEAR spec template, more improvements to it (#198706, Christopher Stone, Remi Collet). -* Tue Aug 22 2006 Ville Skyttä - 5.0-2 +* Tue Aug 22 2006 Ville Skyttä - 5.0-2 - Migrate rmdevelrpms config when upgrading from fedora-rpmdevtools. -* Sun Aug 20 2006 Ville Skyttä - 5.0-1 +* Sun Aug 20 2006 Ville Skyttä - 5.0-1 - Re-rename almost everything to rpmdev-*, with backwards compat symlinks. - Don't encourage %%ghost'ing *.pyo in Python spec template, add some comments. - Drop PHP PEAR spec template, it's not ready yet. -* Wed Aug 2 2006 Ville Skyttä +* Wed Aug 2 2006 Ville Skyttä - Treat *-sdk as devel packages in rmdevelrpms (#199909). - Don't assume compface is a devel package in rmdevelrpms. -* Thu Jul 20 2006 Ville Skyttä +* Thu Jul 20 2006 Ville Skyttä - Mark things that are not needed for noarch module packages in the Perl spec template. -* Wed Jul 19 2006 Ville Skyttä +* Wed Jul 19 2006 Ville Skyttä - Move option arguments to "find" before non-option ones in Perl spec template. - Drop python-abi dependency from Python spec template (#189947). -* Tue Jul 18 2006 Ville Skyttä +* Tue Jul 18 2006 Ville Skyttä - Add PHP PEAR spec template (#198706, Christopher Stone). -* Mon Jul 17 2006 Ville Skyttä +* Mon Jul 17 2006 Ville Skyttä - Drop fedora- prefix everywhere, add backcompat symlinks for execubtables. - Move %%{_sysconfdir}/fedora to %%{_sysconfdir}/rpmdevtools and %%{_datadir}/fedora to %%{_datadir}/rpmdevtools. - Move spec templates to %%{_sysconfdir}/rpmdevtools, mark as config. - Bump version to 5.0. -* Sun Jul 16 2006 Ville Skyttä +* Sun Jul 16 2006 Ville Skyttä - Drop fedora-kmodhelper. - Drop fedora-installdevkeys and GPG keys, modify rpmchecksig to use the system rpmdb. -* Sat Jul 15 2006 Ville Skyttä +* Sat Jul 15 2006 Ville Skyttä - Sort rmdevelrpms' output. -* Fri Jul 7 2006 Ville Skyttä +* Fri Jul 7 2006 Ville Skyttä - Improve ruby spec template (#180066, David Lutterkort). -* Mon Jun 5 2006 Ville Skyttä +* Mon Jun 5 2006 Ville Skyttä - Add manual pages for rmdevelrpms, diffarchive and extract. - Trim pre-2005 changelog entries. - Autotoolize source tree. -* Tue May 16 2006 Ville Skyttä - 1.6-1 +* Tue May 16 2006 Ville Skyttä - 1.6-1 - Add spec template for library packages (#185606, Ignacio Vazquez-Abrams). -* Sun Feb 26 2006 Ville Skyttä - 1.5-1 +* Sun Feb 26 2006 Ville Skyttä - 1.5-1 - Improve diffarchive and extract error messages. -* Fri Feb 24 2006 Ville Skyttä +* Fri Feb 24 2006 Ville Skyttä - Update spectool to 1.0.7 (#162253). -* Thu Feb 9 2006 Ville Skyttä +* Thu Feb 9 2006 Ville Skyttä - Add file(1) based archive type detection to fedora-extract. -* Wed Feb 8 2006 Ville Skyttä +* Wed Feb 8 2006 Ville Skyttä - Add "diff file lists only" option to diffarchive. -* Sun Feb 5 2006 Ville Skyttä +* Sun Feb 5 2006 Ville Skyttä - Add Ruby spec template (#180066, Oliver Andrich) and make newrpmspec use it for ruby-*. -* Sat Feb 4 2006 Ville Skyttä - 1.4-2 +* Sat Feb 4 2006 Ville Skyttä - 1.4-2 - Fix rpath checker tests with bash 3.1 (#178636, Enrico Scholz). -* Fri Dec 30 2005 Ville Skyttä - 1.4-1 +* Fri Dec 30 2005 Ville Skyttä - 1.4-1 - Update spectool to 1.0.6 (#176521). -* Wed Dec 28 2005 Ville Skyttä +* Wed Dec 28 2005 Ville Skyttä - Update spectool to 1.0.5 (#162253), require wget for it. - Add disttags to spec templates. -* Thu Oct 27 2005 Ville Skyttä - 1.3-1 +* Thu Oct 27 2005 Ville Skyttä - 1.3-1 - check-rpaths-worker: detect when RPATH references the parent directory of an absolute path (#169298, Enrico Scholz). - Add regression test for check-rpaths* (#169298, Enrico Scholz). - Honor user's indent-tabs-mode setting in fedora-init.el (#170902). -* Fri Oct 7 2005 Ville Skyttä - 1.2-1 +* Fri Oct 7 2005 Ville Skyttä - 1.2-1 - check-buildroot: grep for buildroot as a fixed string, not a regexp. - Update FSF's address in copyright notices. - check-rpaths-worker: allow multiple $ORIGIN paths in an RPATH and allow @@ -652,12 +282,12 @@ cp %{SOURCE1} %{buildroot}%{_datadir}/rpmdevtools/ - Teach fedora-newrpmspec to detect and use different specfile variants. - Use fedora-newrpmspec in fedora-init.el. -* Fri Jul 8 2005 Ville Skyttä - 1.1-1 +* Fri Jul 8 2005 Ville Skyttä - 1.1-1 - Drop more pre-FC2 compat stuff from Perl spec template. - Treat gcc-gfortran as a devel package in rmdevelrpms. - Drop fedora.us GPG key. -* Thu Mar 24 2005 Ville Skyttä - 1.0-1 +* Thu Mar 24 2005 Ville Skyttä - 1.0-1 - Make fedora-diffarchive work better with archives containing dirs without read/execute permissions. - Sync "Epoch: 0" drops with Fedora Extras CVS. @@ -672,11 +302,11 @@ cp %{SOURCE1} %{buildroot}%{_datadir}/rpmdevtools/ - Don't try to remove gcc-java and related packages by default in rmdevelrpms. - Remove "full featured" spec template, convert newrpmspec to use -minimal. -* Sun Feb 6 2005 Ville Skyttä - 0:0.3.1-1 +* Sun Feb 6 2005 Ville Skyttä - 0:0.3.1-1 - Make buildrpmtree and wipebuildtree less dependent on a specific configuration (#147014, Ignacio Vazquez-Abrams). -* Tue Jan 18 2005 Ville Skyttä - 0:0.3.0-1 +* Tue Jan 18 2005 Ville Skyttä - 0:0.3.0-1 - Remove 0.fdr. prefixes and epoch 0's from all spec templates. - Add try-restart action to init script template. - Remove deprecated fedora-diffrpm and fedora-unrpm. diff --git a/sources b/sources index 4bb8a6c..94bcc61 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (rpmdevtools-9.6.tar.xz) = 691fec8944029dbe60cb3eab0200d1201f5aa3dd11cd49e8313ee7c1fe998237217ea9c5ae7b4a70f61f3c998093f23d26266b23f41607ddca3148d5f6b6ae06 +b3563111a44656efd3a2d9b44b830562 spectool-1.0.9.tar.bz2 +52c257170fb8de032196f04859bdee2c rpmdevtools-6.4.tar.bz2