JHBuild와 GNOME

이 장에서는 그놈을 빌드하고 설치하고 실행하는 일련의 방법을 안내합니다.

3.1. 그놈 빌드

그놈을 빌드하려면 일부 관련 패키지가 필요합니다. 다음 항목이 이에 해당합니다:

  • DocBook XML DTD , XSLT 스타일시트. XML 키달로그(/etc/xml/catalog) 등록에 필요함.

  • X 라이브러리.

  • 삼바의 libsmbclient(윈도우 네트워크 탐색에 필요).

  • bzip2의 libbz2.

  • libpng, libjpeg, libtiff (그림 불러올 때 사용).

배포판 패키지를 설치할 때, 사용하시는 배포판에 다음에 해당하는 경우: “dev” 또는 “devel”에 해당하는 패키지를 설치하십시오. 그놈 위키에는 다양한 배포판에 따라 관리하는 패키지 이름 목록이 있습니다.

3.2. 단일 그놈 프로그램 실행

이 장에서는 단일 그놈 프로그램 실행 방법을 자세하게 설명합니다. 현재 데스크톱 환경에서 프로그램을 실행하도록 하겠습니다. 완전한 JHBuild 그놈 환경에서 프로그램을 실행하려면, 3.3항 ― 그놈 데스크톱 환경 실행 문서를 살펴보십시오.

JHBuild 셸을 실행하십시오. JHBuild 셸에는 필요한 환경 변수 모음이 갖춰져있습니다.

$ jhbuild shell

실행할 프로그램이 제대로 갖춰졌는지 확인하십시오. 예를 들면:

$ which gedit
/home/wanda/jhbuild/install/bin/gedit

프로그램을 실행하십시오:

$ gedit &

대신 run 명령으로 프로그램을 실행할 수도 있습니다:

$ jhbuild run gedit

3.3. 그놈 데스크톱 환경 실행

JHBuild 그놈을 실행할 새 사용자 계정을 만드십시오. 다른 사용자 계정에서 JHBuild 그놈을 실행하는 방식으로 사용자의 기본 디렉터리(홈 디렉터리)에 저장한 사용자 설정으로 하여금 나타날 문제를 피하는게 좋습니다. 이 설명서에서는 새 계정 이름을 gnomedev라고 하겠습니다.

JHBuild를 새 gnomedev 계정에 설치하십시오. ~/.config/jhbuildrc~/.local/bin/jhbuildgnomedev 사용자 기본 디렉터리에 복사하거나 소프트-링크를 만드십시오.

gnomedev 사용자 계정으로 터미널을 여십시오. PATH 환경 변수에 ~/.local/bin을 완전히 추가하고 다음 명령을 실행하십시오:

$ echo 'PATH=$PATH:~/.local/bin' >> ~/.bashrc

JHBuild 동작 시험:

$ jhbuild run pkg-config gtk+-2.0 --modversion
2.20.1

3.3.1. 디스플레이 관리자에서의 그놈 실행 설정

JHBuild 그놈을 빌드하고 설치합니다.

시스템 서비스를 사용하도록 설정하십시오. JHBuild에서는 /usr/bin의 시스템 D-Bus 데몬과 /usr/share/dbus-1/system-services/의 시스템 서비스를 활용합니다. JHBuild 그놈은 JHBuild 세션의 D-Bus 데몬과 ~/jhbuild/install//share/dbus-1/services/의 서비스를 활용합니다. ~/jhbuild/install 경로를 다음 명령으로 그놈 설치 prefix 경로로 바꾸십시오:

$ rm -rf ~/jhbuild/install/var/run/dbus
$ ln -s /var/run/dbus ~/jhbuild/install/var/run/dbus
$ rm -rf ~/jhbuild/install/var/lib/dbus/machine-id
$ ln -s /var/lib/dbus/machine-id ~/jhbuild/install/var/lib/dbus/machine-id

다음 스크립트와 마찬가지로 /usr/bin/gnome-jhbuild-session 위치에 그놈 시작 스크립트를 만드십시오. ~/jhbuild/install 경로를 그놈 설치 prefix 경로로 바꾸십시오:

#!/bin/sh

GNOME=~/jhbuild/install

GDK_USE_XFT=1
XDG_DATA_DIRS=$XDG_DATA_DIRS:$GNOME/share
XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:$GNOME/etc/xdg

jhbuild run gnome-session

/usr/bin/gnome-jhbuild-session 파일을 실행 가능하도록 설정하십시오:

$ chmod a+x /usr/bin/gnome-jhbuild-session

디스플레이 관리자에 새 세션 항목을 추가하려면 /usr/share/xsessions/gnome-jhbuild.desktop 파일을 만들어 파일에 들어가십시오:

[Desktop Entry]
Name=GNOME (JHBuild)
Comment=This session logs you into GNOME testing session
TryExec=/usr/bin/gnome-jhbuild-session
Exec=/usr/bin/gnome-jhbuild-session
Icon=
Type=Application

gdm을 다시 시작하십시오.

3.3.2. 디스플레이 관리자에서 그놈 실행

JHBuild 그놈을 실행하려면, gnomedev 계정으로 로그인 후 진입하기 전, 디스플레이 관리자에서 그놈(JHBuild) 세션을 선택하십시오. 성공했다면 JHBuild 그놈 환경이 나타납니다. 실패했다면 로그 파일을 확인해보십시오. 로그 파일은 ~gnomedev/.cache/gdm/session.log 위치 또는 ~gnomedev/.xsession-errors 위치에 있습니다.

3.4. 정적 분석

JHBuild에서는 빌드한 모듈 코드에 대한 정적 분석 도구 실행을 지원합니다. 이 기능을 사용하려면 .jhbuildrc 설정 파일의 static_analyzer 설정 변수 값을 True로 설정하십시오.

기능을 켰다면, 매번 JHBuild로 모듈을 빌드할 때마다, 빌드 과정에서 정적 분석기가 동시에 동작하며 코드의 문제를 찾아내는 보고서가 나옵니다. 이 보고서는 /tmp/jhbuild_static_analyzer 경로의 하위 디렉터리에 HTML 파일로 저장합니다(기본적으로 경로는 static_analyzer_outputdir 설정 변수로 바꿀 수 있습니다).

현재 정적 분석은 빌드 시스템에 따라 autotools를 사용하는 모듈에 대해서만 동작합니다. static_analyzer_template 설정 변수 값을 수정하여 명령을 바꿀 수 있다 하더라도 scan-build 프로그램을 설치해야합니다.