diff --git a/ChangeLog b/ChangeLog index c25d6550..2c80d9fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,10 @@ +1.4.3 (2017-01-02) + + - fix: fixed mouse and tooltip coordinates in scrolled CGI + - fix: fixed lmdb read/write locking + - new: added --dry-run option to 'duc index' for testing purposes + 1.4.2 (2016-11-20) - new: default per-user file path is now ~/.config/duc/ducrc diff --git a/configure.ac b/configure.ac index 3679300c..29008b53 100644 --- a/configure.ac +++ b/configure.ac @@ -7,7 +7,7 @@ AC_PREREQ([2.13]) -AC_INIT([duc], [1.4.2], [duc@zevv.nl]) +AC_INIT([duc], [1.4.3], [duc@zevv.nl]) LIB_CURRENT=1 LIB_REVISION=0 diff --git a/doc/duc.1 b/doc/duc.1 index 77e13406..bdf6b1ef 100644 --- a/doc/duc.1 +++ b/doc/duc.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "DUC" "1" "November 2016" "" "" +.TH "DUC" "1" "January 2017" "" "" . .SH "NAME" \fBduc\fR \- index, query and graph disk usage @@ -28,7 +28,7 @@ Duc allows any option to be placed either on the command line or in a configurat At startup duc tries to read its configuration from three locations in this particular order: \fB/etc/ducrc\fR, \fB~/\.config/duc/ducrc\fR, \fB~/\.ducrc\fR and \fB\./\.ducrc\fR\. . .P -A configuration file consists of sections and parameters\. The section names correspond to the duc subcommands for which the parameters in that section apply\. A section begins with the name of the section in square brackets and continues until the next section begins\.Sections contain parameters, one per line, which consist of a single option name for boolean flags, or an option name and a value for options which take a value\. See the EXAMPLES section for an example of the configuration file format\. +A configuration file consists of sections and parameters\. The section names correspond to the duc subcommands for which the parameters in that section apply\. A section begins with the name of the section in square brackets and continues until the next section begins\. Sections contain parameters, one per line, which consist of a single option name for boolean flags, or an option name and a value for options which take a value\. See the EXAMPLES section for an example of the configuration file format\. . .SH "CREATING THE INDEX" Duc needs an index file of the file system before it is able to show any information\. To create the index, run the \fBduc index\fR command\. For example, to create an index of your home directory run \fBduc index ~\fR @@ -64,7 +64,7 @@ Duc has various subcommands for querying or exploring the index: \fBduc ls\fR lists all files and directories under the given path on the console\. . .IP "\(bu" 4 -\fBduc ui\fR runs a ncurses based console user interface for exploring the file system usage +\fBduc ui\fR runs a ncurses based console user interface for exploring the file system usage\. . .IP "\(bu" 4 \fBduc gui\fR starts a graphical (X11) interface representing the file system in a sunburst graph\. Click on a directory to redraw the graph from the perspective of the selected directory\. Click in the center of the graph to go up one directory in the tree\. @@ -155,6 +155,10 @@ skip directories on different file systems show progress during indexing . .TP +\fB\-\-dry\-run\fR +do not update database, just crawl +. +.TP \fB\-\-uncompressed\fR do not use compression for database\. Duc enables compression if the underlying database supports this\. This reduces index size at the cost of slightly longer indexing time . @@ -525,7 +529,7 @@ The HTML page is generated with a simple embedded CSS style sheet\. If the style Add the option \-\-list to generate a table of top sized files and directories in the HTML page\. . .IP "\(bu" 4 -The options \-\-header and \-\-footer allow you to insert your own HTML code before and after the main +The options \-\-header and \-\-footer allow you to insert your own HTML code before and after the main\. . .IP "" 0 . @@ -553,17 +557,47 @@ The default mode used by duc is to use the \'actual size\'\. Most duc commands t If you use git clone to pull down the latest release, you will have to do the following: . .P -git clone https://github\.com/zevv/duc cd duc aclocal automake \-\-add\-missing \-c +git clone https://github\.com/zevv/duc +. +.br +cd duc +. +.br +aclocal +. +.br +automake \-\-add\-missing \-c . .P Then you can run the regular . .P -\&\./configure [ options ] make +\&\./configure [ options ] +. +.br +make . .P to the regular build of the software\. . +.P +A note for Redhat and derivates users\. The package providing the development file for lmdb (lmdb\-devel) does not include a lmdb\.pc pkgconfig file\. This could lead to errors during the configure phase: +. +.P +checking for LMDB\.\.\. no +. +.br +configure: error: Package requirements (lmdb) were not met: +. +.P +To avoid the need to call pkg\-config, you may set the environment variables +. +.br +LMDB_CFLAGS and LMDB_LIBS: +. +.P +LMDB_CFLAGS=" " LMDB_LIBS=\-llmdb \./configure \-\-with\-db\-backend=lmdb [ options ] +. .SH "EXAMPLES" Index the /usr directory, writing to the default database location ~/\.duc\.db: . diff --git a/doc/duc.1.html b/doc/duc.1.html index 34c9f957..5d447dc7 100644 --- a/doc/duc.1.html +++ b/doc/duc.1.html @@ -128,7 +128,7 @@

USAGE

A configuration file consists of sections and parameters. The section names correspond to the duc subcommands for which the parameters in that section apply. A section begins with the name of the section in square brackets and -continues until the next section begins.Sections contain parameters, one per +continues until the next section begins. Sections contain parameters, one per line, which consist of a single option name for boolean flags, or an option name and a value for options which take a value. See the EXAMPLES section for an example of the configuration file format.

@@ -166,7 +166,7 @@

QUERYING THE INDEX

and date of the last scan.

  • duc ls lists all files and directories under the given path on the console.

  • duc ui runs a ncurses based console user interface for exploring the file -system usage

  • +system usage.

  • duc gui starts a graphical (X11) interface representing the file system in a sunburst graph. Click on a directory to redraw the graph from the perspective of the selected directory. Click in the center of the graph to go @@ -220,6 +220,7 @@

    duc index

    -m, --max-depth=VAL

    limit directory names to given depth. when this option is given duc will traverse the complete file system, but will only the first VAL levels of directories in the database to reduce the size of the index

    -x, --one-file-system

    skip directories on different file systems

    -p, --progress

    show progress during indexing

    +
    --dry-run

    do not update database, just crawl

    --uncompressed

    do not use compression for database. Duc enables compression if the underlying database supports this. This reduces index size at the cost of slightly longer indexing time

    @@ -427,7 +428,7 @@

    CGI INTERFACING

  • Add the option --list to generate a table of top sized files and directories in the HTML page.

  • The options --header and --footer allow you to insert your own HTML code -before and after the main

    .
  • +before and after the main.

    @@ -468,18 +469,30 @@

    BUILDING from git

    If you use git clone to pull down the latest release, you will have to do the following:

    -

    git clone https://github.com/zevv/duc - cd duc - aclocal +

    git clone https://github.com/zevv/duc
    + cd duc
    + aclocal
    automake --add-missing -c

    Then you can run the regular

    -

    ./configure [ options ] +

    ./configure [ options ]
    make

    to the regular build of the software.

    +

    A note for Redhat and derivates users. The package providing the development file +for lmdb (lmdb-devel) does not include a lmdb.pc pkgconfig file. This could lead to +errors during the configure phase:

    + +

    checking for LMDB... no
    + configure: error: Package requirements (lmdb) were not met:

    + +

    To avoid the need to call pkg-config, you may set the environment variables
    +LMDB_CFLAGS and LMDB_LIBS:

    + +

    LMDB_CFLAGS=" " LMDB_LIBS=-llmdb ./configure --with-db-backend=lmdb [ options ]

    +

    EXAMPLES

    Index the /usr directory, writing to the default database location ~/.duc.db:

    @@ -580,8 +593,8 @@

    FILES

    AUTHORS

    @@ -599,7 +612,7 @@

    LICENSE

    1. -
    2. November 2016
    3. +
    4. January 2017
    5. duc(1)
    diff --git a/doc/duc.md b/doc/duc.md index cb6bba6a..5fbeb2ca 100644 --- a/doc/duc.md +++ b/doc/duc.md @@ -39,7 +39,7 @@ particular order: `/etc/ducrc`, `~/.config/duc/ducrc`, `~/.ducrc` and A configuration file consists of sections and parameters. The section names correspond to the duc subcommands for which the parameters in that section apply. A section begins with the name of the section in square brackets and -continues until the next section begins.Sections contain parameters, one per +continues until the next section begins. Sections contain parameters, one per line, which consist of a single option name for boolean flags, or an option name and a value for options which take a value. See the EXAMPLES section for an example of the configuration file format. @@ -79,7 +79,7 @@ Duc has various subcommands for querying or exploring the index: * `duc ls` lists all files and directories under the given path on the console. * `duc ui` runs a ncurses based console user interface for exploring the file - system usage + system usage. * `duc gui` starts a graphical (X11) interface representing the file system in a sunburst graph. Click on a directory to redraw the graph from the @@ -164,6 +164,9 @@ Options for command `duc index [options] PATH ...`: * `-p`, `--progress`: show progress during indexing + * `--dry-run`: + do not update database, just crawl + * `--uncompressed`: do not use compression for database. Duc enables compression if the underlying database supports this. This reduces index size at the cost of slightly longer indexing time @@ -470,7 +473,7 @@ Some notes: in the HTML page. * The options --header and --footer allow you to insert your own HTML code - before and after the main
    . + before and after the main. The current CGI configuration is not very flexible, nor secure. It is not advised to run the CGI from public reachable web servers, use at your own risk. @@ -508,18 +511,30 @@ key to toggle. If you use git clone to pull down the latest release, you will have to do the following: - git clone https://github.com/zevv/duc - cd duc - aclocal - automake --add-missing -c + git clone https://github.com/zevv/duc + cd duc + aclocal + automake --add-missing -c Then you can run the regular - ./configure [ options ] - make + ./configure [ options ] + make to the regular build of the software. +A note for Redhat and derivates users. The package providing the development file +for lmdb (lmdb-devel) does not include a lmdb.pc pkgconfig file. This could lead to +errors during the configure phase: + + checking for LMDB... no + configure: error: Package requirements (lmdb) were not met: + +To avoid the need to call pkg-config, you may set the environment variables +LMDB_CFLAGS and LMDB_LIBS: + + LMDB_CFLAGS=" " LMDB_LIBS=-llmdb ./configure --with-db-backend=lmdb [ options ] + ## EXAMPLES