Move locale preparation and set from rootfs to image customization (#3856)
This commit is contained in:
parent
e7f25237d5
commit
a1acdc95de
@ -82,9 +82,10 @@ create_chroot()
|
||||
APT::Install-Recommends "0";
|
||||
APT::Install-Suggests "0";
|
||||
EOF
|
||||
|
||||
[[ -f "${target_dir}"/etc/locale.gen ]] && \
|
||||
sed -i "s/^# en_US.UTF-8/en_US.UTF-8/" "${target_dir}"/etc/locale.gen
|
||||
chroot "${target_dir}" /bin/bash -c "locale-gen; update-locale LANG=en_US:en LC_ALL=en_US.UTF-8"
|
||||
sed -i '/en_US.UTF-8/s/^# //g' "${target_dir}"/etc/locale.gen
|
||||
chroot "${target_dir}" /bin/bash -c "locale-gen; update-locale --reset LANG=en_US.UTF-8"
|
||||
|
||||
printf '#!/bin/sh\nexit 101' > "${target_dir}"/usr/sbin/policy-rc.d
|
||||
chmod 755 "${target_dir}"/usr/sbin/policy-rc.d
|
||||
|
||||
@ -251,14 +251,14 @@ create_rootfs_cache()
|
||||
chmod 755 $SDCARD/sbin/start-stop-daemon
|
||||
|
||||
# stage: configure language and locales
|
||||
display_alert "Configuring locales" "$DEST_LANG" "info"
|
||||
|
||||
[[ -f $SDCARD/etc/locale.gen ]] && sed -i "s/^# $DEST_LANG/$DEST_LANG/" $SDCARD/etc/locale.gen
|
||||
eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "locale-gen C.UTF-8"' ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'}
|
||||
eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "locale-gen en_US.UTF-8"' ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'}
|
||||
eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "locale-gen $DEST_LANG"' ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'}
|
||||
eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "update-locale LANG=$DEST_LANG LANGUAGE=$DEST_LANG LC_MESSAGES=$DEST_LANG"' \
|
||||
${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'}
|
||||
display_alert "Generatining default locale" "info"
|
||||
if [[ -f $SDCARD/etc/locale.gen ]]; then
|
||||
sed -i '/ C.UTF-8/s/^# //g' $SDCARD/etc/locale.gen
|
||||
sed -i '/en_US.UTF-8/s/^# //g' $SDCARD/etc/locale.gen
|
||||
fi
|
||||
eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "locale-gen"' ${OUTPUT_VERYSILENT:+' >/dev/null 2>&1'}
|
||||
eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "update-locale --reset LANG=en_US.UTF-8"' \
|
||||
${OUTPUT_VERYSILENT:+' >/dev/null 2>&1'}
|
||||
|
||||
if [[ -f $SDCARD/etc/default/console-setup ]]; then
|
||||
sed -e 's/CHARMAP=.*/CHARMAP="UTF-8"/' -e 's/FONTSIZE=.*/FONTSIZE="8x16"/' \
|
||||
|
||||
@ -633,6 +633,17 @@ install_distribution_specific()
|
||||
# rc.local is not existing but one might need it
|
||||
install_rclocal
|
||||
|
||||
# configure language and locales
|
||||
display_alert "Configuring locales" "$DEST_LANG" "info"
|
||||
if [[ -f $SDCARD/etc/locale.gen ]]; then
|
||||
[ -n "$DEST_LANG" ] && sed -i "s/^# $DEST_LANG/$DEST_LANG/" $SDCARD/etc/locale.gen
|
||||
sed -i '/ C.UTF-8/s/^# //g' $SDCARD/etc/locale.gen
|
||||
sed -i '/en_US.UTF-8/s/^# //g' $SDCARD/etc/locale.gen
|
||||
fi
|
||||
eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "locale-gen"' ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'}
|
||||
[ -n "$DEST_LANG" ] && eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "update-locale --reset LANG=$DEST_LANG"' \
|
||||
${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'}
|
||||
|
||||
;;
|
||||
|
||||
bullseye)
|
||||
@ -645,7 +656,16 @@ install_distribution_specific()
|
||||
[[ $(grep -L "VERSION_ID=" "${SDCARD}"/etc/os-release) ]] && echo 'VERSION_ID="11"' >> "${SDCARD}"/etc/os-release
|
||||
[[ $(grep -L "VERSION=" "${SDCARD}"/etc/os-release) ]] && echo 'VERSION="11 (bullseye)"' >> "${SDCARD}"/etc/os-release
|
||||
|
||||
|
||||
# configure language and locales
|
||||
display_alert "Configuring locales" "$DEST_LANG" "info"
|
||||
if [[ -f $SDCARD/etc/locale.gen ]]; then
|
||||
[ -n "$DEST_LANG" ] && sed -i "s/^# $DEST_LANG/$DEST_LANG/" $SDCARD/etc/locale.gen
|
||||
sed -i '/ C.UTF-8/s/^# //g' $SDCARD/etc/locale.gen
|
||||
sed -i '/en_US.UTF-8/s/^# //g' $SDCARD/etc/locale.gen
|
||||
fi
|
||||
eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "locale-gen"' ${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'}
|
||||
[ -n "$DEST_LANG" ] && eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "update-locale --reset LANG=$DEST_LANG"' \
|
||||
${OUTPUT_VERYSILENT:+' >/dev/null 2>/dev/null'}
|
||||
;;
|
||||
|
||||
focal|jammy)
|
||||
@ -695,6 +715,12 @@ install_distribution_specific()
|
||||
# disable conflicting services
|
||||
chroot "${SDCARD}" /bin/bash -c "systemctl --no-reload mask ondemand.service >/dev/null 2>&1"
|
||||
|
||||
# configure language and locales
|
||||
display_alert "Configuring locales" "$DEST_LANG" "info"
|
||||
eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "locale-gen en_US.UTF-8 $DEST_LANG"' ${OUTPUT_VERYSILENT:+' >/dev/null 2>&1'}
|
||||
[ -n "$DEST_LANG" ] && eval 'LC_ALL=C LANG=C chroot $SDCARD /bin/bash -c "update-locale --reset LANG=$DEST_LANG"' \
|
||||
${OUTPUT_VERYSILENT:+' >/dev/null 2>&1'}
|
||||
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
Loading…
Reference in New Issue
Block a user