Actually, the path to the scripts dir (/lib/udev in your case) is provided by 
udev.pc pkg-config file. So if you consider installing any script(s) to 
/lib/udev, you'd better avoid hardcoding that directory and use pkgconfig:

$ pkg-config --variable udevdir udev
/lib/udev

Unfortunately, there is no path to udevadm provided as a variable in udev.pc 
which, I suppose, could be filed as an enhancement request to udev bugtracker.

cheers,
Andrey

On 20 Dec 2010, at 4:33PM, Karl Relton wrote:

> On my Ubuntu system, all the scripts in /lib/udev that need to run
> things from /sbin either use full path at each invocation, or at the top
> prepend /sbin to $PATH.
> 
> So to be consistent with them we could make /lib/udev/synce-udev-serial
> do the prepend /sbin to $PATH, and
> then /usr/share/synce-connector/udev-synce-serial could just call
> udevadm.
> 
> Karl
> 
> 
> On Fri, 2010-12-17 at 17:00 +0100, David Eriksson wrote:
>> Thanks! Maybe those changes should be build options or configuration
>> options? For example, udevadm might not be in PATH...
>> 
>> 
>> Best regards,
>> 
>> David Eriksson
>> 
>> 
>> On Thu, Dec 16, 2010 at 18:43, Karl Relton
>> <karllinuxtest.rel...@ntlworld.com> wrote:
>>> I tried the new udev based connector on Ubuntu (Maverick) from the
>>> development ppa.
>>> 
>>> To get it to work I had to apply the following patch:
>>> 
>>> 
>>> --- udev-synce-serial   2010-12-16 17:38:20.517195997 +0000
>>> +++ udev-synce-serial.orig      2010-11-15 20:23:51.628813001 +0000
>>> @@ -39,7 +39,7 @@
>>>        # there are no python bindings for udev, so this is a little awkward
>>> 
>>>        # get device name
>>> -        cmd_list = ["/sbin/udevadm", "info", "--path="+device_path, 
>>> "--query=name"]
>>> +        cmd_list = ["udevadm", "info", "--path="+devpath, "--query=name"]
>>>        try:
>>>            proc = subprocess.Popen(cmd_list, stdout=subprocess.PIPE, 
>>> stderr=subprocess.STDOUT)
>>>            output_text = proc.communicate()[0]
>>> @@ -55,7 +55,7 @@
>>>        devname = output_text.strip()
>>> 
>>>        # get parent device path
>>> -        match_obj = re.match('^(.+)/'+devname+'/tty/'+devname, device_path)
>>> +        match_obj = re.match('^(.+)/'+name+"/"+subsystem+'/'+name, devpath)
>>>        if match_obj == None:
>>>            logger.error("failed to get parent device path from udev")
>>>            sys.exit(1)
>>> @@ -63,7 +63,7 @@
>>>        parent_devpath = match_obj.group(1)
>>> 
>>>        # find all relevant child devices of the parent
>>> -        cmd_list = ["/sbin/udevadm", "info", "--export-db"]
>>> +        cmd_list = ["udevadm", "info", "--export-db"]
>>>        try:
>>>            proc = subprocess.Popen(cmd_list, stdout=subprocess.PIPE, 
>>> stderr=subprocess.STDOUT)
>>>            output_text = proc.communicate()[0]
>>> @@ -77,7 +77,7 @@
>>>            sys.exit(1)
>>> 
>>>        output_list = output_text.split('\n')
>>> -        devpath_re = re.compile('^P: ('+parent_devpath+'.+/tty/.+)')
>>> +        devpath_re = re.compile('^P: 
>>> ('+parent_devpath+'.+/'+subsystem+'/.+)')
>>> 
>>>        devpath_list = []
>>>        for line in output_list:
>>> 
>>> 
>>> 
>>> ------------------------------------------------------------------------------
>>> Lotusphere 2011
>>> Register now for Lotusphere 2011 and learn how
>>> to connect the dots, take your collaborative environment
>>> to the next level, and enter the era of Social Business.
>>> http://p.sf.net/sfu/lotusphere-d2d
>>> _______________________________________________
>>> SynCE-Devel mailing list
>>> SynCE-Devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/synce-devel
>>> 
>> 
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Lotusphere 2011
> Register now for Lotusphere 2011 and learn how
> to connect the dots, take your collaborative environment
> to the next level, and enter the era of Social Business.
> http://p.sf.net/sfu/lotusphere-d2d
> _______________________________________________
> SynCE-Devel mailing list
> SynCE-Devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/synce-devel




------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
SynCE-Devel mailing list
SynCE-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synce-devel

Reply via email to