Richard Jones [Sun, 11 Jul 2010 22:11:08 +0000 (23:11 +0100)]
edit: Clean up temporary files.
Note to self: The 'tempfile' function does *not* default to
removing files with the program exits!
Richard Jones [Sun, 11 Jul 2010 22:09:07 +0000 (23:09 +0100)]
edit: Add -b (backup) option and make uploading more robust.
Richard Jones [Sun, 11 Jul 2010 15:46:15 +0000 (16:46 +0100)]
edit: Add -e 'expr' option to non-interactively apply expression to the file.
(Suggested by Justin Clift).
Richard Jones [Thu, 8 Jul 2010 10:54:50 +0000 (11:54 +0100)]
Prepare for new development branch, starting at 1.5.0.
Add BUGS and RELEASE-NOTES to EXTRA_DIST.
Also update the RELEASE-NOTES file.
Richard Jones [Fri, 2 Jul 2010 16:52:51 +0000 (17:52 +0100)]
Make tmp directory world readable (RHBZ#610880).
If you have a restrictive umask (0077 for example) then
files in the tmp directory would be created with 0600
permissions. Example:
drwx------. 2 rjones rjones 4096 Jul 2 17:52 .
drwxrwxrwt. 57 root root 102400 Jul 2 17:52 ..
-rw-------. 1 rjones rjones
86328832 Jul 2 17:52 initrd
lrwxrwxrwx. 1 rjones rjones 46 Jul 2 17:52 kernel -> /boot/vmlinuz-2.6.33-0.40.rc7.git0.fc13.x86_64
This in itself is not a problem. However in virt-v2v we also
change UID:GID and the result is that qemu is unable to read
the initrd file:
qemu: could not load initial ram disk '/tmp/libguestfs2ssynP/initrd'
With this patch we make the tmp directory and the files
world readable. After the patch:
$ ls -la /tmp/libguestfsJFVzPg/
total 116192
drwxr-xr-x. 2 rjones rjones 4096 Jul 2 18:03 .
drwxrwxrwt. 56 root root 102400 Jul 2 18:03 ..
-rw-r--r--. 1 rjones rjones
118869504 Jul 2 18:03 initrd
lrwxrwxrwx. 1 rjones rjones 46 Jul 2 18:03 kernel -> /boot/vmlinuz-2.6.33-0.40.rc7.git0.fc13.x86_64
Richard Jones [Wed, 7 Jul 2010 14:01:38 +0000 (15:01 +0100)]
fish: Don't fail if -m and --listen flags are both given (RHBZ#612178).
Testing this against a Fedora disk image:
$ ./fish/guestfish --ro -a F13.img -m /dev/sda1 --listen
export GUESTFISH_PID=6033
$ ./fish/guestfish --remote=6033 -- ping-daemon
$ ./fish/guestfish --remote=6033 -- ping-daemon
$ ./fish/guestfish --remote=6033 -- exit
Without this fix the first remote command would fail because
qemu would have already been killed.
Richard Jones [Fri, 2 Jul 2010 19:12:41 +0000 (20:12 +0100)]
todo: Add comment about progress of long-running operations.
Richard Jones [Fri, 2 Jul 2010 09:50:38 +0000 (10:50 +0100)]
inspector: Improve error message when YAML::Any library is not installed.
Richard Jones [Mon, 28 Jun 2010 12:51:42 +0000 (13:51 +0100)]
Explicitly depend on e2fsprogs.
See: http://lists.fedoraproject.org/pipermail/devel/2010-June/137953.html
Richard Jones [Mon, 28 Jun 2010 08:13:36 +0000 (09:13 +0100)]
Fix gfs2 support by adding required kernel modules.
Richard Jones [Wed, 16 Jun 2010 15:12:52 +0000 (16:12 +0100)]
Version 1.3.21.
Richard Jones [Wed, 16 Jun 2010 14:25:45 +0000 (15:25 +0100)]
ocaml: Fix thread safety of strings in bindings (RHBZ#604691).
There's a thread safety issue with the current OCaml bindings which
is well explained in the bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=604691
This commit fixes the safety issue by copying strings temporarily
before releasing the thread lock. Updated code looks like this:
char *filename = guestfs_safe_strdup (g, String_val (filenamev));
int r;
caml_enter_blocking_section ();
r = guestfs_add_drive_ro (g, filename);
caml_leave_blocking_section ();
free (filename);
if (r == -1)
ocaml_guestfs_raise_error (g, "add_drive_ro");
Also included is a regression test.
Richard Jones [Wed, 16 Jun 2010 13:29:39 +0000 (14:29 +0100)]
TODO: Add a note about impl of list-filesystems.
Richard Jones [Tue, 15 Jun 2010 10:15:30 +0000 (11:15 +0100)]
todo: More ideas for TODO list.
Richard Jones [Tue, 15 Jun 2010 10:15:06 +0000 (11:15 +0100)]
Update Spanish translations (RHBZ#603870).
Richard Jones [Fri, 11 Jun 2010 09:40:48 +0000 (10:40 +0100)]
perl: Check all images are defined in first param of open_guest.
Richard Jones [Thu, 10 Jun 2010 14:25:43 +0000 (15:25 +0100)]
perl: Add explicit close() method (RHBZ#602592).
This add an optional explicit $g->close method which may be
used to force the handle to be closed immediately. Note the
provisos about this method in the manual page entry. Callers
should *not* normally use this method.
The implementation of the handle also changes. Before, the
handle was a blessed reference to an integer (the integer
being the pointer to the C guestfs_h handle). Now we change
this to a hashref containing currently the following field:
_g => pointer to C guestfs_h handle (as an integer)
If this field is not present, it means that the handle has been
explicitly closed. This avoids double-freeing the handle.
The user may add their own fields to this hash in order to store
per-handle data. However any fields whose names begin with
an underscore are reserved for use by the Perl bindings.
This commit also adds a regression test.
This commit also changes the existing warning when you call
a method without a Sys::Guestfs handle as the first parameter,
into an error. This is because such cases are always errors.
Richard Jones [Thu, 10 Jun 2010 11:38:57 +0000 (12:38 +0100)]
Add error callback (RHBZ#602599).
Read the note in the man page before using this feature.
Richard Jones [Thu, 10 Jun 2010 11:26:06 +0000 (12:26 +0100)]
Fix typo in documentation of guestfs_set_launch_done_callback.
Richard Jones [Tue, 8 Jun 2010 17:17:37 +0000 (18:17 +0100)]
Version 1.3.20.
Richard Jones [Tue, 8 Jun 2010 17:17:46 +0000 (18:17 +0100)]
Revert "perl: Rerun configure if MAX_PROC_NR changes."
This reverts commit
f8ee7869f4836427109959cf20e299a31fa86eaf.
Richard Jones [Tue, 8 Jun 2010 17:12:32 +0000 (18:12 +0100)]
TODO: Freeze/thaw filesystems.
Richard Jones [Tue, 8 Jun 2010 17:11:16 +0000 (18:11 +0100)]
TODO: Need to add regression test for virt-inspector.
Richard Jones [Tue, 8 Jun 2010 17:04:17 +0000 (18:04 +0100)]
TODO: 'file' command should be fixed.
Richard Jones [Tue, 8 Jun 2010 15:44:18 +0000 (16:44 +0100)]
virt-df: Disallow -h and --csv options together (RHBZ#600977).
Before this commit, if you used the -h and --csv options together
you would get these warnings from virt-df:
$ virt-df -h --csv Guest
Virtual Machine,Filesystem,Size,Used,Available,Use%
Argument "13.5G" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
Argument "4.7G" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
Argument "8.1G" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
"/dev/vg_trick/RHEL55x64","/dev/VolGroup00/LogVol00",13,4,8,34.8%
Argument "98.7M" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
Argument "18.8M" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
Argument "74.9M" isn't numeric in printf at /home/rjones/d/libguestfs/tools/virt-df line 298.
"/dev/vg_trick/RHEL55x64","/dev/vda1",98,18,74,19.0%
We could fix this so that the human-readable numbers get written
into the CSV file. However would probably be wrong for most uses
of the CSV format (databases and spreadsheets) since they would not
be able to interpret these human-readable numbers, or worse could
misinterpret, eg. thinking that "1M" and "1G" are both 1.
Therefore this commit disallows this combination of options.
Richard Jones [Tue, 8 Jun 2010 15:04:01 +0000 (16:04 +0100)]
file: Fix file command on /dev/VG/LV paths (RHBZ#582484).
Previous commit
4df593496e116dfb635731c058b7627e81fc179c broke the
"file" command on logical volume paths, since these are symbolic
links. We *should* follow these (only).
This inadvertantly broke virt-inspector too, which indicates that
we need more regression testing in this area. Since carrying whole
Fedora images around could make the distribution even larger than
now, I'm not sure at the moment how to do this.
Thanks to Matt Booth for diagnosing this bug.
Richard Jones [Mon, 7 Jun 2010 14:29:31 +0000 (15:29 +0100)]
Use the noop scheduler inside the appliance.
In my limited tests, this seems to make a small but noticable
difference, improving the performance of some straightforward
read operations by a little over 10%.
For more information see:
http://kbase.redhat.com/faq/docs/DOC-5428
Richard Jones [Fri, 4 Jun 2010 17:44:49 +0000 (18:44 +0100)]
Add release notes.
To generate the "Bugs fixed" list, run the bugs-in-changelog script
like this:
./bugs-in-changelog 1.0.89..
Richard Jones [Fri, 4 Jun 2010 15:38:55 +0000 (16:38 +0100)]
Version 1.3.19.
Update BUGS and PO files.
Richard Jones [Fri, 4 Jun 2010 10:45:06 +0000 (11:45 +0100)]
file: Restrict to regular files (RHBZ#582484).
The file call can hang if called on char devices (because we are
using the file -s option).
This is hard to solve cleanly without adding another file API.
However this restricts file to regular files, unless called explicitly
with a /dev/ path. For non-regular files, it will now return a
string like "directory".
There is a small semantic change for symbolic links. Previously
it would not have worked at all on absolute links (or rather, the
results would have been undefined). It would have treated relative
symlinks to regular files as the regular file itself. Now it will
return the string "symbolic link" in both cases.
This commit also makes the API safe when called on untrusted
filesystems. Previously a filesystem might have been set up so
that (eg) /etc/redhat-release was a char device, which would have
caused virt-inspector and virt-v2v to hang. Now it will not hang.
Richard Jones [Fri, 4 Jun 2010 10:55:54 +0000 (11:55 +0100)]
touch: Restrict touch to regular files only (RHBZ#582484).
Richard Jones [Fri, 4 Jun 2010 10:23:01 +0000 (11:23 +0100)]
daemon: Rearrange code in 'file' command.
path = path to access file (/sysroot/.. or /dev/..)
display_path = original path, saved so we can display it
buf = optional buffer which is freed along return codepaths
There should be no change to the semantics of the code.
Richard Jones [Fri, 4 Jun 2010 10:21:58 +0000 (11:21 +0100)]
gnulib: Ignore asm-underscore.m4 in the correct place.
Richard Jones [Fri, 4 Jun 2010 08:46:34 +0000 (09:46 +0100)]
Update to latest gnulib.
Richard Jones [Thu, 3 Jun 2010 13:03:08 +0000 (14:03 +0100)]
mkfs-b: Map block size to cluster size for VFAT and NTFS partitions (RHBZ#599464).
This also adds a regression test for VFAT and (conditionally)
NTFS filesystems.
Richard Jones [Thu, 3 Jun 2010 13:01:18 +0000 (14:01 +0100)]
mkfs-b: Check that blocksize parameter is > 0 and a power of 2.
Richard Jones [Thu, 3 Jun 2010 13:31:58 +0000 (14:31 +0100)]
generator: Allow individual tests to depend on daemon features.
Using IfAvailable "featurename" we allow individual tests to
only run if the feature is available in the daemon.
This will allow us to extend testing to a lot more optional
features such as NTFS.
Richard Jones [Thu, 3 Jun 2010 13:30:36 +0000 (14:30 +0100)]
tests: Factor out common code into 'is_available' function.
This commit is just code motion.
Richard Jones [Thu, 3 Jun 2010 10:49:38 +0000 (11:49 +0100)]
grub-install: Enable grub-install tests and create explicit device.map file.
Richard Jones [Thu, 3 Jun 2010 10:48:41 +0000 (11:48 +0100)]
grub-install: In docs suggest manually creating device.map (RHBZ#484986).
Richard Jones [Wed, 2 Jun 2010 17:47:30 +0000 (18:47 +0100)]
Version 1.3.18.
Update BUGS and PO files.
Richard Jones [Wed, 2 Jun 2010 16:12:59 +0000 (17:12 +0100)]
RHEL 6: sr_mod.ko is needed for RHEL 6 to see CD-ROM devices (RHBZ#598807).
Richard Jones [Wed, 2 Jun 2010 14:35:58 +0000 (15:35 +0100)]
parted: Check partition number >= 1 in several calls.
Richard Jones [Wed, 2 Jun 2010 11:32:33 +0000 (12:32 +0100)]
daemon: Parse output of old parted which didn't support -m option (RHBZ#598309).
This fixes the following commands when run with RHEL 5-era parted:
get-bootable
get-parttype
part-list
Richard Jones [Wed, 2 Jun 2010 11:31:40 +0000 (12:31 +0100)]
daemon: count_strings function returns size_t
Richard Jones [Wed, 2 Jun 2010 14:10:38 +0000 (15:10 +0100)]
base64-in: Ignore garbage characters in input.
On RHEL 5 you have to specify the -i option to get the
external 'base64' command to ignore \n characters. (The
Fedora version seems to ignore these characters anyway).
Add this option so the tests can pass on RHEL 5.
Richard Jones [Wed, 2 Jun 2010 12:27:19 +0000 (13:27 +0100)]
resize2fs: Document this command also works with ext4 (thanks Yufang Zhang).
Richard Jones [Tue, 1 Jun 2010 15:27:33 +0000 (16:27 +0100)]
fish: help command return error for non-existent commands (RHBZ#597145).
With this change, the exit status indicates error for non-existent
commands.
$ guestfish -h foo
foo: command not known, use -h to list all commands
$ echo $?
1
$ guestfish help foo
foo: command not known, use -h to list all commands
$ echo $?
1
Richard Jones [Tue, 1 Jun 2010 15:18:53 +0000 (16:18 +0100)]
daemon: write-file: Check range of size parameter (RHBZ#597135).
This also adds a regression test.
Richard Jones [Tue, 1 Jun 2010 14:50:14 +0000 (15:50 +0100)]
daemon: Limit label lengths (RHBZ#597118).
Richard Jones [Wed, 2 Jun 2010 12:36:19 +0000 (13:36 +0100)]
Update BUGS and PO files.
Richard Jones [Tue, 1 Jun 2010 13:04:51 +0000 (14:04 +0100)]
Fix and deprecate get_e2label and get_e2uuid (RHBZ#597112).
Fix these calls (see description in RHBZ#597112), but also
deprecate them since the new calls vfs_label and vfs_uuid can
work on any filesystem type.
This also adds a regression test for the original bug reported
in RHBZ#597112.
Richard Jones [Tue, 1 Jun 2010 12:57:12 +0000 (13:57 +0100)]
New APIs: vfs-label and vfs-uuid return label and uuid for many fs types.
These APIs generalize the existing 'get-e2label' and 'get-e2uuid'
calls, to provide calls which should be able to get the label
and UUID for most filesystem types. These use 'blkid' to do the
work.
I have tested that the blkid commands themselves work on RHEL 5.
(Suggested by Yufang Zhang).
Richard Jones [Tue, 1 Jun 2010 14:27:57 +0000 (15:27 +0100)]
daemon: Kill blkid cache to improve reliability of blkid commands.
By killing the cache file, we make blkid work in situations such
as a just-created filesystem.
Richard Jones [Tue, 1 Jun 2010 12:39:25 +0000 (13:39 +0100)]
daemon: Generalize the implementation of vfs-type.
Note that there is no change to the semantics of the code.
Richard Jones [Fri, 28 May 2010 19:08:01 +0000 (20:08 +0100)]
todo: Should generate -N option.
Richard Jones [Fri, 28 May 2010 19:05:56 +0000 (20:05 +0100)]
todo: Remove implemented resize functions from TODO file.
Matthew Booth [Thu, 27 May 2010 14:47:51 +0000 (15:47 +0100)]
Make the supermin appliance include local augeas lenses
Matthew Booth [Thu, 27 May 2010 14:47:50 +0000 (15:47 +0100)]
Rely on new augeas lens for modules.conf and conf.modules
Latest augeas includes a lens for /etc/modules.conf. If this new lens is
present, the code to force the Modprobe lens to try to match /etc/modules.conf
as well results in /etc/modules.conf not being parsed at all. This results in
modprobe_aliases in virt-inspector output being empty.
This change is equivalent to change
cfd28d1140393667913689b7b9bcf21c8bfe592c
from virt-v2v.
An effect of this change is that the Modules_conf augeas lens is now required
for correct operation on guests which use /etc/modules.conf.
Fixes RHBZ#596776
Daniel Cabrera [Thu, 27 May 2010 14:20:37 +0000 (15:20 +0100)]
Updates to Spanish translation (RHBZ#596763).
Richard Jones [Thu, 27 May 2010 11:03:43 +0000 (12:03 +0100)]
Version 1.3.17.
Richard Jones [Thu, 27 May 2010 09:37:43 +0000 (10:37 +0100)]
Fix documentation for vfs-type to reflect reality.
Richard Jones [Thu, 27 May 2010 09:32:51 +0000 (10:32 +0100)]
Clarify documentation on distro backports in version command.
Richard Jones [Thu, 27 May 2010 09:31:07 +0000 (10:31 +0100)]
Add reference to version number documentation to version command.
Richard Jones [Thu, 27 May 2010 09:25:18 +0000 (10:25 +0100)]
Clarify sparse behaviour of truncate-size command.
Richard Jones [Thu, 27 May 2010 09:03:47 +0000 (10:03 +0100)]
Fix typo in documentation of guestfs_readlinklist.
Richard Jones [Thu, 27 May 2010 09:01:25 +0000 (10:01 +0100)]
Fix missing word in docuentation of guestfs_readdir.
Richard Jones [Thu, 27 May 2010 08:49:28 +0000 (09:49 +0100)]
Revise documentation on creating files.
Richard Jones [Thu, 27 May 2010 08:48:22 +0000 (09:48 +0100)]
New API: fallocate64 (replaces fallocate).
guestfs_fallocate takes an integer for the length, effectively
limiting it to creating 1GB files. This new call takes an int64_t
for the length, but is otherwise identical.
Richard Jones [Wed, 26 May 2010 22:42:43 +0000 (23:42 +0100)]
Fix typo in description of echo-daemon command.
Richard Jones [Tue, 25 May 2010 22:17:58 +0000 (23:17 +0100)]
Version 1.3.16.
Richard Jones [Tue, 25 May 2010 22:16:23 +0000 (23:16 +0100)]
Add bash complation script to EXTRA_DIST.
Richard Jones [Tue, 25 May 2010 21:45:45 +0000 (22:45 +0100)]
Version 1.3.15.
Richard Jones [Tue, 25 May 2010 21:24:12 +0000 (22:24 +0100)]
Add tests for available-all-groups command.
Richard Jones [Tue, 25 May 2010 19:13:55 +0000 (20:13 +0100)]
fish: First pass at guestfish bash completion script.
Richard Jones [Tue, 25 May 2010 12:54:11 +0000 (13:54 +0100)]
fish: Don't eat words when completing case-insensitive paths (RHBZ#582993).
Richard Jones [Tue, 25 May 2010 12:52:53 +0000 (13:52 +0100)]
fish: Sort returned paths so the list is stable across multiple calls.
Richard Jones [Tue, 25 May 2010 12:52:17 +0000 (13:52 +0100)]
fish: Document test1.img, test2.img etc used by -N option in FILES section.
Richard Jones [Tue, 25 May 2010 12:51:58 +0000 (13:51 +0100)]
fish: Create a separate FILES section in the manpage.
Richard Jones [Tue, 25 May 2010 12:41:39 +0000 (13:41 +0100)]
fish: Move 'EXIT CODE' section to a more logical place in the documentation.
Richard Jones [Tue, 25 May 2010 10:45:23 +0000 (11:45 +0100)]
resize: Refresh the examples in the documentation.
The documentation was previously very intimidating. Bring some
common, simple examples up to the top of the page in a separate
section.
Richard Jones [Tue, 25 May 2010 10:44:43 +0000 (11:44 +0100)]
fish: Make the read/write warning more prominent.
Follow the example on other manual pages by making the warning
more prominent.
Richard Jones [Tue, 25 May 2010 10:28:09 +0000 (11:28 +0100)]
fish: New command: 'supported'
This checks all available optional groups and prints out which
ones are supported by the daemon. Note you must launch the appliance
first.
Example:
><fs> supported
augeas yes
inotify yes
linuxfsuuid yes
linuxmodules yes
linuxxattrs yes
lvm2 yes
mknod yes
ntfs3g yes
ntfsprogs yes
realpath yes
scrub yes
selinux yes
xz yes
zerofree yes
Richard Jones [Tue, 25 May 2010 10:27:49 +0000 (11:27 +0100)]
New API: available-all-groups to return list of all optional groups.
Richard Jones [Tue, 25 May 2010 10:25:12 +0000 (11:25 +0100)]
perl: Rerun configure if MAX_PROC_NR changes.
If MAX_PROC_NR changes (because a new API has been added to the
generator) then we need to rerun configure in order to set the
Makefile's ${MAX_PROC_NR} variable, in order to rebuild Makefile.PL.
Piotr Drąg [Tue, 25 May 2010 08:41:20 +0000 (09:41 +0100)]
Update Polish translations (RHBZ#502533).
Richard Jones [Mon, 24 May 2010 12:35:31 +0000 (13:35 +0100)]
Version 1.3.14.
Richard Jones [Mon, 24 May 2010 12:34:33 +0000 (13:34 +0100)]
build: Remove install_kernel from EXTRA_DIST.
This updates commit
a34fadf900625f1f7359ecf3ca760820ffa20815,
removing this now non-existent script from EXTRA_DIST.
Richard Jones [Mon, 24 May 2010 11:09:38 +0000 (12:09 +0100)]
build: For development releases, print a notice.
Richard Jones [Sat, 22 May 2010 17:51:57 +0000 (18:51 +0100)]
guestfs_version: Correct documentation.
Remove reference to 'ELF weak linking tricks' and replace
with suggestion to use dl* functions.
Richard W.M. Jones [Fri, 21 May 2010 17:20:28 +0000 (18:20 +0100)]
Build workaround for Python 2.4.x in RHEL 5.
See:
http://www.python.org/dev/peps/pep-0353/#conversion-guidelines
Richard W.M. Jones [Fri, 21 May 2010 15:14:07 +0000 (16:14 +0100)]
C99 compatible build fix for RHEL 5.
Richard Jones [Fri, 21 May 2010 13:14:59 +0000 (14:14 +0100)]
New API: ntfsresize-size to allow shrinking NTFS (RHBZ#585223).
Richard Jones [Fri, 21 May 2010 13:14:25 +0000 (14:14 +0100)]
New API: pvresize-size to allow shrinking PVs (RHBZ#585222).
Richard Jones [Fri, 21 May 2010 13:13:24 +0000 (14:13 +0100)]
New API: resize2fs-size to allow shrinking ext2 filesystems (RHBZ#585221).
Richard Jones [Fri, 21 May 2010 12:07:05 +0000 (13:07 +0100)]
fish: Allow suffixes on number parameters (eg. 1M)
This small change uses the gnulib xstrtoll functionality to
enable suffixes on integer parameters in guestfish. For example:
truncate-size /file 1G
(previously you would have had to given the full number).
This also applies to the 'alloc' and 'sparse' commands (and
indirectly to the -N option). The specification for these commands
has changed slightly, in that 'alloc foo 1MB' would now use SI
units, allocating 1000000 bytes instead of a true megabyte. All
existing uses would use 'alloc foo 1M' which still allocates true
megabytes.
Richard Jones [Fri, 21 May 2010 13:51:29 +0000 (14:51 +0100)]
fish: Fix '-N part' disk partition type sub-option.
Richard Jones [Fri, 21 May 2010 10:25:36 +0000 (11:25 +0100)]
TODO: Suggest including undelete utility.
Richard Jones [Fri, 21 May 2010 10:25:19 +0000 (11:25 +0100)]
Fix name of update-bugs script in output file BUGS.
Richard Jones [Thu, 20 May 2010 17:53:10 +0000 (18:53 +0100)]
ubuntu: Use direct udevd method to start udev on Ubuntu.
On Ubuntu, /etc/init.d/udev is a symlink to an upstart file,
but running that causes the appliance to hang.
Therefore detect if this is a symlink and fall through to the
direct start of udevd. This shouldn't affect Debian because the
file is not a symlink on standard Debian.