Falcony wrote:
It may really be an improvement to add 'dependencies' section to (for example) /var/log/packages/* file.
Protes module could have (and for big modules like base - always it is) several number Slackware packages inside
So better if we competely separate Proteus modules and Slackware packages iinformation
Why do not have special directory for example
/var/proteus
to store Proteus modules information?
And in the same time /var/log/packages/* will be as it is now
So for example if we have application installed in a system then we have module information records in
/var/proteus/directory
number some files files for ex. :
/var/proteus/directory/CONFICTS - with what lzm modules it conflicts
/var/proteus/directory/DEPENDS - what modules it required
/var/proteus/directory/LINKS - list of repos/mirrors depens could be downloaded
/var/proteus/directory/DESC - desciption of module
/var/proteus/directory/INCLUDE - from what what slackware packages it is consists(the lists)
/var/proteus/directory/MAINTAIN - Maintainer info
...etc
...
This looks quite much like the slapt-get file structure, citation from FAQ10, see hyperlink:
http://software.jaos.org/git/slapt-get/plain/FAQ
10. What about package dependencies?
First of all, slapt-get does not provide dependency resolution for vanilla
Slackware packages (ie, official Slackware packages that come with the
distribution).
However, slapt-get does provide a framework for dependency resolution for
packages that follow the Slackware package format, while still being backwards
compatible. This information is stored in so called meta files within the
package. slapt-get does not parse the packages themselves. It uses the
PACKAGES.TXT package database that Patrick Volkerding provides along with his
packages. slapt-get uses this file by extending it with optional extra fields.
This information is stored within the package simply as a means of easy
transport, to later be parsed into a PACKAGES.TXT. For example, the entry
for man within PACKAGES.TXT looks like:
PACKAGE NAME: man-1.5l-i386-1.tgz
PACKAGE LOCATION: ./slackware/ap
PACKAGE SIZE (compressed): 166 K
PACKAGE SIZE (uncompressed): 390 K
PACKAGE DESCRIPTION:
man: man (format and display the on-line manual pages)
It is extended like so:
PACKAGE NAME: man-1.5l-i386-1.tgz
PACKAGE MIRROR:
http://www.slackware.at/data/slackware-9.1/
PACKAGE LOCATION: ./slackware/ap
PACKAGE SIZE (compressed): 166 K
PACKAGE SIZE (uncompressed): 390 K
PACKAGE REQUIRES: groff >= 1.56-noarch-1,man-pages | man-pages-de
PACKAGE CONFLICTS:
PACKAGE SUGGESTS:
PACKAGE DESCRIPTION:
man: man (format and display the on-line manual pages)
The REQUIRES line is an addition supported by slapt-get, along with CONFLICTS
and SUGGESTS. The meta files supporting dependencies, conflicts, and
suggestions are within the packages inside the ./install/ directory. The
REQUIRES information is stored in the slack-required file. The CONFLICTS
information is stored within the slack-conflicts file. The SUGGESTS
information is stored in the slack-suggests file. See FAQ #19 for a breakdown
of the structure of REQUIRES, FAQ #31 for CONFLICTS, and FAQ #44 for SUGGESTS.
...
Packages supporting this framework can be found at linuxpackages.net, along
with several Slackware derived distributions such as CollegeLinux (starting
with 2.5) and VectorLinux (starting with 5.0).
Also, Stefano Stabellini has created a PACKAGES.TXT that contains the
dependency information for Slackware packages without modifying the actual
packages themselves. This can be used as a slapt-get source to pull the
packages from official slackware.com mirrors. Read more about it at
Stefano's page:
http://www.stabellini.net/depslack.html
Wouldn't it be a good idea to make porteus modules data info compatible with slax-get syntax^