So lately I've been trying to find a way to make an apt or a .deb package to make it easier for people to install and use packages without using the commander line but, to even start doing that I need to know how to even make a package!


  • How do you make a package?
  • Is there an IDE that makes it easier to make packages?
  • What programming languages do I have to learn to make this?
  • Are there any tutorials online?

Links I Found But Did Not Help Me


Youtube Videos

Extra Info

  • OS: Chromebook (I'm using "Linux (Beta)" a virtual machine that runs Debian for Chromebooks)

  • OS Version: 86.0.4240.199 (Official Build) (64-bit)

  • Linux (Beta) Version: Debian GNU/Linux 10 (buster)

  • 3
    This question has been answered on askubuntu: askubuntu.com/questions/1345/… – satwell Nov 24 '20 at 23:17
  • okay? but are there any video tutorials – Errorbot1122 THE SECOND Nov 24 '20 at 23:26
  • Tutorials are specifically off-topic here; the remainder of the question is fairly broad. You could help it by explaining what steps you've tried and where you failed. – Jeff Schaller Nov 25 '20 at 17:47

How do you make a package?

I have three solutions for you:

  1. dh_make. This is the way most official debian archives are put together. If you're having problems following along with the official guides, it's not because they aren't well written (they are), it's just a complicated process and so I'm not sure that a video tutorial will help too much more. You really just need to put in the effort and don't be dismayed if it takes a couple of weeks. dh_make generates a skeleton debian/* directory. Fill out your debian/copyright, debian/control, debian/rules, debian/{post|pre}{inst|rm}, etc. Then use dpkg-buildpackage to make the package. If you have questions about a specific error, we can help answer that, but I can't write a guide in this answer that would be any clearer than official documentation.
  2. dpkg-deb: This one is A LOT easier. After building your project just do make install DESTDIR=/tmp/path. Put a DEBIAN directory in that same path with the same DEBIAN/control, any maintainer scripts, copyright, etc. The main difference is that you don't need a rules file because the package is already built. Then run dpkg-deb -b.
  3. cpack: If you already use cmake as a build system, then you just need to set a few CPACK_* variables and some CPACK_DEB_* variables, then after running cmake .. && cmake --build ., just run cpack.

Is there an IDE that makes it easier to make packages?

No. Your target platform (i.e. Debian) shouldn't dictate your IDE. Use the IDE that is most suited for your platform. Most of my packaging work is done in the terminal.

What programming languages do I have to learn to make this?

If you are going with solution 1 above, then you should know make so you can write a rules file.

Are there any tutorials online?

If you're using solution 1, then your best friend is the Debian New Maintainer's guide. You have a link to chapter 6, but I think chapters 2-5 are more fundamental to both solution 1 and solution 2.

If you still have problems packaging, ask a more specific question and specify:

  1. How you are packaging.
  2. What you are building and your build system (e.g. python library, java-maven, C library, C++ application, using cmake, autoconf, pybuild, etc)
  3. What you are having problems with.

I don't think you can get a single answer here. The tutorials you listed are good and contain everything you need, I doubt you can find a better tutorial than these.

I can add one more to the list: https://wiki.debian.org/Packaging/Intro I found this one the best when starting with packaging of existing software.

I suggest to start with the packaging with these tutorials and ask specific question if you encounter problem, but it's hard to answer question that broad.

What programming languages do I have to learn to make this?

None. Some basic knowledge of shell scripting is always a plus, but it isn't necessary. You should be familiar with language the program you are trying to package is written in.

Is there an IDE that makes it easier to make packages?

None that I'm aware of. There are some helper tools you can use: https://wiki.debian.org/AutomaticPackagingTools

Not the answer you're looking for? Browse other questions tagged or ask your own question.