FADDIFF(1) General Commands Manual FADDIFF(1) NAME faddiff - report differences between FAD files SYNOPSIS faddiff [ -V | --version ] [ -v | --verbose | -d level | --debug=level ] [ -h | --help ] [ -p | --paths ] [ -n | --simulate ] [ -u | --ig- nore-uid ] [ -g | --ignore-gid ] [ -m | --ignore-mode ] [ -o outfile | --file=outfile ] file1 file2 DESCRIPTION Faddiff reports differences between two FAD files (see fad(5)), such as have been generated with mkfad(1). The input files must be specified on the command line, though either one of them may be replaced with '-' to indicate that it should be read from standard input. The result is written to standard output. All differences between the state of an individual file in the two FAD files are reported on one line. The format of of such a line is: path: changetype(oldvalue -> newvalue), ... path represents the path of the file that has changed. changetype may be one of the following: added path is mentioned in the second FAD file only. The brackets are empty. deleted path is mentioned in the first FAD file only. The brack- ets are empty. mode path has different permissions in the two FAD files. Bracketed are the permissions, expressed as octal num- bers, in the first file and then in the second. owner path has different a different owner in the two FAD files. Bracketed are the numeric user ids in the first file and then in the second. group path has different a different group in the two FAD files. Bracketed are the numeric group ids in the first file and then in the second. links path has a different set of hard links in the two FAD files. Bracketed are the names of the other hard links in the first file and then in the second. type path has changed type. This indicates that path has been deleted and subsequently recreated as a file-system ob- ject of a different type. Bracketed are the types in the first file and then in the second file. The types are represented by the following characters: f file d directory p pipe l symbolic link b block device c character device s socket checksum path is a file whose contents is different as gauged by the path's 32 bit checksum. Bracketed are the checksums in the first file and then in the second. linked_to path is a symbolic link which has different destinations in the two FAD files. Bracketed are the symbolic link destinations in the first file and then in the second. major/minor path is a special device file which has different major or minor numbers in the two FAD files. Bracketed are the combined major and minor numbers in the first file and then in the second. Faddiff can read and write plain files or files compressed with either compress(1) or gzip(1), but only if they have the correct file exten- sion and are specified on the command line, rather than fed through standard input. CONFIGURATION None. OPTIONS -d level, --debug=level Determines how verbose this program will be. The message types displayed for the different values of level are as follows: 0 displays no messages; 1 displays only errors, 2 displays errors and warnings; 3 displays errors, warn- ings and informational messages; higher values display errors, warnings, informational mes- sages and various messages intended for debug- ging. The default is 2. -h, --help Displays a brief usage message. -p, --paths Lists the compiled-in paths of various files and directories that this program uses. -n, --simulate Some external commands that this program runs may be displayed rather than ac- tually executed. BEWARE: different programs implement different levels of simulation; so this option may work perfectly; on the other hand it may do nothing at all! -v, --verbose Equivalent to -d 3. -V, --version Prints the program's version number and exits. -g,--ignore-gid Ignores changes of group. -m,--ignore-mode Ignores changes of mode. -o,--file=outfile Writes the database to outfile. The default is to write to standard output. -u,--ignore-uid Ignores changes of owner/user. EXIT STATUS Faddiff returns zero if there are no differences. If there are differ- ences it returns non-zero. On failure it returns non-zero and displays a diagnostic message. (Note that between releases 4.6.2 and 5.1, fad- diff returned zero even if there were differences.) FILES None. ENVIRONMENT VARIABLES None. EXAMPLES The following output shows the results on running faddiff on two FAD files. These files were generated with mkfad(1). In between time changes of a type corresponding the the filenames were made: faddiff before.fad after.fad testdir/changedest: linked_to(dest1 -> dest2) testdir/changegrp: group(79 -> 0) testdir/changeme: links( -> ./linkedfile), checksum(5233 -> 5300) testdir/changemin: major/minor(515 -> 772) testdir/changemytype: type(f -> d) testdir/changeown: owner(1663 -> 1194) testdir/changeperm: mode(100600 -> 100755) testdir/deleteme: deleted() testdir/fad1: checksum(0 -> 25025) testdir/fad2: added() testdir/linkedfile: added() testdir/newfile: added() CAVEATS None. STANDARDS This manual page documents version 7 of faddiff. SEE ALSO perl(1), fad(5), faddiff(1), compress(1), uncompress(1), gzip(1), gun- zip(1), fad-config(1) AUTHOR Alexis Huxley <alexishuxley@gmail.com> COPYRIGHT & DISTRIBUTION POLICY Copyright (C) 1995-2024 Alexis Huxley This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 30 Jul 2024 FADDIFF(1)