Оновлена відповідь:
Станом на 2019 рік я з того часу сподівався використовувати сховище Arch AUR (але все ще в моїй системі Debian ). Я також робив це на FreeBSD, тепер, з невеликим (дещо тривіальним) патчем. Це НЕ "відповідь на арку".
Спочатку було складно налаштувати, але суть його полягає в тому, що ви насправді можете складати makepkg
програму Arch і використовувати її для збирання AUR-сховищ на Debian. Я робив це так (хоча я, можливо, забув деякі залежності):
Моя стара відповідь все ще присутня після роздільника біля дна.
1) Будівництво makepkg
:
sudo apt-get install bsdtar # pacman depends on bsdtar (libarchive) these days
git clone git://projects.archlinux.org/pacman.git
cd pacman
./configure --sysconfdir=/etc --localstatedir=/var --prefix=/opt/arch # Put built program outside of the usual '/usr/local' when installed to avoid conflicts
make
sudo make install # Install pacman/makepkg
# Make a directory pacman expects to exist to dodge makepkg errors
sudo mkdir -p /var/cache/pacman/pkg
2) Підготовка до складання джерел GTK3:
Тепер, щоб створити та встановити gtk3-typeahead
. Щоб отримати всі (debian) побудови залежності, які більш-менш такі ж, як і Arch, потрібно спочатку мати deb-src
рядок у своєму source.list, щоб apt-get build-dep
успішно отримати необхідні -dev
пакети.
Мій sources.list
містить наступний рядок для цього. Змініть рядок залежно від вашого випуску та найближчого сервера.
deb-src http://ftp.us.debian.org/debian/ sid main contrib
3) Будівництво gtk3-typeahead
:
Потім ви можете виконати наступне, щоб створити gtk3-typeahead
:
sudo apt-get update
sudo apt-get build-dep 'gtk+3.0' # install gtk3 build dependencies
mkdir /path/to/put/arch/git/repo/into
cd /path/to/put/arch/git/repo/into
git clone https://aur.archlinux.org/gtk3-typeahead.git gtk3-typeahead
cd gtk3-typeahead
# Tack onto configure script arguments so that libraries overwrite the official
# Debian ones in /usr/lib/x86_64-linux-gnu, instead of installing to /usr/lib.
# CHANGE THIS APPROPRIATELY IF RUNNING 32-BIT (or some other architecture like POWER/MIPS)
sed '/\-\-sysconfdir=/a\
--libdir=/usr/lib/x86_64-linux-gnu \\' PKGBUILD > PKGBUILD2
mv PKGBUILD2 PKGBUILD
# temporarily add archlinux programs to PATH so we can use 'makepkg'
PATH="/opt/arch/bin:""$PATH"
# Don't check pacman dependencies, since our dependency libraries weren't
# installed via pacman like makepkg expects!
makepkg --nodeps
Після цього двійкові файли будуть запаковані в .tar.gz
архів на одному рівні над деревом git. У моєму прикладі це був би into
каталог.
Щоб встановити його:
TARBALLPATH="$(readlink -f gtk3-typeahead-*.tar.gz | sort | tail -n 1)" # get full path to tarball of most recent build, if multiple are available
cd /
bsdtar xf "$TARBALLPATH"
Це дуже чудово, і трохи менш вибагливо, ніж спілкування зі старими сценаріями на мою скромну думку. Це також більше не залежить від debian.
Оригінальна відповідь:
Минув рік, і це все ще дратує мене, оскільки люди GTK3 вирішили жорстко закодувати цю поведінку, не маючи можливості повернути її без перекомпіляції.
Однак, typeahead був зафіксований назад у gtk3, як розповсюджений в Ubuntu.
Також Ubuntu для вибору файлів вимагає подвійного клацання, щоб вибрати файл, замість того, щоб вимагати лише одного клацання, якщо файл вже обраний. Якщо ви добре з виправленням вихідного коду gtk3, я зробив патч, який працює як gtk + 3.22.7, поєднуючи патчі ubuntu та оновляючи їх до більш актуальної версії GTK.
Крім того, я створив сценарій для своєї системи debian, який автоматично завантажує джерело для останньої версії в менеджері пакунків, виправляє його та компілює. Працює правильно на Debian Sid, і він повинен добре працювати з іншими дистрибутивами Debian.