Re: make clean failes to cleanup everything

2016-10-04 Thread Tijl Coosemans
On Tue, 4 Oct 2016 14:18:51 +0200 Gerhard Schmidt  wrote:
> Am 04.10.2016 um 14:03 schrieb Tijl Coosemans:
>> On Tue, 4 Oct 2016 13:36:29 +0200 Gerhard Schmidt  wrote: 
>>  
>>> Am 04.10.2016 um 12:48 schrieb Tijl Coosemans:  
 On Tue, 4 Oct 2016 09:52:23 +0200 Gerhard Schmidt  
 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
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: make clean failes to cleanup everything

2016-10-04 Thread Gerhard Schmidt
Am 04.10.2016 um 14:03 schrieb Tijl Coosemans:
> On Tue, 4 Oct 2016 13:36:29 +0200 Gerhard Schmidt  wrote:
>> Am 04.10.2016 um 12:48 schrieb Tijl Coosemans:
>>> On Tue, 4 Oct 2016 09:52:23 +0200 Gerhard Schmidt  
>>> 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?

Regards
Estartu



signature.asc
Description: OpenPGP digital signature


Re: make clean failes to cleanup everything

2016-10-04 Thread Tijl Coosemans
On Tue, 4 Oct 2016 13:36:29 +0200 Gerhard Schmidt  wrote:
> Am 04.10.2016 um 12:48 schrieb Tijl Coosemans:
>> On Tue, 4 Oct 2016 09:52:23 +0200 Gerhard Schmidt  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.
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: make clean failes to cleanup everything

2016-10-04 Thread Gerhard Schmidt
Am 04.10.2016 um 12:48 schrieb Tijl Coosemans:
> On Tue, 4 Oct 2016 09:52:23 +0200 Gerhard Schmidt  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.

Regards
   Estartu



typescript_clean
Description: Binary data
Script started on Tue Oct  4 13:25:51 2016
[root@etustar /usr/ports/lang/php56]# pkg autoremove 
Updating database digests format:   0%
Updating database digests format:   0%
Updating database digests format:  20%
Updating database digests format:  40%
Updating database digests format:  60%
Updating database digests format:  80%
Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 5 packages:

Installed packages to be REMOVED:
autoconf-2.69_1
autoconf-wrapper-20131203
gmake-4.2.1_1
help2man-1.43.3_1
p5-Locale-gettext-1.06

Number of packages to be removed: 5

The operation will free 5 MiB.

Proceed with deinstalling packages? [y/N]: y
[1/5] Deinstalling autoconf-2.69_1...
[1/5] Deleting files for autoconf-2.69_1:   100%
[2/5] Deinstalling help2man-1.43.3_1...
[2/5] Deleting files for help2man-1.43.3_1:   100%
[3/5] Deinstalling autoconf-wrapper-20131203...
[3/5] Deleting files for autoconf-wrapper-20131203:   100%
[4/5] Deinstalling gmake-4.2.1_1...
[4/5] Deleting files for gmake-4.2.1_1:   100%
[5/5] Deinstalling p5-Locale-gettext-1.06...
[5/5] Deleting files for p5-Locale-gettext-1.06:   100%
[root@etustar /usr/ports/lang/php56]# make clean 
===>  Cleaning for php56-5.6.25_1
[root@etustar /usr/ports/lang/php56]# make 
===>  License PHP301 accepted by the user
===>  Found saved configuration for php56-5.6.25_1
===>   php56-5.6.25_1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by php56-5.6.25_1 for building
===>  Extracting for php56-5.6.25_1
=> SHA256 Checksum OK for php-5.6.25.tar.xz.
===>  Patching for php56-5.6.25_1
===>  Applying FreeBSD patches for php56-5.6.25_1
===>   php56-5.6.25_1 depends on file: /usr/local/bin/autoconf-2.69 - not found
===>   autoconf-2.69_1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by autoconf-2.69_1 for building
===>  Extracting for autoconf-2.69_1
=> SHA256 Checksum OK for autoconf-2.69.tar.xz.
===>  Patching for autoconf-2.69_1
===>  Applying FreeBSD patches for autoconf-2.69_1
===>   autoconf-2.69_1 depends on executable: gm4 - found
===>   autoconf-2.69_1 depends on executable: help2man - not found
===>   autoconf-2.69_1 depends on executable: help2man - not found
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/devel/autoconf
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/lang/php56
*** Error code 1

Stop.
make: stopped in /usr/ports/lang/php56
[root@etustar /usr/ports/lang/php56]# exit 
exit

Script done on Tue Oct  4 13:26:18 2016


signature.asc
Description: OpenPGP digital signature


Re: make clean failes to cleanup everything

2016-10-04 Thread Tijl Coosemans
On Tue, 4 Oct 2016 09:52:23 +0200 Gerhard Schmidt  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.
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


make clean failes to cleanup everything

2016-10-04 Thread Gerhard Schmidt
Hi

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.

This should be not a problem (besides waste of discspace).

We do a pkg autoremove after installing to remove all packages that are
only build dependencies.

So the autoconf package will be removed.

Than later (days, weeks) you install another port that uses autoconf
the build brakes because autoconf is not found.

The problem is that in the autoconf ports dir everything says that
autoconf is already installed and make install does return without doing
anything an without failure (as expected).

A make clean in the autoconf dir does fix the porblem.

So why doesn't make clean of a port that uses autoconf don't do a make
clean in the autoconf port.

Regards
   Estartu



signature.asc
Description: OpenPGP digital signature