Skip to content

Commit fccc77c

Browse files
authored
Merge pull request #4556 from afbjorklund/kvm2-packages
Add linux packaging for the kvm2 driver binary
2 parents 35753aa + 2ef0f74 commit fccc77c

File tree

5 files changed

+64
-4
lines changed

5 files changed

+64
-4
lines changed

Makefile

+17
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,23 @@ out/docker-machine-driver-kvm2:
422422
k8s.io/minikube/cmd/drivers/kvm
423423
chmod +X $@
424424

425+
out/docker-machine-driver-kvm2_$(DEB_VERSION).deb: out/docker-machine-driver-kvm2
426+
cp -r installers/linux/deb/kvm2_deb_template out/docker-machine-driver-kvm2_$(DEB_VERSION)
427+
chmod 0755 out/docker-machine-driver-kvm2_$(DEB_VERSION)/DEBIAN
428+
sed -E -i 's/--VERSION--/'$(DEB_VERSION)'/g' out/docker-machine-driver-kvm2_$(DEB_VERSION)/DEBIAN/control
429+
mkdir -p out/docker-machine-driver-kvm2_$(DEB_VERSION)/usr/bin
430+
cp out/docker-machine-driver-kvm2 out/docker-machine-driver-kvm2_$(DEB_VERSION)/usr/bin/docker-machine-driver-kvm2
431+
fakeroot dpkg-deb --build out/docker-machine-driver-kvm2_$(DEB_VERSION)
432+
rm -rf out/docker-machine-driver-kvm2_$(DEB_VERSION)
433+
434+
out/docker-machine-driver-kvm2-$(RPM_VERSION).rpm: out/docker-machine-driver-kvm2
435+
cp -r installers/linux/rpm/kvm2_rpm_template out/docker-machine-driver-kvm2-$(RPM_VERSION)
436+
sed -E -i 's/--VERSION--/'$(RPM_VERSION)'/g' out/docker-machine-driver-kvm2-$(RPM_VERSION)/docker-machine-driver-kvm2.spec
437+
sed -E -i 's|--OUT--|'$(PWD)/out'|g' out/docker-machine-driver-kvm2-$(RPM_VERSION)/docker-machine-driver-kvm2.spec
438+
rpmbuild -bb -D "_rpmdir $(PWD)/out" -D "_rpmfilename docker-machine-driver-kvm2-$(RPM_VERSION).rpm" \
439+
out/docker-machine-driver-kvm2-$(RPM_VERSION)/docker-machine-driver-kvm2.spec
440+
rm -rf out/docker-machine-driver-kvm2-$(RPM_VERSION)
441+
425442
kvm-image: $(KVM_BUILD_IMAGE) # convenient alias to build the docker container
426443
$(KVM_BUILD_IMAGE): installers/linux/kvm/Dockerfile
427444
docker build --build-arg "GO_VERSION=$(GO_VERSION)" -t $@ -f $< $(dir $<)

hack/jenkins/release_build_and_upload.sh

+3-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ cat Makefile | grep "VERSION_MINOR ?=" | grep $VERSION_MINOR
3737
cat Makefile | grep "VERSION_BUILD ?=" | grep $VERSION_BUILD
3838

3939
# Build and upload
40-
BUILD_IN_DOCKER=y make -j 16 all out/minikube-installer.exe out/minikube_${DEB_VERSION}.deb out/minikube-${RPM_VERSION}.rpm
40+
BUILD_IN_DOCKER=y make -j 16 all out/minikube-installer.exe \
41+
out/minikube_${DEB_VERSION}.deb out/minikube-${RPM_VERSION}.rpm \
42+
out/docker-machine-driver-kvm2_${DEB_VERSION}.deb out/docker-machine-driver-kvm2-${RPM_VERSION}.rpm
4143
make checksum
4244

4345
gsutil -m cp out/* gs://$BUCKET/releases/$TAGNAME/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Package: docker-machine-driver-kvm2
2+
Version: --VERSION--
3+
Section: base
4+
Priority: optional
5+
Architecture: amd64
6+
Depends: libvirt0 (>= 1.3.1)
7+
Recommends: minikube
8+
Maintainer: Thomas Strömberg <[email protected]>
9+
Description: Machine driver for KVM
10+
minikube uses Docker Machine to manage the Kubernetes VM so it benefits
11+
from the driver plugin architecture that Docker Machine uses to provide
12+
a consistent way to manage various VM providers.

installers/linux/deb/minikube_deb_template/DEBIAN/control

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ Section: base
44
Priority: optional
55
Architecture: amd64
66
Recommends: virtualbox
7-
Maintainer: Aaron Prindle <[email protected]>
7+
Maintainer: Thomas Strömberg <[email protected]>
88
Description: Minikube
9-
Minikube is a tool that makes it easy to run Kubernetes locally.
10-
Minikube runs a single-node Kubernetes cluster inside a VM on your
9+
minikube is a tool that makes it easy to run Kubernetes locally.
10+
minikube runs a single-node Kubernetes cluster inside a VM on your
1111
laptop for users looking to try out Kubernetes or develop with it
1212
day-to-day.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Name: docker-machine-driver-kvm2
2+
Version: --VERSION--
3+
Release: 0
4+
Summary: Machine driver for KVM
5+
License: ASL 2.0
6+
Group: Development/Tools
7+
URL: https://github.com/kubernetes/minikube
8+
#Requires: <determined automatically by rpm>
9+
10+
# Needed for older versions of RPM
11+
BuildRoot: %{_tmppath}%{name}-buildroot
12+
13+
%description
14+
Minikube uses Docker Machine to manage the Kubernetes VM so it benefits
15+
from the driver plugin architecture that Docker Machine uses to provide
16+
a consistent way to manage various VM providers.
17+
18+
%prep
19+
mkdir -p %{name}-%{version}
20+
cd %{name}-%{version}
21+
cp --OUT--/docker-machine-driver-kvm2 .
22+
23+
%install
24+
cd %{name}-%{version}
25+
mkdir -p %{buildroot}%{_bindir}
26+
install -m 755 docker-machine-driver-kvm2 %{buildroot}%{_bindir}/%{name}
27+
28+
%files
29+
%{_bindir}/%{name}

0 commit comments

Comments
 (0)