Skip to content

Commit

Permalink
build srpm
Browse files Browse the repository at this point in the history
  • Loading branch information
jasinner committed May 28, 2024
1 parent 06f6e48 commit 1c84d2b
Show file tree
Hide file tree
Showing 6 changed files with 85 additions and 1 deletion.
9 changes: 9 additions & 0 deletions .copr/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
srpm:
@echo ">Installing SRPM dependencies"
dnf install -y python3-setuptools rpmdevtools

@echo ">Setting up rpm build environment"
rpmdev-setuptree -d

@echo ">Building SRPM"
scripts/build_srpm.sh $(outdir)
4 changes: 4 additions & 0 deletions DEVELOP.md
Original file line number Diff line number Diff line change
Expand Up @@ -280,3 +280,7 @@ When new major/minor OSIDB version is being released, we can do a pre-release of
* Tag and release needs be in format x.x.x to comply with [semantic versioning](#version-policy)
* Tag needs to point to the latest commit
* Release description should include the newest section of the [CHANGELOG.md](CHANGELOG.md)
### Fedora COPR RPM build
There is an RPM repository setup in [Fedora COPR](https://copr.fedorainfracloud.org/coprs/jazinner/osidb-bindings/). RPMs are build automatically based on git tag events. When a git tag is added to the repository Fedora COPR runs the .copr/Makefile which builds an RPM for the target distributions (currently Fedora 39 and 40).
58 changes: 58 additions & 0 deletions osidb_bindings.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
%define name osidb_bindings
%define version 3.7.0
%define release 0%{?dist}

Name: %{name}
Version: %{version}
Release: %{release}
Summary: OSIDB Python Bindings

URL: https://github.com/RedHatProductSecurity/osdib-bindings
Source0: %{name}-%{version}.tar.gz
License: MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot

BuildArch: noarch
AutoReqProv: no
BuildRequires: python3-devel
BuildRequires: python3-wheel
BuildRequires: tox
BuildRequires: python3-tox-current-env
Requires: python3-aiohttp
Requires: python3-attrs
Requires: python3-dateutil
Requires: python3-requests
Requires: python3-requests-gssapi


%description
Python Client bindings for OSIDB

%prep
%autosetup -n %{name}-%{version} -p1

%generate_buildrequires

%pyproject_buildrequires


%build
%pyproject_wheel

%install
%pyproject_install

%pyproject_save_files %{name}

%check
%tox

%files -n %{name} -f %{pyproject_files}
%ghost %{python3_sitelib}/tests/*

%changelog
* Wed May 22 2024 Jason <[email protected]> - 3.6.0
- RPM packing for osidb_bindings added



10 changes: 10 additions & 0 deletions scripts/build_srpm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/sh

set -e

mkdir dist
python3 setup.py clean sdist
cp dist/* ~/build/SOURCES/
rpmbuild --undefine dist -bs "osidb_bindings.spec" --clean
cp ~/build/SRPMS/* "$1"

3 changes: 3 additions & 0 deletions scripts/helpers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ update_version() {
echo "Updating the CHANGELOG.md to ${version}"
sed -i 's/^## Unreleased.*/## Unreleased\n\n## ['"${version}"'] - '$(date '+%Y-%m-%d')'/' CHANGELOG.md

echo "Updating the osidb_bindings.spec to ${version}"
sed -i 's/^%define version [0-9]*\.[0-9]*\.[0-9]*/%define version '${version}'/g' osidb_bindings.spec

echo
}

Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
long_description = fh.read()

setup(
name="osidb-bindings",
name="osidb_bindings",
version="3.7.0",
author="Jakub Frejlach, Red Hat Product Security",
author_email="[email protected]",
Expand Down

0 comments on commit 1c84d2b

Please sign in to comment.