Search

'Ubuntu 패키징'에 해당되는 글 2건

  1. 2009.06.20 [Ubuntu-Packaging] 참고- 글꼴 패키징과 PPA등록
  2. 2009.06.20 [Linux] Ubuntu Customization Kit - UCK

출처 : http://mr-dust.pe.kr/entry/font-packaging-and-upload-to-ppa

글꼴 패키징과 PPA 등록       in 電子計算機 理解

얼마전 무려 "우분투 전용" 이라는 타이틀을 단, 렉시 글꼴이 발표되었다.

공개용 한글 글꼴의 부족이 끊임없이 재기되어온 상황에서 정말 단비와 같은 글꼴이었지만, 글꼴 자체의 완성도(글자수)와 다른 부차적인 문제로 잡음이 조금씩 있었는데, 하나씩 해결이 되어 며칠 전에는 총 11,172자를 가진 제대로된 글꼴이 되었다. 그래서 패키징을 해보았다.(라기보다 공모 씨가 하도 갈궈싸서.. -_-;)

참조 문서 : [우분투 - 여름 파튀:소세미나] 우분투 패키징과 PPA
                   데비안 패키징 매뉴얼

참조 패키지 : 은글꼴 데비안 패키지
                       백묵글꼴 데비안 패키지
                       alee 글꼴 데비안 패키지


1. Gnu PG 설정


2. 기본 환경 및 준비물(우분투 8.10 환경)
$ sudo apt-get install dh-make dpkg-dev debhelper fakeroot lintian dput devscripts


3. 기존 패키지 분석
글꼴 패키징을 해본 적이 없어, 기존 글꼴 패키지를 분석하여 비슷하게 사용해보기로 했다.

백묵 글꼴

은 글꼴

alee 글꼴


우선 필요한 파일은 글꼴, COPYING, 그리고 debian 디렉토리..


4. debian 패키징 준비
디렉토리를 생성하고, 글꼴 파일과 COPYING을 복사한 뒤에 dh_make 를 실행한다.
$ mkdir ttf-lexi-1.5   (디렉토리명을 '패키지-버전' 으로 생성한다.)
$ export DEBFULLNAME="Jihui Choi" (패키지 관리자 이름)
$ export DEBEMAIL=jihui.choi@gmail.com (자신의 이메일 주소)
$ dh_make -c GPL --createorig (-c 는 저작권 내용 삽입, --createorig 는 orig.tar.gz 파일 생성)

Type of package: single binary, multiple binary, library, kernel module or cdbs?
[s/m/l/k/b] s

Maintainer name : Jihui Choi
Email-Address   : jihui.choi@gmail.com
Date            : Thu, 16 Apr 2009 23:12:19 +0900
Package Name    : ttf-lexi
Version         : 1.5
License         : gpl
Using dpatch    : no
Type of Package : Single
Hit <enter> to confirm:
Currently there is no top level Makefile. This may require additional tuning.
Done. Please edit the files in the debian/ subdirectory now. You should also
check that the ttf-lexi Makefiles install into $DESTDIR and not in / .
dh_make 에서 패키지 종류는 s, License 는 GPL 로 선택한다.
완료되면 debian 이란 폴더가 생성된다.
$ cd debian
$ ls
README.Debian cron.d.ex emacsen-startup.ex menu.ex rules
changelog dirs ex.doc-base.package postinst.ex watch.ex
conffiles.ex docs init.d.ex postrm.ex
control emacsen-install.ex manpage.1.ex preinst.ex
copyright emacsen-remove.ex manpage.sgml.ex prerm.ex


5. ./debian 디렉토리 내 파일 설정
가장 머리 아픈 부분이다.
그래서 어떻게 바꾸었나만 기록한다. 각 파일의 용도나 내용에 관해서는 위의 참조 문서를 참조할 것.
아래에 표시하지 않은 파일은 전부 삭제했다.

control : alee 글꼴 패키지 참조

changelog : ppa 용으로 unstable 을 intrepid 로 변경

copyright

postinst : alee 글꼴 패키지 참조(노란색 부분 삭제)

dirs
usr/share/fonts/truetype/lexi

rules : alee, 백묵 글꼴 패키지 참조

compat : 수정안함


6. 패키징 하기
$ dpkg-buildpackage -rfakeroot
앞서 생성한 gpg 의 접근 암호를 물어본다.
정상적으로 패키징이 되면 다음과 같은 파일이 생성된다.
$ ls ..
ttf-lexi-1.5                 ttf-lexi_1.5-1.diff.gz
ttf-lexi_1.5-1.dsc           ttf-lexi_1.5-1_all.deb
ttf-lexi_1.5-1_i386.changes  ttf-lexi_1.5.orig.tar.gz 

이제 정상적으로 패키징이 되었는지 패키지를 검사한다.
$ cd ..
$ lintian ttf-lexi_1.5-1_i386.changes
E: ttf-lexi_1.5-1_i386.changes: bad-distribution-in-changes-file intrepid
W: ttf-lexi source: binary-arch-rules-but-pkg-is-arch-indep
W: ttf-lexi source: out-of-date-standards-version 3.7.3 (current is 3.8.0)
W: ttf-lexi: readme-debian-contains-debmake-template
W: ttf-lexi: copyright-contains-dh_make-todo-boilerplate
W: ttf-lexi: copyright-without-copyright-notice
W: ttf-lexi: description-synopsis-might-not-be-phrased-properly
E: ttf-lexi: extended-description-is-empty
W: ttf-lexi: new-package-should-close-itp-bug
뭔가 에러와 경고가 많다. 하나씩 확인해서 처리한다. 참조 : Lintian Tags
E: ttf-lexi_1.5-1_i386.changes: bad-distribution-in-changes-file intrepid
=> lintian 에서 우분투 버전명을 인식못하는 버그임.
W: ttf-lexi source: binary-arch-rules-but-pkg-is-arch-indep
=> 아키텍쳐와 무관한 패키지를 데비안룰을 이용해 패키징했단 얘기.
W: ttf-lexi source: out-of-date-standards-version 3.7.3 (current is 3.8.0)
=> 오래된 표준안을 따른다는 얘기?
W: ttf-lexi: copyright-contains-dh_make-todo-boilerplate
=> copyright 를 제대로 체크하지 않았다는 얘기.
W: ttf-lexi: copyright-without-copyright-notice
=> copyright 안내 문구가 없다는 얘기
W: ttf-lexi: description-synopsis-might-not-be-phrased-properly
=> control 파일의 설명 부분이 제대로 안되어 있다는 얘기
E: ttf-lexi: extended-description-is-empty
=> 추가 설명이 없다는 얘기
W: ttf-lexi: new-package-should-close-itp-bug
=> 뭔 소린지 잘 모르겠 ;;;


7. PPA 에 올리기
~/.dput.cf 수정
[jihui-choi]   // 구분 이름
fqdn= ppa.launchpad.net
method = ftp
incoming = ~jihui-choi/ubuntu/  // 올릴 계정 주소
login = anonymous
allow-unsigned-uploads = 0

[ko]
fqdn= ppa.launchpad.net
method = ftp
incoming = ~ubuntu-ko/ubuntu/
login = anonymous
allow-unsigned-uploads = 0

debian/changelog 수정 : unstable 로 되어 있는 것을 원하는 배포판 버전명으로 바꾼다.
ttf-lexi (1.5-1) intrepid; urgency=low

  * Initial release.

-- Jihui Choi <jihui.choi@gmail.com>  Thu, 16 Apr 2009 23:12:19 +0900

debuild
$ debuild -S -sa

이상없으면 업로드
$ cd ..
$ dput jihui-choi ttf-lexi_1.5-1_source.changes

정상적으로 업로드가 끝나면, 이메일 주소로 안내 메일이 온다.



'TechNote > Ubuntu Packaging' 카테고리의 다른 글

Launchpad PPA사용을 위한GPG 생성하기  (0) 2009.06.21
[Linux] Ubuntu Customization Kit - UCK  (0) 2009.06.20

[Linux] Ubuntu Customization Kit - UCK

TechNote/Ubuntu Packaging 2009. 6. 20. 12:52 Posted by harim~♥
패키징에 대해 공부를 시작해 본다..(왠지 큰 사고 치는 느낌... 이랄까.)


출처 : http://doraki.net/437

윈도우XP를 커스터마이징 했던 nLite와 비슷한 도구입니다.

우분투 9.04 베타 때  Ubuntu Customization Kit 이 있는 것을 확인했는데 이번에 사용 해보고 글 올려보네요.


설치

sudo apt-get install uck

다음과 같은 기능이 가능합니다.

1. 설치 언어의 개별 선택이 가능(선택한 언어로만 설치되며 나머지 기본적으로 포함된 언어팩은 제거됨)

2. 우비와 같은 윈도우 설치 실행 파일의 삭제 여부

3. 설치 CD에 포함될 기본 패키지의 자유로운 선택! (삭제 하거나 추가 가능)

4. 데스크톱 환경 선택 가능 (그놈,KDE,기타)

5. 우분투,쿠분투,주분투 같은 원본 iso 이미지 파일로 작업 가능


저는 한국어 추가에 리듬박스,브라세로,토템 등 잘 안쓰는 패키지를 삭제 했습니다. 작업 하실때 반드시 우분투 설치 iso 원본이 있어야 됩니다. 설정이 끝나고 iso 빌드를 시작하고 나온 리마스터 iso 파일을 시디로 레코딩 하시거나 usb에 담아 우분투를 설치해주시면 됩니다.