Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Oct 2016 16:12:14 +0200
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        Gerhard Schmidt <schmidt@ze.tum.de>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: make clean failes to cleanup everything
Message-ID:  <20161004161214.5acba073@kalimero.tijl.coosemans.org>
In-Reply-To: <a84021ce-69d7-3e1f-0ab0-ab7c986b86f3@ze.tum.de>
References:  <e3cc1ea4-8e7c-fdce-93bf-7a8ffb200e64@ze.tum.de> <20161004124833.07053231@kalimero.tijl.coosemans.org> <51668ef0-38fa-277c-8a70-6746418db703@ze.tum.de> <20161004140326.5d699d2c@kalimero.tijl.coosemans.org> <a84021ce-69d7-3e1f-0ab0-ab7c986b86f3@ze.tum.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 4 Oct 2016 14:18:51 +0200 Gerhard Schmidt <schmidt@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@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@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
>>> well.
>>>
>>> [root@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20161004161214.5acba073>