Man Linux: Main Page and Category List

NAME

       mini-dinstall - daemon for updating Debian packages in a repository

SYNOPSIS

       mini-dinstall [options] [directory]

DESCRIPTION

       mini-dinstall  is a tool for installing Debian packages into a personal
       APT repository; it is very similar to the dinstall tool  on  auric:  it
       takes a changes file and installs it into the Debian archive.

       The  main  focus of operation is a changes file.  This file specifies a
       set of Debian binary packages, and often contains a source package too.
       Changes  files  are  intended  to  group  both Debian source and binary
       packages together, so that there is a single file  to  manipulate  when
       uploading a package.

       mini-dinstall takes a changes file in its incoming directory (or on its
       command line in batch mode), and installs the files it references  into
       a directory, and sets up Packages and Sources files for use with APT.

RUNNING

       mini-dinstall  can  run in one of two modes: batch mode or daemon mode.
       In batch mode, the queue is process immediately, and the command  exits
       when  it  is  done. In daemon mode, which is the default, mini-dinstall
       runs in the background and  continually  checks  the  queue,  and  will
       process it whenever it has changed.

       The  optional  directory  argument  specifies the root directory of the
       queue. If no argument is specified, the value  from  the  configuration
       file is used.

       The following options can be used:

       -v, --verbose
              display extra information while running

       -q, --quiet
              display as little information as possible

       -c, --config=FILE
              use    FILE    as    the    configuration   file,   instead   of
              ~/.mini-dinstall.conf

       -d, --debug
              output debugging information to the terminal and to the log

       --no-log
              don’t write any information to the logs

       --no-db
              disable lookups on package database. apt-ftparchive run  without
              --db option

       -n, --no-act
              don’t  perform  any  changes;  useful in combination with the -v
              flag

       -b, --batch
              run in batch mode

       -r, --run
              tell  the  currently  running  daemon  to  process   the   queue
              immediately

       -k, --kill
              kill the currently running daemon

       --help display a short overview of available options

       --version
              display the software version

CONFIGURATION

       mini-dinstall’s  main configuration file is ~/.mini-dinstall.conf.  The
       file consists of a number of different sections, each one applying to a
       different  distribution (which corresponds to the Distribution field in
       a changes file). There is  also  a  default  section  (DEFAULT),  which
       applies to all distributions.

       Each section can contain any number of

              name = value

       combinations, which set a configuration parameter for that distribution
       (or the default one). Lists should be separated by commas, strings need
       only  be  enclosed  with  quotes  if they contain spaces or commas, and
       boolean values should be 1 for true, and 0 for false.

       The configuration parameters available in the DEFAULT  section  are  as
       follows:

       archivedir
              The  root of the mini-dinstall archive. Must be set, either here
              or on the command line.

       extra_keyrings
              Additional GnuPG keyrings to use for signature verification.

       incoming_permissions
              The permissions for the incoming directory.  mini-dinstall  will
              attempt  to  set the directory’s permissions at startup. A value
              of zero (´’0´’ or ´’0000´’)  will  disable  permission  setting.
              Doing  this,  you  MUST  set  permission  for  incoming by hand!
              Defaults to 0750.

       keyrings
              GnuPG keyrings to use  for  signature  verification  of  changes
              files.  Setting  this parameter will modify the default list; it
              is generally better to modify extra_keyrings  instead.  Defaults
              to the keyrings from the debian-keyring package.

       logfile
              The  filename (relative to archivedir) where information will be
              logged.  Defaults to “mini-dinstall.log”.

       mail_log_flush_count
              Number of log messages after which queued messages will be  sent
              to you.  Defaults to 10.

       mail_log_flush_level
              The  log  level  upon  which  to immediately send all queued log
              messages. Valid values are the same as  for  the  mail_log_level
              option. Defaults to ERROR.

       mail_log_level
              The  default  log  level  which  is  sent to you by email. Valid
              values include DEBUG, INFO, WARN, ERROR, and CRITICAL.  Defaults
              to ERROR.

       mail_to
              The  user to whom logs should be mailed. Defaults to the current
              user.

       mail_subject_template
              Style of the email subject. Available substitution variables are
              source,  version,  maintainer,  ... (all statements in .changes)
              and changes_without_dot (same as changes, but without lines with
              only a dot).  Default is:

               mini-dinstall: Successfully installed %(source)s %(version)s to
              %(distribution)s

       mail_body_template
              Style of the email body. Valid values are the same  as  for  the
              mail_subject_template option. Default is:

               Package: %(source)s
               Maintainer: %(maintainer)s
               Changed-By: %(changed-by)s
               Changes:
               %(changes_without_dot)s

       tweet_server
              server to push tweets. Possible values are twitter or identica

       tweet_user
              username to login on tweet server

       tweet_password
              password to login on tweet server

       tweet_template
              Style  of  the  tweet body. Valid values are the same as for the
              mail_subject_template option. Default is:

               Installed %(source)s %(version)s to %(distribution)s

       trigger_reindex
              In daemon mode, whether or not  to  recreate  the  Packages  and
              Sources  files  after  every  upload.  If  you disable this, you
              probably want to enable dynamic_reindex. You may want to disable
              this if you install a lot of packages. Defaults to enabled.

       use_dnotify
              If  enabled,  uses the dnotify(1) command to monitor directories
              for  changes.  Only  relevant  if  dynamic_reindex  is  enabled.
              Defaults to false.

       verify_sigs
              Whether  or  not to verify signatures on changes files. Defaults
              to enabled if the debian-keyring package is installed,  disabled
              otherwise.

       The configuration parameters that can be set in the DEFAULT section and
       the distribution-specific sections are:

       alias  A list of alternative distribution names.

       architectures
              A list of architectures to create subdirectories  for.  Defaults
              to “all, i386, powerpc, sparc”.

       archive_style
              Either  “flat” or “simple-subdir”. A flat archive style puts all
              of the binary packages into one subdirectory, while  the  simple
              archive  style  splits  up  the binary packages by architecture.
              Must be set.

              Sources for the “flat” style should look like:

                      deb file:///home/walters/debian/ unstable/
                      deb-src file:///home/walters/debian/ unstable/
                      deb file:///home/walters/debian/ experimental/
                      deb-src file:///home/walters/debian/ experimental/

              Sources for the “subdir” style should look like:

                      deb http://localhost/~walters/debian/ local/$(ARCH)/
                      deb http://localhost/~walters/debian/ local/all/
                      deb-src http://localhost/~walters/debian/ local/source/

       chown_changes_files
              Determines if the changes files should  be  made  unreadable  by
              others.  This  is enabled by default, and is a good thing, since
              somebody else could  unexpectedly  upload  your  package.  Think
              carefully before changing this.

       dynamic_reindex
              If enabled, directories are watched for changes and new Packages
              and Sources files are created as needed.  Only  used  in  daemon
              mode. Defaults to true.

       generate_release
              Causes  a  Release file to be generated (see release_* below) if
              enabled.  Disabled by default.

       keep_old
              Whether or not old packages should be kept, instead of  deleting
              them  when  newer  versions  of  the same packages are uploaded.
              Defaults to false.

       mail_on_success
              Whether to mail on successful installation. Defaults to true.

       tweet_on_success
              Whether to  tweet  (e.g.  on  twitter/identi.ca)  on  successful
              installation. Defaults to false.

       max_retry_time
              The  maximum  amount  of  time  to wait for an incomplete upload
              before rejecting it. Specified in seconds. Defaults to two days.

       poll_time
              How  often  to  poll  directories  (in  seconds)  for changes if
              dynamic_reindex is enabled. Defaults to 30 seconds.

       post_install_script
              This script is run after the changes file is installed, with the
              full path of the changes file as its argument.

       pre_install_script
              This  script  is  run before the changes file is installed, with
              the full path of the changes file as its argument. If  it  exits
              with an error, the changes file is skipped.

       release_codename
              The Codename field in the Release file. Defaults to “None”.

       release_description
              The Description field in the Release file. Defaults to “None”.

       release_label
              The  Label  field  in  the Release file. Defaults to the current
              user’s username.

       release_origin
              The Origin field in the Release file. Defaults  to  the  current
              user’s username.

       release_suite
              The Suite field in the Release file. Defaults to “None”.

       experimental_release
              The experimental_release field mark the release as experimental.
              Defaults to “None”.

       release_signscript
              If specified, this script will be called to sign Release  files.
              It will be invoked in the directory containing the Release file,
              and should accept the filename of the Release file  to  sign  as
              the first argument (note that it is passed a temporary filename,
              not Release). It should generate a detached signature in a  file
              named Release.gpg.

USING DPUT

       One  convenient  way to use mini-dinstall is in combination with dput’s
       “local” method. The author generally tests his Debian packages by using
       dput  to  upload them to a local repository, and then uses APT’s “file”
       method to retrieve them locally. Here’s a sample dput stanza:

               [local]
               fqdn = space-ghost.verbum.private
               incoming = /src/debian/mini-dinstall/incoming
               method = local
               run_dinstall = 0
               post_upload_command = mini-dinstall -r

       Obviously, you should replace the “fqdn”  and  “incoming”  values  with
       whatever is appropriate for your machine.  Some sample APT methods were
       listed in the configuration section.

       Now, all you have to do to test your Debian packages is:

               $ dpkg-buildpackage
               $ dput local ../program_1.2.3-1_powerpc.changes
               # wait a few seconds
               $ apt-get update
               $ apt-get install program

AUTHOR

       mini-dinstall    was    originally    written    by    Colin    Walters
       <walters@debian.org>   and   is  now  maintained  by  Christoph  Goehre
       <christoph.goehre@gmx.de>.

SEE ALSO

       apt-get(8), dnotify(1), dput(1), gpg(1)