You are not logged in.
In traditional make way, when compiling a package, I must install some library or header file or tool packages to satisfy its depends, but after compilation, I do "make install", and run it. At runtime, library and header file and tool packages are not needed....
This make a lot of unuseful packages are left in the system.....
In arch linux , when I using abs to make a package, does these packages are left in the system ?
How abs separates the compile-time depends and the runtime depends ????
Last edited by iamybj (2010-03-22 01:24:57)
Offline
The PKGBUILD has a depends array and a makedepends array. Anything that's required at runtime goes in the depends array, and must be installed for the application to run successfully. Anything that's only required at buildtime foes in the makedepends array, and can be removed from the system after the application has been built.
man PKGBUILD and various wiki pages for more details.
Offline
Also, Arch does not split its packages into binaries, libraries, headers etc like some other distros do.
Offline
The PKGBUILD has a depends array and a makedepends array. Anything that's required at runtime goes in the depends array, and must be installed for the application to run successfully. Anything that's only required at buildtime foes in the makedepends array, and can be removed from the system after the application has been built.
man PKGBUILD and various wiki pages for more details.
Anything that's only required at buildtime foes in the makedepends array, and can be removed from the system after the application has been built.
==================
Who remove them ? user or the abs ??
I think the best method is file dependence , not package dependence.....
Software is arranged by package. but its dependence is file. When Install a package, pacman check its file dependence, and install the packages which include those files....
If a not explicit installed package 's file does not required by any other packages , it can be removed automatically !
In this situation ,pacman can find packages that not needed after compilation, and remove them.
Last edited by iamybj (2010-03-22 03:15:06)
Offline
tomk wrote:The PKGBUILD has a depends array and a makedepends array. Anything that's required at runtime goes in the depends array, and must be installed for the application to run successfully. Anything that's only required at buildtime foes in the makedepends array, and can be removed from the system after the application has been built.
man PKGBUILD and various wiki pages for more details.
Anything that's only required at buildtime foes in the makedepends array, and can be removed from the system after the application has been built.
==================
Who remove them ? user or the abs ??/
Headers are only removed in the kernel26 packages since they are huge.
Other packages keep the headers.
Makepkg automatically removes libtool files though.
Offline
Who remove them ? user or the abs ??
ABS does not install them so I doubt it will remove them.... It is up to you to remove them, although makepkg does have options to let you do it automatically. Read the man page.
I think the best method is file dependence , not package dependence.....
Arch handles dependencies by the package. Of course, pacman could handle that if we wanted it to, but we do not.
Offline
why you do not ?
Offline
Because it is a waste of time. If a file is in a package, it makes no difference to depend on the package instead of the file. In fact, it makes packaging a whole lot easier.
Offline
you can cut packages to files....
the arch repos do not need to rebuild, just modify pacman, and decompress all the pkg.tar.gz files.....
the package name is still reserved ,but became a group name... in other words, all software name is a group name...
in fact when do "./configure...", the autoconf only check file dependence .....
Last edited by iamybj (2010-03-22 05:08:36)
Offline
I am quite sure I speak for all the Arch developers when I say that is never going to happen.
Offline
iamybj - as I mentioned in another of your threads, if you think pacman needs additional functionality like this, post a feature request in the bugtracker, with a patch if possible.
Offline
If you are never going to use the headers, you can place a cron to rm -r /usr/include/*
You may find having to reinstall them earlier than you expected, though.
Offline
(Ignoring the stuff about file vs package dependencies.)
Read the makepkg manpage: where before you did
makepkgdo instead
makepkg -s -r.
Last edited by Profjim (2010-03-23 15:41:12)
Offline