diff --git a/files/initrd/opt/rr/boot.sh b/files/initrd/opt/rr/boot.sh index b9c26135..ef5979ef 100755 --- a/files/initrd/opt/rr/boot.sh +++ b/files/initrd/opt/rr/boot.sh @@ -174,7 +174,7 @@ if [ "${DIRECT}" = "true" ]; then reboot exit 0 else - ETHX=$(ls /sys/class/net/ | grep -v lo) || true + ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true echo "$(printf "$(TEXT "Detected %s network cards.")" "$(echo ${ETHX} | wc -w)")" echo "$(TEXT "Checking Connect.")" COUNT=0 diff --git a/files/initrd/opt/rr/include/functions.sh b/files/initrd/opt/rr/include/functions.sh index 483bc445..1086fcdb 100755 --- a/files/initrd/opt/rr/include/functions.sh +++ b/files/initrd/opt/rr/include/functions.sh @@ -212,7 +212,7 @@ function _get_fastest() { # @1 -mac1,mac2,mac3... function _sort_netif() { ETHLIST="" - ETHX=$(ls /sys/class/net/ | grep eth) # real network cards list + ETHX=$(ls /sys/class/net/ 2>/dev/null | grep eth) # real network cards list for ETH in ${ETHX}; do MAC="$(cat /sys/class/net/${ETH}/address | sed 's/://g' | tr '[:upper:]' '[:lower:]')" BUS=$(ethtool -i ${ETH} | grep bus-info | awk '{print $2}') diff --git a/files/initrd/opt/rr/include/i18n.sh b/files/initrd/opt/rr/include/i18n.sh index 9bfe9016..514dafc4 100755 --- a/files/initrd/opt/rr/include/i18n.sh +++ b/files/initrd/opt/rr/include/i18n.sh @@ -1,19 +1,17 @@ [ -z "${WORK_PATH}" -o ! -d "${WORK_PATH}/include" ] && WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../" >/dev/null 2>&1 && pwd)" if [ -d "/usr/share/locale" ]; then - if [ $(ls ${WORK_PATH}/lang/*.mo 2>/dev/null | wc -l) -gt 0 ]; then - for F in $(ls ${WORK_PATH}/lang/*.mo); do - LANG="$(basename "${F}" .mo)" - LOCALE="${LANG%%_*}" - if [ -d "/usr/share/locale/${LANG}" ] || [ ! -d "/usr/share/locale/${LOCALE}" ]; then - mkdir -p "/usr/share/locale/${LANG}/LC_MESSAGES" - install "${F}" "/usr/share/locale/${LANG}/LC_MESSAGES/rr.mo" - else - mkdir -p "/usr/share/locale/${LOCALE}/LC_MESSAGES" - install "${F}" "/usr/share/locale/${LOCALE}/LC_MESSAGES/rr.mo" - fi - done - fi + for F in $(ls ${WORK_PATH}/lang/*.mo 2>/dev/null); do + LANG="$(basename "${F}" .mo)" + LOCALE="${LANG%%_*}" + if [ -d "/usr/share/locale/${LANG}" ] || [ ! -d "/usr/share/locale/${LOCALE}" ]; then + mkdir -p "/usr/share/locale/${LANG}/LC_MESSAGES" + install "${F}" "/usr/share/locale/${LANG}/LC_MESSAGES/rr.mo" + else + mkdir -p "/usr/share/locale/${LOCALE}/LC_MESSAGES" + install "${F}" "/usr/share/locale/${LOCALE}/LC_MESSAGES/rr.mo" + fi + done if [ -f ${PART1_PATH}/.locale ]; then export LC_ALL="$(cat ${PART1_PATH}/.locale)" diff --git a/files/initrd/opt/rr/include/modules.sh b/files/initrd/opt/rr/include/modules.sh index 512cad3e..1e6cad4d 100755 --- a/files/initrd/opt/rr/include/modules.sh +++ b/files/initrd/opt/rr/include/modules.sh @@ -10,7 +10,7 @@ function getAllModules() { mkdir -p "${TMP_PATH}/modules" tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" # Get list of all modules - for F in $(ls ${TMP_PATH}/modules/*.ko); do + for F in $(ls ${TMP_PATH}/modules/*.ko 2>/dev/null); do X=$(basename ${F}) M=${X:0:-3} DESC=$(modinfo ${F} | awk -F':' '/description:/{ print $2}' | awk '{sub(/^[ ]+/,""); print}') diff --git a/files/initrd/opt/rr/init.sh b/files/initrd/opt/rr/init.sh index 568e2248..a90bbfe8 100755 --- a/files/initrd/opt/rr/init.sh +++ b/files/initrd/opt/rr/init.sh @@ -18,7 +18,7 @@ printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}" printf "\033[1;44m%*s\033[0m\n" ${COLUMNS} "" # Get first MAC address -ETHX=$(ls /sys/class/net/ | grep -v lo) || true +ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true # No network devices [ $(echo ${ETHX} | wc -w) -le 0 ] && die "$(TEXT "Network devices not found!")" diff --git a/files/initrd/opt/rr/lang/ko_KR.po b/files/initrd/opt/rr/lang/ko_KR.po index 4faf253b..d4adaca6 100644 --- a/files/initrd/opt/rr/lang/ko_KR.po +++ b/files/initrd/opt/rr/lang/ko_KR.po @@ -1,17 +1,21 @@ +# Korean translations for RR package. +# Copyright (C) 2023 THE RR'S COPYRIGHT HOLDER +# This file is distributed under the same license as the RR package. +# EXP, 2023. +# msgid "" msgstr "" "Project-Id-Version: RR\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-01-12 11:12+0800\n" -"PO-Revision-Date: 2024-01-14 09:18+0900\n" +"PO-Revision-Date: 2024-01-14 21:09+0800\n" "Last-Translator: EXP \n" -"Language-Team: \n" +"Language-Team: 한국인 (대한민국) \n" "Language: ko_KR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.4.2\n" -"X-Poedit-Basepath: .\n" #: boot.sh:8 init.sh:9 menu.sh:9 msgid "Loader is not init!" @@ -215,8 +219,7 @@ msgstr "모든 모델 보기" msgid "Choose the model" msgstr "모델을 선택 하세요" -#: menu.sh:227 menu.sh:238 menu.sh:244 menu.sh:255 menu.sh:281 menu.sh:301 -#: menu.sh:351 +#: menu.sh:227 menu.sh:238 menu.sh:244 menu.sh:255 menu.sh:281 menu.sh:301 menu.sh:351 msgid "Product Version" msgstr "DSM 버전" @@ -268,8 +271,7 @@ msgstr "users 폴더에 Pat 파일을 찾을 수 없습니다!\\n" msgid "Please upload the pat file to /mnt/p3/users/ folder via DUFS and re-enter this option.\\n" msgstr "DUFS를 통해 /mnt/p3/users/ 폴더에 Pat 파일을 업로드한 후 이 옵션을 다시 입력하세요.\\n" -#: menu.sh:347 menu.sh:357 menu.sh:2293 menu.sh:2357 menu.sh:2367 menu.sh:2384 -#: menu.sh:2404 +#: menu.sh:347 menu.sh:357 menu.sh:2293 menu.sh:2357 menu.sh:2367 menu.sh:2384 menu.sh:2404 msgid "Update" msgstr "업데이트" @@ -305,9 +307,7 @@ msgstr "컴파일 중 ..." msgid "Error" msgstr "오류" -#: menu.sh:497 menu.sh:514 menu.sh:519 menu.sh:525 menu.sh:536 menu.sh:544 -#: menu.sh:567 menu.sh:574 menu.sh:578 menu.sh:592 menu.sh:596 menu.sh:604 -#: menu.sh:607 +#: menu.sh:497 menu.sh:514 menu.sh:519 menu.sh:525 menu.sh:536 menu.sh:544 menu.sh:567 menu.sh:574 menu.sh:578 menu.sh:592 menu.sh:596 menu.sh:604 menu.sh:607 msgid "Addons" msgstr "애드온" @@ -331,8 +331,7 @@ msgstr "모든 애드온 표시" msgid "Upload a external addon" msgstr "외부 애드온 업로드" -#: menu.sh:503 menu.sh:634 menu.sh:781 menu.sh:915 menu.sh:1290 menu.sh:2291 -#: menu.sh:2471 menu.sh:2547 +#: menu.sh:503 menu.sh:634 menu.sh:781 menu.sh:915 menu.sh:1290 menu.sh:2291 menu.sh:2471 menu.sh:2547 msgid "Exit" msgstr "나가기" @@ -384,8 +383,7 @@ msgstr "로더에 애드온 '%s'를 추가했습니다. '애드온 추가' 메 msgid "File format not recognized!" msgstr "파일 형식이 인식되지 않습니다!" -#: menu.sh:627 menu.sh:640 menu.sh:653 menu.sh:690 menu.sh:707 menu.sh:717 -#: menu.sh:720 menu.sh:736 menu.sh:740 +#: menu.sh:627 menu.sh:640 menu.sh:653 menu.sh:690 menu.sh:707 menu.sh:717 menu.sh:720 menu.sh:736 menu.sh:740 msgid "Modules" msgstr "모듈" @@ -477,8 +475,7 @@ msgstr "SN/MAC 사용자 지정" msgid "Show model inherent cmdline" msgstr "모델 기본 명령줄 보기" -#: menu.sh:782 menu.sh:800 menu.sh:809 menu.sh:833 menu.sh:841 menu.sh:858 -#: menu.sh:869 menu.sh:901 +#: menu.sh:782 menu.sh:800 menu.sh:809 menu.sh:833 menu.sh:841 menu.sh:858 menu.sh:869 menu.sh:901 msgid "Cmdline" msgstr "명령줄" @@ -778,17 +775,9 @@ msgstr "글로벌 프록시 설정" msgid "Set github proxy" msgstr "Github 프록시 설정" -#: menu.sh:1292 menu.sh:1316 menu.sh:1328 menu.sh:1348 menu.sh:1371 -#: menu.sh:1395 menu.sh:1400 menu.sh:1412 menu.sh:1421 menu.sh:1443 -#: menu.sh:1544 menu.sh:1551 menu.sh:1569 menu.sh:1582 menu.sh:1585 -#: menu.sh:1598 menu.sh:1602 menu.sh:1603 menu.sh:1608 menu.sh:1612 -#: menu.sh:1627 menu.sh:1629 menu.sh:1652 menu.sh:1656 menu.sh:1663 -#: menu.sh:1669 menu.sh:1687 menu.sh:1689 menu.sh:1693 menu.sh:1707 -#: menu.sh:1709 menu.sh:1713 menu.sh:1716 menu.sh:1731 menu.sh:1739 -#: menu.sh:1743 menu.sh:1758 menu.sh:1763 menu.sh:1774 menu.sh:1806 -#: menu.sh:1810 menu.sh:1816 menu.sh:1822 menu.sh:1828 menu.sh:1859 -#: menu.sh:1872 menu.sh:1876 menu.sh:1886 menu.sh:1891 menu.sh:1898 -#: menu.sh:1900 menu.sh:1912 menu.sh:1923 menu.sh:1945 menu.sh:1956 +#: menu.sh:1292 menu.sh:1316 menu.sh:1328 menu.sh:1348 menu.sh:1371 menu.sh:1395 menu.sh:1400 menu.sh:1412 menu.sh:1421 menu.sh:1443 menu.sh:1544 menu.sh:1551 menu.sh:1569 menu.sh:1582 menu.sh:1585 menu.sh:1598 menu.sh:1602 menu.sh:1603 menu.sh:1608 +#: menu.sh:1612 menu.sh:1627 menu.sh:1629 menu.sh:1652 menu.sh:1656 menu.sh:1663 menu.sh:1669 menu.sh:1687 menu.sh:1689 menu.sh:1693 menu.sh:1707 menu.sh:1709 menu.sh:1713 menu.sh:1716 menu.sh:1731 menu.sh:1739 menu.sh:1743 menu.sh:1758 menu.sh:1763 +#: menu.sh:1774 menu.sh:1806 menu.sh:1810 menu.sh:1816 menu.sh:1822 menu.sh:1828 menu.sh:1859 menu.sh:1872 menu.sh:1876 menu.sh:1886 menu.sh:1891 menu.sh:1898 menu.sh:1900 menu.sh:1912 menu.sh:1923 menu.sh:1945 menu.sh:1956 msgid "Advanced" msgstr "고급" @@ -1068,9 +1057,7 @@ msgstr "레이아웃 선택" msgid "Choice a keymap" msgstr "키보드 배열" -#: menu.sh:2128 menu.sh:2181 menu.sh:2232 menu.sh:2299 menu.sh:2304 -#: menu.sh:2309 menu.sh:2314 menu.sh:2321 menu.sh:2329 menu.sh:2337 -#: menu.sh:2345 +#: menu.sh:2128 menu.sh:2181 menu.sh:2232 menu.sh:2299 menu.sh:2304 menu.sh:2309 menu.sh:2314 menu.sh:2321 menu.sh:2329 menu.sh:2337 menu.sh:2345 msgid "Update %s" msgstr "업데이트 %s" diff --git a/files/initrd/opt/rr/lang/ru_RU.po b/files/initrd/opt/rr/lang/ru_RU.po index 471aa5cc..994c926f 100644 --- a/files/initrd/opt/rr/lang/ru_RU.po +++ b/files/initrd/opt/rr/lang/ru_RU.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: RR\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-01-12 11:12+0800\n" -"PO-Revision-Date: 2024-01-13 23:09+0800\n" +"PO-Revision-Date: 2024-01-14 21:10+0800\n" "Last-Translator: Alex TG @xpenology_russian\n" "Language-Team: Русский перевод TG @xpenology_russian\n" "Language: ru_RU\n" @@ -1270,9 +1270,3 @@ msgstr "Вернуться в shell" #: menu.sh:2572 msgid "Call \\033[1;32mmenu.sh\\033[0m to return to menu" msgstr "Вызовите \\033[1;32mmenu.sh\\033[0m для возврата в меню" - -#~ msgid "EMMC is used." -#~ msgstr "Используется EMMC." - -#~ msgid "EMMC is not used. remove mmc modules." -#~ msgstr "EMMC не используется. удалите модули mmc." diff --git a/files/initrd/opt/rr/menu.sh b/files/initrd/opt/rr/menu.sh index d97ac4c7..d1b1f22d 100755 --- a/files/initrd/opt/rr/menu.sh +++ b/files/initrd/opt/rr/menu.sh @@ -795,7 +795,7 @@ function cmdlineMenu() { MSG+="$(TEXT " * \Z4i915.enable_guc=2\Zn\n Enable the GuC firmware on Intel graphics hardware.(value: 1,2 or 3)\n")" MSG+="$(TEXT " * \Z4i915.max_vfs=7\Zn\n Set the maximum number of virtual functions (VFs) that can be created for Intel graphics hardware.\n")" MSG+="$(TEXT "\nEnter the parameter name and value you need to add.\n")" - LINENUM=$(($(echo -e "${MSG}" | wc -l) + 8)) + LINENUM=$(($(echo -e "${MSG}" | wc -l) + 10)) while true; do DIALOG --title "$(TEXT "Cmdline")" \ --form "${MSG}" ${LINENUM:-16} 70 2 "Name:" 1 1 "" 1 10 55 0 "Value:" 2 1 "" 2 10 55 0 \ @@ -1516,7 +1516,7 @@ function advancedMenu() { [ $(ls -l /sys/class/scsi_host 2>/dev/null | grep usb | wc -l) -gt 0 ] && MSG+="\nUSB:\n" for PCI in $(lspci -d ::c03 | awk '{print $1}'); do NAME=$(lspci -s "${PCI}" | sed "s/\ .*://") - PORT=$(ls -l /sys/class/scsi_host | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n) + PORT=$(ls -l /sys/class/scsi_host 2>/dev/null | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n) PORTNUM=$(lsscsi -b | grep -v - | grep "\[${PORT}:" | wc -l) [ ${PORTNUM} -eq 0 ] && continue MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n" @@ -1525,7 +1525,7 @@ function advancedMenu() { [ $(ls -l /sys/class/mmc_host 2>/dev/null | grep mmc_host | wc -l) -gt 0 ] && MSG+="\nMMC:\n" for PCI in $(lspci -d ::805 | awk '{print $1}'); do NAME=$(lspci -s "${PCI}" | sed "s/\ .*://") - PORTNUM=$(ls -l /sys/block/mmc* | grep "${PCI}" | wc -l) + PORTNUM=$(ls -l /sys/block/mmc* 2>/dev/null | grep "${PCI}" | wc -l) [ ${PORTNUM} -eq 0 ] && continue MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n" NUMPORTS=$((${NUMPORTS} + ${PORTNUM})) diff --git a/files/initrd/opt/rr/ramdisk-patch.sh b/files/initrd/opt/rr/ramdisk-patch.sh index f60cd1d4..d4833f73 100755 --- a/files/initrd/opt/rr/ramdisk-patch.sh +++ b/files/initrd/opt/rr/ramdisk-patch.sh @@ -91,7 +91,7 @@ done < <(readConfigMap "modules" "${USER_CONFIG_FILE}") while read PE; do RET=1 echo "Patching with ${PE}" >"${LOG_FILE}" 2>&1 - for PF in $(ls ${WORK_PATH}/patch/${PE}); do + for PF in $(ls ${WORK_PATH}/patch/${PE} 2>/dev/null); do echo -n "." echo "Patching with ${PF}" >>"${LOG_FILE}" 2>&1 ( @@ -132,7 +132,7 @@ echo -n "." rm -rf "${TMP_PATH}/modules" mkdir -p "${TMP_PATH}/modules" tar -zxf "${MODULES_PATH}/${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" -C "${TMP_PATH}/modules" -for F in $(ls "${TMP_PATH}/modules/"*.ko); do +for F in $(ls "${TMP_PATH}/modules/"*.ko 2>/dev/null); do M=$(basename ${F}) [ "${ODP}" = "true" -a -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] && continue if arrayExistItem "${M:0:-3}" "${!USERMODULES[@]}"; then diff --git a/scripts/func.sh b/scripts/func.sh index ea676801..adf2de8e 100755 --- a/scripts/func.sh +++ b/scripts/func.sh @@ -13,13 +13,11 @@ export TOKEN="${1}" function convertpo2mo() { echo "Convert po2mo begin" local DEST_PATH="${1:-lang}" - if [ $(find ${DEST_PATH}/ -name "*.po" | wc -l) -gt 0 ]; then - for P in $(ls ${DEST_PATH}/*.po); do - # Use msgfmt command to compile the .po file into a binary .mo file - echo "msgfmt ${P} to ${P/.po/.mo}" - msgfmt ${P} -o ${P/.po/.mo} - done - fi + for P in $(ls ${DEST_PATH}/*.po 2>/dev/null); do + # Use msgfmt command to compile the .po file into a binary .mo file + echo "msgfmt ${P} to ${P/.po/.mo}" + msgfmt ${P} -o ${P/.po/.mo} + done echo "Convert po2mo end" } @@ -154,7 +152,7 @@ function getAddons() { unzip "${CACHE_FILE}" -d "${CACHE_DIR}" echo "Installing addons to ${DEST_PATH}" [ -f /tmp/addons/VERSION ] && cp -f /tmp/addons/VERSION ${DEST_PATH}/ - for PKG in $(ls ${CACHE_DIR}/*.addon); do + for PKG in $(ls ${CACHE_DIR}/*.addon 2>/dev/null); do ADDON=$(basename "${PKG}" .addon) mkdir -p "${DEST_PATH}/${ADDON}" echo "Extracting ${PKG} to ${DEST_PATH}/${ADDON}" @@ -249,7 +247,7 @@ function resizeImg() { echo -e "d\n\nn\n\n\n\n\nn\nw" | sudo fdisk "${OUTPUT_FILE}" LOOPX=$(sudo losetup -f) sudo losetup -P ${LOOPX} "${OUTPUT_FILE}" - sudo e2fsck -fp $(ls ${LOOPX}* | sort -n | tail -1) - sudo resize2fs $(ls ${LOOPX}* | sort -n | tail -1) + sudo e2fsck -fp $(ls ${LOOPX}* 2>/dev/null | sort -n | tail -1) + sudo resize2fs $(ls ${LOOPX}* 2>/dev/null | sort -n | tail -1) sudo losetup -d ${LOOPX} }