NAME odb - Octave function database manager SYNOPSIS odb [options] command [options] [arguments] DESCRIPTION odb manages a text-format database of information concerning octave m-files. This database mainly keeps track of dependencies between octave functions. OPTIONS Options may start with a single '-' or a double '--' dash. -d datadir : specify the database directory. If -d is not passed, it checks for the environment variable $ODBROOT; if this is not set either, an error is produced. -C DIR : Chdir to DIR -v, -verbose -h, -help : Display help and exit -V : Display version and exit COMMANDS study `[-f'] m-files and/or directories looks in m-files for function declarations and function dependencies. Each found function `"f"' is documented in the text file datadir/f.of ("of" stands for "Octave Function"). This file lists : name : The function name file : The file in which it was found modif : The last modification time in : Input arguments out : Output variables calls : List of functions that this function calls called : List of functions called by this function depend : List of files that this function depends upon If the `-f' option is passed, all files will be scanned. Otherwise, only those that changed since when the database was last updated are scanned. Function calls done through `eval' are not detected. If a commented line contains something like : calls : func1, func2 Then it is assumed that the function calls `func1' and `func2'. Likewise, if a commented line contains something like : depend : filename1, filename2 It is assumed that the function requires this file in order to work properly. `odb' will look around for `filename1' in the same directory as the m-file and its parents (down to "/" if it was specified absolutely, down to "." if it was specified relatively) and in Octave's LOADPATH. depend functions Queries the database and prints on stdout a list of m-files and other files (specified by `depend:' directives) needed to implement the functions. All the dependencies of these functions on other files of the database datadir are taken into account. EXAMPLES Assume you are in ~/octave and have lots of m-files in ~/octave/functions/*.m and ~/octave/functions/*/*.m. # Specify database directory export ODBROOT=~/octave/my-database # Study m-files odb study functions functions// # Print the list of files needed to # implement func1, func2 and func3 odb depend func1 func2 func3 # Make a bundle of m-files tar cvzf my-bundle.tar.gz `odb depend func1 func2 func3` REQUIREMENTS The perl module AsciiDB::TagFile should be installed. AUTHOR Etienne Grossmann Copyright (c) 2000 Etienne Grossmann. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. Suggestions, bug reports, patches etc are all welcome.