upgrading RH 9 system->Fedora with iso files and apt only
by Didier Casse
I have the yarrow's iso files on my HD in a RH9 system. Let's say I want
to upgrade selected packages using an "apt-get install" pointing to my
iso-mounted files, how do I do it?
i.e I mount the iso into some /mnt/yarrow1, /mnt/yarrow 2 etc..
Then what is the complete procedure to make my apt look into my own HD to
upgrade packages. Can anybody redirect me to the correct
resource or some literature hanging on the web? Thanks.
Assume also that I do not wish to burn CDs! I do not want to use
apt-cdrom. Thanks.
With kind regards,
Didier.
---
PhD student
Singapore Synchrotron Light Source (SSLS)
5 Research Link,
Singapore 117603
Email: slsbdfc at nus dot edu dot sg \or\
didierbe at sps dot nus dot edu dot sg
Website: http://ssls.nus.edu.sg
1 year, 4 months
autoconf breakage on x86_64.
by Sam Varshavchik
I don't know the right way to fix this, but something is definitely broken;
and something needs to be fixed, one way or the other. The question is what
exactly needs to be fixed.
Consider something like this:
LIBS="-lresolv $LIBS"
AC_TRY_LINK_FUNC(res_query, AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
Here's what happens on x86_64:
gcc -o conftest -g -O2 -Wall -I.. -I./.. conftest.c -lresolv >&5
/tmp/ccW7EeDX.o(.text+0x7): In function `main':
/home/mrsam/src/courier/authlib/configure:5160: undefined reference to
`res_query'
collect2: ld returned 1 exit status
configure:5147: $? = 1
configure: failed program was:
[ blah blah blah ]
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char res_query ();
| int
| main ()
| {
| res_query ();
| ;
| return 0;
| }
The same exact test on FC1 x86 will work.
The reason appears to be that you have to #include <resolv.conf> on x86_64
in order to succesfully pull res_query() out of libresolv.so. You don't
need to do this on x86, and the test program generated by AC_TRY_LINK_FUNC
does not include any headers, but uses a manual prototype.
So, what now?
16 years, 8 months
Zeroconf in FC5?
by Daryll Strauss
I saw zeroconf in action at a Mac based facility a while back and I have
to say I was impressed. It makes their networking setup very easy. The
biggest downside was that they knew very little about how their network
actually worked. That made my life integrating a Linux system in to
their environment much more difficult. So, I'd like to see zeroconf
really integrated in to FC5. I think it'll make network setup for a lot
of users much easier.
For those who don't know, zeroconf provides several functions:
*) Dynamically allocating an IP address to a system when it boots
(without requiring a DHCP server)
*) Translate between names and IP addresses (without any setup or
directory server)
*) Allows for the publishing and discovery of services such as DNS,
NFS, ftp, http, printers, whatever (without requiring any setup or
directory server)
*) Allocates multicast addresses (without a MADCAP server). (This part
isn't yet supported and I'm not sure I know what it means :))
Fedora ships with Howl which looks to be the framework for doing
zeroconf. It seems that what's needed is integrating howl in to all the
appropriate places.
- |Daryll
16 years, 11 months
Stateless linux and an idea of mine for SMALL networks without servers
by Nic
Disclaimer: I hope that this is the right mailing list, but I really
wanted to reach developers would can say if it's feasible and what to
use for that.
Anyway, I was fighting the usual problems with networks and came up with the
following dream to make my life easier as a network admin. Basically I
am tired of fixing things, of worrying if a hard disk will die, of
having to deal with data access, backup etc...
I was thinking this through by looking at how most of my coworkers,
friends, and small offices use their PCs in day-to-day operations and
applying that work flow to a solution.
Before, somebody screams, this means little or moderate daily data
generation so that, basically, a laptop drive could hold the entire
company's data. (This may require email-purge rules and other things
like that).
Anyway here it is: Basically, I suggest that (almost) all PCs in the
network be laptops with the exact same image. Furthermore, they
replicate their HD continuously (with possibly some delay).
This certainly applies to the user data and application. It may not
be necessary for the OS
I am not sure of the technology to use here, but I thought something
deriving from the P-to-P technology, some distributed file system,
some database replication technology or even freenet could be a
good base.
Since every laptop will contain ALL the data for the
whole network, every laptop uses hardware encryption
at the hard disk level using an external dongle/card/whatever to limit
the risk when a laptop is lost or stolen.
Additionally, every login ALSO uses a dongle/card for access to their
account. This makes it (almost) impossible for somebody stealing a
laptop to get access to the whole data. Additionally, it makes it
(alomst) impossible for somebody to fet to other people's data. If a
system dies, you just get a new one and sync it up. However, one main
idea is that you always have EVERYTHING you need right where you are,
no matter WHERE you are. Also, there is no UPS to worry about.
Communication between PCs could be implemented using VPN/IPSec or
whatever other protected mechanism. Internet access would have to be
"sandboxed", but UNIX based OSes allow for that easily. That's the
gist of it. A lot of things can be configured in many ways, but the
whole point here is to simplify people's life.
Look at it from a disaster recovery: a lot of people bring their laptop home.
Even if the company's building burns down as well as a few employees
homes, one surviving laptop is enough to bring the business back online.
Pros:
* seamless company disaster recovery
* seamless personal computer loss recovery (you lose everything since
the last sync)
* you can use ANY laptop and find YOUR own environment and files
* no central server/single point of failure
* no UPS except for the internet firewall (this comes from the PCs
being laptops)
Cons:
* sync across a lot of PCs might be tricky and needs to be tuned.
Maybe randonly select one as master like the SMB Master browser
election works?
* each laptop needs to have enough space for the whole company's data
* maybe not appropriate for disk intensive applications (video capture...)
I wanted to post it here for other people to use if they think it's a
good idea. (and also to preempt any proprietary company from saying
"me first")
It seems that Windows Vista is coming with some automatic
synchronization across two PCs so, that's one step towards it, but we
have different goals.
I posted this somewhere and somebody pointed me toward stateless linux
and it seems pretty cool and close to what I was thinking of. I'll
look smoe more into it, but does anybody see this as useful for VERY
SMALL networks? (I already got bashed by enterprise admins sneernig at
people who don't want a rack server, so if that's your intent, just
reply "me too").
Feel free to comment (I know people will).
Nick
17 years, 3 months
Kernel issues
by Trever L. Adams
During the FC4 development cycle I mistakenly asked for 2.6.12 to be
included because it "had" the ip_conntrack for ipv6. This was based on
something I read. It turns out the person was misquoting. The USAGI
project was promising this for a patch for 2.6.12. It was never included
at least to my knowledge.
My wish list for FC5 includes the following:
TARPIT target for IPTABLES (I think it is already included).
connlimit (and friends) matching for the kernel, this exists in
documentation but has not yet made the mainstream kernel. Help should be
given to get it there and it should be included.
ip6_conntrack (or whatever it's name is) should be given similar help
and should be included.
Other than that, most of my wishes are ready being addressed. I do think
these are very important for both desktop and server/firewall machines.
Thank you,
Trever Adams
--
"I conceive that a great part of the miseries of mankind are brought
upon them by the false estimates they have made of the value of things."
-- Benjamin Franklin
17 years, 4 months
system-config-sshd ?
by Arthur Pemberton
Hello,
I have been a Fedora user since FC1, and now I'd like to contribute to
the project. I know some Python, but no GUI (as yet). My more tested
programming skills lie is pascal and delphi. I am interested in building
a cnfiguration tool for sshd to help me learn the python language
better, and also to contribute to the fedora project. But I need some help:
Knowledge - HOWTOs, tutorial, whitepapers, etc that I need to read to
properly write a system-config applicat ion
Rules - Standards, and guidelines that I shoudl follow
Technologies - gui toolkits, modules, etc that I should stick to in
learning and building a system-config tool.
Thanks for your assistance and time.
PS: the fedora-config-list is dead, so I'm reposting here
17 years, 5 months
libusual and ub
by Pete Zaitcev
Hi, Dave, Jeremy, and others:
I think now may be the time to enable ub in Rawhide and see if it sticks.
The problem it is trying to address is to have fewer oopses and/or lockups
related to the usb-storage. I have to say, I do not see all that many
these days, but when they do happen, it always happens as if on purpose
to break our schedule.
Since ub does not support all storage devices, and never will, I developed
a way for it to coexist with usb-storage. A patch called "libusual"
provides the necessary routing. It is attached at the bottom of this
message, and I think is necessary if we are to have ub at all.
In order to reap the benefit of ub, I consider it desirable to make
it default in libusual. This is, of course, risky. But if we do not
do it, Anaconda will be the only user, and it's a hell to debug
anything in the installation environment. I would rather have users
to poke at ub without installations first, by pulling kernels with yum.
To that end, the patch below defaults to ub. This is NOT how it is
done upstream.
Speaking of upstream, libusual is in Greg Kroah's tree, on its way
to AKPM, and is pretty far from Linus tree. Fedora is to test it
ahead of time, in my plan. I would like to ask if you guys are good
with it. We are in Rawhide, and just coming up to Test 1, after all.
I reckoned it appropriate to give a kind of technology preview.
-- Pete
diff -urpN -X dontdiff linux-2.6.14/drivers/block/Kconfig linux-2.6.14-lem/drivers/block/Kconfig
--- linux-2.6.14/drivers/block/Kconfig 2005-10-28 19:11:37.000000000 -0700
+++ linux-2.6.14-lem/drivers/block/Kconfig 2005-10-28 23:10:23.000000000 -0700
@@ -358,7 +358,8 @@ config BLK_DEV_UB
This driver supports certain USB attached storage devices
such as flash keys.
- Warning: Enabling this cripples the usb-storage driver.
+ If you enable this driver, it is recommended to avoid conflicts
+ with usb-storage by enabling USB_LIBUSUAL.
If unsure, say N.
diff -urpN -X dontdiff linux-2.6.14/drivers/block/ub.c linux-2.6.14-lem/drivers/block/ub.c
--- linux-2.6.14/drivers/block/ub.c 2005-10-28 19:11:38.000000000 -0700
+++ linux-2.6.14-lem/drivers/block/ub.c 2005-10-28 23:10:23.000000000 -0700
@@ -29,6 +29,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/usb.h>
+#include <linux/usb_usual.h>
#include <linux/blkdev.h>
#include <linux/devfs_fs_kernel.h>
#include <linux/timer.h>
@@ -107,16 +108,6 @@
*/
/*
- * Definitions which have to be scattered once we understand the layout better.
- */
-
-/* Transport (despite PR in the name) */
-#define US_PR_BULK 0x50 /* bulk only */
-
-/* Protocol */
-#define US_SC_SCSI 0x06 /* Transparent */
-
-/*
* This many LUNs per USB device.
* Every one of them takes a host, see UB_MAX_HOSTS.
*/
@@ -422,13 +413,18 @@ static int ub_probe_lun(struct ub_dev *s
/*
*/
+#ifdef CONFIG_USB_LIBUSUAL
+
+#define ub_usb_ids storage_usb_ids
+#else
+
static struct usb_device_id ub_usb_ids[] = {
- // { USB_DEVICE_VER(0x0781, 0x0002, 0x0009, 0x0009) }, /* SDDR-31 */
{ USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_SCSI, US_PR_BULK) },
{ }
};
MODULE_DEVICE_TABLE(usb, ub_usb_ids);
+#endif /* CONFIG_USB_LIBUSUAL */
/*
* Find me a way to identify "next free minor" for add_disk(),
@@ -2172,6 +2168,9 @@ static int ub_probe(struct usb_interface
int rc;
int i;
+ if (usb_usual_check_type(dev_id, USB_US_TYPE_UB))
+ return -ENXIO;
+
rc = -ENOMEM;
if ((sc = kmalloc(sizeof(struct ub_dev), GFP_KERNEL)) == NULL)
goto err_core;
@@ -2479,6 +2478,7 @@ static int __init ub_init(void)
if ((rc = usb_register(&ub_driver)) != 0)
goto err_register;
+ usb_usual_set_present(USB_US_TYPE_UB);
return 0;
err_register:
@@ -2494,6 +2494,7 @@ static void __exit ub_exit(void)
devfs_remove(DEVFS_NAME);
unregister_blkdev(UB_MAJOR, DRV_NAME);
+ usb_usual_clear_present(USB_US_TYPE_UB);
}
module_init(ub_init);
diff -urpN -X dontdiff linux-2.6.14/drivers/usb/storage/Kconfig linux-2.6.14-lem/drivers/usb/storage/Kconfig
--- linux-2.6.14/drivers/usb/storage/Kconfig 2005-10-28 19:12:03.000000000 -0700
+++ linux-2.6.14-lem/drivers/usb/storage/Kconfig 2005-10-28 23:10:23.000000000 -0700
@@ -123,3 +123,17 @@ config USB_STORAGE_ONETOUCH
hard drive's as an input device. An action can be associated with
this input in any keybinding software. (e.g. gnome's keyboard short-
cuts)
+
+config USB_LIBUSUAL
+ bool "The shared table of common (or usual) storage devices"
+ depends on USB
+ help
+ This module contains a table of common (or usual) devices
+ for usb-storage and ub drivers, and allows to switch binding
+ of these devices without rebuilding modules.
+
+ Typical syntax of /etc/modprobe.conf is:
+
+ options libusual bias="ub"
+
+ If unsure, say N.
diff -urpN -X dontdiff linux-2.6.14/drivers/usb/storage/libusual.c linux-2.6.14-lem/drivers/usb/storage/libusual.c
--- linux-2.6.14/drivers/usb/storage/libusual.c 1969-12-31 16:00:00.000000000 -0800
+++ linux-2.6.14-lem/drivers/usb/storage/libusual.c 2005-10-28 23:10:23.000000000 -0700
@@ -0,0 +1,266 @@
+/*
+ * libusual
+ *
+ * The libusual contains the table of devices common for ub and usb-storage.
+ */
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/usb.h>
+#include <linux/usb_usual.h>
+#include <linux/vmalloc.h>
+
+/*
+ */
+#define USU_MOD_FL_THREAD 1 /* Thread is running */
+#define USU_MOD_FL_PRESENT 2 /* The module is loaded */
+
+struct mod_status {
+ unsigned long fls;
+};
+
+static struct mod_status stat[3];
+static DEFINE_SPINLOCK(usu_lock);
+
+/*
+ */
+#define USB_US_DEFAULT_BIAS USB_US_TYPE_UB
+
+#define BIAS_NAME_SIZE (sizeof("usb-storage"))
+static char bias[BIAS_NAME_SIZE];
+static int usb_usual_bias;
+static const char *bias_names[3] = { "none", "usb-storage", "ub" };
+
+static DECLARE_MUTEX_LOCKED(usu_init_notify);
+static DECLARE_COMPLETION(usu_end_notify);
+static atomic_t total_threads = ATOMIC_INIT(0);
+
+static int usu_probe_thread(void *arg);
+static int parse_bias(const char *bias_s);
+
+/*
+ * The table.
+ */
+#define UNUSUAL_DEV(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax, \
+ vendorName, productName,useProtocol, useTransport, \
+ initFunction, flags) \
+{ USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin,bcdDeviceMax), \
+ .driver_info = (flags)|(USB_US_TYPE_STOR<<24) }
+
+#define USUAL_DEV(useProto, useTrans, useType) \
+{ USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, useProto, useTrans), \
+ .driver_info = ((useType)<<24) }
+
+struct usb_device_id storage_usb_ids [] = {
+# include "unusual_devs.h"
+ { } /* Terminating entry */
+};
+
+#undef USUAL_DEV
+#undef UNUSUAL_DEV
+
+MODULE_DEVICE_TABLE(usb, storage_usb_ids);
+EXPORT_SYMBOL(storage_usb_ids);
+
+/*
+ * @type: the module type as an integer
+ */
+void usb_usual_set_present(int type)
+{
+ struct mod_status *st;
+ unsigned long flags;
+
+ if (type <= 0 || type >= 3)
+ return;
+ st = &stat[type];
+ spin_lock_irqsave(&usu_lock, flags);
+ st->fls |= USU_MOD_FL_PRESENT;
+ spin_unlock_irqrestore(&usu_lock, flags);
+}
+EXPORT_SYMBOL(usb_usual_set_present);
+
+void usb_usual_clear_present(int type)
+{
+ struct mod_status *st;
+ unsigned long flags;
+
+ if (type <= 0 || type >= 3)
+ return;
+ st = &stat[type];
+ spin_lock_irqsave(&usu_lock, flags);
+ st->fls &= ~USU_MOD_FL_PRESENT;
+ spin_unlock_irqrestore(&usu_lock, flags);
+}
+EXPORT_SYMBOL(usb_usual_clear_present);
+
+/*
+ * Match the calling driver type against the table.
+ * Returns: 0 if the device matches.
+ */
+int usb_usual_check_type(const struct usb_device_id *id, int caller_type)
+{
+ int id_type = USB_US_TYPE(id->driver_info);
+
+ if (caller_type <= 0 || caller_type >= 3)
+ return -EINVAL;
+
+ /* Drivers grab fixed assignment devices */
+ if (id_type == caller_type)
+ return 0;
+ /* Drivers grab devices biased to them */
+ if (id_type == USB_US_TYPE_NONE && caller_type == usb_usual_bias)
+ return 0;
+ return -ENODEV;
+}
+EXPORT_SYMBOL(usb_usual_check_type);
+
+/*
+ */
+static int usu_probe(struct usb_interface *intf,
+ const struct usb_device_id *id)
+{
+ int type;
+ int rc;
+ unsigned long flags;
+
+ type = USB_US_TYPE(id->driver_info);
+ if (type == 0)
+ type = usb_usual_bias;
+
+ spin_lock_irqsave(&usu_lock, flags);
+ if ((stat[type].fls & (USU_MOD_FL_THREAD|USU_MOD_FL_PRESENT)) != 0) {
+ spin_unlock_irqrestore(&usu_lock, flags);
+ return -ENXIO;
+ }
+ stat[type].fls |= USU_MOD_FL_THREAD;
+ spin_unlock_irqrestore(&usu_lock, flags);
+
+ rc = kernel_thread(usu_probe_thread, (void*)type, CLONE_VM);
+ if (rc < 0) {
+ printk(KERN_WARNING "libusual: "
+ "Unable to start the thread for %s: %d\n",
+ bias_names[type], rc);
+ spin_lock_irqsave(&usu_lock, flags);
+ stat[type].fls &= ~USU_MOD_FL_THREAD;
+ spin_unlock_irqrestore(&usu_lock, flags);
+ return rc; /* Not being -ENXIO causes a message printed */
+ }
+ atomic_inc(&total_threads);
+
+ return -ENXIO;
+}
+
+static void usu_disconnect(struct usb_interface *intf)
+{
+ ; /* We should not be here. */
+}
+
+static struct usb_driver usu_driver = {
+ .owner = THIS_MODULE,
+ .name = "libusual",
+ .probe = usu_probe,
+ .disconnect = usu_disconnect,
+ .id_table = storage_usb_ids,
+};
+
+/*
+ * A whole new thread for a purpose of request_module seems quite stupid.
+ * The request_module forks once inside again. However, if we attempt
+ * to load a storage module from our own modprobe thread, that module
+ * references our symbols, which cannot be resolved until our module is
+ * initialized. I wish there was a way to wait for the end of initialization.
+ * The module notifier reports MODULE_STATE_COMING only.
+ * So, we wait until module->init ends as the next best thing.
+ */
+static int usu_probe_thread(void *arg)
+{
+ int type = (unsigned long) arg;
+ struct mod_status *st = &stat[type];
+ int rc;
+ unsigned long flags;
+
+ daemonize("libusual_%d", type); /* "usb-storage" is kinda too long */
+
+ /* A completion does not work here because it's counted. */
+ down(&usu_init_notify);
+ up(&usu_init_notify);
+
+ rc = request_module(bias_names[type]);
+ spin_lock_irqsave(&usu_lock, flags);
+ if (rc == 0 && (st->fls & USU_MOD_FL_PRESENT) == 0) {
+ /*
+ * This should not happen, but let us keep tabs on it.
+ */
+ printk(KERN_NOTICE "libusual: "
+ "modprobe for %s succeeded, but module is not present\n",
+ bias_names[type]);
+ }
+ st->fls &= ~USU_MOD_FL_THREAD;
+ spin_unlock_irqrestore(&usu_lock, flags);
+
+ complete_and_exit(&usu_end_notify, 0);
+}
+
+/*
+ */
+static int __init usb_usual_init(void)
+{
+ int rc;
+
+ bias[BIAS_NAME_SIZE-1] = 0;
+ usb_usual_bias = parse_bias(bias);
+
+ rc = usb_register(&usu_driver);
+ up(&usu_init_notify);
+ return rc;
+}
+
+static void __exit usb_usual_exit(void)
+{
+ /*
+ * We do not check for any drivers present, because
+ * they keep us pinned with symbol references.
+ */
+
+ usb_deregister(&usu_driver);
+
+ while (atomic_read(&total_threads) > 0) {
+ wait_for_completion(&usu_end_notify);
+ atomic_dec(&total_threads);
+ }
+}
+
+/*
+ * Validate and accept the bias parameter.
+ * Maybe make an sysfs method later. XXX
+ */
+static int parse_bias(const char *bias_s)
+{
+ int i;
+ int bias_n = 0;
+
+ if (bias_s[0] == 0 || bias_s[0] == ' ') {
+ bias_n = USB_US_DEFAULT_BIAS;
+ } else {
+ for (i = 1; i < 3; i++) {
+ if (strcmp(bias_s, bias_names[i]) == 0) {
+ bias_n = i;
+ break;
+ }
+ }
+ if (bias_n == 0) {
+ bias_n = USB_US_DEFAULT_BIAS;
+ printk(KERN_INFO
+ "libusual: unknown bias \"%s\", using \"%s\"\n",
+ bias_s, bias_names[bias_n]);
+ }
+ }
+ return bias_n;
+}
+
+module_init(usb_usual_init);
+module_exit(usb_usual_exit);
+
+module_param_string(bias, bias, BIAS_NAME_SIZE, S_IRUGO|S_IWUSR);
+MODULE_PARM_DESC(bias, "Bias to usb-storage or ub");
+
+MODULE_LICENSE("GPL");
diff -urpN -X dontdiff linux-2.6.14/drivers/usb/storage/Makefile linux-2.6.14-lem/drivers/usb/storage/Makefile
--- linux-2.6.14/drivers/usb/storage/Makefile 2005-10-28 19:12:03.000000000 -0700
+++ linux-2.6.14-lem/drivers/usb/storage/Makefile 2005-10-28 23:10:23.000000000 -0700
@@ -22,3 +22,7 @@ usb-storage-obj-$(CONFIG_USB_STORAGE_ONE
usb-storage-objs := scsiglue.o protocol.o transport.o usb.o \
initializers.o $(usb-storage-obj-y)
+
+ifneq ($(CONFIG_USB_LIBUSUAL),)
+ obj-$(CONFIG_USB) += libusual.o
+endif
diff -urpN -X dontdiff linux-2.6.14/drivers/usb/storage/protocol.h linux-2.6.14-lem/drivers/usb/storage/protocol.h
--- linux-2.6.14/drivers/usb/storage/protocol.h 2005-06-17 12:48:29.000000000 -0700
+++ linux-2.6.14-lem/drivers/usb/storage/protocol.h 2005-10-28 23:10:23.000000000 -0700
@@ -41,20 +41,6 @@
#ifndef _PROTOCOL_H_
#define _PROTOCOL_H_
-/* Sub Classes */
-
-#define US_SC_RBC 0x01 /* Typically, flash devices */
-#define US_SC_8020 0x02 /* CD-ROM */
-#define US_SC_QIC 0x03 /* QIC-157 Tapes */
-#define US_SC_UFI 0x04 /* Floppy */
-#define US_SC_8070 0x05 /* Removable media */
-#define US_SC_SCSI 0x06 /* Transparent */
-#define US_SC_ISD200 0x07 /* ISD200 ATA */
-#define US_SC_MIN US_SC_RBC
-#define US_SC_MAX US_SC_ISD200
-
-#define US_SC_DEVICE 0xff /* Use device's value */
-
/* Protocol handling routines */
extern void usb_stor_ATAPI_command(struct scsi_cmnd*, struct us_data*);
extern void usb_stor_qic157_command(struct scsi_cmnd*, struct us_data*);
diff -urpN -X dontdiff linux-2.6.14/drivers/usb/storage/transport.h linux-2.6.14-lem/drivers/usb/storage/transport.h
--- linux-2.6.14/drivers/usb/storage/transport.h 2005-09-13 01:06:21.000000000 -0700
+++ linux-2.6.14-lem/drivers/usb/storage/transport.h 2005-10-28 23:10:23.000000000 -0700
@@ -41,39 +41,8 @@
#ifndef _TRANSPORT_H_
#define _TRANSPORT_H_
-#include <linux/config.h>
#include <linux/blkdev.h>
-/* Protocols */
-
-#define US_PR_CBI 0x00 /* Control/Bulk/Interrupt */
-#define US_PR_CB 0x01 /* Control/Bulk w/o interrupt */
-#define US_PR_BULK 0x50 /* bulk only */
-#ifdef CONFIG_USB_STORAGE_USBAT
-#define US_PR_SCM_ATAPI 0x80 /* SCM-ATAPI bridge */
-#endif
-#ifdef CONFIG_USB_STORAGE_SDDR09
-#define US_PR_EUSB_SDDR09 0x81 /* SCM-SCSI bridge for SDDR-09 */
-#endif
-#ifdef CONFIG_USB_STORAGE_SDDR55
-#define US_PR_SDDR55 0x82 /* SDDR-55 (made up) */
-#endif
-#define US_PR_DPCM_USB 0xf0 /* Combination CB/SDDR09 */
-
-#ifdef CONFIG_USB_STORAGE_FREECOM
-#define US_PR_FREECOM 0xf1 /* Freecom */
-#endif
-
-#ifdef CONFIG_USB_STORAGE_DATAFAB
-#define US_PR_DATAFAB 0xf2 /* Datafab chipsets */
-#endif
-
-#ifdef CONFIG_USB_STORAGE_JUMPSHOT
-#define US_PR_JUMPSHOT 0xf3 /* Lexar Jumpshot */
-#endif
-
-#define US_PR_DEVICE 0xff /* Use device's value */
-
/*
* Bulk only data structures
*/
diff -urpN -X dontdiff linux-2.6.14/drivers/usb/storage/unusual_devs.h linux-2.6.14-lem/drivers/usb/storage/unusual_devs.h
--- linux-2.6.14/drivers/usb/storage/unusual_devs.h 2005-10-28 19:12:04.000000000 -0700
+++ linux-2.6.14-lem/drivers/usb/storage/unusual_devs.h 2005-10-28 23:10:23.000000000 -0700
@@ -1093,3 +1113,27 @@ UNUSUAL_DEV( 0x55aa, 0xa103, 0x0000, 0x
US_SC_SCSI, US_PR_SDDR55, NULL,
US_FL_SINGLE_LUN),
#endif
+
+/* Control/Bulk transport for all SubClass values */
+USUAL_DEV(US_SC_RBC, US_PR_CB, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_8020, US_PR_CB, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_QIC, US_PR_CB, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_UFI, US_PR_CB, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_8070, US_PR_CB, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_SCSI, US_PR_CB, USB_US_TYPE_STOR),
+
+/* Control/Bulk/Interrupt transport for all SubClass values */
+USUAL_DEV(US_SC_RBC, US_PR_CBI, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_8020, US_PR_CBI, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_QIC, US_PR_CBI, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_UFI, US_PR_CBI, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_8070, US_PR_CBI, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_SCSI, US_PR_CBI, USB_US_TYPE_STOR),
+
+/* Bulk-only transport for all SubClass values */
+USUAL_DEV(US_SC_RBC, US_PR_BULK, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_8020, US_PR_BULK, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_QIC, US_PR_BULK, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_UFI, US_PR_BULK, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_8070, US_PR_BULK, USB_US_TYPE_STOR),
+USUAL_DEV(US_SC_SCSI, US_PR_BULK, 0),
diff -urpN -X dontdiff linux-2.6.14/drivers/usb/storage/usb.c linux-2.6.14-lem/drivers/usb/storage/usb.c
--- linux-2.6.14/drivers/usb/storage/usb.c 2005-10-28 19:12:04.000000000 -0700
+++ linux-2.6.14-lem/drivers/usb/storage/usb.c 2005-10-28 23:10:23.000000000 -0700
@@ -116,49 +116,33 @@ static int storage_probe(struct usb_inte
static void storage_disconnect(struct usb_interface *iface);
-/* The entries in this table, except for final ones here
- * (USB_MASS_STORAGE_CLASS and the empty entry), correspond,
- * line for line with the entries of us_unsuaul_dev_list[].
+/*
+ * The entries in this table correspond, line for line,
+ * with the entries of us_unusual_dev_list[].
*/
+#ifndef CONFIG_USB_LIBUSUAL
#define UNUSUAL_DEV(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax, \
vendorName, productName,useProtocol, useTransport, \
initFunction, flags) \
-{ USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin,bcdDeviceMax) }
+{ USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin,bcdDeviceMax), \
+ .driver_info = (flags)|(USB_US_TYPE_STOR<<24) }
+
+#define USUAL_DEV(useProto, useTrans, useType) \
+{ USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, useProto, useTrans), \
+ .driver_info = (USB_US_TYPE_STOR<<24) }
static struct usb_device_id storage_usb_ids [] = {
# include "unusual_devs.h"
#undef UNUSUAL_DEV
- /* Control/Bulk transport for all SubClass values */
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_RBC, US_PR_CB) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_8020, US_PR_CB) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_QIC, US_PR_CB) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_UFI, US_PR_CB) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_8070, US_PR_CB) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_SCSI, US_PR_CB) },
-
- /* Control/Bulk/Interrupt transport for all SubClass values */
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_RBC, US_PR_CBI) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_8020, US_PR_CBI) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_QIC, US_PR_CBI) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_UFI, US_PR_CBI) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_8070, US_PR_CBI) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_SCSI, US_PR_CBI) },
-
- /* Bulk-only transport for all SubClass values */
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_RBC, US_PR_BULK) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_8020, US_PR_BULK) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_QIC, US_PR_BULK) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_UFI, US_PR_BULK) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_8070, US_PR_BULK) },
- { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_SCSI, US_PR_BULK) },
-
+#undef USUAL_DEV
/* Terminating entry */
{ }
};
MODULE_DEVICE_TABLE (usb, storage_usb_ids);
+#endif /* CONFIG_USB_LIBUSUAL */
/* This is the list of devices we recognize, along with their flag data */
@@ -171,7 +155,6 @@ MODULE_DEVICE_TABLE (usb, storage_usb_id
* are free to use as many characters as you like.
*/
-#undef UNUSUAL_DEV
#define UNUSUAL_DEV(idVendor, idProduct, bcdDeviceMin, bcdDeviceMax, \
vendor_name, product_name, use_protocol, use_transport, \
init_function, Flags) \
@@ -181,53 +164,18 @@ MODULE_DEVICE_TABLE (usb, storage_usb_id
.useProtocol = use_protocol, \
.useTransport = use_transport, \
.initFunction = init_function, \
- .flags = Flags, \
+}
+
+#define USUAL_DEV(use_protocol, use_transport, use_type) \
+{ \
+ .useProtocol = use_protocol, \
+ .useTransport = use_transport, \
}
static struct us_unusual_dev us_unusual_dev_list[] = {
# include "unusual_devs.h"
# undef UNUSUAL_DEV
- /* Control/Bulk transport for all SubClass values */
- { .useProtocol = US_SC_RBC,
- .useTransport = US_PR_CB},
- { .useProtocol = US_SC_8020,
- .useTransport = US_PR_CB},
- { .useProtocol = US_SC_QIC,
- .useTransport = US_PR_CB},
- { .useProtocol = US_SC_UFI,
- .useTransport = US_PR_CB},
- { .useProtocol = US_SC_8070,
- .useTransport = US_PR_CB},
- { .useProtocol = US_SC_SCSI,
- .useTransport = US_PR_CB},
-
- /* Control/Bulk/Interrupt transport for all SubClass values */
- { .useProtocol = US_SC_RBC,
- .useTransport = US_PR_CBI},
- { .useProtocol = US_SC_8020,
- .useTransport = US_PR_CBI},
- { .useProtocol = US_SC_QIC,
- .useTransport = US_PR_CBI},
- { .useProtocol = US_SC_UFI,
- .useTransport = US_PR_CBI},
- { .useProtocol = US_SC_8070,
- .useTransport = US_PR_CBI},
- { .useProtocol = US_SC_SCSI,
- .useTransport = US_PR_CBI},
-
- /* Bulk-only transport for all SubClass values */
- { .useProtocol = US_SC_RBC,
- .useTransport = US_PR_BULK},
- { .useProtocol = US_SC_8020,
- .useTransport = US_PR_BULK},
- { .useProtocol = US_SC_QIC,
- .useTransport = US_PR_BULK},
- { .useProtocol = US_SC_UFI,
- .useTransport = US_PR_BULK},
- { .useProtocol = US_SC_8070,
- .useTransport = US_PR_BULK},
- { .useProtocol = US_SC_SCSI,
- .useTransport = US_PR_BULK},
+# undef USUAL_DEV
/* Terminating entry */
{ NULL }
@@ -469,15 +417,21 @@ static int associate_dev(struct us_data
}
return 0;
}
+
+/* Find an unusual_dev descriptor (always succeeds in the current code) */
+static struct us_unusual_dev *find_unusual(const struct usb_device_id *id)
+{
+ const int id_index = id - storage_usb_ids;
+ return &us_unusual_dev_list[id_index];
+}
/* Get the unusual_devs entries and the string descriptors */
-static void get_device_info(struct us_data *us, int id_index)
+static void get_device_info(struct us_data *us, const struct usb_device_id *id)
{
struct usb_device *dev = us->pusb_dev;
struct usb_interface_descriptor *idesc =
&us->pusb_intf->cur_altsetting->desc;
- struct us_unusual_dev *unusual_dev = &us_unusual_dev_list[id_index];
- struct usb_device_id *id = &storage_usb_ids[id_index];
+ struct us_unusual_dev *unusual_dev = find_unusual(id);
/* Store the entries */
us->unusual_dev = unusual_dev;
@@ -487,7 +441,7 @@ static void get_device_info(struct us_da
us->protocol = (unusual_dev->useTransport == US_PR_DEVICE) ?
idesc->bInterfaceProtocol :
unusual_dev->useTransport;
- us->flags = unusual_dev->flags;
+ us->flags = USB_US_ORIG_FLAGS(id->driver_info);
/*
* This flag is only needed when we're in high-speed, so let's
@@ -515,7 +469,7 @@ static void get_device_info(struct us_da
if (unusual_dev->useTransport != US_PR_DEVICE &&
us->protocol == idesc->bInterfaceProtocol)
msg += 2;
- if (msg >= 0 && !(unusual_dev->flags & US_FL_NEED_OVERRIDE))
+ if (msg >= 0 && !(us->flags & US_FL_NEED_OVERRIDE))
printk(KERN_NOTICE USB_STORAGE "This device "
"(%04x,%04x,%04x S %02x P %02x)"
" has %s in unusual_devs.h\n"
@@ -921,9 +875,11 @@ static int storage_probe(struct usb_inte
{
struct Scsi_Host *host;
struct us_data *us;
- const int id_index = id - storage_usb_ids;
int result;
+ if (usb_usual_check_type(id, USB_US_TYPE_STOR))
+ return -ENXIO;
+
US_DEBUGP("USB Mass Storage device detected\n");
/*
@@ -956,7 +912,7 @@ static int storage_probe(struct usb_inte
* of the match from the usb_device_id table, so we can find the
* corresponding entry in the private table.
*/
- get_device_info(us, id_index);
+ get_device_info(us, id);
#ifdef CONFIG_USB_STORAGE_SDDR09
if (us->protocol == US_PR_EUSB_SDDR09 ||
@@ -1045,9 +1001,10 @@ static int __init usb_stor_init(void)
/* register the driver, return usb_register return code if error */
retval = usb_register(&usb_storage_driver);
- if (retval == 0)
+ if (retval == 0) {
printk(KERN_INFO "USB Mass Storage support registered.\n");
-
+ usb_usual_set_present(USB_US_TYPE_STOR);
+ }
return retval;
}
@@ -1071,6 +1028,8 @@ static void __exit usb_stor_exit(void)
wait_for_completion(&threads_gone);
atomic_dec(&total_threads);
}
+
+ usb_usual_clear_present(USB_US_TYPE_STOR);
}
module_init(usb_stor_init);
diff -urpN -X dontdiff linux-2.6.14/drivers/usb/storage/usb.h linux-2.6.14-lem/drivers/usb/storage/usb.h
--- linux-2.6.14/drivers/usb/storage/usb.h 2005-10-28 19:12:04.000000000 -0700
+++ linux-2.6.14-lem/drivers/usb/storage/usb.h 2005-10-28 23:10:23.000000000 -0700
@@ -45,6 +45,7 @@
#define _USB_H_
#include <linux/usb.h>
+#include <linux/usb_usual.h>
#include <linux/blkdev.h>
#include <linux/smp_lock.h>
#include <linux/completion.h>
@@ -63,38 +64,8 @@ struct us_unusual_dev {
__u8 useProtocol;
__u8 useTransport;
int (*initFunction)(struct us_data *);
- unsigned int flags;
};
-/*
- * Static flag definitions. We use this roundabout technique so that the
- * proc_info() routine can automatically display a message for each flag.
- */
-#define US_DO_ALL_FLAGS \
- US_FLAG(SINGLE_LUN, 0x00000001) \
- /* allow access to only LUN 0 */ \
- US_FLAG(NEED_OVERRIDE, 0x00000002) \
- /* unusual_devs entry is necessary */ \
- US_FLAG(SCM_MULT_TARG, 0x00000004) \
- /* supports multiple targets */ \
- US_FLAG(FIX_INQUIRY, 0x00000008) \
- /* INQUIRY response needs faking */ \
- US_FLAG(FIX_CAPACITY, 0x00000010) \
- /* READ CAPACITY response too big */ \
- US_FLAG(IGNORE_RESIDUE, 0x00000020) \
- /* reported residue is wrong */ \
- US_FLAG(BULK32, 0x00000040) \
- /* Uses 32-byte CBW length */ \
- US_FLAG(NOT_LOCKABLE, 0x00000080) \
- /* PREVENT/ALLOW not supported */ \
- US_FLAG(GO_SLOW, 0x00000100) \
- /* Need delay after Command phase */ \
- US_FLAG(NO_WP_DETECT, 0x00000200) \
- /* Don't check for write-protect */ \
-
-#define US_FLAG(name, value) US_FL_##name = value ,
-enum { US_DO_ALL_FLAGS };
-#undef US_FLAG
/* Dynamic flag definitions: used in set_bit() etc. */
#define US_FLIDX_URB_ACTIVE 18 /* 0x00040000 current_urb is in use */
diff -urpN -X dontdiff linux-2.6.14/include/linux/usb_usual.h linux-2.6.14-lem/include/linux/usb_usual.h
--- linux-2.6.14/include/linux/usb_usual.h 1969-12-31 16:00:00.000000000 -0800
+++ linux-2.6.14-lem/include/linux/usb_usual.h 2005-10-28 23:10:23.000000000 -0700
@@ -0,0 +1,123 @@
+/*
+ * Interface to the libusual.
+ *
+ * Copyright (c) 2005 Pete Zaitcev <zaitcev(a)redhat.com>
+ * Copyright (c) 1999-2002 Matthew Dharm (mdharm-usb(a)one-eyed-alien.net)
+ * Copyright (c) 1999 Michael Gee (michael(a)linuxspecific.com)
+ */
+
+#ifndef __LINUX_USB_USUAL_H
+#define __LINUX_USB_USUAL_H
+
+#include <linux/config.h>
+
+/* We should do this for cleanliness... But other usb_foo.h do not do this. */
+/* #include <linux/usb.h> */
+
+/*
+ * The flags field, which we store in usb_device_id.driver_info.
+ * It is compatible with the old usb-storage flags in lower 24 bits.
+ */
+
+/*
+ * Static flag definitions. We use this roundabout technique so that the
+ * proc_info() routine can automatically display a message for each flag.
+ */
+#define US_DO_ALL_FLAGS \
+ US_FLAG(SINGLE_LUN, 0x00000001) \
+ /* allow access to only LUN 0 */ \
+ US_FLAG(NEED_OVERRIDE, 0x00000002) \
+ /* unusual_devs entry is necessary */ \
+ US_FLAG(SCM_MULT_TARG, 0x00000004) \
+ /* supports multiple targets */ \
+ US_FLAG(FIX_INQUIRY, 0x00000008) \
+ /* INQUIRY response needs faking */ \
+ US_FLAG(FIX_CAPACITY, 0x00000010) \
+ /* READ CAPACITY response too big */ \
+ US_FLAG(IGNORE_RESIDUE, 0x00000020) \
+ /* reported residue is wrong */ \
+ US_FLAG(BULK32, 0x00000040) \
+ /* Uses 32-byte CBW length */ \
+ US_FLAG(NOT_LOCKABLE, 0x00000080) \
+ /* PREVENT/ALLOW not supported */ \
+ US_FLAG(GO_SLOW, 0x00000100) \
+ /* Need delay after Command phase */ \
+ US_FLAG(NO_WP_DETECT, 0x00000200) \
+ /* Don't check for write-protect */ \
+
+#define US_FLAG(name, value) US_FL_##name = value ,
+enum { US_DO_ALL_FLAGS };
+#undef US_FLAG
+
+/*
+ * The bias field for libusual and friends.
+ */
+#define USB_US_TYPE_NONE 0
+#define USB_US_TYPE_STOR 1 /* usb-storage */
+#define USB_US_TYPE_UB 2 /* ub */
+
+#define USB_US_TYPE(flags) (((flags) >> 24) & 0xFF)
+#define USB_US_ORIG_FLAGS(flags) ((flags) & 0x00FFFFFF)
+
+/*
+ * This is probably not the best place to keep these constants, conceptually.
+ * But it's the only header included into all places which need them.
+ */
+
+/* Sub Classes */
+
+#define US_SC_RBC 0x01 /* Typically, flash devices */
+#define US_SC_8020 0x02 /* CD-ROM */
+#define US_SC_QIC 0x03 /* QIC-157 Tapes */
+#define US_SC_UFI 0x04 /* Floppy */
+#define US_SC_8070 0x05 /* Removable media */
+#define US_SC_SCSI 0x06 /* Transparent */
+#define US_SC_ISD200 0x07 /* ISD200 ATA */
+#define US_SC_MIN US_SC_RBC
+#define US_SC_MAX US_SC_ISD200
+
+#define US_SC_DEVICE 0xff /* Use device's value */
+
+/* Protocols */
+
+#define US_PR_CBI 0x00 /* Control/Bulk/Interrupt */
+#define US_PR_CB 0x01 /* Control/Bulk w/o interrupt */
+#define US_PR_BULK 0x50 /* bulk only */
+#ifdef CONFIG_USB_STORAGE_USBAT
+#define US_PR_SCM_ATAPI 0x80 /* SCM-ATAPI bridge */
+#endif
+#ifdef CONFIG_USB_STORAGE_SDDR09
+#define US_PR_EUSB_SDDR09 0x81 /* SCM-SCSI bridge for SDDR-09 */
+#endif
+#ifdef CONFIG_USB_STORAGE_SDDR55
+#define US_PR_SDDR55 0x82 /* SDDR-55 (made up) */
+#endif
+#define US_PR_DPCM_USB 0xf0 /* Combination CB/SDDR09 */
+#ifdef CONFIG_USB_STORAGE_FREECOM
+#define US_PR_FREECOM 0xf1 /* Freecom */
+#endif
+#ifdef CONFIG_USB_STORAGE_DATAFAB
+#define US_PR_DATAFAB 0xf2 /* Datafab chipsets */
+#endif
+#ifdef CONFIG_USB_STORAGE_JUMPSHOT
+#define US_PR_JUMPSHOT 0xf3 /* Lexar Jumpshot */
+#endif
+
+#define US_PR_DEVICE 0xff /* Use device's value */
+
+/*
+ */
+#ifdef CONFIG_USB_LIBUSUAL
+
+extern struct usb_device_id storage_usb_ids[];
+extern void usb_usual_set_present(int type);
+extern void usb_usual_clear_present(int type);
+extern int usb_usual_check_type(const struct usb_device_id *, int type);
+#else
+
+#define usb_usual_set_present(t) do { } while(0)
+#define usb_usual_clear_present(t) do { } while(0)
+#define usb_usual_check_type(id, t) (0)
+#endif /* CONFIG_USB_LIBUSUAL */
+
+#endif /* __LINUX_USB_USUAL_H */
17 years, 5 months
OT: SCALE 4x -- Call For Papers
by Ilan Rabinovitch
Hello,
The call for papers for SCALE 4x, the 2006 Southern California Linux
Expo, is now open. This event will be our fourth annual show. It
will be held on Feb 11-12, 2006 at the Los Angeles Airport Westin. We
are expecting 1,300+ in attendance this year. We are non-profit,
community run Linux, open-source and free software conference.
If you are working on something you believe the community
would be interested in, please consider submitting a presentation to
our call for papers. I am including details bellow.
Past presentations are available online (including slides audio in most cases):
2005 - http://www.socallinuxexpo.org/past/2005/hours.php
2003 - http://www.socallinuxexpo.org/past/2003/presentations.php
2002 - http://www.socallinuxexpo.org/past/2002/presentations.php
If you have any questions please feel free to call the Call For Papers
team at cfp @ socallinuxexp.org
CFP Link: http://www.socallinuxexpo.org/pr/pr_20050620.php
CFP PDF: http://www.socallinuxexpo.org/pr/cfp4x.pdf
Best regards,
Ilan Rabinovitch
Conference Chair
Southern California Linux Expo
http://www.socallinuxexpo.org
2006 Southern CAlifornia Linux Expo
The USC, Simi/Conejo, and UCLA Linux User Groups are proud to announce
the 4th annual Southern California Linux Expo scheduled for February
11-12, 2006 at the Westin Hotel near the Los Angeles International
Airport. Building on the tremendous success of last three years' SCALE,
we will continue to promote Linux and the Open Source Software
community.
We invite you to share your work on Linux and Open Source projects with
the rest of the community as well as exchange ideas with some of the
leading experts in these field. Details about SCALE 4X as well as
archives for the last three years can be found at
http://www.socallinuxexpo.com.
Topics of interest include, but are not limited to:
* Linux kernel
* Linux Networking
* Linux for embedded systems
* Linux for Desktops
* LAMP
* Multimedia in Linux
* Security in Linux
* VoIP
* Wireless tools in Linux
* Linux Games
* GIMP & other graphics software
* Administration techniques for specific distributions
* Custom Configurations
* Linux Deployments and experiences: Case studies
* Open source Licensing
* Government policies with Open Source
* Other open source projects
The proposals should comprise a 1-page (maximum) description containing
the following:
1] Title for the talk.
2] Name, Affiliation, Bio, a passport size picture (optional) and
contact email address of the Presenter.
3] What will be covered? A bulleted list of the main points of the
presentation will be ideal. Please include enough detail as will be
necessary.
4] Any specific requirements needed for the presentation other than an
overhead projector and a microphone.
Presentations are alloted a time slot of about 45 minutes. All proposals
are to be sent to kapadia=at=socallinuxexpo.com.
Important Dates:
20 Jun, 2005: CFP Opens
20 Nov, 2005: Last date for abstracts/proposals
20 Dec, 2005: Last date for notification of acceptance
11 Feb, 2006: Conference starts
17 years, 6 months
rawhide report: 20051029 changes
by Build System
Updated Packages:
anaconda-10.89.6-1
------------------
* Fri Oct 28 2005 Jeremy Katz <katzj(a)redhat.com> - 10.89.6-1
- Make char devices slightly later to avoid tracebacks during tree compose
- Extract kernel-xen-guest for vmlinuz and initrd in images/xen
- Kickstart fix (clumens)
- Add some support for xen xvd blockdevs
- Select kernel-xen-guest as appropriate
- Ensure proper arch of glibc is selected (#171997)
- Select all proper multilib parts of a package (#171026)
avahi-0.5.2-3
-------------
booty-0.59-1
------------
* Fri Oct 28 2005 Jeremy Katz <katzj(a)redhat.com> - 0.59-1
- support serial console for xen
cdrtools-8:2.01.1-11
--------------------
* Wed Sep 28 2005 Harald Hoyer <harald(a)redhat.com> 8:2.01.1-11
- fixed isoinfo #167437
- fixed rscsi debug #152462
checkpolicy-1.27.17-2
---------------------
* Tue Oct 25 2005 Dan Walsh <dwalsh(a)redhat.com> 1.27.17-2
- Rebuild to get latest libsepol
coreutils-5.92-1
----------------
* Fri Oct 28 2005 Tim Waugh <twaugh(a)redhat.com> 5.92-1
- Finished porting i18n patch to sort.c.
- Fixed for sort-mb-tests (avoid +n syntax).
* Fri Oct 28 2005 Tim Waugh <twaugh(a)redhat.com> 5.92-0.2
- Fix chgrp basic test.
- Include md5sum patch from ALT.
* Mon Oct 24 2005 Tim Waugh <twaugh(a)redhat.com> 5.92-0.1
- 5.92.
- No longer need afs, dircolors, utmp, gcc4, brokentest, dateseconds,
chown, rmaccess, copy, stale-utmp, no-sign-extend, fchown patches.
- Updated acl, dateman, pam, langinfo, i18n, getgrouplist, selinux patches.
- Dropped printf-ll, allow_old_options, jday, zh_CN patches.
- NOTE: i18n patch not ported for sort(1) yet.
firstboot-1.3.52-1
------------------
* Fri Oct 28 2005 Chris Lumens <clumens(a)redhat.com> 1.3.52-1
- Set a timeout on waiting for the window manager to start.
- Correct ps output.
- Move keyboard initialization to after the modules have been loaded
(#133074, #157870).
fonts-ISO8859-2-1.0-15
----------------------
* Fri Oct 28 2005 Caolan McNamara <caolanm(a)redhat.com> - 1.0-15
- package description mentions old package name
fonts-arabic-1.5-4
------------------
* Fri Oct 28 2005 Caolan McNamara <caolanm(a)redhat.com> - 1.5-4
- check for existance of fc-cache
kudzu-1.2.10-1
--------------
* Fri Oct 28 2005 Jeremy Katz <katzj(a)redhat.com> - 1.2.10-1
- add some basic xen device probing
libsemanage-1.3.38-1
--------------------
* Fri Oct 28 2005 Dan Walsh <dwalsh(a)redhat.com> 1.3.38-1
- Upgrade to latest from NSA
* Merged dbase policydb list and count change from Ivan Gyurdiev.
* Merged enable dbase and set relay patches from Ivan Gyurdiev.
* Thu Oct 27 2005 Dan Walsh <dwalsh(a)redhat.com> 1.3.36-1
- Update from NSA
* Merged query APIs and dbase_file_set patches from Ivan Gyurdiev.
* Wed Oct 26 2005 Dan Walsh <dwalsh(a)redhat.com> 1.3.35-1
- Update from NSA
* Merged sepol handle passing, seusers support, and policydb cache
patches from Ivan Gyurdiev.
libsepol-1.9.33-1
-----------------
* Fri Oct 28 2005 Dan Walsh <dwalsh(a)redhat.com> 1.9.33-1
- Upgrade to latest from NSA
* Merged count specification change from Ivan Gyurdiev.
nautilus-2.12.1-5
-----------------
* Fri Oct 28 2005 Matthias Clasen <mclasen(a)redhat.com> 2.12.1-5
- Implement icon stretching keynav
- Support formatting non-floppy devices
* Sat Oct 22 2005 Matthias Clasen <mclasen(a)redhat.com> 2.12.1-4
- Improve icon stretching ui
openssh-4.2p1-5
---------------
* Fri Oct 28 2005 Tomas Mraz <tmraz(a)redhat.com> 4.2p1-5
- put back the possibility to skip SELinux patch
- add patch for user login auditing by Steve Grubb
policycoreutils-1.27.19-2
-------------------------
* Tue Oct 25 2005 Dan Walsh <dwalsh(a)redhat.com> 1.27.19-2
- Rebuild to use latest libselinux, libsemanage, and libsepol
pykickstart-0.6-1
-----------------
* Fri Oct 28 2005 Chris Lumens <clumens(a)redhat.com> 0.6-1
- Add --resolvedeps and --ignoredeps as deprecated options.
- Pass line number to header functions.
selinux-policy-mls-1.27.2-9
---------------------------
* Fri Oct 28 2005 Dan Walsh <dwalsh(a)redhat.com> 1.27.2-9
- Add avahi policy
* Fri Oct 28 2005 Dan Walsh <dwalsh(a)redhat.com> 1.27.2-8
- Allow spamd to rewrite ~/.spamassin file
selinux-policy-strict-1.27.2-10
-------------------------------
* Fri Oct 28 2005 Dan Walsh <dwalsh(a)redhat.com> 1.27.2-10
- Fix file_context
* Fri Oct 28 2005 Dan Walsh <dwalsh(a)redhat.com> 1.27.2-9
- Add avahi policy
* Fri Oct 28 2005 Dan Walsh <dwalsh(a)redhat.com> 1.27.2-8
- Allow spamd to rewrite ~/.spamassin file
selinux-policy-targeted-1.27.2-10
---------------------------------
* Fri Oct 28 2005 Dan Walsh <dwalsh(a)redhat.com> 1.27.2-10
- Fix file_context
* Fri Oct 28 2005 Dan Walsh <dwalsh(a)redhat.com> 1.27.2-9
- Add avahi policy
* Fri Oct 28 2005 Dan Walsh <dwalsh(a)redhat.com> 1.27.2-8
- Allow spamd to rewrite ~/.spamassin file
totem-1.2.0-2
-------------
17 years, 7 months
Suspend to disk with 2.6.14-1.1635_FC5
by Bojan Smojver
Although I normally patch with suspend2, just wanted to try the status
of suspend to disk in the regular FC5 kernels. The notebook (HP-ZE4201)
wouldn't suspend at all. This is what I have in dmesg:
-----------------------------------
Stopping tasks:
================================================================
================
stopping tasks failed (1 tasks remaining)
Restarting tasks...<6> Strange, kauditd not stopped
done
-----------------------------------
In some previous kernels it used to suspend and then crash on resume.
--
Bojan
17 years, 7 months