]> git.ipfire.org Git - people/ms/pakfire.git/commitdiff
Add Dockerfile
authorJonatan Schlag <jonatan.schlag@ipfire.org>
Sat, 23 Sep 2017 18:14:28 +0000 (19:14 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 23 Sep 2017 18:14:28 +0000 (19:14 +0100)
This file allows to create a docker image based on CentOS
with pakfire pre-installed.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
.gitignore
Dockerfile.in [new file with mode: 0644]
Makefile.am

index 293e999ee7976fc022a28fa724e7ceb945de439d..198e94edf260f1a639c78ccff47222f393c73cab 100644 (file)
@@ -1,3 +1,4 @@
+/Dockerfile
 /Makefile
 /build-aux
 /libtool
diff --git a/Dockerfile.in b/Dockerfile.in
new file mode 100644 (file)
index 0000000..ea3e4fe
--- /dev/null
@@ -0,0 +1,49 @@
+FROM centos:latest
+MAINTAINER jonatanschlag
+
+LABEL \
+       org.ipfire.pakfire.name = "@PACKAGE_NAME@" \
+       org.ipfire.pakfire.url = "https://pakfire.ipfire.org" \
+       org.ipfire.pakfire.vendor = "IPFire Project" \
+       org.ipfire.pakfire.version = "@PACKAGE_VERSION@"
+
+# Update all OS packages
+RUN yum update -y
+
+# Add EPEL
+RUN yum install -y epel-release
+
+# Install all dependencies
+RUN yum install -y \
+       autoconf \
+       file \
+       gcc \
+       git \
+       intltool \
+       libcap \
+       libcap-devel \
+       libtool \
+       libsolv \
+       libsolv-devel \
+       make \
+       python-devel \
+       xz-devel
+
+# Copy the pakfire source code
+ADD . /build/pakfire
+
+WORKDIR /build/pakfire
+
+# Compile pakfire
+RUN ./autogen.sh && ./configure --prefix=/usr --sysconfdir=/etc && make -j4 && make check && make install
+
+# Go back to /root
+WORKDIR /root
+
+# Cleanup
+RUN rm -rf /build/pakfire && yum remove -y *-devel && yum autoremove -y && yum clean all
+
+USER root
+
+# Define default command.
+CMD ["/bin/bash"]
index bf7e42fbd824455e18b6fb4c5fdfbe7b3d96feee..c2fc6d99b7e972f8dc13455814b2f98504064a30 100644 (file)
@@ -35,6 +35,7 @@ pythondir  = $(pyexecdir)
 
 configsdir = $(sysconfdir)/pakfire
 configsdistrosdir = $(configsdir)/distros
+dockerdir = $(datadir)/docker
 macrosdir = $(prefix)/lib/pakfire/macros
 qualityagentdir = $(prefix)/lib/quality-agent
 scriptsdir = $(prefix)/lib/$(PACKAGE_NAME)
@@ -329,6 +330,14 @@ endif
 
 # ------------------------------------------------------------------------------
 
+EXTRA_DIST += \
+       Dockerfile.in
+
+docker_DATA = \
+       Dockerfile
+
+# ------------------------------------------------------------------------------
+
 dist_configs_DATA = \
        contrib/config/builder.conf \
        contrib/config/client.conf \
@@ -352,10 +361,7 @@ SED_PROCESS = \
        $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
                < $< > $@
 
-src/scripts/%: src/scripts/%.in Makefile
-       $(SED_PROCESS)
-
-src/systemd/%: src/systemd/%.in Makefile
+%: %.in Makefile
        $(SED_PROCESS)
 
 # - testsuite ------------------------------------------------------------------