Aktualisierte Antwort:
Seit 2019 habe ich das AUR-Repository von Arch verwendet (aber immer noch auf meinem Debian-System ). Ich habe das jetzt auch unter FreeBSD mit einem kleinen (etwas trivialen) Patch gemacht. Dies ist KEINE Antwort auf "Zu Arch wechseln".
Es war anfangs etwas schwierig einzurichten, aber das Wesentliche ist, dass Sie das makepkg
Programm von Arch kompilieren und es verwenden können, um AUR-Repositorys unter Debian zu kompilieren. Ich habe das so gemacht (obwohl ich vielleicht einige Abhängigkeiten vergessen habe):
Meine alte Antwort ist immer noch nach dem Trennzeichen im unteren Bereich vorhanden.
1) Gebäude 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) Vorbereitung zum Kompilieren der GTK3-Quellen:
Nun bauen und installieren gtk3-typeahead
. Um alle (Debian-) Build-Abhängigkeiten zu erhalten, die mehr oder weniger mit den Arch-Abhängigkeiten identisch sind, müssen Sie zuerst eine deb-src
Zeile in Ihrer sources.list haben, damit apt-get build-dep
die erforderlichen -dev
Pakete erfolgreich abgerufen werden können.
Meine sources.list
enthält die folgende Zeile, um das zu tun. Ändern Sie die Zeile basierend auf Ihrer Version und dem nächsten Server.
deb-src http://ftp.us.debian.org/debian/ sid main contrib
3) Gebäude gtk3-typeahead
:
Anschließend können Sie Folgendes ausführen, um zu erstellen 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
Danach werden die Binärdateien .tar.gz
eine Ebene über dem Git-Baum in ein Archiv gepackt . In meinem Beispiel wäre dies das into
Verzeichnis.
So installieren Sie es:
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"
Dies ist in hohem Maße skriptfähig und meiner bescheidenen Meinung nach etwas weniger finnisch als der Umgang mit meinen alten Skripten. Es hängt auch nicht mehr von Debian ab.
Ursprüngliche Antwort:
Es ist ein Jahr vergangen und das ärgert mich immer noch, da die GTK3-Leute beschlossen haben, dieses Verhalten fest zu codieren, ohne es ohne Neukompilierung rückgängig zu machen.
Typeahead wurde jedoch wieder in gtk3 gepatcht, wie es in Ubuntu verteilt wurde.
Ubuntu veranlasste die Dateiauswahl auch, einen Doppelklick zur Auswahl einer Datei zu erfordern, anstatt nur einen einzigen Klick zu erfordern, wenn die Datei bereits ausgewählt war. Wenn Sie mit dem Patchen des gtk3-Quellcodes einverstanden sind, habe ich einen Patch erstellt, der ab gtk + 3.22.7 funktioniert. Dabei werden die Ubuntu-Patches kombiniert und auf eine aktuellere Version von GTK aktualisiert.
Zusätzlich habe ich ein Skript für mein Debian-System erstellt, das automatisch die Quelle für die neueste Version im Paketmanager herunterlädt, sie patcht und kompiliert. Läuft korrekt auf Debian Sid und sollte auch für andere Debian-Distributionen funktionieren.