Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37048555
en ru br
ALT Linux repos
S:0.1.24-alt1

Group :: Development/Other
RPM: rpm-build-python3

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Name: rpm-build-python3
Version: 0.1.22
Release: alt1

Summary: RPM helper macros to rebuild python3 packages
License: GPLv2+
Group: Development/Other
Packager: Python Development Team <python at packages.altlinux.org>

Source: %name-%version.tar
BuildArch: noarch

Requires: rpm-macros-python3 = %EVR
Requires: file >= 4.26-alt11
# Since the .so handling code in python3.req.py with the help of
# objdump is borrowed from rpm-build, we borrow the dependency, too
# (in the form of a Conflicts not to encumber python3 users' envinronment;
# anyway, if the user is able to compile an .so, he would have got binutils):
Conflicts: binutils < 1:2.20.51.0.7

# We want that the following directory gets detected as a dep of the built python3 pkgs;

# this happens automatically of the packages that owns it is installed.
Requires: %_rpmlibdir/python3-site-packages-files.req.list
# (The lib64 variant must be owned by the same package; thus it must be detected as well.)

# For convenience of the developers:

Requires: tests-for-installed-python3-pkgs

Conflicts: python3 < 3.5

AutoReqProv: yes, nopython

BuildRequires: python3-dev

%description
These helper macros provide possibility to build python3 modules.

%package -n rpm-macros-python3
Summary: Set of RPM macros for packaging python3 modules and scripts
Group: Development/Other
BuildArch: noarch
Conflicts: %name < %version
# due to %%_is_libsuff and %%_libsuff macros.
Conflicts: rpm-build < 4.0.4-alt112

%description -n rpm-macros-python3
This packages provides RPM macros for packaging python3 modules and scripts.

%package -n tests-for-installed-python3-pkgs
Summary: Tests that can be run to test any installed Python3 package
Group: Development/Other

Requires: /usr/bin/python3

%description -n tests-for-installed-python3-pkgs
The included scripts are primarily to be run by package maintainers
(or automated testing systems) to test any Python3 package
in an environment where it has been installed by RPM.

Contents:

* check-python3-provs-importable -- a script to test installed Python3 packages
* py3-* -- helper scripts (for such tests)

Example:

apt-repo --hsh-apt-config="$HOME"/.hasher/sisyphus/apt.conf test NNNNNN python3-module-FOOBAR \
&& hsh-run /usr/lib/rpm/check-python3-provs-importable python3-module-FOOBAR; echo $?

will report which modules provided by python3-module-FOOBAR are not importable
(if any) in the minimal environment. This is a packaging error if there are any.

%prep
%setup

%install
install -pD -m0644 python3 -t %buildroot%_rpmmacrosdir/
install -pD -m0644 python3.env -t %buildroot%_rpmmacrosdir/
install -pD -m0644 python3.buildreq -T %buildroot%_sysconfdir/buildreqs/files/ignore.d/%name
install -pD -m0755 python3.prov -t %buildroot%_rpmlibdir/
install -pD -m0755 python3.prov.py -t %buildroot%_rpmlibdir/
install -pD -m0755 python3.prov.files -t %buildroot%_rpmlibdir/
install -pD -m0755 python3.req -t %buildroot%_rpmlibdir/
install -pD -m0755 python3.req.py -t %buildroot%_rpmlibdir/
install -pD -m0755 python3.req.constraint.py -t %buildroot%_rpmlibdir/
install -pD -m0755 python3.req.files -t %buildroot%_rpmlibdir/
install -pD -m0755 python3.compileall.py -t %buildroot%_rpmlibdir/
install -pD -m0755 check-python3-provs-importable -t %buildroot%_rpmlibdir/
install -pD -m0755 py3-scan-reqprovs -t %buildroot%_rpmlibdir/
install -pD -m0755 py3-check-importable -t %buildroot%_rpmlibdir/
install -pD -m0755 brp-bytecompile_python3 -T %buildroot%_rpmlibdir/brp.d/096-bytecompile_python3.brp
# It's like brp.d/128-hardlink_pyo_pyc.brp from rpm-build (but for python3-3.5):
install -pD -m0755 brp-hardlink_opt_pyc -T %buildroot%_rpmlibdir/brp.d/128-hardlink_opt_pyc.brp
install -pD -m0755 brp-fix_python3_site-packages_location -T %buildroot%_rpmlibdir/brp.d/000-fix_python3_site-packages_location.brp
#install -pd -m0755 %buildroot%python_tooldir/rpm-build
#install -pD -m0644 bdist_altrpm.py -t %buildroot%_libdir/python%__python_version/distutils/command/
#install -pD -m0755 tools/*py -t %buildroot%python_tooldir/rpm-build
#install -pd -m0755 %buildroot%python_tooldir/rpm-build/find
#install -pD -m0644 tools/find/*py -t %buildroot%python_tooldir/rpm-build/find
#install -pd -m0755 %buildroot%_bindir

#ln -s --relative %buildroot%python_tooldir/rpm-build/imalyzer.py -T %buildroot%_bindir/imalyzer

#ln -s --relative %buildroot%python_tooldir/rpm-build/requires.py -T %buildroot%_bindir/py_requires
#ln -s --relative %buildroot%python_tooldir/rpm-build/provides.py -T %buildroot%_bindir/py_provides

#unset RPM_PYTHON


%define _unpackaged_files_terminate_build 1

%check
rpm_builddir="$PWD"
pushd %buildroot/%_rpmlibdir
# It calls ./python3.req, therefore we've changed the CWD:
"$rpm_builddir"/test_req.sh
"$rpm_builddir"/test_check-provs-importable.sh
popd

%files -n rpm-macros-python3
%_rpmmacrosdir/python3
%_rpmmacrosdir/python3.env
%_rpmlibdir/python3.req
%_rpmlibdir/python3.req.files
%_rpmlibdir/python3.prov
%_rpmlibdir/python3.prov.files

%files
%_sysconfdir/buildreqs/files/ignore.d/%name
%_rpmlibdir/brp.d/096-bytecompile_python3.brp
%_rpmlibdir/brp.d/128-hardlink_opt_pyc.brp
%_rpmlibdir/brp.d/000-fix_python3_site-packages_location.brp
%_rpmlibdir/python3.compileall.py
%_rpmlibdir/python3.req.py
%_rpmlibdir/python3.req.constraint.py
%_rpmlibdir/python3.prov.py

%files -n tests-for-installed-python3-pkgs
%_rpmlibdir/check-python3-provs-importable
%_rpmlibdir/py3-scan-reqprovs
%_rpmlibdir/py3-check-importable

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin