2010-05-28 4 views
7

파이썬과 데비안 용 배포 도구의 미로를 탐색하는 데 문제가 있습니다. (디렉토리 포함하는 모듈과 __init__.py), 프로그램 (script.py)을 실행하기위한 스크립트와 일부 아이콘 하나의 파이썬 패키지 - 내 응용 프로그램은 매우 간단 하나입니다데비안 용 파이썬 프로그램을 쉽고 간단하게 패키지화 할 수 있습니까?

cdbs, debhelper, python-support, python-central, 어쩌구 저쩌구 .. (.png) 및 메뉴 항목 (.desktop 파일).

이 파일들에서 위에 나열된 무의미한 도구를 사용하지 않고 간단하고 깨끗한 .deb 파일을 처음부터 만들 수 있습니까?

내가 주로 우분투를 대상으로하고있어,하지만 패키지가 바로 데비안에서 일한 경우 싶습니다

답변

3

첫째, 대답은 거기에 때 dpkg를 만들기 위해 더 간단한 방법이 없으며, 문서가에 분양된다는 점이다 백만 개의 작은 입을 여러 곳에서. 그러나, 우분투 Python Packaging Guide 꽤 유용합니다. 합리적인 뭔가에 dist-dir를 설정해야합니다 또한

  • 실행 setup.py --sdist --prune과 : 간단한 패키지 (쉬운 것들 setuptools에 설명하는) 당신이 데비안 제어 구조를 설정 한 후, 단계가 매우 간단 들어

    패키지에 대한 적절한 옵션 (아마 -b 이상)

  • 호출 dpkg-buildpackage 당신은 debian/rules 파일이 필요합니다 당신이 distutils을 사용하지 않는 경우

    #!/usr/bin/make -f 
    
    DEB_PYTHON_SYSTEM := pysupport 
    
    include /usr/share/cdbs/1/rules/debhelper.mk 
    include /usr/share/cdbs/1/class/python-distutils.mk 
    

    , 당신이보고 싶을 수도 : 당신이 cdbs를 사용하는 경우 buildpackage와가에서 역할을하지만, 다행히 일이 당신을 위해 수행을 위해, 당신은 매우 유사 뭔가를 할 것입니다 위키의 DebianPython/Policy 페이지 ("CDBS + 어려운 방법"아래). DEB_PYTHON_SYSTEM에 대한 pycentral 옵션도 있습니다. 이에 대한 자세한 정보는 google을 참조하십시오.

  • +0

    새로운 우분투 파이썬 패키지 가이드는 http://packaging.ubuntu.com/html/python-packaging에 있습니다.html –

    +0

    @DanielTrebbien 링크가 더 이상 작동하지 않지만 archive.org 링크가 이전에 사용하던 링크를 제공하는 것처럼 보입니다. 현재의 우분투 위키는 https://wiki.ubuntu.com/Python 이외의 내용을 담고 있지는 않습니다. 기본적으로 포장과 관련된 모든 것에 대해 데비안 위키를 보호합니다. – tripleee

    5

    python-stdeb이 도움이 될 것입니다. 데비안 테스트/불안정 및 우분투 (Lucid 이후)에 있습니다. apt-get install python-stdeb

    가능한 한 소스 패키지를 많이 생성하려고 시도하는 도구보다 간단합니다. 실제로 제대로 작동하고 거의 표준을 준수하는 패키지를 만들 수 있습니다. 패키지가 Debian, Ubuntu 등에 포함시키기위한 품질 표준을 충족 시키려면 debian/copyright 등의 파일을 작성해야합니다.

    사람들이 cdbs를 사용하는 것이 쉽기 때문에, 제가 지적하고 싶습니다 Nick이 언급 한 rules 파일은 debhelper를 사용하여 쉽게 수행 할 수있었습니다. dh7은 cdbs보다 훨씬 쉽게 사용자 정의 할 수 있습니다.

    #!/usr/bin/make -f 
    %: 
        dh [email protected] 
    

    참고 : 데비안에 제출하기 전에 패키지가 데비안 정책, 데비안 파이썬 정책 등을 충족하는지 확인해야합니다. 실제로는 바로 가기가 필요하지 않은 문서를 읽어야합니다.

    관련 문제