Ondrej Nosek kirjoitti 4.5.2022 klo 18.01:
Hi all,
A few months ago fedpkg introduced a change which avoids downloading source files (from dist-git) that are not used in the specfile and therefore downloading them would be wasting of resources and time. The original request was opened here [1] and implemented here [2]. The logic is part of the command "fedpkg sources" and currently can't be disabled manually. The logic parses specfile, but doesn't do a deep analysis, so it is doesn't always right.
Recently we got a request for opt-in implementation of this. It means you should actively use some argument (ie. --skip-unused) to avoid downloading unused sources. The requestor points out that it broke the original functionality and it is not possible to add any extra arguments into the complicated release process (RHEL kernel).
Author of the patch under discussion here.
The premise was that "specfile sources" equal "sources file sources". Since there is a request like this, that is apparently not always the case. From that perspective, the patch is wrong and opt-in would be the correct way.
The suggestion to also allow configuring this in fedpkg.conf is good, because for the majority of users who do not encounter these special packages could avoid the effort to adding an extra parameter every time.
It is also good to keep in mind that the original reason why unused sources were bothering packagers was that they easily happen during package version updates, when test builds are done with 'fedokg mockbuild' after specfile has been updated to the new package version, but before lookaside cache has been updated with new sources. At the same time wiht #564, I also wrote another path #561 [1] that enabled 'fedpkg new-sources --offline'. That allows a package update workflow that also avoids unnecessary downloads:
$ rpm-bumpspec -n 1.2.3 *.spec $ spectool -g *.spec Downloading: https://example.com/downloads/package-1.2.3.tar.gz Downloaded: package-1.2.3.tar.gz $ fedpkg new-sources --offline package-1.2.3.tar.gz Uploading: package-1.2.3.tar.gz *Upload disabled* Source upload succeeded. Don't forget to commit the sources file $ fedpkg mockbuild Not downloading already downloaded package-1.2.3.tar.gz
Given availability of this method, if there are no other, major cases where unused sources appear, I do not think opt-in is a bad solution.