-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement the specfile preprocessing without RPM parsing of specfile #211
Comments
JFTR, weakly related to my "disagreement" with the design of rpmautospec |
Weak relation to #175 |
This is one of the main reasons for moving rpmautospec into a mock plugin: there's no way to ever guarantee that the host system will have a version of RPM that can parse any possible RPM specfile; we can only require that the spec matches the target distribution. |
But note the flaw though. Consider as simple task as getting a source tarball I am not aiming at 100% perfect parser solution here, at all! The point is to If we plan to rewrite rpmautospec for #217, I think it is good idea to think |
Parsing specfiles might be problematic, as specfiles are distribution specific.
On Fedora 41, e.g., it is impossible to parse some of the old spec
files, because:
On older systems, it is impossible to parse new specfiles, because, e.g.:
The rmpautospec should avoid the specfile-parsing-by-RPM business,
somehow. The tooling is a terribly low-level. Consider a simple
task like:
Generating a source archive from dist-git checkout
This would be as simple as having a git checkout, and archiving
git ls-files HEAD + lookaside files (call
/bin/dist-git-client
, e.g.)Then, with rpmautospec we have to
git fetch --unshallow
first(we have to deal with its problems, somehow #210, but still good!).
Now, to process the specfile with rpmautospec, we are actually
parsing the specfile by RPM. This can not be done safely in general -> to
stay on the safe side, we have to switch into an appropriate Mock chroot,
and run rpmautospec there.
I'm not sure how the commit c7e1796 is related.
I'm aware there's
error_on_unparseable_spec
, but I'm not sure what's therisk of setting it to False.
The text was updated successfully, but these errors were encountered: