debian swirl logo

Jump to the main page Online CDBS Gallery

Gallery's FAQ

1. What is this CDBS thing anyway?
To use its maintainers' definition... taken from the CDBS official site: In essence, the Common Debian Build System attempts to provide a modular yet very powerful build system for Debian packages. You can use it to create a build system for typical GNU autotools packages in 4 lines, or you can just reuse the CDBS core to implement your own build systems.
2. Why have you built such gallery with tons of samples?
I started getting pissed off by people telling me CDBS is pure black magic (even @debian.org people) and that in fact CDBS doesn't make your package construction cleaner. This gallery is my personal effort to demonstrate just the opposite. It can and will make your mantainer life easier (though we're not talking about respecting packaging policies here).
3. How come this script you wrote is sooo slow?
Well... do you wanna help me to solve this problem? To be honest, it's not a big problem for me since you can use a local repository (with sources files, of course) and tell the script to use it. This whole process takes about 30 minutes in my computer, which happens to not be a fast machine nowadays. Besides, it's a time capsule; what you are reading right now has been written and done almost a decade ago!
4. Shell scripting is disgusting... what about Python or Ruby?
I choose to write it in shell script because that was easy and .sh scripts are fast to debug and test, and now I can also pretend I'm a programmer for real (when in real life I'm not). Python probably could be a great choice but I should have to learn how to write stuff for it first, ha! Ruby would be a even nicer idea but as far as I know it only has APT bindings through libept, still under development. By the way, I do know that Python already has stable bindings for APT through libapt-front. I might rewrite the whole damn thing in Pythin, provided I have enough motivation.

Furthermore, this whole gallery and the script written is too simple for such sofisticated solutions.
5. What's the big deal in building packages with debhelper?
Short answer: because I think CDBS is still better than debhelper and I like it.
Long one: you'll feel how simple CDBS is after touching in and playing with some examples which you can copy to your package's environment and by using CDBS you can write a plain "debian/rules" with 10 lines when you'd need about 90 lines if using debhelper plus common packaging hacks. Also, I believe that debhelper is a path to obscurity since its documentation isn't that user-friendly and, because of that, might certainly repel newcomers.

Keep in mind that CDBS purpose isn't to drop debhelper, at all. It's was created to complement debhelper and many other tools. Also, CDBS may turn into a tricky framework if you don't understand its underlying (so I strongly recommend you to read anything about it first - maybe the documentation link in the menu above?)
6. Meh, nobody really use CDBS today... why would I mind?
Take a deep look at the gallery's page before saying such things... you'll realize that's untrue.
7. So, why don't you just create a real CDBS reference guide then?
Because I'm not interested on it (yet). There's official documentation for CDBS already (which includes its source code) and despite of what people try to convince you about, that documentation is quite good and the real problem is the lack of good samples and real-world examples on how to use CDBS. Pretty much like "show me the code".
8. I wanna use it, now! I want to port packages to CDBS. Can you help me?
Actually I'm as rookie as you are, probably. You can find a nice people and folks wanting to help on packaging at Debian Mentors. There you can talk about CDBS and how to port source packages to this framework.
9. Could you answer my messages I sent you a few days ago, please?
I'm not available 24 hours a days, sorry. I'll try to track every e-mail received ASAP.