@@ -35,9 +35,9 @@ if [ "$MODE" = create ]; then
3535fi
3636
3737# 1. Ensure local assets exist
38- for f in keychain-$VER .tar.gz keychain keychain.1; do
38+ for f in dist/ keychain-$VER .tar.gz keychain keychain.1; do
3939 [ -f " $f " ] || { echo " Missing local asset: $f " >&2 ; exit 1; }
40- done
40+ done
4141
4242# 2. Fetch CI artifacts (MANDATORY)
4343CI_DIR=" .ci-artifacts-$VER "
@@ -111,48 +111,50 @@ EOF
111111}
112112
113113# Process artifacts with specialized logic
114- for artifact in keychain keychain.1 keychain-$VER .tar.gz; do
115- if [ ! -f " $CI_DIR /$artifact " ]; then
116- printf ' %-20s CI copy missing; comparison failed (abort)\n' " $artifact "
114+ for artifact in keychain keychain.1 dist/keychain-$VER .tar.gz; do
115+ # Get basename for CI comparison
116+ basename_artifact=$( basename " $artifact " )
117+ if [ ! -f " $CI_DIR /$basename_artifact " ]; then
118+ printf ' %-20s CI copy missing; comparison failed (abort)\n' " $basename_artifact "
117119 diff_flag=1
118120 continue
119121 fi
120- case " $artifact " in
122+ case " $basename_artifact " in
121123 keychain)
122- L=$( calc_sha256 " $artifact " ) ; R=$( calc_sha256 " $CI_DIR /$artifact " )
124+ L=$( calc_sha256 " $artifact " ) ; R=$( calc_sha256 " $CI_DIR /$basename_artifact " )
123125 if [ " $L " = " $R " ]; then
124- printf ' %-20s %s (match)\n' " $artifact " " $L "
126+ printf ' %-20s %s (match)\n' " $basename_artifact " " $L "
125127 else
126- printf ' %-20s LOCAL %s != CI %s *DIFF*\n' " $artifact " " $L " " $R "
128+ printf ' %-20s LOCAL %s != CI %s *DIFF*\n' " $basename_artifact " " $L " " $R "
127129 diff_flag=1
128130 fi
129131 ;;
130132 keychain.1)
131133 # Direct hash first
132- L=$( calc_sha256 " $artifact " ) ; R=$( calc_sha256 " $CI_DIR /$artifact " )
134+ L=$( calc_sha256 " $artifact " ) ; R=$( calc_sha256 " $CI_DIR /$basename_artifact " )
133135 if [ " $L " = " $R " ]; then
134- printf ' %-20s %s (match)\n' " $artifact " " $L "
136+ printf ' %-20s %s (match)\n' " $basename_artifact " " $L "
135137 else
136138 # Normalize and compare ignoring Pod::Man header line.
137- if diff -u <( tail -n +2 " $artifact " ) <( tail -n +2 " $CI_DIR /$artifact " ) > /dev/null 2>&1 ; then
138- printf ' %-20s (normalized match ignoring Pod::Man header)\n' " $artifact "
139+ if diff -u <( tail -n +2 " $artifact " ) <( tail -n +2 " $CI_DIR /$basename_artifact " ) > /dev/null 2>&1 ; then
140+ printf ' %-20s (normalized match ignoring Pod::Man header)\n' " $basename_artifact "
139141 else
140- printf ' %-20s LOCAL %s != CI %s *DIFF* (content mismatch beyond header)\n' " $artifact " " $L " " $R "
142+ printf ' %-20s LOCAL %s != CI %s *DIFF* (content mismatch beyond header)\n' " $basename_artifact " " $L " " $R "
141143 diff_flag=1
142144 fi
143145 fi
144146 ;;
145147 " keychain-$VER .tar.gz" )
146- if compare_tar_content " $artifact " " $CI_DIR /$artifact " ; then
148+ if compare_tar_content " $artifact " " $CI_DIR /$basename_artifact " ; then
147149 # If tar blob hash matches display it; else note normalized match.
148- L=$( calc_sha256 " $artifact " ) ; R=$( calc_sha256 " $CI_DIR /$artifact " )
150+ L=$( calc_sha256 " $artifact " ) ; R=$( calc_sha256 " $CI_DIR /$basename_artifact " )
149151 if [ " $L " = " $R " ]; then
150- printf ' %-20s %s (match)\n' " $artifact " " $L "
152+ printf ' %-20s %s (match)\n' " $basename_artifact " " $L "
151153 else
152- printf ' %-20s (content match; tar/gzip metadata differ)\n' " $artifact "
154+ printf ' %-20s (content match; tar/gzip metadata differ)\n' " $basename_artifact "
153155 fi
154156 else
155- printf ' %-20s *CONTENT DIFF* (see above messages)\n' " $artifact "
157+ printf ' %-20s *CONTENT DIFF* (see above messages)\n' " $basename_artifact "
156158 diff_flag=1
157159 fi
158160 ;;
182184if [ " ${KEYCHAIN_FORCE_LOCAL:- } " = 1 ]; then
183185 KEYCHAIN_ASSET_KEYCHAIN=" keychain"
184186 KEYCHAIN_ASSET_MAN=" keychain.1"
185- KEYCHAIN_ASSET_TARBALL=" keychain-$VER .tar.gz"
187+ KEYCHAIN_ASSET_TARBALL=" dist/ keychain-$VER .tar.gz"
186188 echo " Source selection: USING LOCAL artifacts (override)." >&2
187189else
188190 # All artifacts matched (raw or normalized) -> use CI versions
0 commit comments