Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37495781
en ru br
Репозитории ALT
5.1: 141-alt12.M51.2
4.1: 118-alt1.M41.2
4.0: 108-alt2.M40.1
+updates:108-alt2.M40.1
3.0: 0.70-alt1
+updates:0.70-alt2
www.altlinux.org/Changes

Группа :: Система/Настройка/Оборудование
Пакет: udev

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

# -*- mode: rpm-spec; coding: utf-8 -*-

# if we want to have logging support in or not.

%def_with syslog

# if we want to enable debugging support in udev.  If it is enabled, lots of

# stuff will get sent to the debug syslog.
%def_with debug

Name: udev
Version: 108
Release: alt2.M40.1

Summary: udev - an userspace implementation of devfs
Summary(ru_RU.UTF-8): udev - я█я┌п╬ п╡я▀п╫п╣я│п╣п╫п╫п╟я▐ п╦п╥ я▐п╢я─п╟ я─п╣п╟п╩п╦п╥п╟я├п╦я▐ devfs
License: GPL
Group: System/Configuration/Hardware
Url: http://kernel.org/pub/linux/utils/kernel/hotplug/

BuildRequires: klibc-devel

Source0: %name-%version.tar

Patch0: %name-%version-%release.patch

PreReq: shadow-utils
PreReq: module-init-tools >= 3.3
PreReq: dmsetup
PreReq: libvolume_id = %version-%release
PreReq: %name-rules = %version-%release

Requires: udev_static-addon

Conflicts: linux-hotplug

# Find dependencies on klibc-*.so

%global __find_requires %_libdir/klibc/klibc-find-requires %__find_requires

%description
Starting with the 2.5 kernel, all physical and virtual devices in a
system are visible to userspace in a hierarchal fashion through
sysfs. /sbin/hotplug provides a notification to userspace when any
device is added or removed from the system. Using these two features,
a userspace implementation of a dynamic /dev is now possible that can
provide a very flexible device naming policy.

%description -l ru_RU.UTF-8
п²п╟я┤п╦п╫п╟я▐ я│ я▐п╢я─п╟ 2.5, п╡я│п╣ я─п╣п╟п╩я▄п╫я▀п╣ п╦ п╡п╦я─я┌я┐п╟п╩я▄п╫я▀п╣ я┐я│я┌я─п╬п╧я│я┌п╡п╟ п╡ я│п╦я│я┌п╣п╪п╣
п╦п╪п╣я▌я┌ п╦п╣я─п╟я─я┘п╦я┤п╣я│п╨п╬п╣ п╬я┌п╬п╠я─п╟п╤п╣п╫п╦п╣ п╡ sysfs, п╢п╬я│я┌я┐п©п╫п╬п╣ п╬п╠я▀я┤п╫я▀п╪ п©я─п╬пЁя─п╟п╪п╪п╟п╪.
/sbin/hotplug п╦п╫я└п╬я─п╪п╦я─я┐п╣я┌ п©я─п╬пЁя─п╟п╪п╪я▀ п╬ я┌п╬п╪, я┤я┌п╬ я┐я│я┌я─п╬п╧я│я┌п╡п╬ п©п╬п╢п╨п╩я▌я┤п╣п╫п╬
п╦п╩п╦ я┐п╢п╟п╩п╣п╫п╬ п╦п╥ я│п╦я│я┌п╣п╪я▀. п п╬п╪п╠п╦п╫п╟я├п╦я▐ я█я┌п╦я┘ п╢п╡я┐я┘ п©п╬п╢я│п╦я│я┌п╣п╪ п╢п╣п╩п╟п╣я┌ п╡п╬п╥п╪п╬п╤п╫я▀п╪
я│п╬п╥п╢п╟п╫п╦п╣ п╢п╦п╫п╟п╪п╦я┤п╣я│п╨п╬пЁп╬ /dev, п╨п╬я┌п╬я─я▀п╧ п╠я▀ п╢п╬п©я┐я│п╨п╟п╩ п╬я┤п╣п╫я▄ пЁп╦п╠п╨я┐я▌ я│п╦я│я┌п╣п╪я┐
п©я─п╟п╡п╦п╩ п╫п╟п╦п╪п╣п╫п╬п╡п╟п╫п╦я▐ я┐я│я┌я─п╬п╧я│я┌п╡.

%package rules
Summary: Rule files for udev
Summary(ru_RU.UTF-8): п╓п╟п╧п╩я▀ п©я─п╟п╡п╦п╩ п╢п╩я▐ udev
Group: System/Configuration/Hardware

Provides: %_sysconfdir/udev/rules.d
Provides: %_sysconfdir/udev/initramfs-rules.d

Conflicts: %name < %version-%release

%description rules
This package contains the default set of rule files used by udev,
which control names and permission of device files in /dev.  Rule
files which have corresponding symlinks in /etc/udev/initramfs-rules.d
are also used by the mkinitrd package when creating initramfs images.

%description -l ru_RU.UTF-8 rules
п╜я┌п╬я┌ п©п╟п╨п╣я┌ я│п╬п╢п╣я─п╤п╦я┌ п╬я│п╫п╬п╡п╫п╬п╧ п╫п╟п╠п╬я─ п©я─п╟п╡п╦п╩ п╢п╩я▐ udev, я┐п©я─п╟п╡п╩я▐я▌я┴п╦я┘
п╫п╟п╥п╫п╟я┤п╣п╫п╦п╣п╪ п╦п╪я▒п╫ п╦ п©я─п╟п╡ п╢п╬я│я┌я┐п©п╟ п╢п╩я▐ я└п╟п╧п╩п╬п╡ я┐я│я┌я─п╬п╧я│я┌п╡ п╡ /dev.
п╖п╟я│я┌я▄ я└п╟п╧п╩п╬п╡ п©я─п╟п╡п╦п╩, п╢п╩я▐ п╨п╬я┌п╬я─я▀я┘ п╣я│я┌я▄ я│п╦п╪п╡п╬п╩п╦я┤п╣я│п╨п╦п╣ я│я│я▀п╩п╨п╦ п╡
п╨п╟я┌п╟п╩п╬пЁп╣ /etc/udev/initramfs-rules.d, я┌п╟п╨п╤п╣ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п©п╟п╨п╣я┌п╬п╪
mkinitrd п©я─п╦ я│п╬п╥п╢п╟п╫п╦п╦ п╬п╠я─п╟п╥п╬п╡ initramfs.

%package -n libvolume_id
Summary: Shared libraries for volume_id
Group: System/Libraries

%description -n libvolume_id
This package provides shared libraries for volume_id.

%package -n libvolume_id-devel
Summary: Libraries and headers for libvolume_id
Group: Development/C
Requires: libvolume_id = %version-%release

%description -n libvolume_id-devel
Headers for libvolume_id.

%package initramfs
Summary: udev built with klibc for use in initramfs
Group: System/Kernel and hardware

# This avoids getting a dependency on sh from "#!/bin/sh".

AutoReq: yes, nopam, noperl, nopython, noshell, notcl

PreReq: mkinitrd-initramfs
Requires: klibc-utils-initramfs
Requires: %name-rules = %version-%release

%description initramfs
This package contains a version of udev which is built with klibc,
intended for use in initramfs images generated by mkinitrd.

%prep
%setup -q -c
cd %name-%version
%patch0 -p1
cd ..
cp -pr %name-%version build-klibc
mv %name-%version/* ./

%build
# udev doesn't support parallel build yet
NPROCS=1
export NPROCS

# Build normal version

%make_build \
USE_LOG=%{?_with_syslog:true}%{!?_with_syslog:false} \
DEBUG=%{?_with_debug:true}%{!?_with_debug:false} \
udevdir=/dev

for i in extras/path_id extras/floppy extras/usb_id extras/scsi_id extras/ata_id extras/edd_id extras/cdrom_id extras/firmware extras/floppy extras/volume_id/ ; do \
   %make_build  udevdir=/dev EXTRAS=$i
done

# Build with klibc (for initramfs)

cd build-klibc
%make_build USE_LOG=false DEBUG=false udevdir=/dev \
CC=klcc LD="klcc -shared" SHLIB= \
EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id extras/path_id extras/scsi_id extras/usb_id extras/volume_id"
cd ..

%install
%__make DESTDIR=%buildroot \
initdir=%_initdir \
install

# Make /dev default for udev_root and udev_db

%__subst 's/^\(udev_root=\).*/\1"\/dev"/g' %buildroot%_sysconfdir/udev/udev.conf
%__subst 's/^\(udev_db=\)"?.*\([^\/]+\)"?$/\1"\/dev\/\2"/g' %buildroot%_sysconfdir/udev/udev.conf

cat >>%buildroot%_sysconfdir/udev/udev.conf <<EOF
# Whether to mount a tmpfs filesystem to \$udev_root
udev_tmpfs="1"

# tmpfs options. Note that size shouldn't be less than several

# megabytes due to insane format of current udev database
# (in /dev/.udevdb)
tmpfs_options="size=5m"
EOF

%__mkdir_p %buildroot%_initdir
%__rm -f %buildroot%_initdir/udev
install -m 0755 etc/init.d/udevd.init %buildroot%_initdir/udevd
install -m 0755 etc/init.d/udevd-final.init %buildroot%_initdir/udevd-final

%__mkdir_p %buildroot%_sysconfdir/udev/devices

for i in extras/path_id extras/floppy extras/usb_id extras/scsi_id extras/ata_id extras/edd_id extras/cdrom_id extras/firmware extras/floppy extras/volume_id/ ; do \
   %make udevdir=/dev EXTRAS=$i DESTDIR=%buildroot libdir=/%_lib usrlibdir=%_libdir install
done

install -m 0755 extras/dm_helper/dm_helper %buildroot/lib/udev/
install -m 0755 extras/hotplug/*.agent %buildroot/lib/udev/

%__rm -f %buildroot%_sysconfdir/udev/udev.permissions
%__rm -f %buildroot%_sysconfdir/udev/udev.rules.devfs

%__rm -f %buildroot%_sysconfdir/udev/permissions.d/50-udev.permissions
%__rm -f %buildroot%_sysconfdir/udev/rules.d/*
%__install -m 644 etc/udev/altlinux/* %buildroot%_sysconfdir/udev/rules.d/

install -d %buildroot/%_sysconfdir/dev.d/default

# Install klibc version

cd build-klibc
mkdir -p %buildroot/lib/mkinitrd/udev/sbin
install -p udevd udevtrigger udevsettle %buildroot/lib/mkinitrd/udev/sbin/
mkdir -p %buildroot/lib/mkinitrd/udev/lib/udev
install -p \
extras/ata_id/ata_id \
extras/cdrom_id/cdrom_id \
extras/edd_id/edd_id \
extras/firmware/firmware.sh \
extras/path_id/path_id \
extras/scsi_id/scsi_id \
extras/usb_id/usb_id \
extras/volume_id/vol_id \
%buildroot/lib/mkinitrd/udev/lib/udev/
cd ..

# Install symlinks for rules which are needed in initramfs

mkdir -p %buildroot%_sysconfdir/udev/initramfs-rules.d
for f in \
05-udev-early.rules \
20-hotplug-modprobe.rules \
50-udev-default.rules \
60-persistent-storage.rules \
63-md.rules \
64-device-mapper.rules \
70-permissions.rules
do
ln -s ../rules.d/"$f" \
%buildroot%_sysconfdir/udev/initramfs-rules.d/"$f"
done

%pre
/usr/sbin/groupadd -r -f video

if [ $1 -gt 1 ] && [ -d /dev/.udev ]; then
rm -f /dev/.udev/old_version ||:
old_ver="$(/sbin/udevd --version 2>/dev/null)" || old_ver=
[ -n "$old_ver" ] ||
old_ver="$(/usr/bin/udevinfo --version 2>/dev/null)" ||
old_ver=
old_ver="${old_ver##*[!0-9]}"
[ -z "$old_ver" ] ||
printf '%%s\n' "$old_ver" >/dev/.udev/old_version ||:
fi

%post
old_ver=
if [ $1 -gt 1 ]; then
udevd_stopped="$(/sbin/service udevd status | grep stopped)" ||:
if [ -z "$udevd_stopped" ]; then
old_ver="$(cat /dev/.udev/old_version 2>/dev/null)" || old_ver=
fi
rm -f /dev/.udev/old_version 2>/dev/null ||:
fi
if [ -n "$old_ver" ]; then
/sbin/service udevd stop ||:
/usr/sbin/udevconvertdb -f "$old_ver" ||
echo "Warning: udev database conversion failed - probably a reboot is required" >&2
fi

%post_service udevd

if [ -n "$old_ver" ]; then
/sbin/service udevd start_udevd_only ||:
fi

%post_service udevd-final

%preun
%preun_service udevd
%preun_service udevd-final

%triggerpostun -- udev < 105
# %%post_service will skip chkconfig --add on upgrade and run resetpriorities
# instead, which turns the service off when it was not added before.
/sbin/chkconfig --add udevd-final ||:
/sbin/chkconfig udevd-final reset ||:

%files -n libvolume_id
/%_lib/*.so.*

%files -n libvolume_id-devel
%_includedir/*
%_libdir/*.so
%_pkgconfigdir/*.pc

%files
%doc COPYING README TODO ChangeLog RELEASE-NOTES
%doc docs/overview docs/udev_vs_devfs
%doc docs/writing_udev_rules/*
%_sysconfdir/dev.d
%attr(0755,root,root) %_initdir/udevd
%attr(0755,root,root) %_initdir/udevd-final
%dir /lib/udev
/lib/udev/*
%config(noreplace) %_sysconfdir/udev/*.conf
%dir %_sysconfdir/udev/devices
%config %_sysconfdir/scsi_id.config
/sbin/*
%_sbindir/*
%_bindir/*
%attr(-,root,man) %_man8dir/*
%attr(-,root,man) %_man7dir/*

%files rules
%dir %_sysconfdir/udev
%dir %_sysconfdir/udev/rules.d
%config %_sysconfdir/udev/rules.d/*
%dir %_sysconfdir/udev/initramfs-rules.d
%config(noreplace) %_sysconfdir/udev/initramfs-rules.d/*

%files initramfs
/lib/mkinitrd/udev

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin