태그 보관물: packaging

packaging

단일 Python 스크립트에 대한 deb 패키지를 작성하는 방법 패키지 만들기를 수행 했지만 실패했기 때문에

deb 패키지로 배포하려는 단일 Python 스크립트가 있습니다. Unity 패널에 현지 날짜를 표시 하는 표시기 입니다. 스크립트 또는 바이너리에서 .deb 패키지 만들기를 수행 했지만 실패했기 때문에 deb 패키지를 만들 수 없습니다.

누군가 내가해야 할 일에 대한 단계별 지시를 줄 수 있습니까? 내가 아는 한이 스크립트는에 의존합니다 python-appindicator.

참고 :
데비안 / 우분투 패키지 지침에 대한 링크를 원하지 않습니다. 나는 그들의 대부분을 보았다. 나는 초보자에게 친숙하지 않습니다.



답변

다음은 파이썬 스크립트의 소스 패키지가 어떻게 보이는지에 대한 기본 예입니다. 대부분의 패키징 자습서는 약간 복잡하지만 문제가 발생하면 실제로 도움이 될 수 있습니다. 즉, 먼저 데비안 패키지를 살펴보면서 데비안 패키지의 기본 사항을 배웠습니다. apt-get source예를 들어 비슷한 것을 배우십시오.

기본 소스 패키지 레이아웃은 다음과 같습니다.

my-script/
    -- myScript
    -- debian/
        -- changelog
        -- copyright
        -- compat
        -- rules
        -- control
        -- install

dch --create올바른 형식의 debian/changelog항목 을 작성하려면 디렉토리에서 실행하십시오 .

데비안 / 저작권 은 다음과 같아야합니다.

Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: myScript
Upstream-Contact: Name, <email@address>

Files: *
Copyright: 2011, Name, <email@address>
License: (GPL-2+ | LGPL-2 | GPL-3 | whatever)
 Full text of licence.
 .
 Unless there is a it can be found in /usr/share/common-licenses

데비안 / compat 은 다음과 같습니다 :7

데비안 / 규칙 :

#!/usr/bin/make -f

%:
    dh $@ --with python2

공백이 아니라 앞에 “tab”이 있어야 dh $@ --with python2합니다.

데비안 / 제어 :

Source: my-script
Section: python
Priority: optional
Maintainer: Name, <email@address>
Build-Depends: debhelper (>= 7),
               python (>= 2.6.6-3~)
Standards-Version: 3.9.2
X-Python-Version: >= 2.6


Package: my-script
Architecture: all
Section: python
Depends: python-appindicator, ${misc:Depends}, ${python:Depends}
Description: short description
 A long description goes here.
 .
 It can contain multiple paragraphs

데비안 / 설치 :

myScript usr/bin/

이 파일은 어떤 파일이 어떤 폴더에 설치 될지를 나타냅니다.

이제 빌드 debuild --no-tgz-check

기능적인 deb 패키지가 생성됩니다. Lintian은 orig.tar.gz의 부재에 관해 경고를하게 될 것입니다. 그러나 tarball 릴리즈를 만드는 적절한 업스트림 프로젝트를 만들 계획이 없다면 지금은 무시하고 싶을 것입니다.


답변

  1. 집에 어떤 이름 으로든 폴더를 만드십시오. 예 : mypyscript
  2. 폴더를 열고 이름이 ‘DEBIAN’및 ‘usr’인 두 개의 폴더를 작성하십시오.
  3. DEBIAN 폴더를여십시오. 이름이 ‘control’인 텍스트 파일 (확장자 없음)을 작성하십시오.
  4. ‘control’을 열고 다음과 같이 입력하고 DEBIAN에 저장하십시오.

    Package: mypyscript
    Version: 0.01
    Architecture: all
    Maintainer: your name<your mail id>
    Installed-Size: 2
    Depends: python-appindicator
    Section: extras
    Priority: optional
    Homepage: your homepage
    Description: describe
  5. mypyscript라는 폴더로 돌아갑니다. ‘usr’을여십시오. ‘bin’이라는 폴더를 만듭니다. ‘bin’을 열고 파이썬 파일을 거기에 붙여 넣으십시오.

  6. 메뉴 항목을 만들 수도 있습니다. 그러나 이것이 필수적인 것은 아닙니다.
  7. ‘mypyscript’폴더가있는 홈 폴더로 돌아가거나 파일 브라우저를 닫으십시오.
  8. 터미널을 엽니 다. 터미널이 홈 폴더에 있는지 확인하십시오. 그런 다음 dpkg -b mypyscriptEnter 키를 누릅니다. 몇 초 안에 deb 패키지가 준비되었습니다

참고 : ‘control’파일을 올바르게 채우십시오. 아포스트로피를 사용하지 마십시오. 이름을 나타내는 것입니다.


답변

패키지 작성을위한 GUI 도구 인 Debreate를 사용해 볼 수 있습니다.


답변

빠른 앱을 만들고 Google에 debs를 생성하는 데 유용합니다. http://developer.ubuntu.com/에서 자습서를 찾을 수 있습니다.


답변

pkgme을 사용해보십시오 . 그냥 작동해야합니다.

다음을 통해 설치하십시오.

sudo apt install pkgme

다음을 통해 실행 :

pkgme
debuild

(새로운 개발자가 실행해야 할 수도 있습니다. 이를 올바르게하려면 개발 키 서명gpg --gen-key참조하십시오 )


답변

한편 https://www.nylas.com/blog/packaging-deploying-python/ 에있는 딜레마에 대한 기사가 있습니다 . 그것은 주로 dh-virtualenv가 setup-deb와 함께 작동하여 setup.py 파일을 사용하여 Python 코드를 쉽게 배포한다고 말합니다. 간단한 매뉴얼은 https://gist.github.com/JeOam/bc6cbf38f04d6f9dbf81있습니다.


답변

Debreate를 사용해보십시오.

이것은 위에 나열된 웹 사이트에서 PPA를 다운로드하지 않으려는 경우 PPA를 사용할 수있는 패키지 및 항목을 작성하기위한 Gui 인터페이스입니다.

sudo add-apt-repository ppa:antumdeluge/<ppaname>; sudo apt update; sudo apt install debreate

나는 한 줄의 코드로 실행되도록 ppa를 집약했습니다! 멋진 질문에 감사하고 터미널에 해당 코드 줄을 계속 붙여야합니다!