Miro Hrončok <[email protected]> wrote:
> […]
>> 2. change %check not to rely on unpackaged files in buildroot
> That one is non-trivial and depends on the reason it is needed.
> For example, what is common for Python "namepsace" packages, e.g.
> pkg_name.foo.
> 1) We want to test installed files, not what is in $PWD, so we set PYTHONPATH
> to
> %{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib} and we
> (try hard to) exclude $PWD from it. This is crucial to ensure the files
> we actually ship are working and the installed file set is complete.
> Our macros do this for the packagers.
> 2) The %{python3_site...}/pkg_name/ directory and
> %{python3_site...}/pkg_name/__init__.py and
> %{python3_site...}/pkg_name/__pycache__/ and
> %{python3_site...}/pkg_name/__pycache__/__init__...pyc
> files must be present in %{buildroot} to successfully run the tests.
> 3) The files from (2) must be excluded from the package because *pkg_name*
> owns
> them, not *pkg_name.foo*.
> We Require the "toplevel" *pkg_name* package from *pkg_name.foo*.
> The files are not bit-by-bit+metadata identical,
> so both packages cannot ship them.
> […]
My understanding of the RPM spec sections was always that:
- "%prep" is for "./configure",
- "%build" is for "make",
- "%install" is for "make install", and
- "%check" is for "make check".
"make check" (usually executed /before/ "make install")
works in and on the working directory
(https://www.gnu.org/prep/standards/html_node/Standard-Targets.html#Standard-Targets).
To test that the resulting binary package is functional, an-
other venue is needed, and in the case of Fedora, for that
purpose Fedora CI was created
(https://docs.fedoraproject.org/en-US/ci/tests/).
That feels like a much cleaner solution than installing some
files, testing and then not shipping them because the test
environment will be the same as a user's who just installed
the package instead of being in the process of building the
package.
Tim
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam on the list, report it:
https://pagure.io/fedora-infrastructure