@@ -68,43 +68,65 @@ join() {
68
68
}
69
69
70
70
for version in " ${versions[@]} " ; do
71
- commit=" $( dirCommit " $version " ) "
72
-
73
- fullVersion=" $( git show " $commit " :" $version /Dockerfile" | awk ' $1 == "ENV" && $2 == "REDMINE_VERSION" { print $3; exit }' ) "
74
-
75
- versionAliases=(
76
- $fullVersion
77
- $version
78
- ${aliases[$version]:- }
79
- )
80
-
81
- parent=" $( awk ' toupper($1) == "FROM" { print $2 }' " $version /Dockerfile" ) "
82
- arches=" ${parentRepoToArches[$parent]} "
83
-
84
- # the "gosu" Debian package isn't available on mips64le
85
- arches=" $( sed <<< " $arches " -e ' s/ mips64le / /g' ) "
86
-
87
- echo
88
- cat << -EOE
89
- Tags: $( join ' , ' " ${versionAliases[@]} " )
90
- Architectures: $( join ' , ' $arches )
91
- GitCommit: $commit
92
- Directory: $version
93
- EOE
94
-
95
- for variant in passenger alpine; do
96
- [ -f " $version /$variant /Dockerfile" ] || continue
97
-
98
- commit=" $( dirCommit " $version /$variant " ) "
99
-
100
- variantAliases=( " ${versionAliases[@]/%/ -$variant } " )
101
- variantAliases=( " ${variantAliases[@]// latest-/ } " )
71
+ for variant in ' ' passenger alpine; do
72
+ dir=" $version ${variant: +/ $variant } "
73
+ [ -f " $dir /Dockerfile" ] || continue
74
+
75
+ commit=" $( dirCommit " $dir " ) "
76
+
77
+ fullVersion=" $( git show " $commit " :" $dir /Dockerfile" | awk ' $1 == "ENV" && $2 == "REDMINE_VERSION" { print $3; exit }' ) "
78
+
79
+ versionAliases=(
80
+ $fullVersion
81
+ $version
82
+ ${aliases[$version]:- }
83
+ )
84
+
85
+ if [ -n " $variant " ]; then
86
+ variantAliases=( " ${versionAliases[@]/%/ -$variant } " )
87
+ variantAliases=( " ${variantAliases[@]// latest-/ } " )
88
+ else
89
+ variantAliases=( " ${versionAliases[@]} " )
90
+ fi
91
+
92
+ variantParent=" $( awk ' toupper($1) == "FROM" { print $2 }' " $dir /Dockerfile" ) "
93
+
94
+ suite=" ${variantParent#*: } " # "ruby:2.7-slim-bullseye", "2.7-alpine3.15"
95
+ suite=" ${suite##* -} " # "bullseye", "alpine3.15"
96
+ suite=" ${suite# alpine} " # "bullseye", "3.15"
97
+
98
+ case " $variant " in
99
+ alpine)
100
+ suite=" alpine$suite " # "alpine3.8"
101
+ suiteAliases=( " ${versionAliases[@]/%/ -$suite } " )
102
+ ;;
103
+ passenger)
104
+ # the "passenger" variant doesn't get any extra aliases (sorry)
105
+ suiteAliases=()
106
+ ;;
107
+ * )
108
+ suiteAliases=( " ${variantAliases[@]/%/ -$suite } " )
109
+ ;;
110
+ esac
111
+ suiteAliases=( " ${suiteAliases[@]// latest-/ } " )
112
+ variantAliases+=( " ${suiteAliases[@]} " )
113
+
114
+ case " $variant " in
115
+ passenger) variantArches=' amd64' ;; # https://github.com/docker-library/redmine/pull/87#issuecomment-323877678
116
+ * ) variantArches=" ${parentRepoToArches[$variantParent]} " ;;
117
+ esac
118
+
119
+ if [ " $variant " != ' alpine' ]; then
120
+ # the "gosu" Debian package isn't available on mips64le
121
+ variantArches=" $( sed <<< " $variantArches " -e ' s/ mips64le / /g' ) "
122
+ fi
102
123
103
124
echo
104
125
cat << -EOE
105
126
Tags: $( join ' , ' " ${variantAliases[@]} " )
127
+ Architectures: $( join ' , ' $variantArches )
106
128
GitCommit: $commit
107
- Directory: $version / $variant
129
+ Directory: $dir
108
130
EOE
109
131
done
110
132
done
0 commit comments