gnome-settings-daemon을 패치하고 다시 빌드하는 방법은 무엇입니까?

gnome-settings-daemon을 패치하고 다시 빌드하는 방법은 무엇입니까?

don_crissti가 이 스레드에서 말했듯이 시스템을 종료하지 않고 gnome 3의 전원 버튼을 수정하려고 합니다(Gnome 3: 일시 중지 대신 전원 버튼을 종료하도록 설정하는 방법은 무엇입니까?) 이 옵션은 제거되었습니다.

고칠 수 있다고도 하더군요

gnome-settings-daemon을 패치하고 다시 빌드하려는 경우

그럼 어떻게 해야 하나요?

답변1

디렉토리를 생성 build하고 거기에 패치를 다운로드한 후 d.patch.

이 스크립트를 따르세요. (이 주문을 시전해야 하는 디렉터리가 무엇인지 알 수 있도록 전체 세션을 저장했습니다.)

[user@MACHINE build]$ git clone git://git.gnome.org/gnome-settings-daemon #download GSD source
[user@MACHINE build]$ git clone git://git.gnome.org/libgnome-volume-control #download dependency
[user@MACHINE build]$ cd gnome-settings-daemon/
[user@MACHINE gnome-settings-daemon]$ git checkout GNOME_SETTINGS_DAEMON_3_18_2 #get the version for which the script was prepared
[user@MACHINE gnome-settings-daemon]$ git submodule init #download more dependencies
[user@MACHINE gnome-settings-daemon]$ git config --local submodule.panels/media-keys/gvc.url ../libgnome-volume-control
[user@MACHINE gnome-settings-daemon]$ git submodule update
[user@MACHINE gnome-settings-daemon]$ cd ..
[user@MACHINE build]$ wget https://launchpad.net/ubuntu/+archive/primary/+files/gnome-settings-daemon_3.18.2-0ubuntu2.debian.tar.xz #download Ubuntu patches - that's why I asked you about your OS
[user@MACHINE build]$ tar -xf gnome-settings-daemon_3.18.2-0ubuntu2.debian.tar.xz 
[user@MACHINE build]$ cd gnome-settings-daemon/
[user@MACHINE gnome-settings-daemon]$ patch -p1 -i ../debian/patches/64_restore_terminal_keyboard_shortcut_schema.patch #apply Ubuntu patches if you want Ubuntu version of GSD
[user@MACHINE gnome-settings-daemon]$ patch -p1 -i ../debian/patches/ubuntu-lid-close-suspend.patch
[user@MACHINE gnome-settings-daemon]$ patch -p1 -i ../debian/patches/revert_background_dropping.patch
[user@MACHINE gnome-settings-daemon]$ patch -p1 -i ../debian/patches/revert-gsettings-removals.patch
[user@MACHINE gnome-settings-daemon]$ cd ..
[user@MACHINE build]$ mv gnome-settings-daemon gnome-settings-daemon-3.18.2
[user@MACHINE build]$ patch -p0 <d.patch #patch with downloaded patch
[user@MACHINE build]$ cd gnome-settings-daemon-3.18.2/
[user@MACHINE gnome-settings-daemon-3.18.2]$ NOCONFIGURE=1 ./autogen.sh #generate config script - would fail if we wouldn't download those dependencies before
[user@MACHINE gnome-settings-daemon-3.18.2]$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/gnome-settings-daemon --disable-static #configure - will check for dependencies  - you might need to download some packages
[user@MACHINE gnome-settings-daemon-3.18.2]$ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool #see https://bugzilla.gnome.org/show_bug.cgi?id=656231
[user@MACHINE gnome-settings-daemon-3.18.2]$ make
[user@MACHINE gnome-settings-daemon-3.18.2]$ make install

스크립트는 다음에서 수정되었습니다.여기. 구성에 필요한 종속성에 대한 개요를 볼 수 있습니다.

긴 이야기 짧게 유일한 마법은 모든 소스를 한 곳에 모아두는 것입니다: git submodules런치패드의 Ubuntu 패치와 libgnome-volume-control... 적용 없이 작동합니다 sed. 나머지는 표준 절차입니다.

관련 정보