Pythonをインストールするには、Debianパッケージを作成してください。

Pythonをインストールするには、Debianパッケージを作成してください。

Debianパッケージにパッケージ化する必要がある2つのPythonスクリプトがあります。私は多くのことを試していくつかの成功を収めました。たとえば、パッケージの作成に使用したsetup.pyを作成しpython-stdeb(記憶が正しい場合はうまくいきませんでした)、次の構造を使用して最初から独自のパッケージも作成しました。

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

とにかくそうです。 Debianパッケージのように見えるパッケージがあります。dpkg -b projectこれを使用して最初にビルドしてからdpkg -i package.debDebianパッケージをインストールできますが、何もインストールしません(何かをインストールしますが、私が作成したインストールスクリプトはインストールしません。必ずインストールしたいのですが)、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

おすすめ記事