Compare commits

..

3 commits

Author SHA1 Message Date
Fedora Release Engineering
e2c80fd39e dist-git conversion 2010-07-29 11:38:19 +00:00
Bill Nottingham
ccc5b397da Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:29:17 +00:00
Jesse Keating
ba3df849f2 Initialize branch F-8 for rpmdevtools 2007-10-20 10:54:24 +00:00
7 changed files with 126 additions and 1218 deletions

3
.gitignore vendored
View file

@ -1 +1,2 @@
/*.tar.* spectool-1.0.9.tar.bz2
rpmdevtools-6.4.tar.bz2

View file

@ -1,39 +0,0 @@
From 4a4693c842b6da5d66e3a6bdb1eb7914d2402f7f Mon Sep 17 00:00:00 2001
From: Neal Gompa <ngompa13@gmail.com>
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

View file

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

View file

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

View file

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

View file

@ -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 Name: rpmdevtools
Version: 9.6 Version: 6.4
Release: 13%{?dist} Release: 1%{?dist}
Summary: RPM Development Tools Summary: RPM Development Tools
# rpmdev-md5 and rpmdev-setuptree are GPL-2.0-only, Group: Development/Tools
# everything else is GPL-2.0-or-later. # rpmdev-setuptree is GPLv2, everything else GPLv2+
License: GPL-2.0-or-later AND GPL-2.0-only License: GPLv2+ and GPLv2
URL: https://pagure.io/rpmdevtools URL: http://fedoraproject.org/
Source0: https://releases.pagure.org/rpmdevtools/%{name}-%{version}.tar.xz Source0: %{name}-%{version}.tar.bz2
Source1: progressbar.py Source1: http://people.redhat.com/nphilipp/spectool/spectool-%{spectool_version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# 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
BuildArch: noarch BuildArch: noarch
# help2man, pod2man, *python for creating man pages Provides: spectool = %{spectool_version}
BuildRequires: make Obsoletes: fedora-rpmdevtools < 5.0
BuildRequires: help2man # Minimal RPM build requirements
BuildRequires: %{_bindir}/pod2man Requires: bash
BuildRequires: perl-generators Requires: bzip2
# python dependencies for spectool Requires: coreutils
# spectool is executed for creating man page Requires: cpio
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
Requires: diffutils Requires: diffutils
%if ! 0%{?rhel}
Requires: fakeroot
%endif
Requires: file
Requires: findutils Requires: findutils
Requires: gawk Requires: gawk
Requires: gcc
Requires: gcc-c++
Requires: grep Requires: grep
Requires: rpm-build >= 4.4.2.3 Requires: gzip
Requires: python3dist(argcomplete) Requires: info
%if ! 0%{?rhel} Requires: make
Requires: python3dist(progressbar2) Requires: patch
%endif Requires: redhat-release
Requires: python3dist(requests) Requires: redhat-rpm-config
Requires: python3dist(rpm) Requires: rpm-build >= 4.4.2.1
Requires: sed Requires: sed
Requires: emacs-filesystem Requires: tar
# Optionally support rpmautospec Requires: unzip
Recommends: python%{python3_version}dist(rpmautospec) 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 %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. development of RPM packages.
rpmdev-setuptree Create RPM build tree within user's home directory rpmdev-setuptree Create RPM build tree within user's home directory
rpmdev-diff Diff contents of two archives 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-rmdevelrpms Find (and optionally remove) "development" RPMs
rpmdev-checksig Check package signatures using alternate RPM keyring rpmdev-checksig Check package signatures using alternate RPM keyring
rpminfo Print information about executables and libraries 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-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-wipetree Erase all files within dirs created by rpmdev-setuptree
rpmdev-extract Extract various archives, "tar xvf" style rpmdev-extract Extract various archives, "tar xvf" style
rpmdev-bumpspec Bump revision in specfile
...and many more. ...and many more.
%prep %prep
%autosetup -N %setup -q -a 1
%autopatch -p1 %{!?rhel:-M2000} cp -p spectool*/README README.spectool
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
%build %build
%configure --libdir=%{_prefix}/lib %configure --libdir=%{_prefix}/lib
%make_build make %{?_smp_mflags}
%install %install
%make_install rm -rf $RPM_BUILD_ROOT
echo %%{_datadir}/bash-completion > %{name}.files make install DESTDIR=$RPM_BUILD_ROOT
[ -d %{buildroot}%{_sysconfdir}/bash_completion.d ] && \
echo %%{_sysconfdir}/bash_completion.d > %{name}.files
for dir in %{_emacs_sitestartdir} ; do install -pm 755 spectool*/spectool $RPM_BUILD_ROOT%{_bindir}
install -dm 755 %{buildroot}$dir
ln -s %{_datadir}/rpmdevtools/rpmdev-init.el %{buildroot}$dir for dir in %{emacs_sitestart_d} %{xemacs_sitestart_d} ; do
touch %{buildroot}$dir/rpmdev-init.elc 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 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} %clean
cp %{SOURCE1} %{buildroot}%{_datadir}/rpmdevtools/ rm -rf $RPM_BUILD_ROOT
%py_byte_compile %{python3} %{buildroot}%{_datadir}/rpmdevtools/
%endif
%files -f %{name}.files %triggerin -- emacs-common
%license COPYING [ -d %{emacs_sitestart_d} ] && \
%doc NEWS 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/ %config(noreplace) %{_sysconfdir}/rpmdevtools/
%{_datadir}/rpmdevtools/ %{_datadir}/rpmdevtools/
%{_bindir}/* %{_bindir}/rpm*
%{_emacs_sitestartdir}/rpmdev-init.el %{_bindir}/spectool
%ghost %{_emacs_sitestartdir}/rpmdev-init.elc %ghost %{_datadir}/*emacs
%{_mandir}/man[18]/*.[18]* %{_mandir}/man[18]/rpm*.[18]*
%changelog %changelog
* Sat Aug 09 2025 Fabio Valentini <decathorpe@gmail.com> - 9.6-13
- Revert to last stable release
* Mon Aug 04 2025 Mark Wielaard <mjw@fedoraproject.org> - 9.6-12.git83b35ac
- Add BuildRequires for autoreconf, fixes rhbz#2385580
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.6-11.git83b35ac
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 23 2025 Jens Petersen <petersen@redhat.com> - 9.6-10.git83b35ac
- update to latest git 83b35ac changes
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9.6-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.6-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.6-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.6-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Aug 25 2023 Petr Pisar <ppisar@redhat.com> - 9.6-5
- Convert a license tag to SPDX format
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 9.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 9.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 9.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Feb 04 2022 Neal Gompa <ngompa@fedoraproject.org> - 9.6-1
- Update to 9.6
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 9.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Nov 9 2021 Jerry James <loganjerry@gmail.com> - 9.5-3
- Drop XEmacs support in F36 and later
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat Jul 17 2021 Neal Gompa <ngompa@fedoraproject.org> - 9.5-1
- Update to 9.5
* Sat Jul 17 2021 Neal Gompa <ngompa@fedoraproject.org> - 9.4-1
- Update to 9.4
* Mon Feb 15 2021 Miro Hrončok <mhroncok@redhat.com> - 9.3-5
- Require any Python version of the Python packages
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 25 2021 Miro Hrončok <mhroncok@redhat.com> - 9.3-3
- spectool: Download text as text
* Fri Jan 22 2021 Michal Domonkos <mdomonko@redhat.com> - 9.3-2
- Replace requests-download dependency with requests
* Wed Jan 20 2021 Neal Gompa <ngompa13@gmail.com> - 9.3-1
- Update to 9.3
- Force legacy datestamp by default until rhbz#1715412 is resolved
* Mon Oct 05 2020 Neal Gompa <ngompa13@gmail.com> - 9.2-1
- Update to 9.2
* Thu Aug 20 2020 Neal Gompa <ngompa13@gmail.com> - 9.1-1
- Update to 9.1
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 16 2020 Neal Gompa <ngompa13@gmail.com> - 9.0-2
- Backport fix for python spec template
* Tue Jul 14 2020 Neal Gompa <ngompa13@gmail.com> - 9.0-1
- Update to 9.0
* Wed Mar 25 2020 Jitka Plesnikova <jplesnik@redhat.com> - 8.10-11
- Add perl dependencies needed for build
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 8.10-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.10-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.10-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Nov 28 2018 Neal Gompa <ngompa13@gmail.com> - 8.10-7
- Fix regex substitution issues with Python 3.7 (rhbz#1651954)
* Sun Sep 16 2018 Neal Gompa <ngompa13@gmail.com> - 8.10-6
- Fix regex related deprecation warnings (rhbz#1598089)
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8.10-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8.10-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 8.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 8.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Sat Jan 14 2017 Ville Skyttä <ville.skytta@iki.fi> - 8.10-1
- Update to 8.10
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 8.9-2
- Rebuild for Python 3.6
* Sat Jun 25 2016 Ville Skyttä <ville.skytta@iki.fi> - 8.9-1
- Update to 8.9
* Sat Jun 25 2016 Ville Skyttä <ville.skytta@iki.fi> - 8.8-1
- Update to 8.8
* Fri Jun 24 2016 Petr Písař <ppisar@redhat.com>
- Add new mandatory perl build deps
* Thu Jun 23 2016 Ville Skyttä <ville.skytta@iki.fi> - 8.7-1
- Update to 8.7
- Specfile cleanups
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 8.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jun 5 2015 Ville Skyttä <ville.skytta@iki.fi> - 8.6-2
- Use python3 on > F-22
* Sun May 10 2015 Ville Skyttä <ville.skytta@iki.fi> - 8.6-1
- Update to 8.6
* Mon Oct 20 2014 Ville Skyttä <ville.skytta@iki.fi> - 8.5-1
- Update to 8.5
- Mark COPYING as %%license where applicable
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Oct 17 2013 Ville Skyttä <ville.skytta@iki.fi> - 8.4-2
- Do not require devscripts in any scenario.
* Mon Oct 7 2013 Ville Skyttä <ville.skytta@iki.fi> - 8.4-1
- Update to 8.4.
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 8.3-4
- Perl 5.18 rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Oct 16 2012 Thomas Woerner <twoerner@redhat.com> - 8.3-2
- xemacs is not available on RHEL (RHBZ#866841)
* Sun Sep 2 2012 Ville Skyttä <ville.skytta@iki.fi> - 8.3-1
- Update to 8.3.
- Drop specfile constructs no longer needed with Fedora's rpm.
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Sat Nov 12 2011 Ville Skyttä <ville.skytta@iki.fi> - 8.2-1
- Update to 8.2.
* Tue Apr 26 2011 Ville Skyttä <ville.skytta@iki.fi> - 8.1-1
- Update to 8.1.
* Tue Mar 1 2011 Ville Skyttä <ville.skytta@iki.fi> - 8.0-3
- Require xemacs-filesystem on F-15+ (#672093).
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Feb 6 2011 Ville Skyttä <ville.skytta@iki.fi> - 8.0-1
- Update to 8.0, fixes #519061 and #657594.
* Mon Sep 27 2010 Ville Skyttä <ville.skytta@iki.fi> - 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ä <ville.skytta@iki.fi> - 7.9-1
- Update to 7.9, fixes #588313 and #589705.
* Fri Apr 16 2010 Ville Skyttä <ville.skytta@iki.fi> - 7.8-2
- Require %%{_bindir}/man instead of man (#582932).
* Tue Feb 16 2010 Ville Skyttä <ville.skytta@iki.fi> - 7.8-1
- Update to 7.8, fixes #562316.
* Tue Feb 2 2010 Ville Skyttä <ville.skytta@iki.fi> - 7.7-1
- Update to 7.7, fixes #558263.
* Mon Dec 7 2009 Ville Skyttä <ville.skytta@iki.fi> - 7.6-1
- Update to 7.6, fixes #528907.
* Thu Sep 17 2009 Ville Skyttä <ville.skytta@iki.fi> - 7.5-1
- Update to 7.5, fixes #502403.
* Fri Aug 21 2009 Ville Skyttä <ville.skytta@iki.fi> - 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 <rel-eng@lists.fedoraproject.org> - 7.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon May 25 2009 Ville Skyttä <ville.skytta@iki.fi> - 7.3-1
- Release 7.3.
* Sat May 23 2009 Ville Skyttä <ville.skytta@iki.fi>
- 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ä <ville.skytta@iki.fi> - 7.2-1
- Release 7.2.
* Sun May 3 2009 Ville Skyttä <ville.skytta@iki.fi>
- Add dummy spec template for ad-hoc testing.
* Sat May 2 2009 Ville Skyttä <ville.skytta@iki.fi>
- 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ä <ville.skytta@iki.fi>
- Make bumpspec's use of "head" POSIX compliant.
* Thu Apr 16 2009 Ville Skyttä <ville.skytta@iki.fi>
- 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ä <ville.skytta@iki.fi>
- Speed up rpmls bash completion.
* Sat Apr 4 2009 Ville Skyttä <ville.skytta@iki.fi> - 7.1-1
- 7.1.
- Make rpmdev-md5 and friends work on non-srpm package files too.
* Sun Mar 15 2009 Ville Skyttä <ville.skytta@iki.fi>
- Add bash completion.
* Mon Mar 9 2009 Ville Skyttä <ville.skytta@iki.fi>
- Add query format option to rmdevelrpms, sort output by NEVRA.
* Sun Feb 22 2009 Ville Skyttä <ville.skytta@iki.fi>
- Use %%global instead of %%define in spec templates.
- Handle %%global in addition to %%define in rpmdev-bumpspec.
* Mon Jan 26 2009 Ville Skyttä <ville.skytta@iki.fi>
- Add result dependent exit statuses to rpmdev-vercmp.
* Fri Dec 26 2008 Ville Skyttä <ville.skytta@iki.fi>
- Add minimum version to rpm-python dependency (for rpmdev-bumpspec).
* Fri Dec 26 2008 Ville Skyttä <ville.skytta@iki.fi> - 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ä <ville.skytta@iki.fi>
- Add imake and intltool to internal list of devel packages in rmdevelrpms.
* Sat Dec 13 2008 Ville Skyttä <ville.skytta@iki.fi>
- Add rpmdev-sha*/*sum companions to rpmdev-md5 (ticket #7).
* Wed Nov 26 2008 Ville Skyttä <ville.skytta@iki.fi>
- Add vamp-plugin-sdk to internal list of non-devel packages in rmdevelrpms
(#472641, Michael Schwendt).
* Thu Nov 20 2008 Ville Skyttä <ville.skytta@iki.fi>
- Drop "minimal buildroot" dependencies.
- Drop fedora-rpmdevtools Obsoletes.
* Mon Oct 13 2008 Ville Skyttä <ville.skytta@iki.fi>
- Show available types in rpmdev-newspec --help (ticket #6, Todd Zullinger).
* Fri Sep 26 2008 Ville Skyttä <ville.skytta@iki.fi>
- 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ä <ville.skytta@iki.fi>
- Bring rpmdev-bumpspec copyright holder closer to truth (Michael Schwendt).
* Mon Sep 22 2008 Ville Skyttä <ville.skytta@iki.fi>
- Switch to lzma compressed tarball.
* Sun Sep 7 2008 Ville Skyttä <ville.skytta@iki.fi>
- Improve arch specific %%files in perl spec template (#461177, Chris Weyl).
* Sun Aug 3 2008 Ville Skyttä <ville.skytta@iki.fi> - 6.7-1
- 6.7.
- Make rpmdev-diff, rpmdev-md5 and rpminfo honor TMPDIR.
* Sat Apr 26 2008 Ville Skyttä <ville.skytta@iki.fi>
- Make rpmls work with URLs.
* Sun Apr 20 2008 Ville Skyttä <ville.skytta@iki.fi>
- Include rpm arch in dir names created by rpmdev-extract (#443266).
* Fri Apr 18 2008 Ville Skyttä <ville.skytta@iki.fi>
- 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ä <ville.skytta@iki.fi> - 6.6-1
- Fix man page generation.
* Wed Mar 26 2008 Ville Skyttä <ville.skytta@iki.fi> - 6.5-1
- 6.5.
* Sun Mar 23 2008 Ville Skyttä <ville.skytta@iki.fi>
- Generate man pages at build time.
* Sat Mar 22 2008 Ville Skyttä <ville.skytta@iki.fi>
- 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ä <ville.skytta@iki.fi>
- Include ocaml spec template.
* Tue Mar 11 2008 Ville Skyttä <ville.skytta@iki.fi>
- Include Michael Schwendt's bumpspecfile.py (as rpmdev-bumpspec).
* Tue Feb 12 2008 Ville Skyttä <ville.skytta@iki.fi>
- Sync with qa-robot upstream.
- Update spectool to 1.0.10.
* Sun Feb 3 2008 Ville Skyttä <ville.skytta@iki.fi>
- Add support for 7-zip, lzma and lzo in rpmdev-extract.
* Fri Feb 1 2008 Ville Skyttä <ville.skytta@iki.fi>
- Add ';;' to the init script template's reload action.
* Sat Dec 8 2007 Ville Skyttä <ville.skytta@iki.fi>
- 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 <lkundrak@redhat.com> - 6.4-1 * Fri Oct 12 2007 Lubomir Kundrak <lkundrak@redhat.com> - 6.4-1
- Import the previous fix into CVS to resync, bump version - Import the previous fix into CVS to resync, bump version
* Fri Oct 12 2007 Lubomir Kundrak <lkundrak@redhat.com> - 6.3-1 * Fri Oct 12 2007 Lubomir Kundrak <lkundrak@redhat.com> - 6.3-1
- Fix paths in qa-robot tools - Fix paths in qa-robot tools
* Sat Sep 8 2007 Ville Skyttä <ville.skytta@iki.fi> - 6.2-1 * Sat Sep 8 2007 Ville Skyttä <ville.skytta at iki.fi> - 6.2-1
- Sync deps with Fedora's new "assumed present in buildroots" packages list. - Sync deps with Fedora's new "assumed present in buildroots" packages list.
* Thu Sep 6 2007 Ville Skyttä <ville.skytta@iki.fi> * Thu Sep 6 2007 Ville Skyttä <ville.skytta at iki.fi>
- Init script template cleanups. - Init script template cleanups.
* Tue Aug 28 2007 Ville Skyttä <ville.skytta@iki.fi> * Tue Aug 28 2007 Ville Skyttä <ville.skytta at iki.fi>
- Update rpminfo to version 2004-07-07-02. - Update rpminfo to version 2004-07-07-02.
* Fri Aug 10 2007 Ville Skyttä <ville.skytta@iki.fi> - 6.1-1 * Fri Aug 10 2007 Ville Skyttä <ville.skytta at iki.fi> - 6.1-1
- Sync COPYING with http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt - Sync COPYING with http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
* Mon Aug 6 2007 Ville Skyttä <ville.skytta@iki.fi> * Mon Aug 6 2007 Ville Skyttä <ville.skytta at iki.fi>
- Work around #250990 in rpmls and rpmdev-extract. - Work around #250990 in rpmls and rpmdev-extract.
- Clarify copyright info of rpmdev-* and rpmls. - Clarify copyright info of rpmdev-* and rpmls.
* Sat Jul 7 2007 Ville Skyttä <ville.skytta@iki.fi> * Sat Jul 7 2007 Ville Skyttä <ville.skytta at iki.fi>
- Fix Epoch handling in the 2-arg form of rpmdev-vercmp with yum < 3.1.2. - 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. - The long form of the list option in rmdevelrpms is --list-only, not --list.
* Thu Jul 5 2007 Ville Skyttä <ville.skytta@iki.fi> - 6.0-1 * Thu Jul 5 2007 Ville Skyttä <ville.skytta at iki.fi> - 6.0-1
- Remove check-{buildroot,rpaths*}, now included in rpm-build >= 4.4.2.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. - Drop explicit dependency on patch, pulled in by recent rpm-build.
- Add cmake and scons to default devel package list in rpmdev-rmdevelrpms. - Add cmake and scons to default devel package list in rpmdev-rmdevelrpms.
- Add LSB comment block to init script template. - Add LSB comment block to init script template.
* Wed Jun 27 2007 Ville Skyttä <ville.skytta@iki.fi> * Wed Jun 27 2007 Ville Skyttä <ville.skytta at iki.fi>
- Add 2-argument form for comparing EVR strings to rpmdev-vercmp - Add 2-argument form for comparing EVR strings to rpmdev-vercmp
(available only if rpmUtils.miscutils is available). (available only if rpmUtils.miscutils is available).
* Sat Jun 16 2007 Ville Skyttä <ville.skytta@iki.fi> * Sat Jun 16 2007 Ville Skyttä <ville.skytta at iki.fi>
- Include rpmsodiff and dependencies (rpmargs, rpmelfsym, rpmfile, rpmpeek, - Include rpmsodiff and dependencies (rpmargs, rpmelfsym, rpmfile, rpmpeek,
rpmsoname) from ALT Linux's qa-robot package. rpmsoname) from ALT Linux's qa-robot package.
- Include rpmls (#213778). - Include rpmls (#213778).
* Fri Jun 15 2007 Ville Skyttä <ville.skytta@iki.fi> * Fri Jun 15 2007 Ville Skyttä <ville.skytta at iki.fi>
- Update spectool to 1.0.9 (#243731). - Update spectool to 1.0.9 (#243731).
* Wed Apr 11 2007 Ville Skyttä <ville.skytta@iki.fi> * Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi>
- Add --list-only option to rmdevelrpms (Thorsten Leemhuis). - Add --list-only option to rmdevelrpms (Thorsten Leemhuis).
* Tue Mar 13 2007 Ville Skyttä <ville.skytta@iki.fi> * Tue Mar 13 2007 Ville Skyttä <ville.skytta at iki.fi>
- BR perl(ExtUtils::MakeMaker) by default in perl spec template. - BR perl(ExtUtils::MakeMaker) by default in perl spec template.
- Drop deprecated backwards compatibility with fedora-rpmdevtools. - Drop deprecated backwards compatibility with fedora-rpmdevtools.
- Update URL. - Update URL.
* Wed Nov 8 2006 Ville Skyttä <ville.skytta@iki.fi> * Wed Nov 8 2006 Ville Skyttä <ville.skytta at iki.fi>
- Arch-qualify output of matched packages in rmdevelrpms and allow - Arch-qualify output of matched packages in rmdevelrpms and allow
arch-qualified packages in the config file. arch-qualified packages in the config file.
* Wed Oct 25 2006 Ville Skyttä <ville.skytta@iki.fi> - 5.3-1 * Wed Oct 25 2006 Ville Skyttä <ville.skytta at iki.fi> - 5.3-1
- Update spectool to 1.0.8, fixes #212108. - Update spectool to 1.0.8, fixes #212108.
* Mon Oct 2 2006 Ville Skyttä <ville.skytta@iki.fi> - 5.2-1 * Mon Oct 2 2006 Ville Skyttä <ville.skytta at iki.fi> - 5.2-1
- Skip *.jar.so.debug in check-buildroot (#208903). - Skip *.jar.so.debug in check-buildroot (#208903).
- Treat yasm and *-static as devel packages in rmdevelrpms. - Treat yasm and *-static as devel packages in rmdevelrpms.
* Sat Sep 9 2006 Ville Skyttä <ville.skytta@iki.fi> - 5.1-1 * Sat Sep 9 2006 Ville Skyttä <ville.skytta at iki.fi> - 5.1-1
- Re-add PHP PEAR spec template, more improvements to it (#198706, - Re-add PHP PEAR spec template, more improvements to it (#198706,
Christopher Stone, Remi Collet). Christopher Stone, Remi Collet).
* Tue Aug 22 2006 Ville Skyttä <ville.skytta@iki.fi> - 5.0-2 * Tue Aug 22 2006 Ville Skyttä <ville.skytta at iki.fi> - 5.0-2
- Migrate rmdevelrpms config when upgrading from fedora-rpmdevtools. - Migrate rmdevelrpms config when upgrading from fedora-rpmdevtools.
* Sun Aug 20 2006 Ville Skyttä <ville.skytta@iki.fi> - 5.0-1 * Sun Aug 20 2006 Ville Skyttä <ville.skytta at iki.fi> - 5.0-1
- Re-rename almost everything to rpmdev-*, with backwards compat symlinks. - Re-rename almost everything to rpmdev-*, with backwards compat symlinks.
- Don't encourage %%ghost'ing *.pyo in Python spec template, add some comments. - Don't encourage %%ghost'ing *.pyo in Python spec template, add some comments.
- Drop PHP PEAR spec template, it's not ready yet. - Drop PHP PEAR spec template, it's not ready yet.
* Wed Aug 2 2006 Ville Skyttä <ville.skytta@iki.fi> * Wed Aug 2 2006 Ville Skyttä <ville.skytta at iki.fi>
- Treat *-sdk as devel packages in rmdevelrpms (#199909). - Treat *-sdk as devel packages in rmdevelrpms (#199909).
- Don't assume compface is a devel package in rmdevelrpms. - Don't assume compface is a devel package in rmdevelrpms.
* Thu Jul 20 2006 Ville Skyttä <ville.skytta@iki.fi> * Thu Jul 20 2006 Ville Skyttä <ville.skytta at iki.fi>
- Mark things that are not needed for noarch module packages in the Perl - Mark things that are not needed for noarch module packages in the Perl
spec template. spec template.
* Wed Jul 19 2006 Ville Skyttä <ville.skytta@iki.fi> * Wed Jul 19 2006 Ville Skyttä <ville.skytta at iki.fi>
- Move option arguments to "find" before non-option ones in Perl spec template. - Move option arguments to "find" before non-option ones in Perl spec template.
- Drop python-abi dependency from Python spec template (#189947). - Drop python-abi dependency from Python spec template (#189947).
* Tue Jul 18 2006 Ville Skyttä <ville.skytta@iki.fi> * Tue Jul 18 2006 Ville Skyttä <ville.skytta at iki.fi>
- Add PHP PEAR spec template (#198706, Christopher Stone). - Add PHP PEAR spec template (#198706, Christopher Stone).
* Mon Jul 17 2006 Ville Skyttä <ville.skytta@iki.fi> * Mon Jul 17 2006 Ville Skyttä <ville.skytta at iki.fi>
- Drop fedora- prefix everywhere, add backcompat symlinks for execubtables. - Drop fedora- prefix everywhere, add backcompat symlinks for execubtables.
- Move %%{_sysconfdir}/fedora to %%{_sysconfdir}/rpmdevtools and - Move %%{_sysconfdir}/fedora to %%{_sysconfdir}/rpmdevtools and
%%{_datadir}/fedora to %%{_datadir}/rpmdevtools. %%{_datadir}/fedora to %%{_datadir}/rpmdevtools.
- Move spec templates to %%{_sysconfdir}/rpmdevtools, mark as config. - Move spec templates to %%{_sysconfdir}/rpmdevtools, mark as config.
- Bump version to 5.0. - Bump version to 5.0.
* Sun Jul 16 2006 Ville Skyttä <ville.skytta@iki.fi> * Sun Jul 16 2006 Ville Skyttä <ville.skytta at iki.fi>
- Drop fedora-kmodhelper. - Drop fedora-kmodhelper.
- Drop fedora-installdevkeys and GPG keys, modify rpmchecksig to use - Drop fedora-installdevkeys and GPG keys, modify rpmchecksig to use
the system rpmdb. the system rpmdb.
* Sat Jul 15 2006 Ville Skyttä <ville.skytta@iki.fi> * Sat Jul 15 2006 Ville Skyttä <ville.skytta at iki.fi>
- Sort rmdevelrpms' output. - Sort rmdevelrpms' output.
* Fri Jul 7 2006 Ville Skyttä <ville.skytta@iki.fi> * Fri Jul 7 2006 Ville Skyttä <ville.skytta at iki.fi>
- Improve ruby spec template (#180066, David Lutterkort). - Improve ruby spec template (#180066, David Lutterkort).
* Mon Jun 5 2006 Ville Skyttä <ville.skytta@iki.fi> * Mon Jun 5 2006 Ville Skyttä <ville.skytta at iki.fi>
- Add manual pages for rmdevelrpms, diffarchive and extract. - Add manual pages for rmdevelrpms, diffarchive and extract.
- Trim pre-2005 changelog entries. - Trim pre-2005 changelog entries.
- Autotoolize source tree. - Autotoolize source tree.
* Tue May 16 2006 Ville Skyttä <ville.skytta@iki.fi> - 1.6-1 * Tue May 16 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.6-1
- Add spec template for library packages (#185606, Ignacio Vazquez-Abrams). - Add spec template for library packages (#185606, Ignacio Vazquez-Abrams).
* Sun Feb 26 2006 Ville Skyttä <ville.skytta@iki.fi> - 1.5-1 * Sun Feb 26 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.5-1
- Improve diffarchive and extract error messages. - Improve diffarchive and extract error messages.
* Fri Feb 24 2006 Ville Skyttä <ville.skytta@iki.fi> * Fri Feb 24 2006 Ville Skyttä <ville.skytta at iki.fi>
- Update spectool to 1.0.7 (#162253). - Update spectool to 1.0.7 (#162253).
* Thu Feb 9 2006 Ville Skyttä <ville.skytta@iki.fi> * Thu Feb 9 2006 Ville Skyttä <ville.skytta at iki.fi>
- Add file(1) based archive type detection to fedora-extract. - Add file(1) based archive type detection to fedora-extract.
* Wed Feb 8 2006 Ville Skyttä <ville.skytta@iki.fi> * Wed Feb 8 2006 Ville Skyttä <ville.skytta at iki.fi>
- Add "diff file lists only" option to diffarchive. - Add "diff file lists only" option to diffarchive.
* Sun Feb 5 2006 Ville Skyttä <ville.skytta@iki.fi> * Sun Feb 5 2006 Ville Skyttä <ville.skytta at iki.fi>
- Add Ruby spec template (#180066, Oliver Andrich) and make newrpmspec - Add Ruby spec template (#180066, Oliver Andrich) and make newrpmspec
use it for ruby-*. use it for ruby-*.
* Sat Feb 4 2006 Ville Skyttä <ville.skytta@iki.fi> - 1.4-2 * Sat Feb 4 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.4-2
- Fix rpath checker tests with bash 3.1 (#178636, Enrico Scholz). - Fix rpath checker tests with bash 3.1 (#178636, Enrico Scholz).
* Fri Dec 30 2005 Ville Skyttä <ville.skytta@iki.fi> - 1.4-1 * Fri Dec 30 2005 Ville Skyttä <ville.skytta at iki.fi> - 1.4-1
- Update spectool to 1.0.6 (#176521). - Update spectool to 1.0.6 (#176521).
* Wed Dec 28 2005 Ville Skyttä <ville.skytta@iki.fi> * Wed Dec 28 2005 Ville Skyttä <ville.skytta at iki.fi>
- Update spectool to 1.0.5 (#162253), require wget for it. - Update spectool to 1.0.5 (#162253), require wget for it.
- Add disttags to spec templates. - Add disttags to spec templates.
* Thu Oct 27 2005 Ville Skyttä <ville.skytta@iki.fi> - 1.3-1 * Thu Oct 27 2005 Ville Skyttä <ville.skytta at iki.fi> - 1.3-1
- check-rpaths-worker: detect when RPATH references the parent directory - check-rpaths-worker: detect when RPATH references the parent directory
of an absolute path (#169298, Enrico Scholz). of an absolute path (#169298, Enrico Scholz).
- Add regression test for check-rpaths* (#169298, Enrico Scholz). - Add regression test for check-rpaths* (#169298, Enrico Scholz).
- Honor user's indent-tabs-mode setting in fedora-init.el (#170902). - Honor user's indent-tabs-mode setting in fedora-init.el (#170902).
* Fri Oct 7 2005 Ville Skyttä <ville.skytta@iki.fi> - 1.2-1 * Fri Oct 7 2005 Ville Skyttä <ville.skytta at iki.fi> - 1.2-1
- check-buildroot: grep for buildroot as a fixed string, not a regexp. - check-buildroot: grep for buildroot as a fixed string, not a regexp.
- Update FSF's address in copyright notices. - Update FSF's address in copyright notices.
- check-rpaths-worker: allow multiple $ORIGIN paths in an RPATH and allow - 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. - Teach fedora-newrpmspec to detect and use different specfile variants.
- Use fedora-newrpmspec in fedora-init.el. - Use fedora-newrpmspec in fedora-init.el.
* Fri Jul 8 2005 Ville Skyttä <ville.skytta@iki.fi> - 1.1-1 * Fri Jul 8 2005 Ville Skyttä <ville.skytta at iki.fi> - 1.1-1
- Drop more pre-FC2 compat stuff from Perl spec template. - Drop more pre-FC2 compat stuff from Perl spec template.
- Treat gcc-gfortran as a devel package in rmdevelrpms. - Treat gcc-gfortran as a devel package in rmdevelrpms.
- Drop fedora.us GPG key. - Drop fedora.us GPG key.
* Thu Mar 24 2005 Ville Skyttä <ville.skytta@iki.fi> - 1.0-1 * Thu Mar 24 2005 Ville Skyttä <ville.skytta at iki.fi> - 1.0-1
- Make fedora-diffarchive work better with archives containing dirs without - Make fedora-diffarchive work better with archives containing dirs without
read/execute permissions. read/execute permissions.
- Sync "Epoch: 0" drops with Fedora Extras CVS. - 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. - Don't try to remove gcc-java and related packages by default in rmdevelrpms.
- Remove "full featured" spec template, convert newrpmspec to use -minimal. - Remove "full featured" spec template, convert newrpmspec to use -minimal.
* Sun Feb 6 2005 Ville Skyttä <ville.skytta@iki.fi> - 0:0.3.1-1 * Sun Feb 6 2005 Ville Skyttä <ville.skytta at iki.fi> - 0:0.3.1-1
- Make buildrpmtree and wipebuildtree less dependent on a specific - Make buildrpmtree and wipebuildtree less dependent on a specific
configuration (#147014, Ignacio Vazquez-Abrams). configuration (#147014, Ignacio Vazquez-Abrams).
* Tue Jan 18 2005 Ville Skyttä <ville.skytta@iki.fi> - 0:0.3.0-1 * Tue Jan 18 2005 Ville Skyttä <ville.skytta at iki.fi> - 0:0.3.0-1
- Remove 0.fdr. prefixes and epoch 0's from all spec templates. - Remove 0.fdr. prefixes and epoch 0's from all spec templates.
- Add try-restart action to init script template. - Add try-restart action to init script template.
- Remove deprecated fedora-diffrpm and fedora-unrpm. - Remove deprecated fedora-diffrpm and fedora-unrpm.

View file

@ -1 +1,2 @@
SHA512 (rpmdevtools-9.6.tar.xz) = 691fec8944029dbe60cb3eab0200d1201f5aa3dd11cd49e8313ee7c1fe998237217ea9c5ae7b4a70f61f3c998093f23d26266b23f41607ddca3148d5f6b6ae06 b3563111a44656efd3a2d9b44b830562 spectool-1.0.9.tar.bz2
52c257170fb8de032196f04859bdee2c rpmdevtools-6.4.tar.bz2