How can I publish a deb package?

How can I publish a deb package?

I don't know much about packaging and it took me a a week to create a working deb for my software. Now I need a way for people to install it and I don't want to just create a download link for the deb. How can I do this? I considered a ppa, but all the resources online seem too complex for me to understand. Also, can I publish it to the apt package manager. Please help since I said, I don't know much about this.

答案1

You have a few options:

  1. Post an RFP (Request for packaging) on Debian's WNPP. Describe your package and where to get it. Offer support since you are the developer. If a Debian Developer takes an interest in your package, they might go through the effort of packaging it for Debian. This will trickle down into Ubuntu and other derivatives. Remember, these people are volunteers so don't get frustrated if you don't get people jumping for the opportunity to package it. Right now there are 3128 RFPs open.

  2. Post an ITP (Intent to package) on Debian's WNPP. This means you intend to do the packaging yourself. If your package meets debian standards (meets debian free software guidelines, and requirements per the debian policy manual, then you can look for a Mentor and Sponsor to review your package and upload it. The first time I did this, I went back and forth with my sponsor for months before it got uploaded. I learned a ton. A great resource is the Debian New Maintainer's Guide.

  3. Make a PPA. This seems popular, but I haven't done it so I can't comment too much. It looks like you've already investigated this route.

  4. Make your own archive. I have an archive I manage with reprepro and serve on a local server with apache. There's a great guide for it by digital ocean I used to get started. I find this works really well for my company internally (managing departments of debian laptops with custom packages) and for distributing to direct customers (not people who found us via google, but companies who have contracts with us). You still need to send the users the sources.list entry and a gpg key. In my case, I also send a key for restricted authentication with apt_auth.conf and host it non-publicly.

There are several considerations when choosing to deploy via the Debian official archive versus a private server or PPA.

  1. Licensing. If you deploy to Debian, you need to ensure your software is truely open-source (for non-free the requirement is less strict). If your company can't handle that, then go private.
  2. If you release through Debian, you'll reach more users. This is because:
    1. Ease of installation means people are more likely to use your package
    2. People are more likely to trust software that has gone through Debian's review process over running some random binary they found on the internet.
  3. If you release through Debian, you'll have less control over your release cycle. Debian publishes a stable release every ~two years. Ubuntu does it every 6 months. If you need your users to be always on the bleeding-edge of your release cycle (maybe server compatibility), then this might not work for you. The best you can do is release to stable-backports, but you are at the mercy of the Debian Developer who does your uploads (unless you become a DD or DM).

相关内容