Slashdot Mirror


Why Aren't ./configure Parameters Preserved?

dhammabum asks: "I've just installed a machine with a copy of Red Hat 6.2. I thought I would use the squid RPM that comes with the distribution to save time, etc. All went well until it tried to set up delay pools as this configure option had not been set in the RPM. So I then had to stuff around for quite some time working out how the RPM differed from the distribution. It even turned out the install options they used were broken -- they had to link a directory to get it to work! This begs the question -- why not have the configure options included with the RPM, say in /usr/doc, so that when one has to change something you simply add or subtract whatever you need to change, rebuild the package and reinstall?" I've always wondered why source-handling package managers like dpkg [?] and RPM [?] haven't implemented such schemes, allowing users to pass flags to configure and preserving them for the next time the package needs to be built. Does anyone have any ideas as to how such a system would best be created? Are there package managers that already do such things?

Many times, when I build packages from source, they are done so outside of the package management system because it's easier to do "./configure options; make; make install" than it is to figure out the myriad of parameters available to RPM(8) or dpkg-buildpackage(1) to properly do what I want. This also means that said packages are most often installed in /usr/local and must then be uninstalled by hand.

It would be nice (and essential for Linux novices) if packages could be built from source, and customized, but still remain under the umbrella of the distribution's package manager with the customizations saved for later use. Are there any efforts to bring this kind of functionality to the current distributions?

2 of 7 comments (clear)

  1. SRPMS by embobo · · Score: 2

    I recommend getting the source rpms. Then you find out exactly how it was built and installed. You can also make some changes and remake the SRPM.

  2. Re:Story posting problems? by ywwg · · Score: 2

    This already exists!

    try creating a file called /etc/rpmrc. Add the following line:
    provides:kernel-2.2.14-5.0

    et voila, rpm now thinks you have that package, even if you don't. I have xfree 4.0.1, and I created the following rpmrc:

    provides:libICE.so.6
    provides:libSM.so.6
    provides:libX11.so.6
    provides:libXext.so.6
    provides:libXi.so.6
    provides:libXmu.so.6
    provides:libXt.so.6

    Rpm thinks I have X-free rpms installed, so I can install any rpm without having to do a --nodeps.