Sample Header Ad - 728x90

Problems packing a .deb from autotools. (checkinstall, debhelper, ...)

3 votes
2 answers
727 views
I'm currently building a large project that contains sources written in few languages such as C,C++ & Python. I recently managed to (painfuly) handle autotools to make a proper install. Next step is to create .deb because our project is meant to run on debian stretch. I tried several ways to do this but i can't get it working whether the way. Tree .deb generated by checkinstall : unpack/ ├── etc │   └── nina │   ├── auto_blacklist.txt │   ├── blacklist.txt │   ├── conf │   ├── keywords.txt │   ├── rubbish_links.txt │   └── whitelist.txt └── usr ├── local │   ├── bin │   │   ├── geckodriver │   │   └── nina │   ├── lib │   │   └── python2.7 │   │   └── dist-packages │   │   ├── nina.py │   │   ├── nina_py_installed_files.txt │   │   ├── Uinput_wrapping_module-2.0.egg-info │   │   └── uinput_wrapping_module.so │   └── share │   └── man │   └── man1 │   └── nina.1.gz └── share └── doc └── nina ├── COPYING ├── doc │   ├── Doxyfile │   └── nina.1 ├── README └── README.md Tree .deb generated by debhelper (v9): unpack/ ├── etc │   └── nina │   ├── auto_blacklist.txt │   ├── blacklist.txt │   ├── conf │   ├── keywords.txt │   ├── rubbish_links.txt │   └── whitelist.txt └── usr ├── bin │   └── nina ├── lib │   └── python2.7 │   └── dist-packages │   └── nina.py └── share ├── doc │   └── nina │   ├── changelog.Debian.gz │   └── copyright └── man └── man1 └── nina.1.gz As you can see it's not quite the same (sic). I'm more or less understanding what checkinstall does : it runs make install commands and just get files outputs to place it where it's installing on **MY** machine. debhelper seems to be a way more proper tool here. (installing in /usr/lib and not /usr/local/lib, allow us to sign packages & so on.) and i'd prefer to use it but it's not working as expected to do. And on **huge** plus on debhelper way is that it's actually handling dependancies specified in debian/control and stuff. But checkinstall doesn't. What debhelper is not doing : - Getting some binary (geckodriver) from internet source and placing it in /usr/bin - installing an homemade python module Those actions are performed in my Makefile.am by overriding install-exec-local: (& respectively uninstall-local:) methods and executing some bash commands. **---** So my question is : how could i keep best parts of those two packaging ways to made it "perfect" ?
Asked by Neah-Ko (123 rep)
Mar 9, 2017, 07:48 AM
Last activity: Mar 17, 2018, 11:33 PM