-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Makefile: rename build artifact for windows and darwin #9918
Conversation
lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: vrothberg The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Requested in crc-org/crc#2171. |
Needs some more massaging |
@cevich PTAL - will this break the Cirrus jobs that build binary artifacts? |
I don't think so, but thanks for checking. The problem I intended to fix in #9381 is more related to the order of targets. Though @vrothberg be warned...this area of the Makefile is very delicate 😕 My plan is to get back onto that PR, after my get_ci_vm wounds scab over 😁 |
@vrothberg unhappy red tests |
Rename `podman-remote` to `podman.exe` on Windows and to `podman` on Mac OS. The `-remote` suffix isn't needed since Podman does not run natively on these systems. Signed-off-by: Valentin Rothberg <[email protected]>
We will deliver integration of Podman with CRC, but the current binary names aren't consistent: For example, the V2.2.1 releases are:
This would mean that the binary on Windows is named I would also like to see consistent naming in the release artifacts, as the current artifacts include |
Thanks, @gbraad! I'll wait a bit for consensus until pushing the PR forward. |
Podman-remote on a MAC should be called podman. Users think in terms of Podman, they don't really care if it works locally or remote. Only on linux should we call podman-remote podman-remote, since native podman is there and almost no-one will ever use podman-remote on a linux box, unless you want a smaller binary and only want to use remote connections. I think we should just make make create bin/windows/podman.exe and bin/darwin/podman. |
I like that idea, it might allow simplifying the Makefile (which I plan to work on soon-ish in #9381). i.e. We already have targets for |
Sure, although it would drive me crazy, since I am used to typing ./bin/podman |
I think that |
It's easy enough to modify the CI scripts and tests, but you do raise a good point. There may be third-party automation (like rpm or deb builds) that would need to be modified. So yeah, with that in mind, we probably should leave it as-is w/ everything under Alternate idea for Mac (maybe Windows?): Call the binary |
I am less worried about Windows and Mac builds, since we provide these upstream. But the Linux binaries have many downstream users. |
I’d be OK with placing non-Linux binaries in subdirectories at build time
(will make things much simpler IMO). What we should do at install time on
OS X and Windows is less clear, but providing both Podman and podman-remote
makes sense to me.
…On Fri, Apr 2, 2021 at 08:35 Valentin Rothberg ***@***.***> wrote:
I am less worried about Windows and Mac builds, since we provide these
upstream. But the Linux binaries have many downstream users.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#9918 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB3AOCBUKGISUABH23RED6TTGW2ZDANCNFSM42HIPPJA>
.
|
I've now done this in #9381 and got it working. It turned out to not be so simple, but it does prevent any mixups of the binaries from one GOOS accidentally being run on another. Anyway, I think it's okay to close this PR and I'll work on incorporating it into mine. |
Thank you, @cevich ! |
* Incorporate changes from abandoned containers#9918: Use dedicated `bin` sub-directories for `windows` and `darwin` when building `podman-remote`. The linux flavor remains under `bin` as before. * Fix MacOS Documentation-generation for release-packaging. The `install-podman-remote-%-docs` target requires local execution of `podman-remote`, but it was assuming GOOS=linux. Fix this by dynamically discovering the local OS/architecture type while still permitting cross-building of MacOS binaries under Linux. * Unify temporary directory/file behavior to use a common template. In case of left-over temporary items left in the repository, update the `clean` target accordingly to remove them. * Fix broken podman-remote-static and MacOS release archive targets mismatching the `podman-remote-%` target. Disambiguate this target for all platforms by spelling each out in full, instead of using a wild-card recipe. * Fix Windows-installer target to properly recognize existing output files and not constantly rebuild every time. * Include the podman version number in the Windows-installer target in case a user downloads multiple releases. * Include a subdirectory containing the podman version number for both `tar.gz` and `zip` targets. This prevents users clobbering existing directories when un-archiving from releases. Signed-off-by: Chris Evich <[email protected]>
* Incorporate changes from abandoned containers#9918: Use dedicated `bin` sub-directories for `windows` and `darwin` when building `podman-remote`. The linux flavor remains under `bin` as before. * Fix MacOS Documentation-generation for release-packaging. The `install-podman-remote-%-docs` target requires local execution of `podman-remote`, but it was assuming GOOS=linux. Fix this by dynamically discovering the local OS/architecture type while still permitting cross-building of MacOS binaries under Linux. * Unify temporary directory/file behavior to use a common template. In case of left-over temporary items left in the repository, update the `clean` target accordingly to remove them. * Fix broken podman-remote-static and MacOS release archive targets mismatching the `podman-remote-%` target. Disambiguate this target for all platforms by spelling each out in full, instead of using a wild-card recipe. * Fix Windows-installer target to properly recognize existing output files and not constantly rebuild every time. * Include the podman version number in the Windows-installer target in case a user downloads multiple releases. * Include a subdirectory containing the podman version number for both `tar.gz` and `zip` targets. This prevents users clobbering existing directories when un-archiving from releases. Signed-off-by: Chris Evich <[email protected]>
Rename
podman-remote
topodman.exe
on Windows and topodman
on MacOS. The
-remote
suffix isn't needed since Podman does not runnatively on these systems.
Signed-off-by: Valentin Rothberg [email protected]