forked from evolix/ansible-roles
48 lines
1.4 KiB
Bash
48 lines
1.4 KiB
Bash
#!/bin/sh
|
|
|
|
deb822_migrate_script=$(command -v deb822-migration.py)
|
|
|
|
if [ -z "${deb822_migrate_script}" ]; then
|
|
deb822_migrate_script="$(dirname "$0")/deb822-migration.py"
|
|
fi
|
|
if [ ! -x "${deb822_migrate_script}" ]; then
|
|
>&2 echo "ERROR: '${deb822_migrate_script}' not found or not executable"
|
|
exit 1
|
|
fi
|
|
|
|
dest_dir="/etc/apt/sources.list.d"
|
|
rc=0
|
|
|
|
migrate_file() {
|
|
legacy_file=$1
|
|
deb822_file=$2
|
|
|
|
if [ -f "${legacy_file}" ]; then
|
|
if [ -f "${deb822_file}" ]; then
|
|
>&2 echo "ERROR: '${deb822_file}' already exists"
|
|
rc=2
|
|
else
|
|
${deb822_migrate_script} "${legacy_file}" > "${deb822_file}"
|
|
if [ $? -eq 0 ] && [ -f "${deb822_file}" ]; then
|
|
mv "${legacy_file}" "${legacy_file}.bak"
|
|
echo "Migrated ${legacy_file} to ${deb822_file} and renamed to ${legacy_file}.bak"
|
|
else
|
|
>&2 echo "ERROR: failed to convert '${legacy_file}' to '${deb822_file}'"
|
|
rc=2
|
|
fi
|
|
fi
|
|
else
|
|
>&2 echo "ERROR: '${legacy_file}' not found"
|
|
rc=2
|
|
fi
|
|
}
|
|
|
|
migrate_file "/etc/apt/sources.list" "${dest_dir}/system.sources"
|
|
|
|
# shellcheck disable=SC2044
|
|
for legacy_file in $(find /etc/apt/sources.list.d -mindepth 1 -maxdepth 1 -type f -name '*.list'); do
|
|
deb822_file=$(basename "${legacy_file}" .list)
|
|
migrate_file "${legacy_file}" "${dest_dir}/${deb822_file}.sources"
|
|
done
|
|
|
|
exit ${rc} |