*****************************************************************************
* Основные изменения:
*
* 1. Решены проблемы монтирования накопителей с помощью sysutils/bsdisks
*    https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242902
*    В связи с этим принято решение отказаться от использования HAL для
*    монтирования накопителей и перейти на bsdisks
*    
* 2. Изменились пути хранения файлов SDDM:
*    https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244756
*
* 3. Немного модифицирована утилита knemo
*
* 4. Добавлен сервис резервного копирования настроек рабочего стола Plasma
*
* 5. Значительно модифицированы утилиты ulbsd-update и ulbsd-clone, удалены
*    более ненужные патчи.
*
*****************************************************************************

1. Откройте терминал под учетной записью root (Администратор)

2. Извлеките из архива каталог files в каталог /root/

3. Скопируйте файлы из каталога /root/files (БУДЬТЕ ВНИМАТЕЛЬНЫ!
   ВОЗМОЖНО ВЫ САМОСТОЯТЕЛЬНО ДЕЛАЛИ КАКИЕ-ЛИБО ИЗМЕНЕНИЯ В ЭТИХ ФАЙЛАХ,
   ИЗМЕНЕНИЯ БУДУТ УТЕРЯНЫ), выполнив в терминале следующие команды:

    cp /root/files/ulbsd-update /usr/local/share/ulbsd/scripts/
    cp /root/files/ulbsd.conf /usr/local/etc/pkg/repos/
    cp /root/files/logo-ulbsd.lua /boot/lua/
    cp /root/files/plasma_backup /usr/local/etc/rc.d/
    cp /root/files/langpack-ru@firefox.mozilla.org.xpi /usr/local/share/ulbsd/skel/.mozilla/firefox/0kndijbb.default/extensions/
    cp /root/files/Xsetup /usr/local/share/ulbsd/compile/cfgs/usr/local/share/sddm/scripts/
    cp /root/files/ulbsd-clone* /usr/local/share/ulbsd/scripts/

4. Отключение HAL и подключение bsdisks для монтирования накопителей:

    sysrc hald_enable="NO"
    rm /sbin/mount_ntfs
    pkg delete -f policykit
    rm -R /usr/loca/etc/PolicyKit
    pkg install -r latest policykit
    pkg delete -f plasma5-plasma-workspace
    rm -R /usr/local/share/ulbsd/compile/cfgs/usr/local/share/solid
    pkg install -r latest plasma5-plasma-workspace
    cd /usr/src/sbin/mount
    rm mount.c.*
    fetch -o mount.c "https://svnweb.freebsd.org/base/release/12.1.0/sbin/mount/mount.c?view=co"
    make all install clean
    rm /usr/local/share/ulbsd/patches/mount.c.patch
    pkg install -r latest bsdisks

5. Переустановка SDDM:

    pkg upgrade -r latest sddm
    pw usermod -n sddm -d /var/lib/sddm
    pwd_mkdb /etc/master.passwd
    mv /usr/local/etc/sddm/home/state.conf /var/lib/sddm/state.conf
    rm -rf /usr/local/etc/sddm/home

6. Выполните в терминале следующие команды:

    mv /usr/local/share/applications/gtk3-demo.desktop_ /usr/local/share/applications/gtk3-demo.desktop
    mv /usr/local/share/applications/gtk3-icon-browser.desktop_ /usr/local/share/applications/gtk3-icon-browser.desktop
    mv /usr/local/share/applications/gtk3-widget-factory.desktop_ /usr/local/share/applications/gtk3-widget-factory.desktop
    mv /usr/local/share/applications/usr_local_lib_qt5_bin_assistant.desktop_ /usr/local/share/applications/usr_local_lib_qt5_bin_assistant.desktop
    mv /usr/local/share/applications/usr_local_lib_qt5_bin_designer.desktop_ /usr/local/share/applications/usr_local_lib_qt5_bin_designer.desktop
    mv /usr/local/share/applications/x11vnc.desktop_ /usr/local/share/applications/x11vnc.desktop
    mv /usr/local/share/applications/xterm.desktop_ /usr/local/share/applications/xterm.desktop
    pkg check --recompute gtk3 qt5-assistant qt5-designer x11vnc xterm

    mv /usr/local/share/kservices5/kcm_kaccounts.desktop_ /usr/local/share/kservices5/kcm_kaccounts.desktop
    mv /usr/local/share/kservices5/kcm_printer_manager.desktop_ /usr/local/share/kservices5/kcm_printer_manager.desktop
    mv /usr/local/share/kservices5/wayland.desktop_ /usr/local/share/kservices5/wayland.desktop
    pkg check --recompute kaccounts-integration print-manager plasma5-kinfocenter

    cp /usr/src/stand/lua/drawer.lua /boot/lua/
    rm /boot/lua/drawer.lua.*
    rm /usr/local/share/ulbsd/patches/drawer.lua.patch

    chmod +x /usr/local/etc/rc.d/plasma_backup
    sysrc plasma_backup_enable="YES"
    sysrc plasma_backup_count="100"

    pkg delete kdenetwork
    pkg autoremove
    pkg install -r latest kdenetwork-filesharing krdc krfb okular

    sed -i '' -e '/Variant=/Id' /usr/local/share/ulbsd/compile/cfgs/usr/local/etc/xdg/kcm-about-distrorc
    echo "Variant=2020.07.17" >> /usr/local/share/ulbsd/compile/cfgs/usr/local/etc/xdg/kcm-about-distrorc
    ulbsd-update cfgs
    ulbsd-update menu

7. Выполните обновление системы и программного обеспечения,
   как описано в документе по ссылке http://www.ulbsd.ru/shop/view/article/56

8. Пересборка утилиты knemo:

    pkg delete papirus-icon-theme
    rm -R /usr/local/share/icons/Papirus
    rm -R /usr/local/share/icons/ePapirus
    rm -R /usr/local/share/icons/Papirus-Dark
    rm -R /usr/local/share/icons/Papirus-Light
    pkg install -r latest papirus-icon-theme

    rm -R /usr/local/share/ulbsd/compile/knemo/
    cp -R /root/files/knemo /usr/local/share/ulbsd/compile/
    cd /usr/local/share/ulbsd/compile/knemo
    pkg install -r latest cmake qt5-buildtools qt5-qmake
    cmake .
    make install clean
    pkg delete cmake qt5-buildtools qt5-qmake
    pkg autoremove

    pkg clean -ay

    ulbsd-update cfgs
