업데이트 된 답변 :
2019 년부터 아치의 AUR 저장소 (그러나 여전히 내 데비안 시스템에 있음 )를 사용했습니다. 또한 FreeBSD에서도 작은 패치를 사용하여이 작업을 수행했습니다. 이것은 "아치로 전환"답변이 아닙니다.
처음에는 설정하기가 약간 어려웠지만, 실제로 아치의 makepkg
프로그램을 컴파일하고 데비안에서 AUR 저장소를 컴파일하는 데 사용할 수 있다는 것이 요점입니다 . 나는 이것을 이렇게했다 (나는 의존성을 잊었을 수도 있지만) :
내 이전 답변은 여전히 바닥 근처의 구분 기호 뒤에 있습니다.
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
합니다. 아치와 동일하거나 거의 동일한 모든 (데비안) 빌드 종속성을 얻으 deb-src
려면 소스를 먼저 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"
이것은 고도로 스크립팅이 가능하며 겸손한 의견으로 이전 스크립트를 처리하는 것보다 덜 까다 롭습니다. 또한 더 이상 데비안에 의존하지 않습니다.
원래 답변 :
GTK3 사람들은 재 컴파일하지 않고 되돌릴 방법이 없어서이 동작을 하드 코딩하기로 결정했기 때문에 1 년이 지났지 만 여전히 짜증납니다.
그러나 typeahead는 우분투에 배포 된 gtk3에 다시 패치되었습니다.
우분투는 또한 파일 선택기가 파일을 이미 선택한 경우 한 번만 클릭하는 대신 파일을 선택하기 위해 더블 클릭을 요구했습니다. gtk3 소스 코드를 패치해도 괜찮다면 gtk + 3.22.7부터 작동하는 패치를 만들었다 , 우분투 패치를 결합하고 최신 GTK 버전으로 업데이트하는 .
또한 패키지 관리자에서 최신 버전의 소스를 자동으로 다운로드하여 패치하고 컴파일하는 데비안 시스템 용 스크립트 를 만들었 습니다. 데비안 시드에서 올바르게 실행되며 다른 데비안 배포판에서도 잘 작동합니다.