--- libgphoto2-2.4.6/packaging/generic/print-camera-list.c 2009-03-23 08:56:56.000000000 +0100 +++ /home/martin/ubuntu/tmp/libgphoto2-2.4.6/packaging/generic/print-camera-list.c 2009-06-04 18:12:33.000000000 +0200 @@ -366,12 +366,14 @@ typedef enum { UDEV_PRE_0_98 = 0, - UDEV_0_98 = 1 + UDEV_0_98 = 1, + UDEV_136 = 2 } udev_version_t; static const StringFlagItem udev_version_t_map[] = { { "pre-0.98", UDEV_PRE_0_98 }, { "0.98", UDEV_0_98 }, + { "136", UDEV_136 }, { NULL, 0 } }; @@ -399,13 +401,20 @@ "ACTION!=\"add\", GOTO=\"libgphoto2_rules_end\"\n\n", /* UDEV_0_98 */ "SUBSYSTEM!=\"usb|usb_device\", GOTO=\"libgphoto2_rules_end\"\n" + "ACTION!=\"add\", GOTO=\"libgphoto2_rules_end\"\n\n", + /* UDEV_136 */ + "SUBSYSTEM!=\"usb\", GOTO=\"libgphoto2_rules_end\"\n" + "ENV{DEVTYPE}!=\"usb_device\", GOTO=\"libgphoto2_rules_end\"\n" "ACTION!=\"add\", GOTO=\"libgphoto2_rules_end\"\n\n" + "ENV{ID_USB_INTERFACES}==\"\", IMPORT{program}=\"usb_id --export %%p\"\n\n" }; static const char * const usbcam_strings[] = { /* UDEV_PRE_0_98 */ - "SYSFS{idVendor}==\"%04x\", SYSFS{idProduct}==\"%04x\", ", + "SYSFS{idVendor}==\"%04x\", SYSFS{idProduct}==\"%04x\"", /* UDEV_0_98 */ - "ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ", + "ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\"", + /* UDEV_136 */ + "ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ENV{ID_GPHOTO2}=\"1\", ENV{GPHOTO2_DRIVER}=\"proprietary\"" }; udev_persistent_data_t *pdata; pdata = calloc(1, sizeof(udev_persistent_data_t)); @@ -444,7 +453,8 @@ && pdata->mode == NULL && pdata->group == NULL && pdata->owner == NULL - && pdata->script == NULL) { + && pdata->script == NULL + && pdata->version <= UDEV_0_98) { FATAL("Either