#!/bin/bash

# 定义需要遍历的根目录
root_dirs=("/opt/www/mirrors.idste.org/rpm/kylin" "/opt/www/mirrors.idste.org/rpm/anolis")

# 遍历每个根目录
for root_dir in "${root_dirs[@]}"; do
  # 查找根目录下的所有子目录（即所有版本目录）
  for version_dir in "$root_dir"/*/; do
    # 确保 version_dir 是一个有效的目录
    if [ -d "$version_dir" ]; then
      version_dir=$(echo "$version_dir" | sed 's:/*$::')
      # 遍历每个版本目录下的第一层子目录（如 x86_64, aarch64 等）
      for subdir in "$version_dir"/*/; do
        # 确保 subdir 是一个有效的目录
        if [ -d "$subdir" ]; then
          if [ -d "$subdir/repodata" ]; then
            echo "Running createrepo --update on $subdir"
            createrepo --update "$subdir"
          else
            echo "Running createrepo on $subdir"
            createrepo "$subdir"
          fi
        fi
      done
    fi
  done
done

# 通用目录，仅包含 CPU 架构相关的 RPM 包，与系统版本无关
# common/aaarch64, common/x86_64, common/noarch 等
common_dir="/opt/www/mirrors.idste.org/rpm/common"
for subdir in "$common_dir"/*/; do
  if [ -d "$subdir" ]; then
    if [ -d "$subdir/repodata" ]; then
      echo "Running createrepo --update on $subdir"
      createrepo --update "$subdir"
    else
      echo "Running createrepo on $subdir"
      createrepo "$subdir"
    fi
  fi
done
