@@ -38,6 +38,22 @@ dirCommit() {
38
38
)
39
39
}
40
40
41
+ getArches () {
42
+ local repo=" $1 " ; shift
43
+ local officialImagesUrl=' https://github.com/docker-library/official-images/raw/master/library/'
44
+
45
+ eval " declare -g -A parentRepoToArches=( $(
46
+ find -name ' Dockerfile' -exec awk '
47
+ toupper($1) == "FROM" && $2 !~ /^(' " $repo " ' |scratch|microsoft\/[^:]+)(:|$)/ {
48
+ print "' " $officialImagesUrl " ' " $2
49
+ }
50
+ ' ' {}' + \
51
+ | sort -u \
52
+ | xargs bashbrew cat --format ' [{{ .RepoName }}:{{ .TagName }}]="{{ join " " .TagEntry.Architectures }}"'
53
+ ) )"
54
+ }
55
+ getArches ' php'
56
+
41
57
cat << -EOH
42
58
# this file is generated via https://github.com/docker-library/php/blob/$( fileCommit " $self " ) /$self
43
59
@@ -64,37 +80,35 @@ for version in "${versions[@]}"; do
64
80
${aliases[$version]:- }
65
81
)
66
82
67
- variant=' cli'
68
- variantAliases=( " ${versionAliases[@]/%/ -$variant } " )
69
- variantAliases=( " ${variantAliases[@]// latest-/ } " )
70
- variantAliases+=( " ${versionAliases[@]} " )
71
-
72
- echo
73
- cat << -EOE
74
- Tags: $( join ' , ' " ${variantAliases[@]} " )
75
- GitCommit: $commit
76
- Directory: $version
77
- EOE
78
-
79
83
for variant in \
84
+ ' ' \
80
85
alpine \
81
86
apache \
82
87
fpm fpm/alpine \
83
88
zts zts/alpine \
84
89
; do
85
- [ -f " $version /$variant /Dockerfile" ] || continue
90
+ dir=" $version ${variant: +/ $variant } "
91
+ [ -f " $dir /Dockerfile" ] || continue
92
+ variant=" ${variant:- cli} "
86
93
87
- commit=" $( dirCommit " $version / $variant " ) "
94
+ commit=" $( dirCommit " $dir " ) "
88
95
89
96
slash=' /'
90
97
variantAliases=( " ${versionAliases[@]/%/ -${variant// $slash / -} } " )
91
98
variantAliases=( " ${variantAliases[@]// latest-/ } " )
99
+ if [ " $variant " = ' cli' ]; then
100
+ variantAliases+=( " ${versionAliases[@]} " )
101
+ fi
102
+
103
+ variantParent=" $( awk ' toupper($1) == "FROM" { print $2 }' " $dir /Dockerfile" ) "
104
+ variantArches=" ${parentRepoToArches[$variantParent]} "
92
105
93
106
echo
94
107
cat << -EOE
95
108
Tags: $( join ' , ' " ${variantAliases[@]} " )
109
+ Architectures: $( join ' , ' $variantArches )
96
110
GitCommit: $commit
97
- Directory: $version / $variant
111
+ Directory: $dir
98
112
EOE
99
113
done
100
114
done
0 commit comments