diff options
Diffstat (limited to 'sys-apps/pcfclock')
-rw-r--r-- | sys-apps/pcfclock/ChangeLog | 8 | ||||
-rw-r--r-- | sys-apps/pcfclock/Manifest | 4 | ||||
-rw-r--r-- | sys-apps/pcfclock/files/pcfclock-0.44-kernel-2.6.27.diff | 119 | ||||
-rw-r--r-- | sys-apps/pcfclock/pcfclock-0.44-r5.ebuild | 54 |
4 files changed, 183 insertions, 2 deletions
diff --git a/sys-apps/pcfclock/ChangeLog b/sys-apps/pcfclock/ChangeLog index d01db752bf35..f5e4095d9c51 100644 --- a/sys-apps/pcfclock/ChangeLog +++ b/sys-apps/pcfclock/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-apps/pcfclock # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/pcfclock/ChangeLog,v 1.9 2008/07/14 23:05:54 sbriesen Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/pcfclock/ChangeLog,v 1.10 2008/10/26 23:36:23 sbriesen Exp $ + +*pcfclock-0.44-r5 (26 Oct 2008) + + 26 Oct 2008; Stefan Briesenick <sbriesen@gentoo.org> + +files/pcfclock-0.44-kernel-2.6.27.diff, +pcfclock-0.44-r5.ebuild: + revbump to support kernel 2.6.27, solving bug #241126. 14 Jul 2008; Stefan Briesenick <sbriesen@gentoo.org> -files/pcfclock-0.44-udev.patch, -pcfclock-0.44-r2.ebuild: diff --git a/sys-apps/pcfclock/Manifest b/sys-apps/pcfclock/Manifest index de1e5df3edbe..2d55a2a9fbb0 100644 --- a/sys-apps/pcfclock/Manifest +++ b/sys-apps/pcfclock/Manifest @@ -1,7 +1,9 @@ AUX pcfclock-0.44-kernel-2.6.18.diff 3917 RMD160 0893c91db18386bdb52ebe825a40b732a32a1233 SHA1 c8ea6af864e8e702288169f8acf858edfd3b1f6c SHA256 041fb0653615e525d8595ba903bd5013dadd8f594338aeed430c1ed6e04383b4 AUX pcfclock-0.44-kernel-2.6.26.diff 4357 RMD160 c36bdc55678722deec25bc5c2a0376928ae5f256 SHA1 295ac159345ef970daff921847ea13cd14e77bc0 SHA256 d8a3f7dbe53c3b037cfa4267b1f7c0f55f0162d983fb3c974a93e25140140156 +AUX pcfclock-0.44-kernel-2.6.27.diff 4900 RMD160 e0c6ded915615ca42919dd1477fe10450e72fdf6 SHA1 1f7e138d92fb79da8b74004a582a873b92788542 SHA256 55b1cb066d1ff6f707997ad7cfd0edec10493f8f5464c5cd7798ae9fec52e4c7 DIST pcfclock-0.44.tar.gz 89914 RMD160 e6bf6bafcf985d3742767118abc83c0fbf81252f SHA1 6ec6660429fa5be81cb8b686a0b929b076209061 SHA256 1285c9536ad04c74bbdd92e22fd6a6661feeb3c9175eccb9b1e02c2f06adbda8 EBUILD pcfclock-0.44-r3.ebuild 1447 RMD160 174aace02a2cfd042c0d50d99010bfee22d92fe9 SHA1 69888babb9d6509fd53cfaa0bbc0c94f1d1cbe0d SHA256 cba458668503fc3fb9fde0d43bea77138600e2cf9662c01eb6b5a6ba0c481e29 EBUILD pcfclock-0.44-r4.ebuild 1447 RMD160 4d834e82ce901a906533827ebf2bb7d8772f688f SHA1 67f261258b9c2cb90dbff97f1fa2e530a519f26a SHA256 fd7afb36d3561b5386da3a2efb90344a954771968601e3f035686e140589ab01 -MISC ChangeLog 1824 RMD160 1934d2c3714ab5920efd2f8da801438306ec7f86 SHA1 c2030e3a8318d7da1b16e1d72acb2ac2ddfcfe24 SHA256 a9213a1a0f9f1722df5cf8a51a8364da9333a432ff8573c2750811d8694e9e5d +EBUILD pcfclock-0.44-r5.ebuild 1447 RMD160 3cf309c4b9fdc12bd2dffbe82c89f517a2f565fe SHA1 11f7796ae1ab1018e1b2d1e876381149aeb9a7b2 SHA256 f2b3ac451d1d65751fd7b5a8c883a395f3e9843f1324b66cd683661c1b1fd07a +MISC ChangeLog 2040 RMD160 77d2fa43a42d0886484965570d45673fe14b8fae SHA1 fe232c866187a84657916ebf88c0328fe675399a SHA256 c58f894ed0482e9c8cf416ba368feedfadac7b55d9cd1d0e54fc6c7b826f2a7e MISC metadata.xml 643 RMD160 e390969f9a48f9e31c200e372c52aa5ab5595575 SHA1 b908bc35e779b4cb38025b24e66a1810f27ab72c SHA256 e4dc68c9a436c2229a171d320d03a94b0f4a355e174d3308d0ce0f71657d219b diff --git a/sys-apps/pcfclock/files/pcfclock-0.44-kernel-2.6.27.diff b/sys-apps/pcfclock/files/pcfclock-0.44-kernel-2.6.27.diff new file mode 100644 index 000000000000..8bfddd54adaa --- /dev/null +++ b/sys-apps/pcfclock/files/pcfclock-0.44-kernel-2.6.27.diff @@ -0,0 +1,119 @@ +diff -Naur pcfclock-0.44.orig/linux/pcfclock.c pcfclock-0.44/linux/pcfclock.c +--- pcfclock-0.44.orig/linux/pcfclock.c 2004-05-17 18:26:12.000000000 +0200 ++++ pcfclock-0.44/linux/pcfclock.c 2008-10-27 00:16:45.607110512 +0100 +@@ -49,16 +49,25 @@ + #include <linux/major.h> + #include <linux/fs.h> + #include <linux/sched.h> ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) + #include <linux/devfs_fs_kernel.h> ++#endif + #include <linux/string.h> + #include <linux/delay.h> + #include <linux/parport.h> + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + #include <linux/device.h> + #endif ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) ++#include <linux/moduleparam.h> ++#endif + + #include <asm/uaccess.h> ++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,26) + #include <asm/semaphore.h> ++#else ++#include <linux/semaphore.h> ++#endif + + /* Major device number */ + #define PCFCLOCK_MAJOR 181 +@@ -93,6 +102,38 @@ + + static struct pcfclock_struct pcfclock_table[PCFCLOCK_NO]; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27) ++# define CLASS_CREATE(owner, name) class_create(owner, name) ++# define CLASS_DESTROY(class) class_destroy(class) ++# define CLASS_DEVICE_CREATE(class, dev, device, fmt, rest) device_create(class, device, dev, NULL, fmt, rest) ++# define CLASS_DEVICE_DESTROY(class, dev) device_destroy(class, dev) ++static struct class *pcfclock_class; ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) ++# define CLASS_CREATE(owner, name) class_create(owner, name) ++# define CLASS_DESTROY(class) class_destroy(class) ++# define CLASS_DEVICE_CREATE(class, dev, device, fmt, rest) device_create(class, device, dev, fmt, rest) ++# define CLASS_DEVICE_DESTROY(class, dev) device_destroy(class, dev) ++static struct class *pcfclock_class; ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) ++# define CLASS_CREATE(owner, name) class_create(owner, name) ++# define CLASS_DESTROY(class) class_destroy(class) ++# define CLASS_DEVICE_CREATE(class, dev, device, fmt, rest) class_device_create(class, NULL, dev, device, fmt, rest) ++# define CLASS_DEVICE_DESTROY(class, dev) class_device_destroy(class, dev) ++static struct class *pcfclock_class; ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13) ++# define CLASS_CREATE(owner, name) class_create(owner, name) ++# define CLASS_DESTROY(class) class_destroy(class) ++# define CLASS_DEVICE_CREATE(class, dev, device, fmt, rest) class_device_create(class, dev, device, fmt, rest) ++# define CLASS_DEVICE_DESTROY(class, dev) class_device_destroy(class, dev) ++static struct class *pcfclock_class; ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) ++# define CLASS_CREATE(owner, name) class_simple_create(owner, name) ++# define CLASS_DESTROY(class) class_simple_destroy(class) ++# define CLASS_DEVICE_CREATE(class, dev, device, fmt, rest) class_simple_device_add(class, dev, device, fmt, rest) ++# define CLASS_DEVICE_DESTROY(class, dev) class_simple_device_remove(dev) ++static struct class_simple *pcfclock_class; ++#endif ++ + /* + * The radio clock transmits data only to the PC when requested. While the + * time signal is received for the first time no communication between the PC +@@ -401,7 +442,11 @@ + static int parport_nr[PCFCLOCK_NO] = {[0 ... PCFCLOCK_NO - 1] = PCFCLOCK_PARPORT_UNSPEC }; + static char *parport[PCFCLOCK_NO] = { NULL, }; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17) ++module_param_array(parport, charp, NULL, 0); ++#else + MODULE_PARM(parport, "1-" __MODULE_STRING(PCFCLOCK_NO) "s"); ++#endif + + #ifndef MODULE + static int __init +@@ -442,7 +487,10 @@ + return 1; + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) ++ CLASS_DEVICE_CREATE(pcfclock_class, MKDEV(PCFCLOCK_MAJOR, n), NULL, "pcfclock%d", n); ++# if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) + devfs_mk_cdev(MKDEV(PCFCLOCK_MAJOR, n), S_IFCHR | S_IRUGO, "pcfclocks/%d", n); ++# endif + #else + sprintf(name, "%d", n); + devfs_register(devfs_handle, name, DEVFS_FL_DEFAULT, PCFCLOCK_MAJOR, n, S_IFCHR | S_IRUGO, +@@ -509,7 +557,10 @@ + printk(KERN_ERR "pcfclock: unable to get major %d\n", PCFCLOCK_MAJOR); + return -EIO; + } ++ pcfclock_class = CLASS_CREATE(THIS_MODULE, "pcfclock"); ++# if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) + devfs_mk_dir("pcfclocks"); ++# endif + #else + if (devfs_register_chrdev(PCFCLOCK_MAJOR, "pcfclock", &pcfclock_fops)) { + printk(KERN_ERR "pcfclock: unable to get major %d\n", PCFCLOCK_MAJOR); +@@ -563,10 +614,16 @@ + for (n = 0; n < PCFCLOCK_NO; n++) { + if (pcfclock_table[n].dev != NULL) { + parport_unregister_device(pcfclock_table[n].dev); ++ CLASS_DEVICE_DESTROY(pcfclock_class, MKDEV(PCFCLOCK_MAJOR, n)); ++# if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) + devfs_remove("pcfclocks/%d", n); ++# endif + } + } ++ CLASS_DESTROY(pcfclock_class); ++# if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) + devfs_remove("pcfclocks"); ++# endif + #else + devfs_unregister(devfs_handle); + devfs_unregister_chrdev(PCFCLOCK_MAJOR, "pcfclock"); diff --git a/sys-apps/pcfclock/pcfclock-0.44-r5.ebuild b/sys-apps/pcfclock/pcfclock-0.44-r5.ebuild new file mode 100644 index 000000000000..2ae5c344198f --- /dev/null +++ b/sys-apps/pcfclock/pcfclock-0.44-r5.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/pcfclock/pcfclock-0.44-r5.ebuild,v 1.1 2008/10/26 23:36:23 sbriesen Exp $ + +inherit eutils linux-mod + +DESCRIPTION="driver for the parallel port radio clock sold by Conrad Electronic" +HOMEPAGE="http://www-stud.ims.uni-stuttgart.de/~voegelas/pcf.html" +SRC_URI="http://www-stud.ims.uni-stuttgart.de/~voegelas/pcfclock/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~ppc" +IUSE="" + +DEPEND="virtual/linux-sources" + +pkg_setup() { + CONFIG_CHECK="PARPORT" + linux-mod_pkg_setup + BUILD_TARGETS="all" + ECONF_PARAMS="--with-linux=${KERNEL_DIR}" + MODULE_NAMES="pcfclock(::${S}/linux)" + MODULESD_PCFCLOCK_ENABLED="yes" + MODULESD_PCFCLOCK_EXAMPLES=( "pcfclock parport=0,none,none" ) + MODULESD_PCFCLOCK_ALIASES=( + "char-major-181 pcfclock" + "/dev/pcfclock0 char-major-181" + "/dev/pcfclock1 char-major-181" + "/dev/pcfclock2 char-major-181" + ) +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}/${P}-kernel-2.6.27.diff" + convert_to_m "linux/Makefile.in" +} + +src_install() { + linux-mod_src_install + dosbin pcfdate/pcfdate + doman {linux,pcfdate}/*.[48] + dodoc AUTHORS ChangeLog NEWS README THANKS + + # Add configuration for udev + if [ -e "${ROOT}dev/.udev" ]; then + dodir /etc/udev/rules.d + echo 'KERNEL=="pcfclock*", NAME="%k", MODE="0444"' \ + > "${D}/etc/udev/rules.d/55-${PN}.rules" + fi +} |