-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Extract the build/installation steps out of the input method for future source-based package support #2024
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
base: main
Are you sure you want to change the base?
Conversation
|
not surprised that CI tests fail considering I broke all but the cpan and gem input types. |
|
I’m away from my workstation at the moment and will try to get this evaluated when I can in a week or two :) |
|
This looks like a great start :) I have some ideas and I'll shoot you a PR for them soon -- notably, changing the shell code from a multiline string to be an array of commands. I"ll also see about moving this a bit forward towards getting the test suite to pass again. |
|
I look forward to it! |
|
Hey @jordansissel, wondering if you ever got a chance to look at this more in depth. Best regards. |
|
I've been thinking about this PR for a bit and have some additional thoughts - Comparing the shell_code with build_and_install, it handles things slightly differently and runs different (though similar) commands. In practice, this may be necessary, but It would probably be necessary to handle fpm flags the same (use the same perl path, etc?)
It's also unclear how we would go from these build/install strings to something that Debian or rpmbuild can use successfully. For example, with rpmbuild, instead of If I look at Archive::Zip for Fedora, Debian, and Arch Linux, we can start to see how each platform varies even for a simple perl module:
Notably: FreeBSD ports has a very tiny entry for Archive::Zip because bsd.port.mk already knows how to handle perl modules. Debian also has some builtin knowledge here as evidenced by a basically-empty rules file. Is the installation directory (aka DESTDIR, %buildroot, etc) the only part missing? Or are we missing more? Templating this would be ok, I think, so instead of: - install_procedure = "./Build install\n"
+ install_procedure = "./Build install --destdir {DESTDIR}\n"And for srpm, Are we missing anything other parameters/templating necessary in these build/install steps? For example, do we need to compute a list of files here? or no? (for example, rpm's (Out of scope for this PR: architecture settings like noarch/all/etc, dependencies, build dependencies, etc) |
|
@jordansissel |
description of this PR provided here: #1972 (comment)