diff --git a/openEuler.patch b/openEuler.patch new file mode 100644 index 0000000..206e2ad --- /dev/null +++ b/openEuler.patch @@ -0,0 +1,578 @@ +diff --git a/raspi-config b/raspi-config +index a640864..0cbf00f 100755 +--- a/raspi-config ++++ b/raspi-config +@@ -11,8 +11,8 @@ CONFIG=/boot/config.txt + USER=${SUDO_USER:-$(who -m | awk '{ print $1 }')} + + is_pi () { +- ARCH=$(dpkg --print-architecture) +- if [ "$ARCH" = "armhf" ] || [ "$ARCH" = "arm64" ] ; then ++ ARCH=$(arch) ++ if [ "$ARCH" = "aarch64" ]; then + return 0 + else + return 1 +@@ -98,7 +98,7 @@ has_analog() { + } + + is_installed() { +- if [ "$(dpkg -l "$1" 2> /dev/null | tail -n 1 | cut -d ' ' -f 1)" != "ii" ]; then ++ if [ "$(rpm -qa "$1" 2> /dev/null | wc -l)" == "0" ]; then + return 1 + else + return 0 +@@ -141,7 +141,7 @@ get_can_expand() { + + PART_NUM="$(echo "$ROOT_PART" | grep -o "[[:digit:]]*$")" + +- if [ "$PART_NUM" -ne 2 ]; then ++ if [ "$PART_NUM" -ne 3 ]; then + echo 1 + exit + fi +@@ -162,19 +162,30 @@ do_expand_rootfs() { + + # NOTE: the NOOBS partition layout confuses parted. For now, let's only + # agree to work with a sufficiently simple partition layout +- if [ "$PART_NUM" -ne 2 ]; then ++ if [ "$PART_NUM" -ne 3 ]; then + whiptail --msgbox "Your partition layout is not currently supported by this tool. You are probably using NOOBS, in which case your root filesystem is already expanded anyway." 20 60 2 +- return 0 ++ return -1 + fi + +- LAST_PART_NUM=$(parted "$ROOT_DEV" -ms unit s p | tail -n 1 | cut -f 1 -d:) ++ PART_INFO=$(parted "$ROOT_DEV" -ms unit s p) ++ ++ LAST_PART_NUM=$(echo "$PART_INFO" | tail -n 1 | cut -f 1 -d:) + if [ $LAST_PART_NUM -ne $PART_NUM ]; then + whiptail --msgbox "$ROOT_PART is not the last partition. Don't know how to expand" 20 60 2 +- return 0 ++ return -1 ++ fi ++ ++ PART_END=$(echo "$PART_INFO" | grep "^${PART_NUM}" | cut -f 3 -d: | sed 's/[^0-9]//g') ++ ROOT_END=$(echo "$PART_INFO" | grep "^/dev"| cut -f 2 -d: | sed 's/[^0-9]//g') ++ ((ROOT_END--)) # 31116287 ++ ++ if [ $PART_END -eq $ROOT_END ]; then ++ whiptail --msgbox "$ROOT_PART has been expanded!" 20 60 2 ++ return 2 + fi + + # Get the starting offset of the root partition +- PART_START=$(parted "$ROOT_DEV" -ms unit s p | grep "^${PART_NUM}" | cut -f 2 -d: | sed 's/[^0-9]//g') ++ PART_START=$(echo "$PART_INFO" | grep "^${PART_NUM}" | cut -f 2 -d: | sed 's/[^0-9]//g') + [ "$PART_START" ] || return 1 + # Return value will likely be error for fdisk as it fails to reload the + # partition table because the root fs is mounted +@@ -190,6 +201,15 @@ $PART_START + p + w + EOF ++ resize2fs $ROOT_PART ++ if [ $? -eq 0 ]; then ++ whiptail --msgbox "Root partition has been expanded successfully." 20 60 2 ++ return 0 ++ else ++ whiptail --msgbox "Fail to expand the root partition.\n\nPlease try again or reboot!" 20 60 2 ++ return -1 ++ fi ++ + ASK_TO_REBOOT=1 + + # now set up an init.d script +@@ -226,6 +246,7 @@ EOF + if [ "$INTERACTIVE" = True ]; then + whiptail --msgbox "Root partition has been resized.\nThe filesystem will be enlarged upon the next reboot" 20 60 2 + fi ++ return 0 + } + + set_config_var() { +@@ -342,8 +363,9 @@ do_blanking() { + CURRENT=1 + fi + if [ "$INTERACTIVE" = True ]; then +- if [ "$(dpkg -l xscreensaver | tail -n 1 | cut -d ' ' -f 1)" = "ii" ]; then +- whiptail --msgbox "Warning: xscreensaver is installed may override raspi-config settings" 20 60 2 ++ screensaver=$(rpm -qa *saver*) ++ if [ ! -z "$screensaver" ] ; then ++ whiptail --msgbox "Warning: $screensaver is installed may override raspi-config settings" 20 60 2 + fi + whiptail --yesno "Would you like to enable screen blanking?" $DEFAULT 20 60 2 + RET=$? +@@ -617,16 +639,16 @@ do_memory_split() { # Memory Split + if [ -e /boot/start_cd.elf ]; then + # New-style memory split setting + ## get current memory split from /boot/config.txt +- arm=$(vcgencmd get_mem arm | cut -d '=' -f 2 | cut -d 'M' -f 1) +- gpu=$(vcgencmd get_mem gpu | cut -d '=' -f 2 | cut -d 'M' -f 1) +- tot=$(($arm+$gpu)) +- if [ $tot -gt 512 ]; then +- CUR_GPU_MEM=$(get_config_var gpu_mem_1024 $CONFIG) +- elif [ $tot -gt 256 ]; then +- CUR_GPU_MEM=$(get_config_var gpu_mem_512 $CONFIG) +- else +- CUR_GPU_MEM=$(get_config_var gpu_mem_256 $CONFIG) +- fi ++ # arm=$(vcgencmd get_mem arm | cut -d '=' -f 2 | cut -d 'M' -f 1) ++ # gpu=$(vcgencmd get_mem gpu | cut -d '=' -f 2 | cut -d 'M' -f 1) ++ # tot=$(($arm+$gpu)) ++ # if [ $tot -gt 512 ]; then ++ # CUR_GPU_MEM=$(get_config_var gpu_mem_1024 $CONFIG) ++ # elif [ $tot -gt 256 ]; then ++ # CUR_GPU_MEM=$(get_config_var gpu_mem_512 $CONFIG) ++ # else ++ # CUR_GPU_MEM=$(get_config_var gpu_mem_256 $CONFIG) ++ # fi + if [ -z "$CUR_GPU_MEM" ] || [ $CUR_GPU_MEM = "0" ]; then + CUR_GPU_MEM=$(get_config_var gpu_mem $CONFIG) + fi +@@ -765,7 +787,7 @@ clear_overclock () { + } + + get_ssh() { +- if service ssh status | grep -q inactive; then ++ if systemctl status sshd.service | grep -q inactive; then + echo 1 + else + echo 0 +@@ -791,12 +813,12 @@ do_ssh() { + fi + if [ $RET -eq 0 ]; then + ssh-keygen -A && +- update-rc.d ssh enable && +- invoke-rc.d ssh start && ++ systemctl enable sshd.service && ++ systemctl start sshd.service && + STATUS=enabled + elif [ $RET -eq 1 ]; then +- update-rc.d ssh disable && +- invoke-rc.d ssh stop && ++ systemctl disable sshd.service && ++ systemctl stop sshd.service && + STATUS=disabled + else + return $RET +@@ -807,7 +829,7 @@ do_ssh() { + } + + get_vnc() { +- if systemctl status vncserver-x11-serviced.service | grep -q -w active; then ++ if systemctl status vncserver@1.service | grep -q -w active; then + echo 0 + else + echo 1 +@@ -826,24 +848,54 @@ do_vnc() { + RET=$1 + fi + if [ $RET -eq 0 ]; then +- if is_installed realvnc-vnc-server || apt-get install realvnc-vnc-server; then +- systemctl enable vncserver-x11-serviced.service && +- systemctl start vncserver-x11-serviced.service && ++ if is_installed tigervnc-server || dnf install -y tigervnc-server; then ++ if [ ! -f /etc/systemd/system/vncserver@.service ]; then ++ cat > /etc/systemd/system/vncserver\@.service << EOF ++[Unit] ++Description=Remote desktop service (VNC) ++After=syslog.target network.target ++ ++[Service] ++Type=forking ++WorkingDirectory=/home/pi ++User=pi ++Group=pi ++ ++PIDFile=/home/pi/.vnc/%H:%i.pid ++ ++ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :' ++ExecStart=/usr/bin/vncserver :%i ++ExecStop=/usr/bin/vncserver -kill :%i ++ ++Restart=on-success ++RestartSec=15 ++ ++[Install] ++WantedBy=multi-user.target ++EOF ++ fi ++ systemctl enable vncserver@1 && ++ systemctl start vncserver@1 && + STATUS=enabled + else + return 1 + fi + elif [ $RET -eq 1 ]; then +- if is_installed realvnc-vnc-server; then +- systemctl disable vncserver-x11-serviced.service +- systemctl stop vncserver-x11-serviced.service ++ if is_installed tigervnc-server; then ++ systemctl disable vncserver@1 ++ systemctl stop vncserver@1 + fi + STATUS=disabled + else + return $RET + fi + if [ "$INTERACTIVE" = True ]; then +- whiptail --msgbox "The VNC Server is $STATUS" 20 60 1 ++ if [ -z $STATUS ]; then ++ whiptail --msgbox "Fail to start the VNC Server, please configure it manually!" 20 60 1 ++ return 1 ++ else ++ whiptail --msgbox "The VNC Server is $STATUS" 20 60 1 ++ fi + fi + } + +@@ -857,8 +909,10 @@ get_spi() { + + do_spi() { + DEFAULT=--defaultno ++ CURRENT=0 + if [ $(get_spi) -eq 0 ]; then + DEFAULT= ++ CURRENT=1 + fi + if [ "$INTERACTIVE" = True ]; then + whiptail --yesno "Would you like the SPI interface to be enabled?" $DEFAULT 20 60 2 +@@ -866,6 +920,9 @@ do_spi() { + else + RET=$1 + fi ++ if [ $RET -eq $CURRENT ]; then ++ ASK_TO_REBOOT=1 ++ fi + if [ $RET -eq 0 ]; then + SETTING=on + STATUS=enabled +@@ -881,7 +938,7 @@ do_spi() { + touch $BLACKLIST + fi + sed $BLACKLIST -i -e "s/^\(blacklist[[:space:]]*spi[-_]bcm2708\)/#\1/" +- dtparam spi=$SETTING ++ #dtparam spi=$SETTING + + if [ "$INTERACTIVE" = True ]; then + whiptail --msgbox "The SPI interface is $STATUS" 20 60 1 +@@ -898,8 +955,10 @@ get_i2c() { + + do_i2c() { + DEFAULT=--defaultno ++ CURRENT=0 + if [ $(get_i2c) -eq 0 ]; then + DEFAULT= ++ CURRENT=1 + fi + if [ "$INTERACTIVE" = True ]; then + whiptail --yesno "Would you like the ARM I2C interface to be enabled?" $DEFAULT 20 60 2 +@@ -907,6 +966,9 @@ do_i2c() { + else + RET=$1 + fi ++ if [ $RET -eq $CURRENT ]; then ++ ASK_TO_REBOOT=1 ++ fi + if [ $RET -eq 0 ]; then + SETTING=on + STATUS=enabled +@@ -926,7 +988,7 @@ do_i2c() { + if ! grep -q "^i2c[-_]dev" /etc/modules; then + printf "i2c-dev\n" >> /etc/modules + fi +- dtparam i2c_arm=$SETTING ++ #dtparam i2c_arm=$SETTING + modprobe i2c-dev + + if [ "$INTERACTIVE" = True ]; then +@@ -1313,6 +1375,9 @@ do_boot_behaviour() { + B2*) + systemctl set-default multi-user.target + ln -fs /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@tty1.service ++ if [ ! -d /etc/systemd/system/getty@tty1.service.d ]; then ++ mkdir /etc/systemd/system/getty@tty1.service.d ++ fi + cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf << EOF + [Service] + ExecStart= +@@ -1320,21 +1385,24 @@ ExecStart=-/sbin/agetty --autologin $USER --noclear %I \$TERM + EOF + ;; + B3*) +- if [ -e /etc/init.d/lightdm ]; then ++ if [ -e /etc/lightdm ]; then + systemctl set-default graphical.target + ln -fs /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@tty1.service + rm /etc/systemd/system/getty@tty1.service.d/autologin.conf + sed /etc/lightdm/lightdm.conf -i -e "s/^autologin-user=.*/#autologin-user=/" + disable_raspi_config_at_boot + else +- whiptail --msgbox "Do 'sudo apt-get install lightdm' to allow configuration of boot to desktop" 20 60 2 ++ whiptail --msgbox "Do 'sudo dnf install lightdm' to allow configuration of boot to desktop" 20 60 2 + return 1 + fi + ;; + B4*) +- if [ -e /etc/init.d/lightdm ]; then ++ if [ -e /etc/lightdm ]; then + systemctl set-default graphical.target + ln -fs /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@tty1.service ++ if [ ! -d /etc/systemd/system/getty@tty1.service.d ]; then ++ mkdir /etc/systemd/system/getty@tty1.service.d ++ fi + cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf << EOF + [Service] + ExecStart= +@@ -1343,7 +1411,7 @@ EOF + sed /etc/lightdm/lightdm.conf -i -e "s/^\(#\|\)autologin-user=.*/autologin-user=$USER/" + disable_raspi_config_at_boot + else +- whiptail --msgbox "Do 'sudo apt-get install lightdm' to allow configuration of boot to desktop" 20 60 2 ++ whiptail --msgbox "Do 'sudo dnf install lightdm' to allow configuration of boot to desktop" 20 60 2 + return 1 + fi + ;; +@@ -1733,19 +1801,19 @@ do_onewire() { + } + + do_gldriver() { +- if [ ! -e /boot/overlays/vc4-kms-v3d.dtbo ]; then +- whiptail --msgbox "Driver and kernel not present on your system. Please update" 20 60 2 +- return 1 +- fi +- for package in gldriver-test libgl1-mesa-dri; do +- if [ "$(dpkg -l "$package" 2> /dev/null | tail -n 1 | cut -d ' ' -f 1)" != "ii" ]; then +- missing_packages="$package $missing_packages" +- fi +- done +- if [ -n "$missing_packages" ] && ! apt-get install $missing_packages; then +- whiptail --msgbox "Required packages not found, please install: ${missing_packages}" 20 60 2 +- return 1 +- fi ++# if [ ! -e /boot/overlays/vc4-kms-v3d.dtbo ]; then ++# whiptail --msgbox "Driver and kernel not present on your system. Please update" 20 60 2 ++# return 1 ++# fi ++# for package in gldriver-test libgl1-mesa-dri; do ++# if [ "$(dpkg -l "$package" 2> /dev/null | tail -n 1 | cut -d ' ' -f 1)" != "ii" ]; then ++# missing_packages="$package $missing_packages" ++# fi ++# done ++# if [ -n "$missing_packages" ] && ! apt-get install $missing_packages; then ++# whiptail --msgbox "Required packages not found, please install: ${missing_packages}" 20 60 2 ++# return 1 ++# fi + if is_pifour ; then + GLOPT=$(whiptail --title "Raspberry Pi Software Configuration Tool (raspi-config)" --menu "GL Driver" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT \ + "G1 Legacy" "Original non-GL desktop driver" \ +@@ -1895,8 +1963,8 @@ do_net_names () { + } + + do_update() { +- apt-get update && +- apt-get install raspi-config && ++ dnf update && ++ dnf install raspi-config -y && + printf "Sleeping 5 seconds before reloading raspi-config\n" && + sleep 5 && + exec raspi-config +@@ -2070,6 +2138,63 @@ list_wlan_interfaces() { + done + } + ++do_wifi_ssid_passphrase_nmcli() { ++ IFACE_LIST="$(list_wlan_interfaces)" ++ IFACE="$(echo "$IFACE_LIST" | head -n 1)" ++ ++ if [ -z "$IFACE" ]; then ++ if [ "$INTERACTIVE" = True ]; then ++ whiptail --msgbox "No wireless interface found" 20 60 ++ fi ++ return 1 ++ fi ++ ++ SSID="$1" ++ while [ -z "$SSID" ] && [ "$INTERACTIVE" = True ]; do ++ SSID=$(whiptail --inputbox "Please enter SSID" 20 60 3>&1 1>&2 2>&3) ++ if [ $? -ne 0 ]; then ++ return 0 ++ elif [ -z "$SSID" ]; then ++ whiptail --msgbox "SSID cannot be empty. Please try again." 20 60 ++ fi ++ done ++ ++ PASSPHRASE="$2" ++ while [ "$INTERACTIVE" = True ]; do ++ PASSPHRASE=$(whiptail --passwordbox "Please enter passphrase. Leave it empty if none." 20 60 3>&1 1>&2 2>&3) ++ if [ $? -ne 0 ]; then ++ return 0 ++ else ++ break ++ fi ++ done ++ ++ # Escape special characters for embedding in regex below ++ local ssid="$(echo "$SSID" \ ++ | sed 's;\\;\\\\;g' \ ++ | sed -e 's;\.;\\\.;g' \ ++ -e 's;\*;\\\*;g' \ ++ -e 's;\+;\\\+;g' \ ++ -e 's;\?;\\\?;g' \ ++ -e 's;\^;\\\^;g' \ ++ -e 's;\$;\\\$;g' \ ++ -e 's;\/;\\\/;g' \ ++ -e 's;\[;\\\[;g' \ ++ -e 's;\];\\\];g' \ ++ -e 's;{;\\{;g' \ ++ -e 's;};\\};g' \ ++ -e 's;(;\\(;g' \ ++ -e 's;);\\);g' \ ++ -e 's;";\\\\\";g')" ++ ++ nmcli dev wifi connect "$SSID" password "$PASSPHRASE" ++ RET=$? ++ if [ $RET -ne 0 ] ; then ++ whiptail --msgbox "Connect to $SSID failed, try nmtui." 20 60 ++ fi ++ return $RET ++} ++ + do_wifi_ssid_passphrase() { + RET=0 + IFACE_LIST="$(list_wlan_interfaces)" +@@ -2542,8 +2667,8 @@ do_proxy() { + sed -i "/^export ${SCHEME}_/Id" /etc/profile.d/proxy.sh + fi + if [ "${SCHEME#*http}" != "$SCHEME" ]; then +- if [ -f /etc/apt/apt.conf.d/01proxy ]; then +- sed -i "/::${SCHEME}::Proxy/d" /etc/apt/apt.conf.d/01proxy ++ if [ -f /etc/yum.conf ]; then ++ sed -i "/^proxy/Id" /etc/yum.conf + fi + fi + if [ -z "$ADDRESS" ]; then +@@ -2557,7 +2682,7 @@ do_proxy() { + echo "export ${SCHEME}_proxy=\"$ADDRESS\"" >> /etc/profile.d/proxy.sh + fi + if [ "${SCHEME#*http}" != "$SCHEME" ]; then +- echo "Acquire::$SCHEME::Proxy \"$ADDRESS\";" >> /etc/apt/apt.conf.d/01proxy ++ echo "proxy=\"$ADDRESS\"" >> /etc/yum.conf + fi + done + if [ "$INTERACTIVE" = True ]; then +@@ -2588,7 +2713,9 @@ do + --expand-rootfs) + INTERACTIVE=False + do_expand_rootfs +- printf "Please reboot\n" ++ if [ $? -eq 0 ]; then ++ printf "Please reboot\n" ++ fi + exit 0 + ;; + --apply-os-config) +@@ -2634,8 +2761,8 @@ do_system_menu() { + "S3 Password" "Change password for the '$USER' user" \ + "S4 Hostname" "Set name for this computer on a network" \ + "S5 Boot / Auto Login" "Select boot into desktop or to command line" \ +- "S6 Network at Boot" "Select wait for network connection on boot" \ +- "S7 Splash Screen" "Choose graphical splash screen or text boot" \ ++ `# "S6 Network at Boot" "Select wait for network connection on boot"` \ ++ `# "S7 Splash Screen" "Choose graphical splash screen or text boot"` \ + "S8 Power LED" "Set behaviour of power LED" \ + 3>&1 1>&2 2>&3) + elif is_live ; then +@@ -2661,7 +2788,7 @@ do_system_menu() { + return 0 + elif [ $RET -eq 0 ]; then + case "$FUN" in +- S1\ *) do_wifi_ssid_passphrase ;; ++ S1\ *) do_wifi_ssid_passphrase_nmcli ;; + S2\ *) do_audio ;; + S3\ *) do_change_pass ;; + S4\ *) do_hostname ;; +@@ -2677,7 +2804,7 @@ do_system_menu() { + do_display_menu() { + if is_pi ; then + FUN=$(whiptail --title "Raspberry Pi Software Configuration Tool (raspi-config)" --menu "Display Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Back --ok-button Select \ +- "D1 Resolution" "Set a specific screen resolution" \ ++ `# "D1 Resolution" "Set a specific screen resolution"` \ + "D2 Underscan" "Remove black border around screen" \ + "D3 Pixel Doubling" "Enable/disable 2x2 pixel mapping" \ + "D4 Screen Blanking" "Enable/disable screen blanking" \ +@@ -2707,7 +2834,7 @@ do_interface_menu() { + FUN=$(whiptail --title "Raspberry Pi Software Configuration Tool (raspi-config)" --menu "Interfacing Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Back --ok-button Select \ + "P1 Camera" "Enable/disable connection to the Raspberry Pi Camera" \ + "P2 SSH" "Enable/disable remote command line access using SSH" \ +- "P3 VNC" "Enable/disable graphical remote access using RealVNC" \ ++ "P3 VNC" "Enable/disable graphical remote access using TigerVNC" \ + "P4 SPI" "Enable/disable automatic loading of SPI kernel module" \ + "P5 I2C" "Enable/disable automatic loading of I2C kernel module" \ + "P6 Serial Port" "Enable/disable shell messages on the serial connection" \ +@@ -2741,7 +2868,7 @@ do_performance_menu() { + FUN=$(whiptail --title "Raspberry Pi Software Configuration Tool (raspi-config)" --menu "Performance Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Back --ok-button Select \ + "P1 Overclock" "Configure CPU overclocking" \ + "P2 GPU Memory" "Change the amount of memory made available to the GPU" \ +- "P3 Overlay File System" "Enable/disable read-only file system" \ ++ `# "P3 Overlay File System" "Enable/disable read-only file system"` \ + "P4 Fan" "Set behaviour of GPIO fan" \ + 3>&1 1>&2 2>&3) + RET=$? +@@ -2783,19 +2910,19 @@ do_advanced_menu() { + if is_pifour ; then + FUN=$(whiptail --title "Raspberry Pi Software Configuration Tool (raspi-config)" --menu "Advanced Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Back --ok-button Select \ + "A1 Expand Filesystem" "Ensures that all of the SD card is available" \ +- "A2 GL Driver" "Enable/disable experimental desktop GL driver" \ +- "A3 Compositor" "Enable/disable xcompmgr composition manager" \ ++ `# "A2 GL Driver" "Enable/disable experimental desktop GL driver"` \ ++ `# "A3 Compositor" "Enable/disable xcompmgr composition manager"` \ + "A4 Network Interface Names" "Enable/disable predictable network i/f names" \ + "A5 Network Proxy Settings" "Configure network proxy settings" \ +- "A6 Boot Order" "Choose network or USB device boot" \ +- "A7 Bootloader Version" "Select latest or default boot ROM software" \ ++ `# "A6 Boot Order" "Choose network or USB device boot"` \ ++ `# "A7 Bootloader Version" "Select latest or default boot ROM software"` \ + "A8 HDMI / Composite" "Raspberry Pi 4 video output options" \ + 3>&1 1>&2 2>&3) + elif is_pi ; then + FUN=$(whiptail --title "Raspberry Pi Software Configuration Tool (raspi-config)" --menu "Advanced Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Back --ok-button Select \ + "A1 Expand Filesystem" "Ensures that all of the SD card is available" \ +- "A2 GL Driver" "Enable/disable experimental desktop GL driver" \ +- "A3 Compositor" "Enable/disable xcompmgr composition manager" \ ++ `# "A2 GL Driver" "Enable/disable experimental desktop GL driver"` \ ++ `# "A3 Compositor" "Enable/disable xcompmgr composition manager"` \ + "A4 Network Interface Names" "Enable/disable predictable network i/f names" \ + "A5 Network Proxy Settings" "Configure network proxy settings" \ + 3>&1 1>&2 2>&3) +@@ -2819,7 +2946,7 @@ do_advanced_menu() { + A7\ *) do_boot_rom ;; + A8\ *) do_pi4video ;; + *) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;; +- esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1 ++ esac || [ $? -eq 2 ] || whiptail --msgbox "There was an error running option $FUN" 20 60 1 + fi + } + +@@ -2856,17 +2983,17 @@ if [ "$INTERACTIVE" = True ]; then + calc_wt_size + while [ "$USER" = "root" ] || [ -z "$USER" ]; do + if ! USER=$(whiptail --inputbox "raspi-config could not determine the default user.\\n\\nWhat user should these settings apply to?" 20 60 pi 3>&1 1>&2 2>&3); then +- return 0 ++ exit 0 + fi + done + while true; do + if is_pi ; then +- FUN=$(whiptail --title "Raspberry Pi Software Configuration Tool (raspi-config)" --backtitle "$(cat /proc/device-tree/model)" --menu "Setup Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Finish --ok-button Select \ ++ FUN=$(whiptail --title "Raspberry Pi Software Configuration Tool (raspi-config)" --backtitle "$(tr -d '\0' < /proc/device-tree/model)" --menu "Setup Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Finish --ok-button Select \ + "1 System Options" "Configure system settings" \ + "2 Display Options" "Configure display settings" \ + "3 Interface Options" "Configure connections to peripherals" \ + "4 Performance Options" "Configure performance settings" \ +- "5 Localisation Options" "Configure language and regional settings" \ ++ `# "5 Localisation Options" "Configure language and regional settings"` \ + "6 Advanced Options" "Configure advanced settings" \ + "8 Update" "Update this tool to the latest version" \ + "9 About raspi-config" "Information about this configuration tool" \ diff --git a/raspi-config.spec b/raspi-config.spec index c43a893..6f343b6 100644 --- a/raspi-config.spec +++ b/raspi-config.spec @@ -10,11 +10,12 @@ Name: raspi-config Version: 20210625 -Release: 1 +Release: 2 Summary: Raspberry Pi configuration tool License: MIT URL: https://github.com/RPi-Distro/raspi-config Source0: https://github.com/RPi-Distro/raspi-config/archive/%{commitid}/raspi-config-%{commitid}.tar.gz +Patch0000: openEuler.patch Requires: openeuler-lsb parted lua psmisc pigpio AutoReq: no @@ -30,6 +31,8 @@ A simple configuration tool for common Raspberry Pi administrative tasks. %prep %setup -q -n %{name}-%{version} -c +cd %{name}-%{commitid} +%patch0000 -p1 %install mkdir -p %{buildroot}%{_lib_path} @@ -61,5 +64,8 @@ cd - %{_systemd_path}/* %changelog +* Fri Jun 25 2021 Yafen Fang - 20210625-2 +- adjust for openEuler + * Fri Jun 25 2021 Yafen Fang - 20210625-1 - init raspi-config from upstream (commitid: 8607dbc7281cef142b2e0c12839176f189d48a1b) \ No newline at end of file