Comments (8)
I see that some projects do provide source packages next to the github links in the list of artefacts (for instance https://github.com/containers/toolbox/releases ). Is that a feasible approach?
I'd rather special case the makefile to not fail the git status on release tagged commits (... somehow ...) than add another release artifact to maintain and host that won't even be complete for your purposes anyhow (since it will not have vendor).
The context for the distro packaging is intentionally controlled (no internet access, local compiler). So, I am already struggling with the imports, they all must be already packaged in the distro (I will start with an vendored approach just to divide the work).
Sure, but you had to download the source archive somehow, are you not able to download an actual repo clone instead? The machine that has internet access to tar up a git clone without any changes on our end.
from kind.
The source tarball is something github automatically generates on the fly and is not controlled by us.
Can you clone the repo instead?
from kind.
(docs: https://docs.github.com/en/repositories/working-with-files/using-files/downloading-source-code-archives -- not controlled by us)
We actually already inject the release info into checked in sources so if you go install sigs.k8s.io/[email protected]
it will work, but the makefile is expected to be used from a local clone currently.
from kind.
The context for the distro packaging is intentionally controlled (no internet access, local compiler). So, I am already struggling with the imports, they all must be already packaged in the distro (I will start with an vendored approach just to divide the work).
About the released package; sure, the dynamically generated archive are not usable. I see that some projects do provide source packages next to the github links in the list of artefacts (for instance https://github.com/containers/toolbox/releases ). Is that a feasible approach? Of course, I could do a manual packaging of the tagged "git clone" output into a tgz archive but that feels a bit old school in term of automation :-)
from kind.
This is normal, many projects require you to supply additional information like version and commit over a side channel.
make kind COMMIT=0296c52b38a6bb5ccdcbcf4e57f0ba79415e6ff2 COMMIT_COUNT=v0.23.0
The tarballs exported by git are predictable (they tried to change the format, but had to revert the change after outcry...)
b8ea6665bc37a34de0a6fe7592fb8ae376847e1c93fc5d6377140a98c1aa6a55 kind-0.23.0.tar.gz
Note: You might also want to "vendor" all dependencies.
For instance, Buildroot does this for you with go packages:
https://buildroot.org/downloads/manual/manual.html#_infrastructure_for_go_packages
KIND_VERSION = 0.23.0
KIND_SITE = $(call github,kubernetes-sigs,kind,v$(KIND_VERSION))
KIND_LICENSE = Apache-2.0
KIND_LICENSE_FILES = LICENSE
KIND_GOMOD = sigs.k8s.io/kind
# Locally calculated
sha256 95a6bd8c1776afe8136d5919235f2b34ea217ec81c18b38d206cedb6fff2928f kind-0.23.0.tar.gz
sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE
Where this new source tarball also includes the "vendor" directory.
The LICENSE file only differs in typography, maybe a version thing ?
@@ -1 +0,0 @@
-
@@ -182 +181 @@
- boilerplate notice, with the fields enclosed by brackets "[]"
+ boilerplate notice, with the fields enclosed by brackets "{}"
@@ -190 +189 @@
- Copyright [yyyy] [name of copyright owner]
+ Copyright {yyyy} {name of copyright owner}
When compared with http://www.apache.org/licenses/LICENSE-2.0
Can you clone the repo instead?
Most packaging systems still work with tarballs and patches, rather than using git when building.
Some systems, like brew
, give you the option of either - you can use something like --HEAD
.
But using git archive
is "normal"
from kind.
@ehdis you need to also use the -J
flag with curl, in order to get the correct filename on the download
content-disposition: attachment; filename=kind-0.23.0.tar.gz
from kind.
Note: not everyone bothers with commit information, since it is readily available from the tags anyway...
Example: https://github.com/buildroot/buildroot/blob/master/package/docker-engine/docker-engine.mk
-X $(DOCKER_ENGINE_GOMOD)/dockerversion.GitCommit="buildroot" \
-X $(DOCKER_ENGINE_GOMOD)/dockerversion.Version="$(DOCKER_ENGINE_VERSION)"
i.e. there is a dummy text instead
from kind.
There is a size difference, if storing the .tar.gz (git archive) or the .bundle (git bundle):
2,0M kind-0.23.0.tar.gz
`13M kind-0.23.0.bundle
Due to the git repository storing all history too, but the tarball only storing the files.
from kind.
Related Issues (20)
- trying to accelerate Kind cluster creation by using a commited image HOT 9
- Failed to pull an image HOT 2
- Cluster creation hangs or fails on "joining worker nodes" if custom node role is set HOT 6
- Please add the name flag to the help menu HOT 1
- Build ppc64le image HOT 1
- Allow setting the node image url in config file HOT 2
- Kind cluster not able to pull public images from ghcr.io HOT 8
- KIND kubelet fails to start HOT 12
- Adding kind exec feature to execute into cluster control plane shell HOT 5
- [rootless podman] Local registry script with podman complains about pasta HOT 2
- I created kind cluster with extramappings for 3080 and I want to change it to 30080, without deleting and recreating cluster. How to do that? HOT 7
- PodSecurityPolicies in kind clusters, how to enable them? HOT 1
- extraMounts does not sync between host and kube node HOT 3
- Investigate docker v27 ipv6 changes HOT 7
- [void linux] kind create cluster failed: elogind: invalid argument: unknown HOT 2
- cluster fails to start if mutiple control plane nodes are added. HOT 6
- Kind extraPortMappings issue HOT 5
- stuck when creating a cluster by kind HOT 11
- kindest/node:v1.30 cgroups: failed to write HOT 15
- hostPath Volume doesn't work in kind cluster HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kind.