CDBS는 데비안 패키지를 만들고 유지관리 하는 것을 보다 쉽게 만들기 위해 debhelper를 사용하는 도구 입니다. 이것은 많은 장점을 가지고 있습니다:
이것은 간결한, 읽기쉬운, 그리고 효과적인 debian/rules
을 생산 합니다.
이것은 여러분을 위하여 debhelper와 autotools를 자동화 하고, 그래서 여러분은 반복적인 작업에 대해 걱정하지 않아도 됩니다.
그것은 커스터마이징에 제한하는 것 없이 도울 수 있으므로 보다 중요한 패키징 문제에 여러분이 집중할 수 있도록 돕습니다
그것의 클래스는 매우 잘 테스트 되었으므로 공통적인 문제를 해결하기 위해 지저분하게 여기저기를 고치는 것을 피할 수 있습니다
CDBS로 전환하는 것은 쉽습니다
이것은 확장가능 합니다
우분투 패키지를 위하여 CDBS를 사용하는 것은 매우 쉽습니다. debian/control
파일의 Build-Depends 에 cdbs 를 추가한 후, CDBS를 사용하는 기본적인 debian/rules
파일은 2줄 내에 맞출 수 있습니다. hello 와 같은, 추가적인 규칙이 없는 간단한 C/C++ 프로그램을 위한 debian/rules
파일은 다음과 비슷할 수 있습니다:
#!/usr/bin/make -f include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/autotools.mk
이것은 프로그램을 빌드하기 위해 여러분이 필요한 전부 입니다! CDBS 가 설치와 지우는 것을 관리 합니다. 여러분은 그런 후에 debian/rules
를 위한 다양한 영역에 있는 보통의 debhelper 기능과 함께 여러분의 패키지를 조정하기 위해 .install
과 .info
파일을 사용할 수 있습니다.
debian/control
파일을 자동적으로 변경하기 위하여 DEB_AUTO_UPDATE_DEBIAN_CONTROL:=yes 를 사용하지 마십시오, 그것은 안 좋은 일을 일으키고, 데비안에서는 그러한 패키지가 저장소에 들어올 때 거절을 하는 이유로 고려를 하고 있습니다. 더 많은 정보는, http://ftp-master.debian.org/REJECT-FAQ.html 을 보십시오.
여러분이 보는 것처럼, CDBS는 debian/rules
내의 .mk
Makefiles 를 포함하는 것에 의해 대부분 동작 합니다. cdbs 패키지는 여러분이 아주 많은 패키징 작업을 할 수 있도록 허용하는 /usr/share/cdbs/1/
내에 그러한 파일들을 제공 합니다. quilt 와 같은 다른 패키지들은, 모듈을 CDBS에 추가하고 Build-Depends 로 사용되어 질 수 있습니다. 여러분은 또한 여러분 소유의 CDBS 규칙들을 사용할 수 있고 그것들을 패키지에 포함할 수 있음을 주의 하십시오. cdbs 패키지에 포함되는 가장 유용한 모듈들은 다음과 같습니다:
rules/debhelper.mk
: 모든 필요한 영역에 debhelper를 호출 합니다.
rules/dpatch.mk
: 여러분이 소스를 쉽게 패칭하기 위해 dpatch를 사용하는 것을 허용 합니다.
rules/simple-patchsys.mk
: 소스를 패치하는 아주 쉬운 방법을 제공 합니다.
rules/tarball.mk
: 여러분이 패키지에서 압축된 tarball을 사용하여 패키지를 만드는 것을 허용 합니다.
class/autotools.mk
: 모든 필요한 영역에 autotools를 호출 합니다.
class/gnome.mk
: GNOME 프로그램을 만듭니다. (debian/control
내에 적절한 Build-Depends 을 요구 합니다.)
class/kde.mk
: KDE 프로그램을 만듭니다. (debian/control
내에 적절한 Build-Depends 을 요구 합니다.)
class/python-distutils.mk
: 파이썬 프로그램의 패키징을 용이하게 합니다.
CDBS에 대한 더 많은 정보는, https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml 에 있는 Marc Dequènes 의 안내서를 보십시오.