On Sat, Nov 09, 2002 at 05:35:40AM +0000, Mikhael Goikhman wrote:
> To keep quality and consistency I follow these rules for our files
> installed into bindir. I would like others to follow them too.
> 
> 1) We have a special bin/ subdirectory for programs installed to bindir.
> 
> 2) We don't install any program to bindir that does not have a man page.
> 
> 3) We don't install any program to bindir without --help and --version.

And "-h", "-?" and "-V" please.  In the long run I would like to
switch to GNU style long options.

> 4) The programs in the system's bindir should not have any extension.
> 
>    Extensions like .sh or .pl are good for files without +x permissions
>    so that a user could know what interpretter to run on these files.
>    Additional reasoning:
>    My /usr/bin has 2002 files. From 280 sh/bash scripts only 11 are *.sh.
> 
> 5) The programs should have the "fvwm-" prefix for consistency.
> 
>    Additional reasoning:
>    My /usr/bin has 242 files in the dash form like "gnome-bug" and 
>    and only 95 files in the underscore form like "pg_dump".
> 
> I think many projects follow these rules. They lead to a better user
> experience.

Although I don't see rule 5 as mandatory, it is still better to
follow some rules than to let chaos reign.  One should also point
out that only programs should be installed into bindir that are
useful when they are exectued from a command line.  Programs that
do not fulfill this criterion belong into libexecdir.

This is what I think it should look like for the current programs:

                                  source dir   install dir
  ---------------------------------------------------------
  fvwm-bug                        bin          bindir
  fvwm-config                     bin          bindir
  fvwm-convert-2.2                bin          bindir
  fvwm-convert-2.4                bin          bindir
  fvwm-convert-2.6                bin          bindir
  fvwm-menu-desktop               bin          libexecdir
  fvwm-menu-directory             bin          libexecdir
  fvwm-menu-headlines             bin          libexecdir
  fvwm-menu-xlock                 bin          libexecdir
  fvwm-perllib                    bin          libexecdir
  fvwm-root                       bin          bindir
  build_dev.sh                    utils        -
  configure_dev.sh                utils        -
  fvwm_make_browse_menu.sh        examples     docdir
  fvwm_make_directory_menu.sh     examples     docdir
  make_fvwmdist.sh                utils        -
  quantize_pixmaps                bin          ?
  rebuild_dev.sh                  utils        -
  xselection                      bin          -

And while we are defining rules, I think every new script or
program should follow the GNU coding standards with respect to
handling and naming command line options, default options and the
output of the -V/--version option.  We can save a lot of trouble
by using getopt_long() (yes, I know it's not portable - we need
the getopt source file in the distribution).  I even have a nice
template for option parsing with getopt.

P.S.:  I have just removed all the "-blabla" options from
fvwm-root.  They were all introduced after 2.5.0 and can thus be
removed without notice before 2.6.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to