make clean failes to cleanup everything
tijl at FreeBSD.org
Tue Oct 4 14:12:20 UTC 2016
On Tue, 4 Oct 2016 14:18:51 +0200 Gerhard Schmidt <schmidt at ze.tum.de> wrote:
> Am 04.10.2016 um 14:03 schrieb Tijl Coosemans:
>> On Tue, 4 Oct 2016 13:36:29 +0200 Gerhard Schmidt <schmidt at ze.tum.de> wrote:
>>> Am 04.10.2016 um 12:48 schrieb Tijl Coosemans:
>>>> On Tue, 4 Oct 2016 09:52:23 +0200 Gerhard Schmidt <schmidt at ze.tum.de> wrote:
>>>>> make clean fails to clean autoconf and automake.
>>>>> If a port uses autoconf and autoconf isn't installed on the system, it
>>>>> will be build and installed.
>>>>> if you run make clean after installing the port, every dependency is
>>>>> cleaned as well but not autoconf.
>>>> Can you give an example of such a port, because we have two mechanisms
>>>> that can pull in autoconf.
>>> It's seams to be quite a complex problem.
>>> To find out which ports causes this problem tried to build lang/php56
>>> which uses autoconf. But when I do a make clean autoconf is cleaned as
>>> [root at etustar /usr/ports/lang/php56]# make clean
>>> ===> Cleaning for autoconf-2.69_1
>>> ===> Cleaning for php56-5.6.25_1
>>> But it also installs help2man, gmake, p5-Locale-gettext-1.06 and
>>> autoconf-wrapper-20131203 and these are not cleaned.
>>> The transcript is attached as typescript_clean
>>> now do a pkg autoremove which removes autoconf and the missed ports form
>>> the system.
>>> now try again to compile php56 and it fails
>>> the transcript is attached as typescript_unclean
>>> It seams that dependencies of dependencies are not clean. It seams that
>>> autoconf was only the most memorable one.
>> This seems to be intended. Make clean runs make limited-clean-depends
>> which cleans direct dependencies only. If you want to do full recursive
>> clean you have to run make clean-depends.
> I use FreeBSD since FreeBSD 2.2.5. When did this change in semantics
> happen? Why do the first layer. This is something nobody can understand.
> Either make clean should only clean the actual port. So everybody sees
> that dependencies are not cleaned (maybe a message "You should run make
> clean-depens to clean dependencies as well" should be printed if
> dependencies are touched) or do it right and clean all touched.
> make clean-depends doesn't take that much more time than make clean, so
> why the change?
I've filed a bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213188
More information about the freebsd-ports