Quote:
Originally Posted by Akonbobot
Thank you for your answers.
1. Does the debian .deb require the ./configure --enable options listed or is it optionally included by the packager's choice?
|
Usually they will only include GPL/LGPL code. Example gnuplot does not enable libreadline which is BSD licensed.
They try to take the common denominator of the community needs. This will require more dependencies but the binary should include what users want. Debian is user-demand oriented.
Quote:
2. Will this information 'always' be in the README or could it be anywhere?
|
No, usually it's not. mplayer is a good example. Sometimes, you will have a text saying "this feature is enabled, this one not.."
The best way to know which options are passed is to download the source package and launch the build. After the configure has been done, you can interrupt the process and look at config.log
You can always look at the file debian/rules (which is the configuration of the package build) in the source tree.
Quote:
3. Can you please recommend a good starting point for those who wish to learn about how to rebuild a .deb package with enabling other options i.e. /.configure --enable???
Thanks again.
Akonbobot
|
There are some ideas here:
http://www.debian.org/doc/manuals/ma...ch-update.html
Unfortunatly the debian/rules file is not always using the same mechanism. Some will use DEB_BUILD_OPTIONS or CONF_OPTIONS some will use their own variables, some will need that you edit debian/rules and add your --enablexxx
I do it manually:
apt-get source mplayer <-- get the source luke
apt-get build-dep mplayer <-- get the build-dependencies
apt-get install additionnalpackage <-- add the one you want the feature from
edit debian/rules or pass DEB_BUILD_OPTIONS
maybe edit debian/changelog or use dch to change the changelog to put your version number (do not increase the number, simply append something)
example for adding debug to mplayer:
DEB_BUILD_OPTIONS=debug dpkg-buildpackage -b -us -uc -rfakeroot
This will additionnaly set ./configure --debug=3.
As I automate this (I don't want to edit files everytime a new version of mplayer is released), I maintain my own .diff file.
This diff file will add patches in debian/patches (C code that I corrected) and will modify the debian/rules file.
When the build starts via debian/rules, it include a sed line for self modifying debian/changelog, adds my options to ./configure depending on DEB_BUILD_OPTIONS.
That's one way of doing it, I learned from trial and error, didn't really read the deb maintainer guide.
Have fun!