Skip to content

Commit 16715a4

Browse files
committed
deb, rpm: slight refactor and cleanup
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
1 parent 6e5bcd5 commit 16715a4

File tree

12 files changed

+63
-38
lines changed

12 files changed

+63
-38
lines changed

pkg/buildx/deb/rules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ override_dh_dwz:
2828
@# https://packages.ubuntu.com/debhelper
2929

3030
override_dh_auto_install:
31-
install -D -m 0755 /usr/libexec/docker/cli-plugins/docker-buildx debian/docker-buildx-plugin/usr/libexec/docker/cli-plugins/docker-buildx
31+
install -D -p -m 0755 /usr/libexec/docker/cli-plugins/docker-buildx debian/docker-buildx-plugin/usr/libexec/docker/cli-plugins/docker-buildx
3232

3333
override_dh_installinit:
3434
dh_installinit

pkg/compose/deb/rules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ override_dh_dwz:
2323
@# https://packages.ubuntu.com/debhelper
2424

2525
override_dh_auto_install:
26-
install -D -m 0755 /usr/libexec/docker/cli-plugins/docker-compose debian/docker-compose-plugin/usr/libexec/docker/cli-plugins/docker-compose
26+
install -D -p -m 0755 /usr/libexec/docker/cli-plugins/docker-compose debian/docker-compose-plugin/usr/libexec/docker/cli-plugins/docker-compose
2727

2828
override_dh_installinit:
2929
dh_installinit

pkg/containerd/deb/rules

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ man: ## Create containerd man pages
4444
# copy the generated man pages instead of using "make install-man" to allow
4545
# dh_installman doing its magic
4646
install -d man
47-
install -D -m 0644 /go/src/github.com/containerd/containerd/man/* man
47+
install -D -p -m 0644 /go/src/github.com/containerd/containerd/man/* man
4848

4949
# force packages to be built with xz compression, as Ubuntu 21.10 and up use
5050
# zstd compression, which is non-standard, and breaks 'dpkg-sig --verify'
@@ -65,6 +65,6 @@ override_dh_systemd_start:
6565

6666
override_dh_auto_install: binaries bin/runc man
6767
mkdir -p debian/containerd.io/usr/bin
68-
install -D -m 0755 bin/* debian/containerd.io/usr/bin
69-
install -D -m 0644 /common/containerd.service debian/containerd.io/lib/systemd/system/containerd.service
70-
install -D -m 0644 /common/containerd.toml debian/containerd.io/etc/containerd/config.toml
68+
install -D -p -m 0755 bin/* debian/containerd.io/usr/bin
69+
install -D -p -m 0644 /common/containerd.service debian/containerd.io/lib/systemd/system/containerd.service
70+
install -D -p -m 0644 /common/containerd.toml debian/containerd.io/etc/containerd/config.toml

pkg/containerd/rpm/containerd.spec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,9 @@ GO111MODULE=auto make -C /go/src/github.com/opencontainers/runc BINDIR=%{_buildd
110110
%install
111111
cd %{_builddir}
112112
mkdir -p %{buildroot}%{_bindir}
113-
install -D -m 0755 bin/* %{buildroot}%{_bindir}
114-
install -D -m 0644 %{S:1} %{buildroot}%{_unitdir}/containerd.service
115-
install -D -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/containerd/config.toml
113+
install -D -p -m 0755 bin/* %{buildroot}%{_bindir}
114+
install -D -p -m 0644 %{S:1} %{buildroot}%{_unitdir}/containerd.service
115+
install -D -p -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/containerd/config.toml
116116

117117
# install manpages, taking into account that not all sections may be present
118118
for i in $(seq 1 8); do

pkg/credential-helpers/deb/rules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ override_dh_dwz:
1818
@# https://packages.ubuntu.com/debhelper
1919

2020
override_dh_auto_install:
21-
install -D bin/docker-credential-secretservice debian/docker-credential-secretservice/usr/bin/docker-credential-secretservice
22-
install -D bin/docker-credential-pass debian/docker-credential-pass/usr/bin/docker-credential-pass
21+
install -D -p -m 0755 bin/docker-credential-secretservice debian/docker-credential-secretservice/usr/bin/docker-credential-secretservice
22+
install -D -p -m 0755 bin/docker-credential-pass debian/docker-credential-pass/usr/bin/docker-credential-pass
2323

2424
override_dh_auto_test:
2525
ver="$$(bin/docker-credential-secretservice version)"; \

pkg/docker-cli/deb/docker-ce-cli.bash-completion

Lines changed: 0 additions & 1 deletion
This file was deleted.

pkg/docker-cli/deb/rules

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ override_dh_auto_build:
99
mkdir -p /go/src/github.com/docker && \
1010
ln -snf $(CURDIR)/cli /go/src/github.com/docker/cli && \
1111
cd /go/src/github.com/docker/cli && \
12-
VERSION=$(VERSION) GITCOMMIT=$(REVISION) LDFLAGS='' GO_LINKMODE=dynamic ./scripts/build/binary && \
13-
DISABLE_WARN_OUTSIDE_CONTAINER=1 LDFLAGS='' make manpages shell-completion
12+
make DISABLE_WARN_OUTSIDE_CONTAINER=1 VERSION=$(VERSION) GITCOMMIT=$(REVISION) LDFLAGS='' dynbinary manpages shell-completion
1413

1514
override_dh_auto_test:
1615
ver="$$(cli/build/docker --version)"; \
@@ -26,9 +25,40 @@ override_dh_dwz:
2625
@# https://packages.ubuntu.com/debhelper
2726

2827
override_dh_auto_install:
29-
install -D -m 0644 cli/build/completion/fish/docker.fish debian/docker-ce-cli/usr/share/fish/vendor_completions.d/docker.fish
30-
install -D -m 0644 cli/build/completion/zsh/_docker debian/docker-ce-cli/usr/share/zsh/vendor-completions/_docker
31-
install -D -m 0755 cli/build/docker debian/docker-ce-cli/usr/bin/docker
28+
install -D -p -m 0755 cli/build/docker debian/docker-ce-cli/usr/bin/docker
29+
30+
# docker-ce-cli shell-completion
31+
#
32+
# We are manually installing bash completions instead of using the "dh_bash-completion"
33+
# debhelper (see [1]); dh_bash-completion only supports bash, and none of the other shells,
34+
# which meant that we had to install 2 out of 3 manually, which was confusing ("what about
35+
# Bash?"). Given that locations to install these completion scripts are well-known, we
36+
# can safely use the manual approach for installing them.
37+
#
38+
# In future, can consider using "dh_shell_completions" (see [2]), which supports bash, zsh
39+
# and fish. However, "dh_shell_completions" is still really premature, and not available
40+
# in stable releases. So, currently, adding it as build-dependency, especially since
41+
# these are well-known, may not be a good choice, but we can revisit that in future
42+
# if things mature in this area.
43+
#
44+
# Observant readers may notice that we don't include PowerShell completion in
45+
# this list (even though Cobra provides them, and PowerShell *can* be installed
46+
# oon Linux). The short story is that there's no well-defined location, nor
47+
# a well-defined approach for this.
48+
#
49+
# The PowerShell maintainers (see [3]) considering that no completion scripts
50+
# are needed for anything following the PowerShell specifications, and for
51+
# anything else, PowerShell is capable enough to use zsh and bash completions.
52+
#
53+
# All of the above taken into account; it's fuzzy enough to just leave it as
54+
# an exercise for the user to decide what to do.
55+
#
56+
# [1]: https://manpages.debian.org/bookworm/bash-completion/dh_bash-completion.1.en.html
57+
# [2]: https://manpages.debian.org/testing/dh-shell-completions/dh_shell_completions.1.en.html
58+
# [3]: https://github.com/PowerShell/PowerShell/issues/17582
59+
install -D -p -m 0644 cli/build/completion/fish/docker.fish debian/docker-ce-cli/usr/share/fish/vendor_completions.d/docker.fish
60+
install -D -p -m 0644 cli/build/completion/zsh/_docker debian/docker-ce-cli/usr/share/zsh/vendor-completions/_docker
61+
install -D -p -m 0755 cli/build/docker debian/docker-ce-cli/usr/bin/docker
3262

3363
override_dh_installinit:
3464
dh_installinit

pkg/docker-cli/rpm/docker-ce-cli.spec

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,12 @@ ver="$(cli/build/docker --version)"; \
5555

5656
%install
5757
# install binary
58-
install -d ${RPM_BUILD_ROOT}%{_bindir}
59-
install -p -m 755 cli/build/docker ${RPM_BUILD_ROOT}%{_bindir}/docker
58+
install -D -p -m 755 cli/build/docker ${RPM_BUILD_ROOT}%{_bindir}/docker
6059

6160
# add bash, zsh, and fish completions
62-
install -d ${RPM_BUILD_ROOT}%{_datadir}/bash-completion/completions
63-
install -d ${RPM_BUILD_ROOT}%{_datadir}/zsh/vendor-completions
64-
install -d ${RPM_BUILD_ROOT}%{_datadir}/fish/vendor_completions.d
65-
install -p -m 644 cli/build/completion/bash/docker ${RPM_BUILD_ROOT}%{_datadir}/bash-completion/completions/docker
66-
install -p -m 644 cli/build/completion/zsh/_docker ${RPM_BUILD_ROOT}%{_datadir}/zsh/vendor-completions/_docker
67-
install -p -m 644 cli/build/completion/fish/docker.fish ${RPM_BUILD_ROOT}%{_datadir}/fish/vendor_completions.d/docker.fish
61+
install -D -p -m 644 cli/build/completion/bash/docker ${RPM_BUILD_ROOT}%{_datadir}/bash-completion/completions/docker
62+
install -D -p -m 644 cli/build/completion/zsh/_docker ${RPM_BUILD_ROOT}%{_datadir}/zsh/vendor-completions/_docker
63+
install -D -p -m 644 cli/build/completion/fish/docker.fish ${RPM_BUILD_ROOT}%{_datadir}/fish/vendor_completions.d/docker.fish
6864

6965
# install man-pages
7066
for sec in $(seq 1 9); do
@@ -77,7 +73,7 @@ done
7773

7874
mkdir -p build-docs
7975
for cli_file in LICENSE MAINTAINERS NOTICE README.md; do
80-
cp "cli/$cli_file" "build-docs/$cli_file"
76+
install -D -p -m 644 "cli/$cli_file" "build-docs/$cli_file"
8177
done
8278

8379
%files

pkg/docker-engine/deb/rules

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,16 @@ override_dh_dwz:
2828
@# https://packages.ubuntu.com/debhelper
2929

3030
override_dh_auto_install:
31-
install -D -m 0644 /common/systemd/docker.service debian/docker-ce/lib/systemd/system/docker.service
32-
install -D -m 0644 /common/systemd/docker.socket debian/docker-ce/lib/systemd/system/docker.socket
33-
install -D -m 0755 $(shell readlink -e engine/bundles/dynbinary-daemon/dockerd) debian/docker-ce/usr/bin/dockerd
34-
install -D -m 0755 $(shell readlink -e engine/bundles/dynbinary-daemon/docker-proxy) debian/docker-ce/usr/bin/docker-proxy
35-
install -D -m 0755 /usr/local/bin/docker-init debian/docker-ce/usr/libexec/docker/docker-init
31+
install -D -p -m 0644 /common/systemd/docker.service debian/docker-ce/lib/systemd/system/docker.service
32+
install -D -p -m 0644 /common/systemd/docker.socket debian/docker-ce/lib/systemd/system/docker.socket
33+
install -D -p -m 0755 $(shell readlink -e engine/bundles/dynbinary-daemon/dockerd) debian/docker-ce/usr/bin/dockerd
34+
install -D -p -m 0755 $(shell readlink -e engine/bundles/dynbinary-daemon/docker-proxy) debian/docker-ce/usr/bin/docker-proxy
35+
install -D -p -m 0755 /usr/local/bin/docker-init debian/docker-ce/usr/libexec/docker/docker-init
3636

3737
# docker-ce-rootless-extras install
38-
install -D -m 0755 /usr/local/bin/rootlesskit debian/docker-ce-rootless-extras/usr/bin/rootlesskit
39-
install -D -m 0755 engine/contrib/dockerd-rootless.sh debian/docker-ce-rootless-extras/usr/bin/dockerd-rootless.sh
40-
install -D -m 0755 engine/contrib/dockerd-rootless-setuptool.sh debian/docker-ce-rootless-extras/usr/bin/dockerd-rootless-setuptool.sh
38+
install -D -p -m 0755 /usr/local/bin/rootlesskit debian/docker-ce-rootless-extras/usr/bin/rootlesskit
39+
install -D -p -m 0755 engine/contrib/dockerd-rootless.sh debian/docker-ce-rootless-extras/usr/bin/dockerd-rootless.sh
40+
install -D -p -m 0755 engine/contrib/dockerd-rootless-setuptool.sh debian/docker-ce-rootless-extras/usr/bin/dockerd-rootless-setuptool.sh
4141
# TODO: how can we install vpnkit?
4242

4343
override_dh_installinit:

pkg/docker-engine/rpm/docker-ce.spec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ install -D -p -m 0755 $(readlink -f engine/bundles/dynbinary-daemon/docker-proxy
8888
install -D -p -m 0755 /usr/local/bin/docker-init ${RPM_BUILD_ROOT}%{_libexecdir}/docker/docker-init
8989

9090
# install systemd scripts
91-
install -D -m 0644 engine/contrib/init/systemd/docker.service ${RPM_BUILD_ROOT}%{_unitdir}/docker.service
92-
install -D -m 0644 engine/contrib/init/systemd/docker.socket ${RPM_BUILD_ROOT}%{_unitdir}/docker.socket
91+
install -D -p -m 0644 engine/contrib/init/systemd/docker.service ${RPM_BUILD_ROOT}%{_unitdir}/docker.service
92+
install -D -p -m 0644 engine/contrib/init/systemd/docker.socket ${RPM_BUILD_ROOT}%{_unitdir}/docker.socket
9393

9494
# install manpages
9595
make -C ${RPM_BUILD_DIR}/src/engine/man DESTDIR=${RPM_BUILD_ROOT} mandir=%{_mandir} install

0 commit comments

Comments
 (0)