Date: Thu, 31 Mar 2011 23:55:02 -0400 From: Eitan Adler <eadler@freebsd.org> To: FreeBSD Ports <ports@freebsd.org> Subject: Removing Cruft from the ports tree Message-ID: <AANLkTikmyPyY8q1xN47_dH3D6ndFoXYDaM3F%2BtWdFKe0@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, I=E2=80=99m been working recently on a series of PRs that called =E2=80= =9CReaper of the Dead=E2=80=9D PRs. I have been going through the various build files= we have (for source, docs, and especially ports) and attempting to remove dead code, old cruft, and unneeded checks. Some examples include ports/155543, ports/155511, ports/154395, conf/155737, and conf/155738. My goal has been twofold: making it easier to understand what is going on, and speeding up the process without requiring significant change. One of the features that has given us the most trouble has been the options framework for ports. We automatically test ports using the default options, but we are unable to perform automated using every combination of options. A port with just four options has sixteen possible configurations, and some ports have more than that. Even supporting one option might double the number of things to test. However some ports rely on specific configurations of options of other ports. In order to deal with this mess we have come up with a hack: slave ports. We have entire ports that are designed just to change the default options for other ports. This requires a non-trivial amount of code on the bsd.*.mk files to support. Automated configuration is not the only thing that has caused us trouble in the past. We routinely have to do deal with questions from inexperienced users on questions@ and ports@ details problems with non-standard configurations. Many times the solution to a ports related problem is flipping a bit in the options file. I propose removing the options systems entirely. While it does serve a small purpose of allowing customization for some end users, I believe the flaws outweigh the benefits. Removing the options framework would enable us to remove over 500 lines of expensive code from the ports system. Not only that but because maintainers would be able to choose the best possible configuration for the their port users would no longer have to mess around. While I understand there might some minor part of the community that has a sentimental attachment to the blue-on-gray-on-blue configuration, and still others want to prematurely optimize, a simple workaround could be implemented. We can allow users to add their own ./configure arguments to the makefile. This serves the needs of the community while allowing us to deal with a simpler and more reliable ports system. Feel free to express your thoughts here. I would like to get this hashed out now so the process could occur on a later date(1). --=20 Eitan Adler
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikmyPyY8q1xN47_dH3D6ndFoXYDaM3F%2BtWdFKe0>