다윈포트 체험기

OpenDarwin 프로젝트에서 진행 중인 포트 스타일의 패키징 시스템인 DarwinPorts 을 드디어 좀 해봤습니다. 음훗훗. DarwinPorts 개발자 중 상당수가 FreeBSD 쪽에서 건너가거나 겸하고 있는 사람들이다보니, 상당수의 포트들이 FreeBSD도 지원하고 있었습니다. 체크아웃 한 dports 트리를 보면

현재, DarwinPorts에는 darwin을 지원하는 포트가 482개, freebsd를 지원하는 포트가 99개가 있습니다. :) 뭐 그런대로 주요 유틸리티 포트들은 FreeBSD도 지원하고 있어서 쓸만합니다. (python포트가 freebsd를 지원하지 않는 것은 좀 =3 =33)

DarwinPorts는 port라는 tcl로 작성된 별도의 툴을 이용해서 설치하는데, 요것 make 보다는 아무래도 포트에 특화된 것이라 속도도 그런대로 쓸만하고 좋은 듯합니다. textproc/cowsay 포트를 설치하면 요렇게 됩니다.

요건 darwin이 아니라, freebsd에서 설치해본 것인데, 사용자 편의를 위해서인지 기본으로는 컴파일 중 메시지를 전부 숨겨서 빌드가 오래 걸리는 툴들은 상당히 지루합니다. (뭐라도 화면에 나와야 -ㅁ-;; 한 줄에 . 한 개씩이라도 찍던가;;) 단, -v 옵션을 주면 FreeBSD나 NetBSD 처럼 안 감추고 보여줍니다.

그런데, DarwinPorts에서 가장 주목할 것은 바로 variants 시스템인데, OpenBSD에서 처음 시작되어 Gentoo에도 전해진 FLAVOR와 비슷한 역할을 하는데, 빌드시에 여러가지 옵션을 FreeBSD 처럼 난잡하게 포트 파일을 안 보고도 시스템에서 받쳐주는 것들을 on/off할 수 있게 되어, 자동으로 바이너리 패키지 빌드에서도 적용될 수 있도록 한 것인데, 정말 멋있습니다. :) 예를 들면, lang/python 포트의 Portfile은 요렇게 되어있습니다.

요렇게 해놓으면, 설치할 때 port install +nothreads나, port install +puredarwin -threads 요런 명령으로 조절을 할 수 있고, GUI 툴로도 선택을 할 수있게 버튼이 나온답니다. 으흐흐흐 멋있군요~~

행복이란..

이것만은 기억해 두세요
살아간다는 것은 기쁜 일이 반, 괴로운 일이 반이랍니다.
사람이 행복한 것은, 그 사람이 축복받았기 때문이 아니라
그저 그 사람이 행복해지려고 하기 때문인 겁니다.
고통을 잊으려는 노력, 행복해지는 노력.
그것만이 사람을 진정으로 행복하게 만들어주는 것이랍니다.

— 『12국기』 27화에서 사이오(采王)

유럽 소프트웨어 특허법 투표 연기

그동안 많은 수의 오픈소스 프로젝트들과 오픈소스 해커들이 참가해 왔던 [WWW]유럽 소프트웨어 특허법 항의 시위의 영향으로 투표가 연기되었다고 합니다.

일단 연기가 돼서, 많은 수의 오픈 소스 구성원들의 뜻은 대충 전달되었다고 생각되어 지지만, 완전히 취소된 것은 아니기에, 오픈소스에 대한 심각한 위협은 아직 남아있습니다. 앞으로 좀 열심히 시위에 참여해서 유럽 소프트웨어 특허법을 꼭 막는데 보탬이 되야겠다는 생각이 드는군요. :)

여자에 관한 부드러운 메아리

목동

내 생각에 메아리가 숲 속에서 대답해 줄거야.
그리고 희미하게나마 내 물음에 대답해주겠지. 메아리님, 물어볼까요(Shall I try)?

메아리

해보렴(Try).

목동

우리의 정열을 나타내려면(to express) 무얼 해야 하죠?

메아리

껴안으렴(Press).

목동

결코 날 사랑하지 않는(never loved before) 그녀를 어떻게 하면 기쁘게 해줄 수 있을까요?

메아리

뱃머리가 되렴(Be fore).

목동

우리가 여자에게 구애할 때(address) 여자를 가장 감동시키는 것은 무엇일까요?

메아리

옷 한 벌 (A dress).

목동

대답해 주세요. 내가 사랑하는(adore) 그녀를 순결하게 지켜줄 수 있는 것은 무엇인가요?

메아리

문을 만들어 달아야지(A door).

목동

음악이 바위를 무르게 한다면, 사랑은 리라(lyre)를 울려주겠죠?

메아리

거짓말이야(Liar).

목동

그럼, 가르쳐 주세요. 메아리님, 어떻게 하면 제가 그녀를 얻을 수 있을까요(come by her)?

메아리

그녀를 사렴(Buy her).

— 조너던 스위프트, <여자에 관한 부드러운 메아리>

간단한 RDF/RSS 리더 – liferea

GTK2기반의 RDF 리더가 몇 종류 좋은 것이 나왔지만 (straw나 syndigator..) 뭔가 펄이나 파이썬이 두려워서 흐흐;; 그냥 C로 된 것 중에 liferea가 있다는 소식을 [WWW]iolo님께 들었는데, 마침 딱 해보고 싶어져서 깔아봤습니다. 전반적으로 깔끔하고 좋기는 한데, 아직 UI가 상당히 많이 불안하고.. 제법 불편하네요. 크.. 뭐 아직 0.3밖에 안 되었으니 언젠가는 제대로 될 날이 있겠죠 -ㅁ-;

포트에 [FreshPorts]net/liferea 로 등록되었습니다.

0308-liferea.png

DotGNU WinForm 대회!

Mono에 밀려 불쌍한 신세가 되고 있는 [WWW]DotGNU 프로젝트에서 첫번째 코딩대회를 한다고 합니다. 이번 대회에서는 .NET GUI의 가장 중요한 요소이자 MS.NET 호환성을 위한 가장 삽질부분이라고 생각되는 WinForm 호환성 구현을 목표로 한다고 합니다. 8월 26일에 시작해서 4개월간 진행하게 되는데, WinForm의 완벽한 구현이 안 나올 경우에는 나올 때까지 한다고 하는군요.

그리고 상금은 1등이 2000달러, 2등이 600달러.. 해서 5등은 200달러입니다. 별로 다른 대회들에 비해 상금이 큰 편은 아니지만, 그래도 명목상 :) 에헤헤. 과연 이번 대회로 WinForm 오픈소스 구현이 나올 수 있을까요? GPL로 선언해야 한다는 강제 규정이 붙긴했지만.. 뭐 쓸 수만 있다면야;;;

참고: http://www.gnu.org/projects/dotgnu/competition.html

Cursed GTK+!

헉~ GTK+가 저주를!! 꺄아~*

GTK+ 2의 cursed 바인딩인 gtk+-cursed가 대략 베타가 나왔군요. 역시나 [FreshPorts]graphics/aalib 만큼이나 변태짓이긴 하지만.. 뭐 이런 재미로.. ;; 으흐흐

gdk쪽 패치는 gtk-linux-fb를 뜯어 고쳐서 만든 녀석이라 리눅스 fb쪽 헤더파일과 상수를 여기저기 엄청 많이 쓰고 있습니다. 그래서, 프비에서 컴파일하려면 헤더파일 인클루드를 지워주고 함수 쓰는 부분 주석처리 해버리고 해야하는데.. 이것 뭐 대충 뜨기만 하면 되는 거고 실제로는 안 쓸 거니깐 -ㅁ-;

컴파일이 끝나면 LD_PRELOAD로 gdk와 gtk를 엎어버리면 gtk애플리케이션들이 모두 cursed 기반으로 뜨게됩니다. 몇가지 테스트해보니 [FreshPorts]audio/liteamp 는 콘솔에 아무것도 안 나오고 곡이 단축키로 플레이는 됩니다. 그리고 [FreshPorts]www/mozilla 는 신비롭게도 그냥 X용이 퍽 떠버립니다. 그 외에 [FreshPorts]net/gaim 이나 [FreshPorts]x11/xffm4 같은 것도 시도는 해 봤는데 전부 segfault나버립니다. 그리고 한글이 제대로 안 나오고 전부 ?로 나오는데 이건 어디쪽 문제인지는 잘 모르겠네요.

그럼 기념으로 gtk-cursed에서 잘 돌아가는 애플리케이션 [FreshPorts]korean/gdick 의 원래 모습과 저주받은 모습 =3 =333

0308-cursed-gdick.png

오늘의 FreeBSD~*

와와 오늘의 늬우쓰~

  • 드디어 한다한다 하고 여태까지 안 하고 있었던 Java for FreeBSD가 공식적으로 발표되었습니다. 이제 Sun에서 공식적으로 인증받은 자바 플랫폼으로 1.3.1을 쓸 수 있게 되었습니다. 1.4 포팅 작업은 아직 좀 많이 남았기 때문에, 좀 더 기둘려야겠네용. 흐흐. 코드 명이 JRE가 Latte Diablo, JDK가 Caffe Diablo … -O- [WWW]FreeBSD Foundation 웹페이지에서 받을 수 있습니다. (포트 엔트리는 [FreshPort]java/diablo-jre13 [FreshPort]java/diablo-jdk13 입니다.)

  • 4.9 코드 프리즈 시작: 9월 중에 릴리즈될 4.9를 위해 오늘부터 코드 프리즈가 시작되었습니다. 지금부터 -STABLE 트리에 커밋되는 내용은 전부 릴리즈 엔지니어의 허락을 받은 주로 치명적인 보안 패치들입니다. 그래서 지금 -STABLE을 업데이트하시면 이제 4.9-PRERELEASE로.. 흐흐;; 포트 프리즈는 9월 첫째주에 있을 예정입니다. 포트 프리즈 전에 꼭 고쳐야 될 것이 있으면 지금 즉시 알려주세요~ :)

  • sendmail 보안버그: 보안버그의 대명사(–;;) sendmail에서 또 버그가 발표됐습니다. 이번 버그는 DNS 맵을 처리할 때 라운드로빈 테이블을 초기화하지 않아서 쓰레기값을 통해 외부 공격이 유입될 수 있다는 것 같군요. 4.6, 4.7, 4.8, -STABLE, 5.0, 5.1, -CURRENT 트리에 지금 고쳐져 있습니다. 참고: http://www.sendmail.org/dnsmap1.html

msdosfs utf-8 성공!

으히히.. 순전히 mp3를 들으려고 시작한 작업인 msdosfs 유니코드 지원 작업.. 중간에 2 나누기를 안 해서 한참 커널 패닉을 만나서 고생하긴 했지만, 크게 어렵지 않게 성공했습니다! 짠짠~~

프프프.. 주로 Apple쪽의 소스를 그냥 갖다 붙이기를 했기 때문에, 사실 뭐 만든거라고는 함수 2개 밖에 없지만.. ;; 이제 libiconv로 utf-8을 떼내고 msdosfs가 iconv를 쓰도록 한 뒤에, PR을 보내려고 합니다. :)