Skip to content

Commit 8db7da1

Browse files
authored
fix: error while rebuild docker image
- Change owner of the debian/deb folder for correct removing it. refs: #170, #155
1 parent 147941f commit 8db7da1

File tree

4 files changed

+21
-13
lines changed

4 files changed

+21
-13
lines changed

Makefile

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ UTIL_VERSION := 0.3.5
22
UTIL_NAME := codeplag
33
PWD := $(shell pwd)
44

5+
USER_UID ?= $(shell id --user)
6+
USER_GID ?= $(shell id --group)
7+
58
BASE_DOCKER_VERSION := 1.2
69
BASE_DOCKER_TAG := $(shell echo $(UTIL_NAME)-base-ubuntu20.04:$(BASE_DOCKER_VERSION) | tr A-Z a-z)
710
TEST_DOCKER_TAG := $(shell echo $(UTIL_NAME)-test-ubuntu20.04:$(UTIL_VERSION) | tr A-Z a-z)
@@ -12,6 +15,7 @@ PYTHONPATH := $(PWD)/src/:$(PWD)/test/auto
1215
LOGS_PATH := /var/log/$(UTIL_NAME)
1316
CODEPLAG_LOG_PATH := $(LOGS_PATH)/$(UTIL_NAME).log
1417
CONFIG_PATH := /etc/$(UTIL_NAME)/settings.conf
18+
DEBIAN_PACKAGES_PATH := debian/deb
1519

1620
SOURCE_SUB_FILES := src/$(UTIL_NAME)/consts.py
1721
IS_DEVELOPED ?= 1
@@ -41,6 +45,7 @@ substitute = @sed \
4145
-e "s|@LOGS_PATH@|${LOGS_PATH}|g" \
4246
-e "s|@CONFIG_PATH@|${CONFIG_PATH}|g" \
4347
-e "s|@BASE_DOCKER_TAG@|${BASE_DOCKER_TAG}|g" \
48+
-e "s|@DEBIAN_PACKAGES_PATH@|${DEBIAN_PACKAGES_PATH}|g" \
4449
$(1) > $(2) \
4550
&& echo "Substituted from '$(1)' to '$(2)'."
4651

@@ -86,14 +91,14 @@ install: substitute-sources man
8691
install -D -m 0644 man/$(UTIL_NAME).1 $(DESTDIR)/usr/share/man/man1/$(UTIL_NAME).1
8792

8893
package: substitute-debian
89-
find debian/deb/$(UTIL_NAME)* > /dev/null 2>&1 || ( \
94+
find $(DEBIAN_PACKAGES_PATH)/$(UTIL_NAME)* > /dev/null 2>&1 || ( \
9095
dpkg-buildpackage -jauto -b \
91-
--buildinfo-option="-u$(CURDIR)/debian/deb" \
92-
--changes-option="-u$(CURDIR)/debian/deb" \
93-
--no-sign \
96+
--buildinfo-option="-u$(CURDIR)/$(DEBIAN_PACKAGES_PATH)" \
97+
--changes-option="-u$(CURDIR)/$(DEBIAN_PACKAGES_PATH)" \
98+
--no-sign && \
99+
cp $(DEBIAN_PACKAGES_PATH)/usr/share/man/man1/$(UTIL_NAME).1 $(DEBIAN_PACKAGES_PATH)/$(UTIL_NAME).1 && \
100+
chown --recursive ${USER_UID}:${USER_GID} $(DEBIAN_PACKAGES_PATH) \
94101
)
95-
cp debian/deb/usr/share/man/man1/$(UTIL_NAME).1 debian/deb/$(UTIL_NAME).1
96-
rm --force --recursive debian/deb/*/
97102

98103
test: substitute-sources
99104
pytest test/unit -q
@@ -108,13 +113,13 @@ pre-commit:
108113

109114
clean-cache:
110115
find . -maxdepth 1 -type d | grep -E "pytest_cache" | (xargs rm -r 2> /dev/null || exit 0)
111-
find . -type d | grep -E "__pycache__" | (xargs rm -r 2> /dev/null || exit 0)
116+
rm --recursive --force $(shell find -type d -iname "__pycache__")
112117

113118
clean: clean-cache
114119
rm --force --recursive man/
115120
rm --force --recursive build/
116121
rm --force --recursive dist/
117-
rm --force --recursive debian/deb/*
122+
rm --force --recursive $(DEBIAN_PACKAGES_PATH)/*
118123
rm --force --recursive debian/.debhelper/
119124
rm --force --recursive debian/$(UTIL_NAME)-util/
120125
rm --force debian/debhelper-build-stamp
@@ -130,6 +135,7 @@ clean-all: clean
130135
rm --force docker/test_ubuntu2004.dockerfile
131136
rm --force docker/ubuntu2004.dockerfile
132137

138+
rm --force --recursive $(DEBIAN_PACKAGES_PATH)
133139
rm --force debian/changelog
134140
rm --force debian/control
135141
rm --force debian/preinst

debian/rules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/make -f
22

3-
DESTDIR = $(CURDIR)/debian/deb
3+
DESTDIR = $(CURDIR)/$(DEBIAN_PACKAGES_PATH)
44

55
%:
66
dh $@

docker.mk

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@ docker-autotest: docker-test-image
3434

3535
docker-build-package: docker-test-image
3636
docker run --rm \
37-
--volume $(PWD)/debian/deb:/usr/src/$(UTIL_NAME)/debian/deb \
37+
--volume $(PWD)/$(DEBIAN_PACKAGES_PATH):/usr/src/$(UTIL_NAME)/$(DEBIAN_PACKAGES_PATH) \
3838
--env IS_DEVELOPED=$(IS_DEVELOPED) \
39+
--env USER_UID=$(USER_UID) \
40+
--env USER_GID=$(USER_GID) \
3941
"$(TEST_DOCKER_TAG)" bash -c \
4042
"make package"
4143

docker/ubuntu2004.dockerfile.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ ADD README.md /usr/src/@UTIL_NAME@/README.md
77
ADD LICENSE /usr/src/@UTIL_NAME@/LICENSE
88
ADD Makefile /usr/src/@UTIL_NAME@/Makefile
99
ADD docker.mk /usr/src/@UTIL_NAME@/docker.mk
10-
ADD debian/deb/ /usr/src/@UTIL_NAME@/debian/deb
10+
ADD @DEBIAN_PACKAGES_PATH@ /usr/src/@UTIL_NAME@/@DEBIAN_PACKAGES_PATH@
1111

12-
RUN apt-get install -y /usr/src/@UTIL_NAME@/debian/deb/@UTIL_NAME@-util_@UTIL_VERSION@-1@DEVEL_SUFFIX@_amd64.deb
12+
RUN apt-get install -y /usr/src/@UTIL_NAME@/@DEBIAN_PACKAGES_PATH@/@UTIL_NAME@-util_@UTIL_VERSION@-1@DEVEL_SUFFIX@_amd64.deb
1313
# TODO: Fix this hook. apt-get don't install manpage into image.
14-
RUN install -D -m 0644 debian/deb/@UTIL_NAME@.1 /usr/share/man/man1/
14+
RUN install -D -m 0644 @DEBIAN_PACKAGES_PATH@/@UTIL_NAME@.1 /usr/share/man/man1/
1515
RUN rm --recursive /usr/src/@UTIL_NAME@/debian
1616

1717
CMD ["/bin/bash"]

0 commit comments

Comments
 (0)