1934
Как сохранить критически важную программу если она вызывает конфликт при обновлении?
Добрый день!
Здесь уже был топик по данной проблеме, но приведенное решение меня не устроит.
Невозможно обновиться: Ошибка подготовки транзакции
И предложение править сборочные файлы, касающиеся far2l.
Для решения рекомендовалось:
после чего всё обновляется, кроме far2l, и переустановить его уже не получается.
Это критически важная для меня программа, я без нее не могу.
Нет ли возможности сохранить его в данной ситуации?
Или может как-нибудь обновиться по-максимуму, чтобы его не затронуть?
Здесь уже был топик по данной проблеме, но приведенное решение меня не устроит.
Невозможно обновиться: Ошибка подготовки транзакции
Не удалось удовлетворить зависимости:
- удаление wxgtk-common нарушает зависимость "wxgtk-common", необходимую для wxgtk2
И предложение править сборочные файлы, касающиеся far2l.
Для решения рекомендовалось:
sudo pacman -Rdd wxgtk-common wxgtk2 wxgtk3
sudo pacman -S wxwidgets-gtk3 wxwidgets-common
после чего всё обновляется, кроме far2l, и переустановить его уже не получается.
Это критически важная для меня программа, я без нее не могу.
Нет ли возможности сохранить его в данной ситуации?
Или может как-нибудь обновиться по-максимуму, чтобы его не затронуть?
12 комментариев
mcисправить PKGBUILD.pkgname=far2l-git
pkgver=r2791.d21947b9
pkgrel=1
pkgdesc='Linux port of FAR v2'
url='https://github.com/elfmz/far2l'
arch=('i686' 'x86_64')
license=('GPL2')
source=('git+https://github.com/elfmz/far2l'
'far2l-desktop.patch')
sha256sums=('SKIP'
'f279f4255d9015e087e036fb793de688b973b1d14afd30a55722cc6f591675ce'
)
makedepends=('git' 'cmake')
depends=('wxgtk3' 'openssl' 'spdlog' 'xerces-c' 'fmt' 'uchardet')
optdepends=(
'libssh: SFTP support in NetRocks'
'smbclient: SMB support in NetRocks'
'libnfs: NFS support in NetRocks'
'neon: WebDAV support in NetRocks'
'pcre: custom archives support in multiarc'
'libarchive: more archive type support in multiarc'
)
pkgver() {
cd "$srcdir"/far2l
printf «r%s.%s» "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
prepare() {
cd "$srcdir"/far2l
patch -p1 -i "$srcdir"/far2l-desktop.patch
}
package() {
cd "$srcdir"/far2l
cmake. -DCMAKE_INSTALL_PREFIX="$pkgdir"/usr -DCMAKE_BUILD_TYPE=Release -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3 -DCMAKE_CXX_FLAGS=-w
cmake --build. --target install
ln -sf ../../bin/far2l "$pkgdir"/usr/lib/far2l/far2l_askpass
ln -sf ../../bin/far2l "$pkgdir"/usr/lib/far2l/far2l_sudoapp
}
И чисто из интереса. Для чего в никсах вообще нужен фар (хорошо хоть его в консоль научили, псевдографика, прибитая к GTK, это душераздирающее зрелище)?
нужно заменить /usr/bin/wx-config-gtk3 на /usr/bin/wx-config
Но теперь получается:
а потом всё, как было.
Зачем мне нужен Far на Linux?
Во-первых, дело сильной привычки. Если он у меня уже лет 30, как основное навигационное средство на компах. Под себя сделана куча настроек. И использование его и его редактора уже на подкорке записано.
И то, что он нашелся и на Linux, пару лет назад сильно облегчило переход.
Кроме того, на работе у меня Windows без вариантов. И использование аналогичной программы здорово помогает.
Кроме личных пристрастий, некоторые привычные возможности я не нашел в других файловых менеджерах (возможно, плохо искал). Например, возможность комментировать файлы по Ctrl-Z и видеть эти комментарии на панелях. Они хранятся в descript.ion. Такое еще есть в Total Commander. У меня столько таких комментов накопилось в коллекциях, архивах, рабочих файлах, что помогает в них ориентироваться. Так что потеря или усложнение к ним доступа существенно испортит жизнь. И список можно еще продолжить.
принудительно обнови базу данных (в гуе в настройках памака есть такое меню)
быстрые простые правильные (иногда) ответы здесь t.me/ManjaroRu
Но теперь состояние исходное:
— удаление wxgtk-common нарушает зависимость «wxgtk-common», необходимую для wxgtk2
PKGBUILD в отредактированном состоянии
быстрые простые правильные (иногда) ответы здесь t.me/ManjaroRu
Цель использования понятна — привычка.
Комментарии к файлам, кстати, умеет double commander. Больше не знаю, весь этот семантический десктоп мне неинтересен.
Учтите, ctrl+z в терминальном режиме, скорее всего будет вести себя несколько… неожиданно, потому как по этому хоткею приложение отправится в bg.
А Вам точно нужен wxgtk2?
Тем более, судя по
эти пакеты Вы удалили. Или нет?
Вообще какой-нибудь pikaur подобные конфликты пакетов разруливает в диалоговом режиме.
Но сейчас подумал, зачем же тут и wxgtk3 удаляется? Так было в найденном рецепте.
Попробовал так:
И получилось!!! Всё обновилось, в том числе и Far. Застрял только аудиокодек Celt. И он после удаления встал обратно без проблем.
Теперь всё суммирую и двинусь обновлять ноутбук.
Огромное спасибо за помощь и за информацию!
Потому что вместо него теперь wxwidgets-gtk3.
Механика работы команд из корневого поста темы проста.
Первая команда удаляет три пакета с игнорированием зависимостей, чтобы не тянуть все требующие их пакеты.
Вторая предоставляет им замену.
Образно говоря, вместо разборки-сборки стены, мы меняем в ее середине пару кирпичей.
Повторюсь, при обновлении системы приличным AUR-helper-ом это происходит в диалоговом режиме (продолжив аналогию, мы делегируем работу каменщика).
bash.org