-
Notifications
You must be signed in to change notification settings - Fork 13
/
generate-dockerfiles
executable file
·50 lines (41 loc) · 2.22 KB
/
generate-dockerfiles
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash
openwrt_version="$1"
openwrt_target="$2"
openwrt_subtarget="$3"
template_imagebuilder_base="
########################################################################
# WARNING: This is an automatically generated Dockerfile. DO NOT EDIT. #
########################################################################
FROM wlanslovenija/firmware-base
RUN mkdir -p /buildsystem/build && \\\\
chown -R builder:builder /buildsystem/build && \\\\
sudo -E -u builder ./openwrt/scripts/docker-build \${openwrt_version} \${openwrt_target} \${openwrt_subtarget} && \\\\
cd /buildsystem/build && \\\\
mkdir -p /builder/imagebuilder && \\\\
cp -r imagebuilder/. /builder/imagebuilder && \\\\
rm -rf imagebuilder && \\\\
mkdir -p /builder/packages/ && \\\\
echo -n \\\"{\\\\\\\"platform\\\\\\\": \\\\\\\"lede\\\\\\\", \\\" > /builder/packages/metadata && \\\\
echo -n \\\"\\\\\\\"architecture\\\\\\\": \\\\\\\"\${openwrt_target}_\${openwrt_subtarget}\\\\\\\", \\\" >> /builder/packages/metadata && \\\\
echo -n \\\"\\\\\\\"version\\\\\\\": \\\\\\\"\${openwrt_version}\\\\\\\", \\\" >> /builder/packages/metadata && \\\\
echo -n \\\"\\\\\\\"packages\\\\\\\": \\\" >> /builder/packages/metadata && \\\\
cd /builder/imagebuilder && \\\\
make package_index && \\\\
make package_reload && \\\\
find /builder/imagebuilder/packages -name Packages | xargs cat | /buildsystem/openwrt/tools/packages2json.py >> /builder/packages/metadata && \\\\
echo \\\"}\\\" >> /builder/packages/metadata && \\\\
cp /buildsystem/openwrt/docker/Dockerfile.runtime /builder/Dockerfile && \\\\
chown -R builder:builder /buildsystem/build && \\\\
{ rm -rf /buildsystem 2>/dev/null || true; }
WORKDIR /builder
CMD tar cvzhf - .
"
# ------------------------------------------------------------------------
work_dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )
platform_dir="${work_dir}/openwrt"
docker_dir="${work_dir}/docker/openwrt"
echo "Generating Dockerfiles..."
rm -rf ${docker_dir}
dockerfile=$(eval "echo \"${template_imagebuilder_base}\"")
mkdir -p ${docker_dir}/imagebuilder_base/${openwrt_version}/${openwrt_target}/${openwrt_subtarget}
echo "${dockerfile}" > ${docker_dir}/imagebuilder_base/${openwrt_version}/${openwrt_target}/${openwrt_subtarget}/Dockerfile