man/bug updates
[ule.git] / doc / update-live-ebuilds.8
blobf3ee627a4831c34008dd5a5359a0446bf772b110
1 .\" Process this file with
2 .\" groff -man -Tascii foo.1
3 .\"
4 .TH update-live-ebuilds 8 "OCTOBER 2007" "" "User Manuals"
5 .SH NAME
6 update-live-ebuilds \- The SCM update detector and install initiator.
7 .SH SYNOPSIS
8 .B update-live-ebuilds [-abhpq]
9 .I [PACKAGE|PKGSPEC] ..
10 .SH DESCRIPTION
11 .B update-live-ebuilds
12 detects portage compatible packages which pull compilation files from a supported source code management, such as CVS, SVN, GIT, Mercurial, Bazaar or TLA. If an update has been detected, it initiates the portage compatible installer to update the package. By default, it attempts to update all SCM packages. Alternatively, the user can use the package as an argument to this script to only update the package, but do be warned, arguments are treated as fuzzy values and will match many live ebuilds if they exist. For example if "update-live-ebuilds foo" is executed, it will find foo, foobar, but it might also find foocat.
13 .SH OPTIONS
14 .IP -a
15 Updates or baselines, reguardless if it's needed. This usually overrides anything that would prevent updating.
16 .IP -b
17 Baseline, this option skips the update and writes out the database with the information which is currently in ${DISTDIR}. This option is used, for example, right after you have done initial emerge on a package, and don't want ule to reemerge it just for the ule cookie's sake.
18 .IP -h
19 Print the usage information.
20 .IP -p
21 If an update is required, only pretend to do it.
22 .IP -q
23 Try to be as quiet as possible, except for errors.
24 .SH FILES
25 .I /etc/ule/ule.conf
27 The system wide configuration file. This file is self documented.
29 .I /etc/ule/ule.mask
31 If set in /etc/ule/ule.conf, this file takes one package spec per line and must be followed by a 'newline'. These packages will not be updated by update-live-ebuilds.
33 .I /etc/ule/ule.ask
35 If set in /etc/ule/ule.conf, this file takes one package spec per line and must be followed by a 'newline' The user will be prompted before updating the specific package.
37 .I /etc/ule/ule.date
39 If set in /etc/ule/ule.date, this file takes one package spec per line, a space, then a number of days; this will delay the updating of a specific package for the specified number of days. For example, if it is desired to restrict update attempts of a specific package to once every two weeks, the following should be in the update-live-ebuilds.date file 'media-sound/foo-live 14'. This must be followed by a 'newline'. If not updated, subsequent update-live-ebuilds runs will continue to attempt to update this specific package until an update occurs.
41 .SH DETECTING UPDATES
42 update-live-ebuilds usually finds live ebuilds in the portage compatible database, /var/db/pkg. Then, if PEEK support is not enabled, it updates the repository in the DISTDIR, with the information found in the package's environment file. update-live-ebuilds normally does this quietly, thus the user may think that update-live-ebuilds is unnecessarily updating. This is not always the case.
44 If PEEK support is not enabled, or pre-PEEK support, when the package begins to install, in the fetch stage, the user may be confused when noticing there are no updates. On the flip side, with PEEK support the user may see the portage compatible installer actually updates during fetch. To make things more confusing, the user may see that sometimes the package maybe flagged for updates, with PEEK support on and the fetch didn't need to update the source directory. This could be due to many factors, such as DISTDIR being previously updated by another computer on the network, if this is a shared DISTDIR; a failed update; etc.
46 The point is that the fetch procedure in the portage compatible installer is not a good method of detecting weather a live ebuild is up to date.
48 .SH ORDER
49 update-live-ebuilds orders installs, when possible. Live ebuilds are installed with libraries first, to give the ebuilds to be installed after a good base to link to, once again, if necessary. Programs that are not plugins are installed next. Plugins follow all other programs, so they can be cleanly based on the libraries and programs.
51 .SH EXAMPLES
52 .B update-live-ebuilds -ab
54 This will baseline all live ebuilds. In other words, this could be run on the first ule run to prevent reemerging all live ebuilds. This is used when /var/pkg/ule has been corrupted or removed, this will quickly set it back up.
56 .B update-live-ebuilds media-sound/foo-live media-gfx/bar-live
58 This will update only the package 'media-sound/foo-live' and 'media-gfx/bar-live', only if the respective source SCM has a newer revision.
60 .B update-live-ebuilds -a media-sound/foo-live
62 This will update only the package 'media-sound/foo-live', weather or not the source SCM has a new revision. This is a simple equalivent of emerge 'media-sound/foo-live' && update-live-ebuilds -b 'media-sound/foo-live'
63 .B update-live-ebuilds -a foo
65 This will update the package foo, foobar, any package with foo in the name that is an ebuild from a repository. Be careful when using syntax like this as it is fuzzy and will match all kinds of things you may have not meant.
67 .B update-live-ebuids foo bar
69 This will update not only foo, but app-misc/foo-bar, www-client/foo-cat, net-print/barcat, etc.
71 .SH BUGS
72 TLA and Bazaar support are in update-live-ebuilds, but both are untested, and are not on by default. Testing and feedback welcome.
74 Methods in update-live-ebuilds which require passing information through the environment maybe blocked by sudo's env_reset directive. This will be fixed by sudo 1.6.9 and greater, once it is in the official repository this release will be a blocker for update-live-ebuilds to remove the the chance for silent bugs.
76 ule.date does not do the correct time at the moment. I hope to fix this when time becomes available to me.
78 update only does not yet support slots. This will likely require a few hours and strict package arguments, not necessarily a bad thing, but will take time I don't have at the moment.
80 .SH AUTHOR
81 Avuton Olrich <avuton@gmail.com>