집에서 만든 데비안용 소프트웨어 패키징 모범 사례

집에서 만든 데비안용 소프트웨어 패키징 모범 사례

나는 내가 작성한 소프트웨어에 데비안 패키징을 제공했습니다. 소프트웨어가 데비안의 일부가 되기에는 너무 전문적일 수 있습니다. 어쨌든, 나는 현재로서는 데비안에 그것을 포함시키려는 계획이 없습니다. 그러나 가능한 한 모범 사례를 따르고 싶습니다.

현재 데비안 패키지는 소프트웨어와 동일한 Mercurial 저장소의 하위 디렉터리 debian/에 있습니다. 별도의 저장소에 보관해야 하는지 궁금합니다. 또한 현재 패키지가 Debian 기본 패키지로 빌드되고 있는데 이는 적합하지 않습니다. orig tarball 규칙을 빌드하기 위해 get-orig-source 대상을 추가할 수 있을 것 같지만 로컬 저장소에서 orig.tar.gz 파일을 빌드해도 괜찮습니까, 아니면 원격으로 가져와야 합니까? 전자의 경우 저장소 위치를 get-orig-source 대상에 전달하는 등 권장되는 방법이 있습니까?

누군가 나에게 데비안 디렉토리를 실제 소프트웨어와 다른(아마도 이름이 붙은) 브랜치에 두고 빌드할 때 함께 병합할 수 있다고 제안했습니다. .tar.gz 를 사용하여 orig.tar.gz 를 얻는 방법에 대한 질문이 여전히 남아 있습니다 get-orig-source.

답변1

debian/언급한 대로 별도의 브랜치(반드시 저장소일 필요는 없음)에 있는 것이 좋습니다. 다른 사람이 귀하의 소프트웨어를 다른 배포판으로 패키징하거나 귀하처럼 다른 방식으로 패키징하려는 경우 debian/기본적으로 폴더를 가져오면 짜증나는 일이 될 것입니다.

일반적으로 get-orig-source업스트림 타르볼을 사용할 수 없거나 어떤 이유로든(저작권, 사용하지 않는 파일 등) 수정해야 하는 경우 이 방법을 권장합니다. 따라서 소프트웨어의 tarball을 릴리스하는 경우 get-orig-source.

귀하의 목표에 맞는 보편적인 솔루션이 없으므로 get-orig-source기존 솔루션(예:깃허브).

그들은 일반적으로 비슷한 방법을 사용하여 타르볼 을 hg archive -X ".hg* ../packagename_$VERSION.orig.tar.gz만들고 .dpkg-parsechangelogdebian/changelog


포장해서 추천드려요mercurial-buildpackage. 예를 들어 해당 도구를 사용하면 원본 타르볼을 별도의 분기에 유지 관리할 수 있습니다.

관련 정보