sourCEntral - mobile manpages

pdf

EMRECENT

Name

emrecent − Inspect recent Emdebian builds and automate uploads

Copyright and Licence

 Copyright (C) 2008  Neil Williams <codehelp AT debian DOT 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).

pdf