On 09/30/2012 10:12 PM, Kent A. Reed wrote:
> I ran a shell script over the contents of the linuxcnc-dev/bin and
> linuxcnc-dev/scripts directories that I built from source.

Thanks for doing that  :-)

I looked in to the dependencies you discovered, and ...


> In no particular order, the following invocations occur in those contents
>
> /usr/bin/python

We already depend on this one.


> /bin/sh <---hmm, in Ubuntu, this is a symbolic link to /bin/dash

/bin/sh is provided by dash, which is marked Essential, which means we 
don't need to depend on it.

Debian Policy Manual, section 3.5: 
<http://www.debian.org/doc/debian-policy/ch-binary.html#s-dependencies>


> /bin/bash

/bin/bash is provided by bash.deb, which is also Essential.


> /usr/bin/tclsh8.5

This comes from tcl$VERSION, which we already depend on.


> /usr/bin/wish

This is the system's default wish, which is provided by tk$VERSION, 
which we already depend on.


> /usr/bin/wish8.5

Covered by the above dependency.


> /bin/pidof

On Hardy this is provided by sysvutils, which is Essential, which means 
we're *not* supposed to have an explicit dependency on it.

On Precise and Lucid this is provided by sysvinit-utils, which is not 
marked Essential.  However if I build a deb that depends on it, lintian 
complains that I depended on an Essential package.  I think this means 
there is some package marked Essential which depends (perhaps 
indirectly) on sysinit-utils.  If that's true, then we should *not* 
depend on sysvinit-utils.

So I didn't add a Dependency on these packages...


> /bin/ps

Provided by procps, "Priority: required" but not Essential.  Added 
dependency.


> /usr/bin/awk

Provided by the virtual package awk, which can be provided by several 
different packages: gawk, mawk, etc.  The base-files package (which is 
Essential) Pre-depends on awk, so awk is Essential, so we're fine here.


> /usr/bin/ipcs

Provided by util-linux, which is Essential.


> /bin/kill

Provided by procps, see above.


> Detecting invocations like the bc that occurs in latency-test is harder.
> I was hoping some of bash's built-in machinery---like its cache---would
> be helpful but that stuff seems helpful only for interactive commands.
>
> So, I built my own custom bash (it wasn't pretty but it worked!) to dump
> to stderr every command it looks for.

Yowser Kent, you're serious about this!


> When I invoke latency-test from the command line, my custom bash returns
>
> readlink
> dirname
> mktemp

These are all provided by coreutils, Essential.


> bc

Taken care of  ;-)

> sed

Provided by the Essential package sed.


> cat

Provided by coreutils, Essential.


> halrun

Provided by us  ;-)


> rm

Provided by coreutils.


> When I Invoke linuxcnc from the command line (with several different sim
> configurations), my custom bash returns
>
> mktemp
> uname
> tty
> touch
> sleep

All from coreutils, Essential


> linuxcncserver
> halcmd
> xlinuxcnc
> inivar
> axis
> milltask
> axis-remote

All from linuxcnc.


> seq
> wc

coreutils


> ipcrm

util-linux


> As well, I believe I saw 'cut' is invoked in some other script, so I
> don't claim this list is all inclusive.

cut is from coreutils.


> Good hunting.

Thanks for making these lists!


-- 
Sebastian Kuzminsky


------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to