the following problem was introduced with udev 009:
[root@claw packages]# rpm -Uvh ~mh/rpm/RPMS/ppc/udev-010-1.ppc.rpm
Preparing...########################################### [100%]
1:udev ########################################### [100%]
error: unpacking of archive failed on file /usr/share/doc/udev-010/COPYING;3fe8a8e3: cpio: open failed - Permission denied
it's because the mode of the directory /usr/share/doc/udev-010/ is
0644. This is with yellodog-3.0.
the following patch fixes it:
Got a nasty surprise after upgrading my RPM. The config files weren't
marked as configs and were subsequently replaced! DOH! Fortunately, I
didn't have much in there yet but that certainly isn't something others
will like going forward. Attached is a simple patch to the spec file so
they aren't replaced in the future. The config files included in the
RPM should wind up as udev.conf.rpmnew, etc if they are different from
what is installed.
Attached patch installs the initscript via 'make install' and adds it to
the RPM package. The RPM script then runs chkconfig(8) to setup the
initscript to run at the appropriate runlevels.
the older udev.config file is now called udev.rules.
This allows us to better control configuration values, and move away from
the environment variables.
> Hm, I would also like to add the /etc/hotplug.d/default/udev.hotplug
> symlink, but rpm doesn't seem to like symlinks in the %files section.
> Anyone know how to do this properly?
The problem is that the symlink is left dangling to an absolute location
in the build root, which won't exist on the installer's system. RPM 4.0
and on catches this.
Attached patch fixes it up and makes it work.
Some spec file changes. Primarily, this makes the thing build without a
build root if so desired (i.e. build right out of /usr/src/redhat and
the standard file system). It should still build from a build root,
too.
Also:
- Add some Prereqs
- Pass RPM_OPT_FLAGS to make so we build with the RPM build
policy (i.e., optimizations, architecture, etc.)
- Specify the exact files in %files to make sure we install
everything properly and avoid a warning
Here's a relatively rudimentary patch that addes udev.spec. With this, you can
rpm -ta the tarball and generate rpms. I've also attached the ones I build on
my RH 7.3 host incase they are of interest to you.