13

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.

3
  • 1
    A week is actually really good for your first package. It took me way longer for my first *.deb. What are you using to make it? dh_make? cpack? dpkg-deb? If you used dh_make, then you are not far from submitting an official package.
    – Stewart
    Commented Nov 20, 2020 at 17:47
  • 1
    I actually used dpkg -b package-name. And since you said that it took you longer, I wonder if you used the hard method. I searched on how to make a deb all over the internet and all the resources mentioned this method of creating changelogs, copyright files and stuff. But then I found this trick of just creating the control file and it worked fine. In the 'week' I mentioned I spent 6 days on researching and in the end it took me like an hour to create the final deb. Commented Nov 21, 2020 at 4:08
  • @AnanthaKrishnaK it's been almost two years. Did you get it published? Any tips or follow up advice? Commented Jul 17, 2022 at 1:22

1 Answer 1

17

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).
1
  • 3
    Excellent summary! Re. your last point, any non-DD/DM will always be at the mercy of the DD/DM sponsoring them, whether the upload targets backports or not — but backports has additional hurdles (the sponsor must also be in the backports ACL, which isn’t difficult but can cause issues if the existing sponsor isn’t in there and doesn’t want to be). Commented Nov 20, 2020 at 16:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .