Python을 설치하려면 데비안 패키지를 만드세요.

Python을 설치하려면 데비안 패키지를 만드세요.

데비안 패키지로 패키징해야 하는 두 개의 Python 스크립트가 있습니다. 나는 많은 것을 시도하여 약간의 성공을 거두었습니다. 예를 들어, 패키지를 만드는 데 사용했던 setup.py를 만들었고 python-stdeb(기억이 정확하다면 잘 작동하지 않았습니다) 다음 구조를 사용하여 처음부터 자체 패키지도 만들었습니다.

project
  DEBIAN/
    changelog
    copyright
    compat
    rules
    control
    install
  usr/
    bin/
      script1
      script2

어쨌든 그렇습니다. 데비안 패키지처럼 보이는 패키지가 있는데 dpkg -b project이를 사용하여 먼저 빌드한 다음 dpkg -i package.deb데비안 패키지를 설치할 수 있지만 아무 것도 설치하지 않습니다(뭔가를 설치하지만 내가 작성한 설치 스크립트는 설치하지 않습니다. 꼭 설치하고 싶습니다.) 그렇다면 Python 스크립트를 설치하는 패키지를 어떻게 만들 수 있습니까? 그들이 X11로 가거나 "install to"라고 말해야 하는지는 상관하지 않습니다 ~/package. 내가 원하는 것은 다른 사람들이 패키지를 설치하고 내 스크립트를 가질 수 있도록 내 스크립트를 패키지에 넣는 것입니다.

내 생각에는 설치 파일에 메타데이터 같은 것을 넣어야 할 것 같은데, 무엇인지 모르겠습니다.

답변1

빠르고 쉬운 방법은 를 사용하는 것입니다 . 이는 다음으로 alien변환됩니다 ..tar.deb

tar czf pkg-name.tgz usr/
fakeroot alien -d pkg-name.tgz

그렇지 않으면 이전 방식을 사용하여 다음과 같이 Makefile을 사용합니다.

all: deb

deb:
    mkdir -p tmp/usr/bin tmp/DEBIAN tmp/etc tmp/usr/share/man/man5
    find tmp -type d | xargs chmod 755
    cp some.conf tmp/etc/
    cp man/some.5 tmp/usr/share/man/man5/
    cp somecmd tmp/usr/bin/
    tar c --owner root --group root -v -z -f tmp/data.tar.gz -C tmp ./etc ./usr
    cd tmp && find usr/ etc/ -type f | xargs md5sum >DEBIAN/md5sums
    awk '/^#Package:/{i++}i {print substr($$0,2); }' Makefile >tmp/DEBIAN/control
    tar c --owner root --group root -v -z -f tmp/control.tar.gz -C tmp/DEBIAN ./control ./md5sums
    echo 2.0 >tmp/debian-binary
    ar rcv pkg-name_1.0-1.deb tmp/debian-binary tmp/control.tar.gz tmp/data.tar.gz

.phony: clean
clean:
    -rm -fr tmp

#Package: pkg-name
#Version: 1.0
#Section: net
#Priority: optional
#Architecture: all
#Essential: no
#Installed-size: 100
#Maintainer: Name <mail@here>
#Depends: optional dependencies
#Description: short descr
# long descr

관련 정보