From b5793e12c2b0a0ed966e6184e4523c28a8b03e4f Mon Sep 17 00:00:00 2001 From: Martin Schlemmer Date: Wed, 17 Dec 2003 19:44:48 +0000 Subject: New version. --- sys-fs/udev/Manifest | 5 +- sys-fs/udev/files/digest-udev-009 | 1 + sys-fs/udev/files/udev-009-scsi_id-new-sysfs.patch | 108 +++++++++++++++++++++ sys-fs/udev/udev-009.ebuild | 103 ++++++++++++++++++++ 4 files changed, 215 insertions(+), 2 deletions(-) create mode 100644 sys-fs/udev/files/digest-udev-009 create mode 100644 sys-fs/udev/files/udev-009-scsi_id-new-sysfs.patch create mode 100644 sys-fs/udev/udev-009.ebuild (limited to 'sys-fs') diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest index fb7f430e168a..52f9c1447c43 100644 --- a/sys-fs/udev/Manifest +++ b/sys-fs/udev/Manifest @@ -1,6 +1,6 @@ MD5 142756ce2bce094bde709030a54608c5 udev-006.ebuild 2445 -MD5 bb2f3caf9ec4cb1394ae3c94f2ee7a8c udev-009.ebuild 2063 -MD5 2fad854e5a570fd1eebc77af7e4e24b2 ChangeLog 2517 +MD5 755f4ee6c258ac789145358da8421679 udev-009.ebuild 2379 +MD5 eb76f204d31f35751f505f71a64adfd9 ChangeLog 2669 MD5 bb941a13588f122cda62f71eb5639deb udev-005.ebuild 1732 MD5 bb2f3caf9ec4cb1394ae3c94f2ee7a8c udev-008.ebuild 2063 MD5 7bcfbb3f4f8989b4124402541419d845 udev-003.ebuild 1454 @@ -19,6 +19,7 @@ MD5 915a7c2bcdf0cf3e3526ba49753936ec files/digest-udev-007 61 MD5 058742a5d4f67c3b083f702abdeb5558 files/digest-udev-004 61 MD5 7c9b568fafa102079bff2e3645a729a7 files/udev-004-disk-loop-fix.patch 1116 MD5 1e9ce6f1d2c8f186504ebfa883dbcf4a files/digest-udev-005-r1 61 +MD5 a4c9abce9b6a2c2beeeacff0a604e2e1 files/udev-009-scsi_id-new-sysfs.patch 4357 MD5 21bf830d57de77dd576e9331df8756cf files/udev-004-manpage-update.patch 5926 MD5 6ee9d9a6ab3cd60c9395d7541ca2e66a files/digest-udev-006 61 MD5 7fe04ba254346f50d42ffd05a5ff5392 files/udev.permissions 2326 diff --git a/sys-fs/udev/files/digest-udev-009 b/sys-fs/udev/files/digest-udev-009 new file mode 100644 index 000000000000..e478f3698cba --- /dev/null +++ b/sys-fs/udev/files/digest-udev-009 @@ -0,0 +1 @@ +MD5 efd82535fb3f66ecad89386b8518b60d udev-009.tar.bz2 954569 diff --git a/sys-fs/udev/files/udev-009-scsi_id-new-sysfs.patch b/sys-fs/udev/files/udev-009-scsi_id-new-sysfs.patch new file mode 100644 index 000000000000..2cfc6e4af4e8 --- /dev/null +++ b/sys-fs/udev/files/udev-009-scsi_id-new-sysfs.patch @@ -0,0 +1,108 @@ +From linux-kernel-owner@vger.kernel.org Wed Dec 17 20:39:13 2003 +Return-Path: +X-Original-To: azarah@nosferatu.za.org +Delivered-To: azarah@nosferatu.za.org +Received: by gateway.lan (Postfix, from userid 290) id 1028C32415; Wed, 17 + Dec 2003 20:39:13 +0200 (SAST) +Received: from vger.kernel.org (vger.kernel.org [67.72.78.212]) by + gateway.lan (Postfix) with ESMTP id A53F432414 for + ; Wed, 17 Dec 2003 20:38:59 +0200 (SAST) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id + S264496AbTLQSSE (ORCPT ); Wed, 17 Dec 2003 + 13:18:04 -0500 +Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264501AbTLQSSD + (ORCPT ); Wed, 17 Dec 2003 13:18:03 -0500 +Received: from e35.co.us.ibm.com ([32.97.110.133]:44511 "EHLO + e35.co.us.ibm.com") by vger.kernel.org with ESMTP id S264496AbTLQSRn + convert rfc822-to-8bit (ORCPT ); Wed, + 17 Dec 2003 13:17:43 -0500 +Received: from westrelay02.boulder.ibm.com (westrelay02.boulder.ibm.com + [9.17.195.11]) by e35.co.us.ibm.com (8.12.10/8.12.2) with ESMTP id + hBHIHfcp501168; Wed, 17 Dec 2003 13:17:41 -0500 +Received: from DYN319713.beaverton.ibm.com (d03av02.boulder.ibm.com + [9.17.193.82]) by westrelay02.boulder.ibm.com (8.12.10/NCO/VER6.6) with + ESMTP id hBHIHcbA057482; Wed, 17 Dec 2003 11:17:39 -0700 +From: Daniel Stekloff +To: azarah@gentoo.org, Linux Kernel Mailing Lists +Subject: Re: scsi_id segfault with udev-009 +Date: Wed, 17 Dec 2003 10:17:28 -0800 +User-Agent: KMail/1.4.1 +Cc: Greg KH +References: <1071682198.5067.17.camel@nosferatu.lan> +In-Reply-To: <1071682198.5067.17.camel@nosferatu.lan> +Message-Id: <200312171017.28358.dsteklof@us.ibm.com> +Sender: linux-kernel-owner@vger.kernel.org +Precedence: bulk +X-Mailing-List: linux-kernel@vger.kernel.org +X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on + gateway.lan +X-Spam-Level: +X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=no + version=2.60 +X-Sanitizer: Advosys mail filter +MIME-Version: 1.0 +Content-Type: text/plain; charset="US-ASCII" +X-Evolution-Source: pop://azarah@gateway.lan +Content-Transfer-Encoding: 8bit + +On Wednesday 17 December 2003 09:29 am, Martin Schlemmer wrote: +> Hi +> +> Getting this with scsi_id and udev-009: + + +Hi, + +Scsi_id hasn't been changed to use the latest libsysfs changes. The +"directory" in the sysfs_class_device is now considered "private" and only +should be accessed using functions. Treating the structures as handles lets +us only load information when it's needed, reducing caching or stale +information and also helping performance. + +Here's the problem. + +static inline char *sysfs_get_attr(struct sysfs_class_device *dev, + const char *attr) +{ + return sysfs_get_value_from_attributes(dev->directory->attributes, + attr); +} + +Please try this quick fix: + +--- udev/extras/scsi_id/scsi_id.h 2003-12-08 01:42:46.000000000 -0800 ++++ udev-fix/extras/scsi_id/scsi_id.h 2003-12-17 09:52:31.032184768 -0800 +@@ -42,8 +42,14 @@ + static inline char *sysfs_get_attr(struct sysfs_class_device *dev, + const char *attr) + { +- return sysfs_get_value_from_attributes(dev->directory->attributes, +- attr); ++ struct dlist *attributes = NULL; ++ ++ attributes = sysfs_get_classdev_attributes(dev); ++ ++ if (attributes == NULL) ++ return NULL; ++ ++ return sysfs_get_value_from_attributes(attributes, attr); + } + + extern int scsi_get_serial (struct sysfs_class_device *scsi_dev, +--- udev/extras/scsi_id/scsi_id.c 2003-12-08 01:42:46.000000000 -0800 ++++ udev-fix/extras/scsi_id/scsi_id.c 2003-12-17 09:55:54.113311744 -0800 +@@ -133,7 +133,7 @@ + return -1; + + snprintf(bus_dev_name, MAX_NAME_LEN, "%s/%s/%s/%s/%s", sysfs_mnt_path, +- SYSFS_BUS_DIR, bus, SYSFS_DEVICES_NAME, bus_id); ++ SYSFS_BUS_NAME, bus, SYSFS_DEVICES_NAME, bus_id); + + if (stat(sysfs_path, &stat_buf)) + return -1; + +- +To unsubscribe from this list: send the line "unsubscribe linux-kernel" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html +Please read the FAQ at http://www.tux.org/lkml/ diff --git a/sys-fs/udev/udev-009.ebuild b/sys-fs/udev/udev-009.ebuild new file mode 100644 index 000000000000..6d2647e74170 --- /dev/null +++ b/sys-fs/udev/udev-009.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-009.ebuild,v 1.1 2003/12/17 19:44:30 azarah Exp $ + +# Note: Cannot use external libsysfs with klibc .. +USE_KLIBC="no" +USE_EXT_LIBSYSFS="no" + +inherit eutils + +DESCRIPTION="udev - Linux dynamic device naming support (aka userspace devfs)" +HOMEPAGE="http://www.kernel.org/" +SRC_URI="mirror://kernel/linux/utils/kernel/hotplug/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" + +DEPEND="virtual/glibc + >=sys-apps/hotplug-20030805-r1 + >=sys-fs/sysfsutils-0.3.0" + +pkg_setup() { + [ "${USE_KLIBC}" = "yes" ] && check_KV + + return 0 +} + +src_unpack() { + unpack ${A} + + cd ${S} + # No need to clutter the logs ... + sed -ie '/^DEBUG/ c\DEBUG = false' Makefile + # Do not use optimization flags from the package + sed -ie 's|$(OPTIMIZATION)||g' Makefile + + # Make sure we do not build included libsysfs, but link to + # one in sysfsutils ... + if [ "${USE_EXT_LIBSYSFS}" = "yes" -a "${USE_KLIBC}" != "yes" ] + then + rm -rf ${S}/libsysfs + cp -Rd ${ROOT}/usr/include/sysfs ${S}/libsysfs + fi + + # Setup things for klibc + if [ "${USE_KLIBC}" = "yes" ] + then + ln -snf ${ROOT}/usr/src/linux ${S}/klibc/linux + fi + + # Fix scsi_id to work with latest libsysfs + epatch ${FILESDIR}/${P}-scsi_id-new-sysfs.patch +} + +src_compile() { + # Do not work with emake + if [ "${USE_EXT_LIBSYSFS}" = "yes" -a "${USE_KLIBC}" != "yes" ] + then + make EXTRAS="extras/scsi_id" \ + udevdir="/dev/" \ + ARCH_LIB_OBJS="-lsysfs" \ + SYSFS="" || die + else + make EXTRAS="extras/scsi_id" \ + udevdir="/dev/" || die + fi +} + +src_install() { + into / + dosbin udev + dosbin extras/scsi_id/scsi_id + + insinto /etc/udev + doins ${FILESDIR}/udev.conf + doins udev.rules + # For devfs style layout + doins udev.rules.devfs + # Our own custom udev.permissions + doins ${FILESDIR}/udev.permissions +# doins udev.permissions + insinto /etc + doins extras/scsi_id/scsi_id.config + + dodir /etc/hotplug.d/default + dosym ../../../sbin/udev /etc/hotplug.d/default/udev.hotplug + + doman udev.8 + doman extras/scsi_id/scsi_id.8 + + dodoc COPYING ChangeLog FAQ README TODO + dodoc docs/{overview,udev-OLS2003.pdf} +} + +pkg_preinst() { + if [ -f "${ROOT}/etc/udev/udev.config" -a \ + ! -f "${ROOT}/etc/udev/udev.rules" ] + then + mv -f ${ROOT}/etc/udev/udev.config ${ROOT}/etc/udev/udev.rules + fi +} + -- cgit v1.2.3-65-gdbad