Hello,
Sorry for cross-posting (already posted to pkgbase-discuss, but without
any response).
This tool which I named pkgbase, is working over pkgtool and other
scripts included by jds-cbe.
Here is list of currently a viable features:
* Importing all useful information about spec files from directory
(SFE repository is working well)
* Searching for dependency of some package. (It's recursive search
with build dependencies included)
* Building package - it finds dependency of package and then run
pkgtool --download build -v package list_of_package_dependencies
Here is list of planned features:
* Version checking - right now there is fully working Version
class, which allow you to compare version string even with svr4
package. It's very modular class which allow easy working with
versions as strings.
* Updating spec file repository - running 'svn up' and reload info
about changed spec files
* Checking if packages are already installed and then omit them from
install list.
* Checking if there isn't newer package over package installed in system
* Searching in error messages and output names of patches fixing them.
- The data for this search will be done by trying to build
package without patch. The error message store in database and
also name of patch fixing it. This has 2 main reasons - first
to help newbies in porting software to *Solaris and the second
to identify the most troubles with porting.
* Checking if there isn't newer version of package released and
probably notify maintainer of package (email).
* Web interface
How to try it:
You need to install SFEsqlite, SFEruby and sqlite3-ruby plug-in
which can be found here:
http://rubyforge.org/frs/?group_id=254&release_id=9438
The sources are here:
http://home.zcu.cz/~sobotkap/pkgbase.tar.bz2
After unpacking go to lib directory.
Check if all shell scripts ( .sh) have +x rights.
You can get basic help usage by running $ruby pkgbase.rb
First you need to import your spec file repository to database:
$ruby pkgbase.rb --import directory_where_you_store_spec_files
This will take long time :-( . Because current parsing is very
ineffective( I run spectool few times on same spec file ...).
It will also complain about few packages that it can't find then in
database when adding dependency if you import SFE repository.
They are bugs - probably on my side - and hopefully I'll hunt them
soon. You can ignore them for now (they are only warnings ;-) .
And now let's finally do something interesting - finding dependencies:
To find all dependencies of some package (for example inkscape) do:
$ruby -f SFEinkscape
And enjoy blazing fast response :-) . It finds dependencies recursively
so that list should be enough to install.
Don't forget that you have to run pkgtool in your spec file dir, not
from where you are running pkgbase.
And if you are lazy about coping dependency package you can try this:
$ruby -b SFEinkscape
Which will try to build inkscape with all its dependencies.
It's probably better to try it on some smaller package, to see if it
works or not :-)
Any ideas/bugs/english-incorrectness are highly welcome. (my english
grammar is really bad, I'm nature anti-talent on languages, even my
native language (czech) grammar is misery so be patient)
All sources are without any license info, because I'm not sure
under which license I should public it ... CDDL, GPL, BSD?
I don't care about license much so I'll will follow yours advice.
I use mercurial as version control so if you find it interesting enough
it can be pushed to public repository.
With documentation it's a bit problematic, because I still didn't find
format which would please me - I made few UML diagrams in netbeans
plug-in, but it wasn't very useful/easy to use (I also made database
diagrams in that plug-in which was pure pain) and right now this
diagrams are a bit outdated. So all documentation is in comments or in
papers. I would be very glad about your recommendations...
Petr
P.S: Wow, such long email ;-) I hope it wasn't too boring.