Skip to content

Commit 0112b27

Browse files
authored
GH-47927: [Release] Fix APT repository metadata generation with new repository (#47928)
### Rationale for this change We added a new APT repository for Debian GNU/Linux trixie in 22.0.0 but our APT repository metadata update logic doesn't work for the case. The current logic requires existing metadata but new APT repository doesn't have metadata. So the current logic doesn't work. ### What changes are included in this PR? If there is no existing metadata, we don't merge existing metadata and new metadata. We just use new metadata as-is. ### Are these changes tested? Yes. I used this for 22.0.0 release. ### Are there any user-facing changes? No. * GitHub Issue: #47927 Authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Raúl Cumplido <[email protected]>
1 parent 56e3836 commit 0112b27

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

dev/release/binary-task.rb

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1579,10 +1579,15 @@ def apt_update(base_dir, incoming_dir, merged_dir)
15791579
base_dists_dir = "#{base_dir}/#{distribution}/dists/#{code_name}"
15801580
merged_dists_dir = "#{merged_dir}/#{distribution}/dists/#{code_name}"
15811581
rm_rf(merged_dists_dir)
1582-
merger = APTDistsMerge::Merger.new(base_dists_dir,
1583-
dists_dir,
1584-
merged_dists_dir)
1585-
merger.merge
1582+
if Dir.empty?(base_dists_dir)
1583+
mkdir_p(File.dirname(merged_dists_dir))
1584+
cp_r(dists_dir, File.dirname(merged_dists_dir))
1585+
else
1586+
merger = APTDistsMerge::Merger.new(base_dists_dir,
1587+
dists_dir,
1588+
merged_dists_dir)
1589+
merger.merge
1590+
end
15861591

15871592
in_release_path = "#{merged_dists_dir}/InRelease"
15881593
release_path = "#{merged_dists_dir}/Release"

0 commit comments

Comments
 (0)