• What is the best method to build deb package?

    From Miguel de Dios Matias@21:1/5 to All on Thu Oct 19 13:10:01 2023
    Hi.

    I have tiny side/pet projects in python. And they have setup.py the
    build method and I publish to pypi.

    But I want to do some deb packages (for my pet projects), yes I can do
    by hand (several years ago I do a debian package for PHP app).

    But What is the best method to build deb package? I look for in the
    doc of poetry but there is not a method to do this kind of thing (some
    years ago, I asked about this in https://github.com/python-poetry/poetry/issues/1359) .

    I found some projects about python packaging deb (but I don't know
    what it is the standard or best):
    - https://github.com/p1otr/dh-python
    - https://github.com/upciti/wheel2deb
    - https://github.com/spotify/dh-virtualenv
    - https://github.com/astraw/stdeb

    Regards.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Carles Pina i Estany@21:1/5 to Miguel de Dios Matias on Thu Oct 19 12:31:32 2023
    Copy: debian-python@lists.debian.org

    Hi,

    On 19 Oct 2023 at 13:08:31, Miguel de Dios Matias wrote:

    I have tiny side/pet projects in python. And they have setup.py the
    build method and I publish to pypi.

    But I want to do some deb packages (for my pet projects), yes I can do
    by hand (several years ago I do a debian package for PHP app).

    But What is the best method to build deb package? I look for in the

    I don't know poetry or its options. I don't know what's the "best" way,
    but I can tell how I start (and this is in a Debian system, gpg
    configured correctly and signing the packages which you might disable). Probably each person on the list has a different way? :-)

    I'm happy to read suggestions as well or tips.

    File .gbp.conf:
    ----
    [import-dsc]
    sign-tags = True

    [DEFAULT]
    pristine-tar = True
    debian-branch = debian/unstable
    ----

    mkdir debian_package_name
    cd debian_package_name
    git init
    git checkout -b upstream

    # I was creating a package for cloudscraper
    gbp import-orig https://github.com/VeNoMouS/cloudscraper/archive/refs/tags/1.2.68.tar.gz
    # answer the questions

    export DEBEMAIL=carles@pina.cat
    dh_make --createorig --packagename python-cloudscraper -p python-cloudscraper_1.2.68
    Package type: "p" (python)

    Edit / delete files in debian/ (some are templates, some not-relevant
    for the package etc.)

    git add debian/*
    git commit -a -m "Add initial debian/* files"
    gbp buildpackage

    At the end it will run "lintian". Fix errors / warnings that you will
    see. But you might get *.dsc, *.deb in the parent directory where you
    are

    When you need to try again:
    debian/rules clean ; gbp buildpackage # probably there is some options
    in gbp to do this :-)

    And the rest that I have is to publish this in salsa, probably not
    relevant...

    I hope that it helps to have a start... at least with one of the tools.

    Cheers,

    --
    Carles Pina i Estany
    https://carles.pina.cat

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEth6/Zob9uGYomaJ+qAKIT2ClX4EFAmUxE5QACgkQqAKIT2Cl X4HS9BAAkkYXEeIrmhlyZGQi5E+QqUCz9e+b0WIdr8ATTAZtAqllqc2E9VsGAGvg v0Xgjun5JCavWpH3HRmxA4WjEddP2Pqunz7zhD2rdSFVn0ohZwMs7FrG0AiV+Dqo 9IkQaGAdhvHxigKTzY/Mh4pubPWSIxJry3agz9gMRQ9u8Q+TdTf7HIg7P9lTPA5J OHm4aihUBcFoh4Bv9eC13PWLqNyqSki1rjzdK5y2ImLtxAlDMnGIDW+dzwduKSdo mcJasDN7bRJYhS04fMWiPbO3na44H00kHaXpZQNwq0yrgkTo+V7UPTmECCnK6qPk dCi6WHYhlWQyvKI1yXQyjvwUOliLyzJ6j8ckicv62VHlo8rvy5Pq3wbHYOsbgL+L w+ePw/V9BTLBVxNRarPv9dmO9EfGjcGuT/quBDa/9pj4QRCT3GqKfYx1pUG80pAZ KSchQBKsF9Dt+UZVmJrmQOIVHgBiwg9nn7SFijjdWGTvM9lqo0UGfU7L5YcbrcJb 9q7b1RIabUUMilTS47Ek5OR8IE3yhUBvg0MSglTFwFno/nHbLACthL+FMROtDtys ePO63ZOnqNzKASCmcoNVv303odX4nb+eb24yezGeuIKtvsEU7KvQ8wNEXRxUCTFv UDuCsDIBzFLKryxa3NbcILHeq/5y8PQhPlK0L18TqPA/p/2J4rs=
    =enWC
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)