EMRECENT(1)

Name

emrecent - Inspect recent Emdebian builds and automate uploads

Copyright and Licence

Copyright (C) 2008 Neil Williams <codehelp@debian.org>

This package 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 3 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
MERCHANTABILITY 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, see <http://www.gnu.org/licenses/>.

Usage

emrecent [-a|--arch ARCH] [-s|--skip-check] [-t|--time DAYS] [-p|--pbuilder]
[-x|--exclude-error] [-r|--respawn]
emrecent [-a|--arch ARCH] [-s|--skip-check] FILENAME
emrecent [-a|--arch ARCH] [-p|--pbuilder] --noninteractive [--dput-cfg FILE] emrecent -?|-h|--help|--version

Options

-a|--arch ARCH: Set architecture (default: defined by dpkg-cross) -t|--time DAYS: Number of days to consider as 'recent'.
-s|--skip: Skip the emdebcheck (use with care).
-w|--whiptail: Use whiptail even if zenity is installed.
-p|--pbuilder: Inspect the pbuilder result directories.
--noninteractive: Autobuilder mode.
--dput-cfg FILE: Alternative dput config file to make a noninteractive
upload.
-x|--exclude-error: Exclude packages that have existing emrecent error logs. -r|--respawn: Reload emrecent with the same options at the end
of the upload.

Description

emrecent is a simple helper to check for recently modified .changes
files that have not been uploaded, view the details of the build using zenity (a GNOME dialog utility) and deb-gview (a .deb file viewer for
GNOME) then sign the .changes file and upload if you consider the build is usable.

To check a single .changes file, specify the file on the command line. emrecent will only offer this package for viewing and possible upload
(regardless of any timelimit setting).

Errors detected when viewing the build data are logged in
emrecent_error.log in the trunk directory of the build. Details of the error are reported via 'emsource --status $package'. Packages with
emrecent error logs cannot be uploaded by emrecent until the log file
is removed.

If --time is not specified, any .changes file beneath your Emdebian
working directory that has been modified in the last 7 days but which
is not accompanied by a .upload file will be listed by emrecent.

emrecent needs 'dput' to be properly configured in order to make the
final upload. See
http://wiki.debian.org/Embedded_Debian_packaging_infrastructure

By default, emrecent runs emdebcheck on each package listed in the
.changes file (except locale packages which have no dependencies) and
reports an emrecent error if emdebcheck fails. It may be a simple case of uploading the dependency package first, it may be a case of fixing a broken package before uploading the fix for the current package.

This is an important check to preserve archive integrity but sometimes a build contains some good packages and some that would be expected to fail. emrecent always skips -dev packages as these are unlikely to
ever be installable (and certainly not usable) on an embedded system
without a compiler and also skips all tdeb packages. If emrecent
reports an error from emdebcheck, view the emrecent error log and/or
run emdebcheck manually to verify whether the error affects a package
that is likely to be installed on the embedded device. Then remove the emrecent error log file and pass the -s option to emrecent to skip the edos-debcheck.

Under certain circumstances, it may be necessary to use emrecent with
packages built with empdebuild in a build chroot. The '-p|--pbuilder'
option allows emrecent to scan the 'pbuilder/result' directory tree.
Note that when using 'emrecent -p', error logs are put into the same
'pbuilder/result/' directory tree, as are .upload files. Wherever
possible, packages should be buildable inside and outside a chroot so
do try to fix the package. (You can also pass a single filename to
emrecent.)

Options

-x|--exclude-error: Exclude packages that have existing emrecent error logs.
Allow emrecent to ignore existing emrecent error logs if you have a lot of packages to view and upload.

-r|--respawn: Reload emrecent with the same options at the end
of the upload.
If everything appeared to work for the previous upload, restart
emrecent with the same options to allow you to make a series of
uploads.
Note that --skip is automatically reset when using --respawn because
--skip should be used only for specific packages.
Care is needed not to cause unnecessary errors in respawn mode - the
order in which you review packages is the order in which they are
uploaded which can mean that viable packages gets tagged with emrecent errors simply because that package was reviewed before all the
dependencies were uploaded. (The data used for edos-debcheck is
refreshed each time emrecent respawns.)
Remember to keep an eye on the controlling terminal - there are too
many messages generated during an upload to put the entire content in a zenity or whiptail interface.
Try not to upload the tdeb before the package of the same version.

Noninteractive mode

Noninteractive mode is currently experimental and may well change
again. The main intention is for noninteractive mode to only support
autobuilders. emrecent tries to be as quiet as possible (although apt downloads for emdebcheck do tend to be noisy) and lintian errors or
emdebcheck failures cannot be skipped.

For noninteractive mode, a different SSH key or different connection
method may be necessary - so an alternate dput.cfg file is explicitly
supported for this mode. The dput config should support uploading hosts called:
emdebian-target - the application and library packages
emdebian-locale - the TDebs.
These are just labels - you are free to use the label to refer to any
upload destination, not exclusively www.emdebian.org.
Configuring SSH and dput are beyond the scope of this manpage. See the ssh, dput and dput.cf manpages for more information.

See Also

emdebcheck (1), emsource (1), embug (1), emdebian-tools (1),
em_autobuild (1), dput (1), dput.cf (5), ssh (1), ssh-keygen (1).
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout