[Rpm-maint] [rpm-software-management/rpm] Dynamic Build Dependencies (#593)

nim-nim notifications at github.com
Sun Apr 14 17:56:59 UTC 2019


@ignatenkobrain  `rpm-build-4.14.2.1-7.fc31+buildreqs.1.x86_64` works for me:

```console
$  grep BuildRequires ~/fedora/rpm/golist/golist.spec
<NOTHING>

$ LANG=C.utf8 rpmbuild -ba  ~/fedora/rpm/golist/golist.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.t0kf16
+ umask 022
+ cd /var/lib/builder/rpmbuild/BUILD

[…]

Executing(buildreqs): /bin/sh -e /var/tmp/rpm-tmp.sOlg54
+ umask 022
+ cd /var/lib/builder/rpmbuild/BUILD
+ cd /var/lib/builder/rpmbuild/BUILD
+ cd golist-263dcfff17382fb43c241ae46a555f8072576526
++ GOPATH=/var/lib/builder/rpmbuild/BUILD/golist-263dcfff17382fb43c241ae46a555f8072576526/_build:/usr/share/gocode
++ golist --imported --package-path pagure.io/golist --skip-self
++ GOPATH=/var/lib/builder/rpmbuild/BUILD/golist-263dcfff17382fb43c241ae46a555f8072576526/_build:/usr/share/gocode
++ golist --imported --package-path pagure.io/golist --skip-self --tests
+ sort -u
+ xargs '-I{}' echo 'golang({})'
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.wgrBm6
+ umask 022
+ cd /var/lib/builder/rpmbuild/BUILD
+ cd golist-263dcfff17382fb43c241ae46a555f8072576526

[…]

Wrote: /var/lib/builder/rpmbuild/SRPMS/golist-0.9.1-0.5.20190410git263dcff.fc31.src.rpm
Wrote: /var/lib/builder/rpmbuild/RPMS/x86_64/golist-0.9.1-0.5.20190410git263dcff.fc31.x86_64.rpm
Wrote: /var/lib/builder/rpmbuild/RPMS/noarch/golang-pagure-golist-devel-0.9.1-0.5.20190410git263dcff.fc31.noarch.rpm
Wrote: /var/lib/builder/rpmbuild/RPMS/x86_64/golist-debugsource-0.9.1-0.5.20190410git263dcff.fc31.x86_64.rpm
Wrote: /var/lib/builder/rpmbuild/RPMS/x86_64/golist-debuginfo-0.9.1-0.5.20190410git263dcff.fc31.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.BuGRl7
+ umask 022
+ cd /var/lib/builder/rpmbuild/BUILD
+ cd golist-263dcfff17382fb43c241ae46a555f8072576526
+ /usr/bin/rm -rf /var/lib/builder/rpmbuild/BUILDROOT/golist-0.9.1-0.5.20190410git263dcff.fc31.x86_64
+ exit 0

$ rpm -qp --requires /var/lib/builder/rpmbuild/SRPMS/golist-0.9.1-0.5.20190410git263dcff.fc31.src.rpm
go-rpm-macros
golang(github.com/urfave/cli)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(DynamicBuildRequires) <= 4.15.0-1
rpmlib(FileDigests) <= 4.6.0-1
```

@xsuchy I couldn't locate a pre-built mock to test with, and I'm out of time, so that will be all for today.

The tested spec is [here](https://copr-be.cloud.fedoraproject.org/results/nim/macros-ng/fedora-rawhide-x86_64/00881747-golist/golist.spec). It needs the rest of the [copr](https://copr.fedorainfracloud.org/coprs/nim/macros-ng/). (And, BTW, I’m real sick of carrying the remainder of [redhat-rpm-config PR51](https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/51)).

Unless I made a mistake somewhere, with this copr all Fedora golang packages that do not inhibit a BuildRequires or force it to a specific version, should rebuild by:
 * removing the following lines:
```rpm
BuildRequires: golang(foo)
```
* and adding
```rpm
%generate_buildrequires
%go_generate_buildrequires
```

And now I’ll switch to finishing the macro glue for my Go module dynamic BuildRequires generator, so I can test it too. Unlike this generator it will handle complex upstream versioning constrains and should require less shell massaging.


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/593#issuecomment-483029345
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20190414/a9b9cdd7/attachment.html>


More information about the Rpm-maint mailing list