2010년 1월 26일
2009년의 마지막 안정 브랜치인 2009Q4가 나왔다. 무려 열흘이나 지난 일이지만 이제 와서 글을 올리는 것은, 공식 발표가 나오기를 기다렸기 때문이다. 하지만 아직까지 공식 발표의 징후조차 보이지 않는 것으로 볼 때 작년에도 한 차례 그랬던 것처럼 흐지부지 지나가게 되지 않을까 우려된다.
지난 글에서 언급한 것처럼, 정기적으로 이루어지는 pkgsrc의 안정 브랜치 릴리스 방식은 항상 문제의 소지를 안고 있는데, 이번처럼 안정 브랜치의 공식 발표가 제때 이루어지지 않는 것도 그 중 하나이다. 안정 브랜치의 생성과 발표 담당이 정해져있다보니 해당 사람이 생업으로 바쁜 경우 무기한 연기되는 것이다.
이런 이유로 비록 다른 맥락에서지만 “모든 절차는 문서화해야하고, 한 사람에게만 의존하는 부분이 있어서는 안된다”는 tech-userlevel 메일링리스트의 글에 전적으로 동감한다.
How about documenting the proper procedure somewhere in case you
should meet up with the proverbial bus? We shouldn’t have any
undocumented procedures, or anything that depends on a single person.
(1월 31일) 드디어 공식 발표가 있었다. 다행히 1월은 넘기지 않았으나, 몇 주씩 지연될 이유가 전혀 없었다는 점은 짚고 넘어가야 할 것이다.
2010년 1월 2일
올해의 마지막 브랜치인 pkgsrc-2009Q4가 결국 해를 넘겨 1월 초에 발표하는 것으로 연기되었다. 여러 이유가 있겠지만, 가장 큰 이유는 애초 안정 브랜치의 목적인 버그 잡기가 제대로 이루어지지 않는데에 있다.
사실 자발적인 참여를 기반으로 하는 오픈소스 프로젝트에서 연말연시에 개발자들이 컴퓨터 앞에 앉아 버그 잡기를 기대한다는 것 자체가 무리이다. 상당수 개발자들이 휴가를 떠나거나 가족과 함께 시간을 보내기 때문이다. 그런 점에서 과연 사분기마다 안정 브랜치를 내어 놓는 pkgsrc의 정책이 과연 적합한 것인지 되돌아 볼 필요가 있다.
현행 릴리스 방식의 문제점은 동결 기간 동안의 목표가 명확하지 않다는 것이다. 2주간의 기간을 정해두고 “다들 버그를 잡자”고만 할 뿐, 정작 얼마나 버그가 줄어드는지는 릴리스에 아무런 영향을 미치지 않는다. 그러다보니 pkgsrc 개발자들도 동결 기간을 단지 패키지 갱신을 하지 못하는 기간 이상의 의미를 두지 않게 된다. 다들 2주의 시간이 지나가기만을 기다리다가 새 브랜치가 나오고 나면 다시 평상시로 돌아가는 것이다.
pkgsrc도 오픈소스 프로젝트이다. 굳이 나름의 독특한 릴리스 방식을 고수할 것이 아니라, 이미 잘 운영되고 있는 NetBSD의 릴리스 방식을 고려할 필요가 있다. NetBSD의 경우 새 버젼을 내놓으려면 릴리스 엔지니어링팀에서 중요한 PR를 선정하고, 그 PR이 모두 해결되면 릴리스를 하게 된다. 기간보다는 질을 중시하는 것이다. pkgsrc도 릴리스 엔지니어링팀이 있는 만큼, 이러한 과정을 도입하는 것이 안정 브랜치의 질을 높이고, 시스템 관리자들이 부담없이 새 브랜치로 갈아탈 수 있게 하는 길이 될 것이다.
2009년 10월 24일
pkgsrc의 제3사분기 안정 브랜치가
발표되었다.
예상보다 안정화 작업이 시간이 더 걸려서 조금 늦게 나왔지만, 그만큼 많은
변화가 있었다. KDE 4가 정식으로 제공되고,
ko.TeX도 패키지로 설치해서 쓸 수
있다. 텍은 여전히 텍라이브 2008과 teTeX이 섞여있는 형태인데, 더 이상
텍라이브 2008 패키지는 추가하지 않고, 텍라이브 2009가 발표되는 대로 새
패키지로 갱신할 예정이다.
이번 브랜치 직전에 애플의 Snow Leopard가 발표되는 바람에 Snow
Leopard에서는 충분히 테스트가 이뤄지지 못했다. 특히 Snow Leopard에서는
gcc가 64비트용으로 컴파일하는 것이 기본값으로 되어 있어서, 많은
패키지들이 제대로 컴파일되지 않는다. 그래서 이번 브랜치에서는 어쩔 수
없이 Snow Leopard에서도 32비트로 컴파일하도록 해 놓았는데, 이는 차후에
어느정도 테스트가 이루어지면 바뀔 것이다. 64비트로 사용하길 원한다면
부트스트랩 명령을 실행할 때 --abi=64 옵션을 주고, mk.conf에
ABI=64를 추가하면 된다.
2009년 9월 7일
핀란드의 NetBSD 개발자인 Martti Kuparinen씨가 슬랙웨어 리눅스에서
pkgsrc 쓰는 법을 얼마 전
나온 슬랙웨어 13에 맞도록
개정했다. 별도의 패키지 시스템이 있는 리눅스 배포판의 경우, 해당
배포판의 패키지 시스템을 쓰는 것이 편리하지만,
슬랙웨어는 자체의 패키지 관리 기능이
그다지 뛰어나지 못해 pkgsrc를 패키지 관리 시스템으로 쓰고 있는 슬랙웨어
사용자들이 제법 있는 걸로 알고 있다. 물론 다른 리눅스 배포판에서도
pkgsrc를 쓸 수 있으며, 특히 자체 패키지의 갱신은 늦지만 보다 최신의
패키지를 쓰고 싶다면 pkgsrc를 쓰는 것이 좋은 선택이다. 특히 pkgsrc의
모든 패키지는 /usr/pkg 밑에 설치되므로, 기존의 패키지 시스템과 병용할
수 있다는 것이 장점이다.
2009년 8월 7일
pkgsrc의 이맥스 패키지가 23.1로
갱신되었다.
새로운 사람들이
담당을
하게 되어서일까, 지난 버젼들에 비해 뚜렷이 다른 기조가 눈에 띈다. 골수
이맥스 사용자들의 영향으로 80년대 사용자 인터페이스를 고집하던 이맥스가
어느정도 타협을 하기 시작한 것. editors/emacs를 설치하고 실행해보면
한눈에 달라진 모습이 보인다. Gtk+가 기본 인터페이스가 된 것이다.
(물론 pkgsrc의 유연한 옵션 기능을 이용하면 PKG_OPTIONS.emacs=xaw를
mk.conf에 추가하고 빌드하는 것만으로 예전의 모습을 다시 볼 수 있다.)
글꼴도 Xft를 채용하여 더 이상 보기 싫은 X 윈도우 글꼴 대신 트루타입
글꼴을 쓸 수 있다.
이보다 더 획기적(!)이라고 할 만한 변화는 따로 있다. 위나 아래로
이동하는 방향키를 눌렀을 때, 화면에 보이는 것과 관계없이 파일에서의 한
줄 단위로 이동했었는데, 이제는 보이는 그대로 바로 위나 아래로 이동하게
된 것이다. 이건 내가 처음 이맥스(Lucid Emacs)를 접한 이래 절대로
바뀌지 않을 것 같은 기능이었는데, 사용자의
원성을 더 이상 무시할 수
없게 된 모양이다.
이 외에도 23.1에 추가된 첨단 기능으로, 쉬프트를 누른채로 커서를
움직이면 글이 선택되도록 하기, 선택된 부분은 다른 색으로 보이게 하기
등이 있다.