Learn more about these different git repos.
Other Git URLs
All of the trytond* packages fail to build from dit git.
trytond*
Example: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/build/1162692/
cmd: ['rpkg', 'srpm', '--outdir', '/var/lib/copr-rpmbuild/results52nyspci', '--spec', '/tmp/tmpll4ka_io/trytond-dashboard'] cwd: /tmp/tmpll4ka_io/trytond-dashboard rc: 0 stdout: Downloading trytond_dashboard-4.0.1.tar.gz from lookaside cache at src.fedoraproject.org Wrote: /var/lib/copr-rpmbuild/results52nyspci/trytond-dashboard.spec stderr: warning: Downloading http://downloads.tryton.org/4.0/trytond-dashboard-4.0.1.tar.gz to /var/lib/copr-rpmbuild/results52nyspci/trytond-dashboard-4.0.1.tar.gz curl: (1) Protocol "http" not supported or disabled in libcurl error: Couldn't download http://downloads.tryton.org/4.0/trytond-dashboard-4.0.1.tar.gz Failed to execute command.
There are several things I've noticed:
I appreciate the security here, non-https URLs are dangerous, but in this case, the download should IMHO never be attempted in the first place.
BTW the Source URL is 404 and I remember this problem even when http URLs were working, the SRPM build used to fail because of the 404 error before, which is equally not needed.
This looks like something is broken in rpkg-util, because the Source0 actually is downloaded: https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/srpm-builds/01162692
Upstream ticket: https://pagure.io/rpkg-util/issue/24
Metadata Update from @praiskup: - Issue tagged with: bug
Otherwise, better support of dist-git/s could help here: https://pagure.io/copr/copr/issue/529
Per discussion in rpkg-util/issue/24, the problem is that at the time of evaluating %global pkgname %(echo \"%{name}\" | sed 's/-/_/g') there's no Name: defined yet. So it evaluates as unexpanded '%name' string.
%global pkgname %(echo \"%{name}\" | sed 's/-/_/g')
Later, when it is defined, this re-expands to the variant with dash.
I can imagine this is probably contrary to what everyone suggests, but using %define instead of %global would work fine. Or moving the definition of the macro below Name: tag.
Name:
The rpkg-util will unlikely define _disable_source_fetch. So until we have #529 implemented, I don't think it is wise to implement any hacks on copr side for this minor case. Or how severe do you think this issue is?
rpkg-util
_disable_source_fetch
Or how severe do you think this issue is?
I think this is pretty much just another symptom of https://pagure.io/copr/copr/issue/529 - we don't need no rpkg-util, it just makes things worse. Every quirk like this is caused by this tool being too clever. We just need to build from dist git. I don't have data, but I suspect a lot of other people do and they expect "rpkg" to mean that.
@churchyard @praiskup can you tell me what features you would like too see from rpkg to be a viable solution for building from distgit?
rpkg-util? no features at all. rpkg? get sources from lookaside cache, create srpm from it
Another symptom of this bug is this failure of abrt that happens in Copr only:
abrt
+ autoconf /usr/bin/autoconf: This script requires a shell more modern than all /usr/bin/autoconf: the shells that I found on your system. /usr/bin/autoconf: Please tell bug-autoconf@gnu.org about your system, /usr/bin/autoconf: including any error possibly output before this /usr/bin/autoconf: message. Then install a modern shell, or manually run /usr/bin/autoconf: the script under such a shell if you do have one. error: Bad exit status from /var/tmp/rpm-tmp.Pu1okt (%build)
https://copr.fedorainfracloud.org/coprs/g/python/sphinx-3.2.x/package/abrt/
While in Koji it works:
https://koschei.fedoraproject.org/package/abrt?collection=f33
That is caused by the fact that Copr downloads the sources from the internet and not the lookaside cache, which has different source tarball in it. See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/7VLW4UAEQCOG4VF4275YKX52C74NFKUF/
Per discussion in https://pagure.io/copr/copr/issue/529 , we have to disable the automatic source fetching done by RPM. Doing %_disable_source_fetch 0 causes that RPM tries to download (or somehow check) sources, even though these are already downloaded.
%_disable_source_fetch 0
No, I already knew before what this is about (I mean the comment https://pagure.io/copr/copr/issue/1219#comment-621855), and I forgot about it -- and needed to re-debug this :-(
Anyway, even though I think that the package is buggy (we shouldn't expect that %name macro is working before Name is defined), it doesn't make sense to have %_disable_source_fetch 0. It only brings additional headaches and differences from Koji.
Metadata Update from @praiskup: - Issue assigned to praiskup
This should fix the problem: https://pagure.io/copr/copr/pull-request/1511
Fix is deployed to staging: http://https://copr-fe-dev.cloud.fedoraproject.org
Indeed: https://copr-fe-dev.cloud.fedoraproject.org/coprs/churchyard/test-simple-dist-git/build/859003/ \o/
Commit 0f52cfd fixes this issue
Login to comment on this ticket.