dust just built and installed its first module, successfully, without issue

A few more things to do … we need a “make clean” like thing, and maybe a “make prepare” like thing. And we need to trigger a mkinitrd at the end when requested.

Major things are the init.d script, but all it does is call a

dust.pl –generate

Yeah, we are trying to make this really simple. Really really simple. And make sure it works. Really works.

Here is output with the –generate and –debug options. You can see that it pays careful attention to a number of things. I messed up a current working directory thing, but I can fix this fast.

root@lightning:/usr/src/ixgbe-3.1.15/src# ~landman/dust/dust.pl --debug --generate
D[30855] in read_config:
D[30855]  set backup_path='/etc/dust/old_drivers'
D[30855]  set dust_db='/etc/dust/dust.db'
D[30855] leaving read_config:
D[30855] in get_installed_kernel_list:
installed kernels '2.6.32-21-generic,2.6.32-23-generic,2.6.32-24-generic,2.6.32-25-generic,2.6.32-26-generic'
D[30855] leaving get_installed_kernel_list:
D[30855] in generate_drivers:
D[30855] in open_db:
D[30855]  dsn = 'dbi:SQLite:dbname=/etc/dust/dust.db':
D[30855] db_open: args -> 'dbuser:dbpass:dsn'
D[30855] db_open: open optional args -> 'AutoCommit => 1, RaiseError => 0'
D[30855]: DBIx::SimplePerl database connection succeeded
D[30855]: DBIx::SimplePerl database connection dump = $VAR1 = bless( {
                 '_dbh' => bless( {}, 'DBI::db' ),
                 'debug' => 1
               }, 'DBIx::SimplePerl' );

D[30855] leaving open_db:
D[30855] in get_drivers_from_db:
D[30855] db_search: prepare = 'SELECT * FROM "drivers"' 
D[30855] db_search: prepare succeeded
prepare: SELECT * FROM "drivers"
D[30855] db_search: executing search
D[30855] db_search: execute succeeded
D[30855] db_next: returning hashref
D[30855]  driver id='1' module='ixgbe' name='Intel 10GbE' found:
D[30855] db_next: returning hashref
D[30855] leaving get_drivers_from_db:
D[30855] in get_states_from_db:
D[30855] db_search: prepare = 'SELECT * FROM "state"' 
D[30855] db_search: prepare succeeded
prepare: SELECT * FROM "state"
D[30855] db_search: executing search
D[30855] db_search: execute succeeded
D[30855] db_next: returning hashref
D[30855] leaving get_states_from_db:
D[30855] in close_db:
D[30855] db_close
D[30855] leaving close_db:
rebuilding the following driver id's: 1
Driver = 'Intel 10GbE', path='/usr/src/ixgbe-3.1.15/src/', build command='make', install command='make install'
D[30855]  chdir '/usr/src/ixgbe-3.1.15/src/':
D[30855] in run_cmd:
D[30855] attaching run harness
IPC::Run 0000 0123-------- [#1(30855)]: debugging fd is 3
IPC::Run 0000 0123-------- [#1(30855)]: ** starting
IPC::Run 0000 0123-------- [#1(30855)]: 'make' added to cache: '/usr/bin/make'
IPC::Run 0000 0123-------- [#1(30855)]: kid 1 to read 0 from SCALAR
IPC::Run 0000 012345------ [#1(30855)]: pipe_nb pipe() = ( 4, 5 )
IPC::Run 0000 012345------ [#1(30855)]: fcntl( 5, F_SETFL, O_NONBLOCK )
IPC::Run 0000 0123456----- [#1(30855)]: dup( 4 ) = 6
IPC::Run 0000 01234567---- [#1(30855)]: dup( 5 ) = 7
IPC::Run 0000 01234567---- [#1(30855)]: pipe_nb() = ( 6, 7 )
IPC::Run 0000 0123--67---- [#1(30855)]: kid 1 to write 1 to SCALAR
IPC::Run 0000 01234567---- [#1(30855)]: pipe() = ( 4, 5 ) 
IPC::Run 0000 01234567---- [#1(30855)]: kid 1 to write 2 to SCALAR
IPC::Run 0000 0123456789-- [#1(30855)]: pipe() = ( 8, 9 ) 
IPC::Run 0000 0123456789-- [#1(30855)]: kid 1[]'s 0 is my 7
IPC::Run 0000 0123456789-- [#1(30855)]: kid 1[]'s 1 is my 4
IPC::Run 0000 0123456789-- [#1(30855)]: kid 1[]'s 2 is my 8
IPC::Run 0000 0123456789-- [#1(30855)]: child: `make`
IPC::Run 0000 0123456789-- [#1(30855)]: opening sync pipe 
IPC::Run 0000 012345678901 [#1(30855)]: pipe() = ( 10, 11 ) 
IPC::Run 0000 012345678901 [#1(30855)]: fork() = 30858
IPC::Run 0000 01234567890- [#1(30855)]: close( 11 ) = 0
IPC::Run 0000 012345678901 [#1(30858) make]: open fds: 6 11 7 9 8 4 10 5
IPC::Run 0000 0123456-8901 [#1(30858) make]: close( 7 ) = 0
IPC::Run 0000 0123456--901 [#1(30858) make]: close( 8 ) = 0
IPC::Run 0000 0123-56--901 [#1(30858) make]: close( 4 ) = 0
IPC::Run 0000 0123-56--9-1 [#1(30858) make]: close( 10 ) = 0
IPC::Run 0000 0123-56--9-1 [#1(30858) make]: dup2( 6, 0 ) = 0
IPC::Run 0000 0123-56--9-1 [#1(30858) make]: dup2( 5, 1 ) = 1
IPC::Run 0000 0123-56--9-1 [#1(30858) make]: dup2( 9, 2 ) = 2
IPC::Run 0000 0123-5---9-1 [#1(30858) make]: close( 6 ) = 0
IPC::Run 0000 0123-----9-1 [#1(30858) make]: close( 5 ) = 0
IPC::Run 0000 0123-------1 [#1(30858) make]: close( 9 ) = 0
IPC::Run 0000 0123-------1 [#1(30858) make]: execing /usr/bin/make
IPC::Run 0000 0123-------1 [#1(30858) make]: exec()ing '/usr/bin/make'
IPC::Run 0000 01234567890- [#1(30855)]: read( 10 ) = 0 but true chars ''
IPC::Run 0000 0123456789-- [#1(30855)]: close( 10 ) = 0
IPC::Run 0000 012345-789-- [#1(30855)]: close( 6 ) = 0
IPC::Run 0000 01234--789-- [#1(30855)]: close( 5 ) = 0
IPC::Run 0000 01234--78--- [#1(30855)]: close( 9 ) = 0
D[30855] ... attached
IPC::Run 0000 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0000 01234--78--- [#1(30855)]: fds for select: ----r--wr---
IPC::Run 0000 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0000 01234--78--- [#1(30855)]: selected  -------w----
IPC::Run 0000 01234--78--- [#1(30855)]: filtering data to fd 7 (kid's stdin)
IPC::Run 0000 01234--78--- [#1(30855)]: pausing fd 7 (kid's stdin)
IPC::Run 0000 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0000 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0000 01234--78--- [#1(30855)]: timeout=0
D[30855] cmd stdout: 
D[30855] cmd stderr: 
IPC::Run 0001 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0001 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0001 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0001 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0001 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0001 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0001 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0001 01234--78--- [#1(30855)]: read( 4 ) = 216 chars '/usr/bin/make -C /lib/modules/2.6.32-26-generic/build SUBDIRS=/usr/src/ixgbe-3.1.15/src modules
IPC::Run 0001 01234--78--- [#1(30855)]: make[1]: Entering directory `/usr/src/linux-headers-2.6.32-26-generic'
IPC::Run 0001 01234--78--- [#1(30855)]:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_main.o
IPC::Run 0001 01234--78--- [#1(30855)]: '
IPC::Run 0001 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout: /usr/bin/make -C /lib/modules/2.6.32-26-generic/build SUBDIRS=/usr/src/ixgbe-3.1.15/src modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-26-generic'
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_main.o

D[30855] cmd stderr: 
IPC::Run 0002 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0002 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0002 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0002 01234--78--- [#1(30855)]: timeout=0
D[30855] cmd stdout: 
D[30855] cmd stderr: 
IPC::Run 0003 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0003 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0003 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0003 01234--78--- [#1(30855)]: timeout=0
D[30855] cmd stdout: 
D[30855] cmd stderr: 
IPC::Run 0004 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0004 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0004 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0004 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0004 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0004 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0004 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0004 01234--78--- [#1(30855)]: read( 4 ) = 51 chars '  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_common.o
IPC::Run 0004 01234--78--- [#1(30855)]: '
IPC::Run 0004 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_common.o

D[30855] cmd stderr: 
IPC::Run 0005 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0005 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0005 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0005 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0005 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0005 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0005 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0005 01234--78--- [#1(30855)]: read( 4 ) = 98 chars '  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_api.o
IPC::Run 0005 01234--78--- [#1(30855)]:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_param.o
IPC::Run 0005 01234--78--- [#1(30855)]: '
IPC::Run 0005 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_api.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_param.o

D[30855] cmd stderr: 
IPC::Run 0006 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0006 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0006 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0006 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0006 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0006 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0006 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0006 01234--78--- [#1(30855)]: read( 4 ) = 52 chars '  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_ethtool.o
IPC::Run 0006 01234--78--- [#1(30855)]: '
IPC::Run 0006 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_ethtool.o

D[30855] cmd stderr: 
IPC::Run 0007 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0007 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0007 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0007 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0007 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0007 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0007 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0007 01234--78--- [#1(30855)]: read( 4 ) = 96 chars '  CC [M]  /usr/src/ixgbe-3.1.15/src/kcompat.o
IPC::Run 0007 01234--78--- [#1(30855)]:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_82598.o
IPC::Run 0007 01234--78--- [#1(30855)]: '
IPC::Run 0007 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   CC [M]  /usr/src/ixgbe-3.1.15/src/kcompat.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_82598.o

D[30855] cmd stderr: 
IPC::Run 0008 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0008 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0008 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0008 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0008 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0008 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0008 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0008 01234--78--- [#1(30855)]: read( 4 ) = 50 chars '  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_82599.o
IPC::Run 0008 01234--78--- [#1(30855)]: '
IPC::Run 0008 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_82599.o

D[30855] cmd stderr: 
IPC::Run 0009 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0009 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0009 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0009 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0009 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0009 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0009 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0009 01234--78--- [#1(30855)]: read( 4 ) = 99 chars '  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_x540.o
IPC::Run 0009 01234--78--- [#1(30855)]:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_sriov.o
IPC::Run 0009 01234--78--- [#1(30855)]: '
IPC::Run 0009 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_x540.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_sriov.o

D[30855] cmd stderr: 
IPC::Run 0010 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0010 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0010 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0010 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0010 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0010 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0010 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0010 01234--78--- [#1(30855)]: read( 4 ) = 96 chars '  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_mbx.o
IPC::Run 0010 01234--78--- [#1(30855)]:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb.o
IPC::Run 0010 01234--78--- [#1(30855)]: '
IPC::Run 0010 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_mbx.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb.o

D[30855] cmd stderr: 
IPC::Run 0011 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0011 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0011 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0011 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0011 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0011 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0011 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0011 01234--78--- [#1(30855)]: read( 4 ) = 108 chars '  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb_82598.o
IPC::Run 0011 01234--78--- [#1(30855)]:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb_82599.o
IPC::Run 0011 01234--78--- [#1(30855)]: '
IPC::Run 0011 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb_82598.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb_82599.o

D[30855] cmd stderr: 
IPC::Run 0012 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0012 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0012 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0012 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0012 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0012 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0012 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0012 01234--78--- [#1(30855)]: read( 4 ) = 48 chars '  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_phy.o
IPC::Run 0012 01234--78--- [#1(30855)]: '
IPC::Run 0012 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_phy.o

D[30855] cmd stderr: 
IPC::Run 0013 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0013 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0013 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0013 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0013 01234--78--- [#1(30855)]: selected  ----r-------
IPC::Run 0013 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0013 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0013 01234--78--- [#1(30855)]: read( 4 ) = 100 chars '  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb_nl.o
IPC::Run 0013 01234--78--- [#1(30855)]:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_fcoe.o
IPC::Run 0013 01234--78--- [#1(30855)]: '
IPC::Run 0013 01234--78--- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb_nl.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_fcoe.o

D[30855] cmd stderr: 
IPC::Run 0014 01234--78--- [#1(30855)]: ** pumping
IPC::Run 0014 01234--78--- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0014 01234--78--- [#1(30855)]: fds for select: ----r--pr---
IPC::Run 0014 01234--78--- [#1(30855)]: timeout=0
IPC::Run 0014 01234--78--- [#1(30855)]: selected  ----r---r---
IPC::Run 0014 01234--78--- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0014 01234--78--- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0014 01234--78--- [#1(30855)]: read( 4 ) = 256 chars '  LD [M]  /usr/src/ixgbe-3.1.15/src/ixgbe.o
IPC::Run 0014 01234--78--- [#1(30855)]:   Building modules, stage 2.
IPC::Run 0014 01234--78--- [#1(30855)]:   MODPOST 1 modules
IPC::Run 0014 01234--78--- [#1(30855)]:   CC      /usr/src/ixgbe-3.1.15/src/ixgbe.mod.o
IPC::Run 0014 01234--78--- [#1(30855)]:   LD [M]  /usr/src/ixgbe-3.1.15/src/ixgbe.ko
IPC::Run 0014 01234--78--- [#1(30855)]: make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-26-generic'
IPC::Run 0014 01234--78--- [#1(30855)]: '
IPC::Run 0014 01234--78--- [#1(30855)]: filtering data from fd 8 (kid's stderr)
IPC::Run 0014 01234--78--- [#1(30855)]: reading from fd 8 (kid's stderr)
IPC::Run 0014 01234--78--- [#1(30855)]: read( 8 ) = 0 but true chars ''
IPC::Run 0014 01234--78--- [#1(30855)]: closing fd 8 (kid's stderr)
IPC::Run 0014 01234--7---- [#1(30855)]: close( 8 ) = 0
IPC::Run 0014 01234--7---- [#1(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout:   LD [M]  /usr/src/ixgbe-3.1.15/src/ixgbe.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /usr/src/ixgbe-3.1.15/src/ixgbe.mod.o
  LD [M]  /usr/src/ixgbe-3.1.15/src/ixgbe.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-26-generic'

D[30855] cmd stderr: 
IPC::Run 0015 01234--7---- [#1(30855)]: ** pumping
IPC::Run 0015 01234--7---- [#1(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0015 01234--7---- [#1(30855)]: fds for select: ----r--p----
IPC::Run 0015 01234--7---- [#1(30855)]: timeout=0
IPC::Run 0015 01234--7---- [#1(30855)]: selected  ----r-------
IPC::Run 0015 01234--7---- [#1(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0015 01234--7---- [#1(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0015 01234--7---- [#1(30855)]: read( 4 ) = 0 but true chars ''
IPC::Run 0015 01234--7---- [#1(30855)]: closing fd 4 (kid's stdout)
IPC::Run 0015 0123---7---- [#1(30855)]: close( 4 ) = 0
IPC::Run 0015 0123---7---- [#1(30855)]: kid 1 (30858) exited
IPC::Run 0015 0123---7---- [#1(30855)]: 30858 returned 0
IPC::Run 0015 0123---7---- [#1(30855)]: ** finishing
IPC::Run 0015 0123---7---- [#1(30855)]: cleaning up
IPC::Run 0015 0123---7---- [#1(30855)]: cleaning up pipes
IPC::Run 0015 0123---7---- [#1(30855)]: closing fd 7 (kid's stdin)
IPC::Run 0015 0123-------- [#1(30855)]: close( 7 ) = 0
IPC::Run 0015 0123-------- [#1(30855)]: cleaning up kid 1
IPC::Run 0015 0123-------- [#1(30855)]: cleaning up filters
IPC::Run 0015 0123-------- [#1(30855)]: done cleaning up
D[30855] Gentle stop of command = make complete
D[30855] leaving run_cmd:
D[30855]  return data structure '$VAR1 = {
          'sig' => 0,
          'rc' => 0,
          'stdout' => '/usr/bin/make -C /lib/modules/2.6.32-26-generic/build SUBDIRS=/usr/src/ixgbe-3.1.15/src modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-26-generic\'
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_main.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_common.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_api.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_param.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_ethtool.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/kcompat.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_82598.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_82599.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_x540.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_sriov.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_mbx.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb_82598.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb_82599.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_phy.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_dcb_nl.o
  CC [M]  /usr/src/ixgbe-3.1.15/src/ixgbe_fcoe.o
  LD [M]  /usr/src/ixgbe-3.1.15/src/ixgbe.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /usr/src/ixgbe-3.1.15/src/ixgbe.mod.o
  LD [M]  /usr/src/ixgbe-3.1.15/src/ixgbe.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-26-generic\'
'
        };
':
D[30855] in run_cmd:
D[30855] attaching run harness
IPC::Run 0015 0123-------- [#2(30855)]: debugging fd is 3
IPC::Run 0015 0123-------- [#2(30855)]: ** starting
IPC::Run 0015 0123-------- [#2(30855)]: 'make' found in cache: '/usr/bin/make'
IPC::Run 0015 0123-------- [#2(30855)]: kid 1 to read 0 from SCALAR
IPC::Run 0015 012345------ [#2(30855)]: pipe_nb pipe() = ( 4, 5 )
IPC::Run 0015 012345------ [#2(30855)]: fcntl( 5, F_SETFL, O_NONBLOCK )
IPC::Run 0015 0123456----- [#2(30855)]: dup( 4 ) = 6
IPC::Run 0015 01234567---- [#2(30855)]: dup( 5 ) = 7
IPC::Run 0015 01234567---- [#2(30855)]: pipe_nb() = ( 6, 7 )
IPC::Run 0015 0123--67---- [#2(30855)]: kid 1 to write 1 to SCALAR
IPC::Run 0015 01234567---- [#2(30855)]: pipe() = ( 4, 5 ) 
IPC::Run 0015 01234567---- [#2(30855)]: kid 1 to write 2 to SCALAR
IPC::Run 0015 0123456789-- [#2(30855)]: pipe() = ( 8, 9 ) 
IPC::Run 0015 0123456789-- [#2(30855)]: kid 1[]'s 0 is my 7
IPC::Run 0015 0123456789-- [#2(30855)]: kid 1[]'s 1 is my 4
IPC::Run 0015 0123456789-- [#2(30855)]: kid 1[]'s 2 is my 8
IPC::Run 0015 0123456789-- [#2(30855)]: child: `make install`
IPC::Run 0015 0123456789-- [#2(30855)]: opening sync pipe 
IPC::Run 0015 012345678901 [#2(30855)]: pipe() = ( 10, 11 ) 
IPC::Run 0015 012345678901 [#2(30855)]: fork() = 31601
IPC::Run 0015 01234567890- [#2(30855)]: close( 11 ) = 0
IPC::Run 0015 012345678901 [#2(31601) make]: open fds: 6 11 7 9 8 4 10 5
IPC::Run 0015 0123456-8901 [#2(31601) make]: close( 7 ) = 0
IPC::Run 0015 0123456--901 [#2(31601) make]: close( 8 ) = 0
IPC::Run 0015 0123-56--901 [#2(31601) make]: close( 4 ) = 0
IPC::Run 0015 0123-56--9-1 [#2(31601) make]: close( 10 ) = 0
IPC::Run 0015 0123-56--9-1 [#2(31601) make]: dup2( 6, 0 ) = 0
IPC::Run 0015 0123-56--9-1 [#2(31601) make]: dup2( 5, 1 ) = 1
IPC::Run 0015 0123-56--9-1 [#2(31601) make]: dup2( 9, 2 ) = 2
IPC::Run 0015 0123-5---9-1 [#2(31601) make]: close( 6 ) = 0
IPC::Run 0015 0123-----9-1 [#2(31601) make]: close( 5 ) = 0
IPC::Run 0015 0123-------1 [#2(31601) make]: close( 9 ) = 0
IPC::Run 0015 0123-------1 [#2(31601) make]: execing /usr/bin/make install
IPC::Run 0015 0123-------1 [#2(31601) make]: exec()ing '/usr/bin/make' 'install'
IPC::Run 0015 01234567890- [#2(30855)]: read( 10 ) = 0 but true chars ''
IPC::Run 0015 0123456789-- [#2(30855)]: close( 10 ) = 0
IPC::Run 0015 012345-789-- [#2(30855)]: close( 6 ) = 0
IPC::Run 0015 01234--789-- [#2(30855)]: close( 5 ) = 0
IPC::Run 0015 01234--78--- [#2(30855)]: close( 9 ) = 0
D[30855] ... attached
IPC::Run 0015 01234--78--- [#2(30855)]: ** pumping
IPC::Run 0015 01234--78--- [#2(30855)]: fds for select: ----r--wr---
IPC::Run 0015 01234--78--- [#2(30855)]: timeout=0
IPC::Run 0015 01234--78--- [#2(30855)]: selected  -------w----
IPC::Run 0015 01234--78--- [#2(30855)]: filtering data to fd 7 (kid's stdin)
IPC::Run 0015 01234--78--- [#2(30855)]: pausing fd 7 (kid's stdin)
IPC::Run 0015 01234--78--- [#2(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0015 01234--78--- [#2(30855)]: fds for select: ----r--pr---
IPC::Run 0015 01234--78--- [#2(30855)]: timeout=0
D[30855] cmd stdout: 
D[30855] cmd stderr: 
IPC::Run 0016 01234--78--- [#2(30855)]: ** pumping
IPC::Run 0016 01234--78--- [#2(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0016 01234--78--- [#2(30855)]: fds for select: ----r--pr---
IPC::Run 0016 01234--78--- [#2(30855)]: timeout=0
IPC::Run 0016 01234--78--- [#2(30855)]: selected  ----r-------
IPC::Run 0016 01234--78--- [#2(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0016 01234--78--- [#2(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0016 01234--78--- [#2(30855)]: read( 4 ) = 631 chars '/usr/bin/make -C /lib/modules/2.6.32-26-generic/build SUBDIRS=/usr/src/ixgbe-3.1.15/src modules
IPC::Run 0016 01234--78--- [#2(30855)]: make[1]: Entering directory `/usr/src/linux-headers-2.6.32-26-generic'
IPC::Run 0016 01234--78--- [#2(30855)]:   Building modules, stage 2.
IPC::Run 0016 01234--78--- [#2(30855)]:   MODPOST 1 modules
IPC::Run 0016 01234--78--- [#2(30855)]: make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-26-generic'
IPC::Run 0016 01234--78--- [#2(30855)]: gzip -c ../ixgbe.7 > ixgbe.7.gz
IPC::Run 0016 01234--78--- [#2(30855)]: # remove all old versions of the driver
IPC::Run 0016 01234--78--- [#2(30855)]: find /lib/modules/2.6.32-26-generic -name ixgbe.ko -exec rm -f {} \; || true
IPC::Run 0016 01234--78--- [#2(30855)]: find /lib/modules/2.6.32-26-generic -name ixgbe.ko.gz -exec rm -f {} \; || true
IPC::Run 0016 01234--78--- [#2(30855)]: install -D -m 644 ixgbe.ko /lib/modules/2.6.32-26-generic/kernel/drivers/net/ixgbe/ixgbe.ko
IPC::Run 0016 01234--78--- [#2(30855)]: /sbin/depmod -a || true
IPC::Run 0016 01234--78--- [#2(30855)]: '
IPC::Run 0016 01234--78--- [#2(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout: /usr/bin/make -C /lib/modules/2.6.32-26-generic/build SUBDIRS=/usr/src/ixgbe-3.1.15/src modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-26-generic'
  Building modules, stage 2.
  MODPOST 1 modules
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-26-generic'
gzip -c ../ixgbe.7 > ixgbe.7.gz
# remove all old versions of the driver
find /lib/modules/2.6.32-26-generic -name ixgbe.ko -exec rm -f {} \; || true
find /lib/modules/2.6.32-26-generic -name ixgbe.ko.gz -exec rm -f {} \; || true
install -D -m 644 ixgbe.ko /lib/modules/2.6.32-26-generic/kernel/drivers/net/ixgbe/ixgbe.ko
/sbin/depmod -a || true

D[30855] cmd stderr: 
IPC::Run 0017 01234--78--- [#2(30855)]: ** pumping
IPC::Run 0017 01234--78--- [#2(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0017 01234--78--- [#2(30855)]: fds for select: ----r--pr---
IPC::Run 0017 01234--78--- [#2(30855)]: timeout=0
IPC::Run 0017 01234--78--- [#2(30855)]: selected  ----r---r---
IPC::Run 0017 01234--78--- [#2(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0017 01234--78--- [#2(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0017 01234--78--- [#2(30855)]: read( 4 ) = 108 chars 'install -D -m 644 ixgbe.7.gz /usr/share/man/man7/ixgbe.7.gz
IPC::Run 0017 01234--78--- [#2(30855)]: man -c -P'cat > /dev/null' ixgbe || true
IPC::Run 0017 01234--78--- [#2(30855)]: ixgbe.
IPC::Run 0017 01234--78--- [#2(30855)]: '
IPC::Run 0017 01234--78--- [#2(30855)]: filtering data from fd 8 (kid's stderr)
IPC::Run 0017 01234--78--- [#2(30855)]: reading from fd 8 (kid's stderr)
IPC::Run 0017 01234--78--- [#2(30855)]: read( 8 ) = 0 but true chars ''
IPC::Run 0017 01234--78--- [#2(30855)]: closing fd 8 (kid's stderr)
IPC::Run 0017 01234--7---- [#2(30855)]: close( 8 ) = 0
IPC::Run 0017 01234--7---- [#2(30855)]: exiting _select(): io occured and break_on_io set
D[30855] cmd stdout: install -D -m 644 ixgbe.7.gz /usr/share/man/man7/ixgbe.7.gz
man -c -P'cat > /dev/null' ixgbe || true
ixgbe.

D[30855] cmd stderr: 
IPC::Run 0018 01234--7---- [#2(30855)]: ** pumping
IPC::Run 0018 01234--7---- [#2(30855)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0018 01234--7---- [#2(30855)]: fds for select: ----r--p----
IPC::Run 0018 01234--7---- [#2(30855)]: timeout=0
IPC::Run 0018 01234--7---- [#2(30855)]: selected  ----r-------
IPC::Run 0018 01234--7---- [#2(30855)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0018 01234--7---- [#2(30855)]: reading from fd 4 (kid's stdout)
IPC::Run 0018 01234--7---- [#2(30855)]: read( 4 ) = 0 but true chars ''
IPC::Run 0018 01234--7---- [#2(30855)]: closing fd 4 (kid's stdout)
IPC::Run 0018 0123---7---- [#2(30855)]: close( 4 ) = 0
IPC::Run 0018 0123---7---- [#2(30855)]: kid 1 (31601) exited
IPC::Run 0018 0123---7---- [#2(30855)]: 31601 returned 0
IPC::Run 0018 0123---7---- [#2(30855)]: ** finishing
IPC::Run 0018 0123---7---- [#2(30855)]: cleaning up
IPC::Run 0018 0123---7---- [#2(30855)]: cleaning up pipes
IPC::Run 0018 0123---7---- [#2(30855)]: closing fd 7 (kid's stdin)
IPC::Run 0018 0123-------- [#2(30855)]: close( 7 ) = 0
IPC::Run 0018 0123-------- [#2(30855)]: cleaning up kid 1
IPC::Run 0018 0123-------- [#2(30855)]: cleaning up filters
IPC::Run 0018 0123-------- [#2(30855)]: done cleaning up
D[30855] Gentle stop of command = make install complete
D[30855] leaving run_cmd:
D[30855]  return data structure '$VAR1 = undef;
':
D[30855]  chdir '':
Use of chdir('') or chdir(undef) as chdir() is deprecated at /home/landman/dust/dust.pl line 458.
D[30855] leaving generate_drivers:
root@lightning:/usr/src/ixgbe-3.1.15/src# 
root@lightning:/usr/src/ixgbe-3.1.15/src# find /lib/modules/ | grep ixgbe.ko
/lib/modules/2.6.32-25-generic/kernel/drivers/net/ixgbe/ixgbe.ko
/lib/modules/2.6.32-24-generic/kernel/drivers/net/ixgbe/ixgbe.ko
/lib/modules/2.6.32-26-generic/kernel/drivers/net/ixgbe/ixgbe.ko
/lib/modules/2.6.32-21-generic/kernel/drivers/net/ixgbe/ixgbe.ko
/lib/modules/2.6.32-23-generic/kernel/drivers/net/ixgbe/ixgbe.ko
root@lightning:/usr/src/ixgbe-3.1.15/src# rm -f `find /lib/modules/ | grep ixgbe.ko`
root@lightning:/usr/src/ixgbe-3.1.15/src# find /lib/modules/ | grep ixgbe.ko
root@lightning:/usr/src/ixgbe-3.1.15/src# ~landman/dust/dust.pl --debug --generate
D[32063] in read_config:
D[32063]  set backup_path='/etc/dust/old_drivers'
D[32063]  set dust_db='/etc/dust/dust.db'
D[32063] leaving read_config:
D[32063] in get_installed_kernel_list:
installed kernels '2.6.32-21-generic,2.6.32-23-generic,2.6.32-24-generic,2.6.32-25-generic,2.6.32-26-generic'
D[32063] leaving get_installed_kernel_list:
D[32063] in generate_drivers:
D[32063] in open_db:
D[32063]  dsn = 'dbi:SQLite:dbname=/etc/dust/dust.db':
D[32063] db_open: args -> 'dbuser:dbpass:dsn'
D[32063] db_open: open optional args -> 'AutoCommit => 1, RaiseError => 0'
D[32063]: DBIx::SimplePerl database connection succeeded
D[32063]: DBIx::SimplePerl database connection dump = $VAR1 = bless( {
                 '_dbh' => bless( {}, 'DBI::db' ),
                 'debug' => 1
               }, 'DBIx::SimplePerl' );

D[32063] leaving open_db:
D[32063] in get_drivers_from_db:
D[32063] db_search: prepare = 'SELECT * FROM "drivers"' 
D[32063] db_search: prepare succeeded
prepare: SELECT * FROM "drivers"
D[32063] db_search: executing search
D[32063] db_search: execute succeeded
D[32063] db_next: returning hashref
D[32063]  driver id='1' module='ixgbe' name='Intel 10GbE' found:
D[32063] db_next: returning hashref
D[32063] leaving get_drivers_from_db:
D[32063] in get_states_from_db:
D[32063] db_search: prepare = 'SELECT * FROM "state"' 
D[32063] db_search: prepare succeeded
prepare: SELECT * FROM "state"
D[32063] db_search: executing search
D[32063] db_search: execute succeeded
D[32063] db_next: returning hashref
D[32063] leaving get_states_from_db:
D[32063] in close_db:
D[32063] db_close
D[32063] leaving close_db:
rebuilding the following driver id's: 1
Driver = 'Intel 10GbE', path='/usr/src/ixgbe-3.1.15/src/', build command='make', install command='make install'
D[32063]  chdir '/usr/src/ixgbe-3.1.15/src/':
D[32063] in run_cmd:
D[32063] attaching run harness
IPC::Run 0000 0123-------- [#1(32063)]: debugging fd is 3
IPC::Run 0000 0123-------- [#1(32063)]: ** starting
IPC::Run 0000 0123-------- [#1(32063)]: 'make' added to cache: '/usr/bin/make'
IPC::Run 0000 0123-------- [#1(32063)]: kid 1 to read 0 from SCALAR
IPC::Run 0000 012345------ [#1(32063)]: pipe_nb pipe() = ( 4, 5 )
IPC::Run 0000 012345------ [#1(32063)]: fcntl( 5, F_SETFL, O_NONBLOCK )
IPC::Run 0000 0123456----- [#1(32063)]: dup( 4 ) = 6
IPC::Run 0000 01234567---- [#1(32063)]: dup( 5 ) = 7
IPC::Run 0000 01234567---- [#1(32063)]: pipe_nb() = ( 6, 7 )
IPC::Run 0000 0123--67---- [#1(32063)]: kid 1 to write 1 to SCALAR
IPC::Run 0000 01234567---- [#1(32063)]: pipe() = ( 4, 5 ) 
IPC::Run 0000 01234567---- [#1(32063)]: kid 1 to write 2 to SCALAR
IPC::Run 0000 0123456789-- [#1(32063)]: pipe() = ( 8, 9 ) 
IPC::Run 0000 0123456789-- [#1(32063)]: kid 1[]'s 0 is my 7
IPC::Run 0000 0123456789-- [#1(32063)]: kid 1[]'s 1 is my 4
IPC::Run 0000 0123456789-- [#1(32063)]: kid 1[]'s 2 is my 8
IPC::Run 0000 0123456789-- [#1(32063)]: child: `make`
IPC::Run 0000 0123456789-- [#1(32063)]: opening sync pipe 
IPC::Run 0000 012345678901 [#1(32063)]: pipe() = ( 10, 11 ) 
IPC::Run 0000 012345678901 [#1(32063)]: fork() = 32066
IPC::Run 0000 01234567890- [#1(32063)]: close( 11 ) = 0
IPC::Run 0000 012345678901 [#1(32066) make]: open fds: 6 11 7 9 8 4 10 5
IPC::Run 0000 0123456-8901 [#1(32066) make]: close( 7 ) = 0
IPC::Run 0000 0123456--901 [#1(32066) make]: close( 8 ) = 0
IPC::Run 0000 0123-56--901 [#1(32066) make]: close( 4 ) = 0
IPC::Run 0000 0123-56--9-1 [#1(32066) make]: close( 10 ) = 0
IPC::Run 0000 0123-56--9-1 [#1(32066) make]: dup2( 6, 0 ) = 0
IPC::Run 0000 0123-56--9-1 [#1(32066) make]: dup2( 5, 1 ) = 1
IPC::Run 0000 0123-56--9-1 [#1(32066) make]: dup2( 9, 2 ) = 2
IPC::Run 0000 0123-5---9-1 [#1(32066) make]: close( 6 ) = 0
IPC::Run 0000 0123-----9-1 [#1(32066) make]: close( 5 ) = 0
IPC::Run 0000 0123-------1 [#1(32066) make]: close( 9 ) = 0
IPC::Run 0000 0123-------1 [#1(32066) make]: execing /usr/bin/make
IPC::Run 0000 0123-------1 [#1(32066) make]: exec()ing '/usr/bin/make'
IPC::Run 0000 01234567890- [#1(32063)]: read( 10 ) = 0 but true chars ''
IPC::Run 0000 0123456789-- [#1(32063)]: close( 10 ) = 0
IPC::Run 0000 012345-789-- [#1(32063)]: close( 6 ) = 0
IPC::Run 0000 01234--789-- [#1(32063)]: close( 5 ) = 0
IPC::Run 0000 01234--78--- [#1(32063)]: close( 9 ) = 0
D[32063] ... attached
IPC::Run 0000 01234--78--- [#1(32063)]: ** pumping
IPC::Run 0000 01234--78--- [#1(32063)]: fds for select: ----r--wr---
IPC::Run 0000 01234--78--- [#1(32063)]: timeout=0
IPC::Run 0000 01234--78--- [#1(32063)]: selected  -------w----
IPC::Run 0000 01234--78--- [#1(32063)]: filtering data to fd 7 (kid's stdin)
IPC::Run 0000 01234--78--- [#1(32063)]: pausing fd 7 (kid's stdin)
IPC::Run 0000 01234--78--- [#1(32063)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0000 01234--78--- [#1(32063)]: fds for select: ----r--pr---
IPC::Run 0000 01234--78--- [#1(32063)]: timeout=0
D[32063] cmd stdout: 
D[32063] cmd stderr: 
IPC::Run 0001 01234--78--- [#1(32063)]: ** pumping
IPC::Run 0001 01234--78--- [#1(32063)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0001 01234--78--- [#1(32063)]: fds for select: ----r--pr---
IPC::Run 0001 01234--78--- [#1(32063)]: timeout=0
IPC::Run 0001 01234--78--- [#1(32063)]: selected  ----r---r---
IPC::Run 0001 01234--78--- [#1(32063)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0001 01234--78--- [#1(32063)]: reading from fd 4 (kid's stdout)
IPC::Run 0001 01234--78--- [#1(32063)]: read( 4 ) = 286 chars '/usr/bin/make -C /lib/modules/2.6.32-26-generic/build SUBDIRS=/usr/src/ixgbe-3.1.15/src modules
IPC::Run 0001 01234--78--- [#1(32063)]: make[1]: Entering directory `/usr/src/linux-headers-2.6.32-26-generic'
IPC::Run 0001 01234--78--- [#1(32063)]:   Building modules, stage 2.
IPC::Run 0001 01234--78--- [#1(32063)]:   MODPOST 1 modules
IPC::Run 0001 01234--78--- [#1(32063)]: make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-26-generic'
IPC::Run 0001 01234--78--- [#1(32063)]: '
IPC::Run 0001 01234--78--- [#1(32063)]: filtering data from fd 8 (kid's stderr)
IPC::Run 0001 01234--78--- [#1(32063)]: reading from fd 8 (kid's stderr)
IPC::Run 0001 01234--78--- [#1(32063)]: read( 8 ) = 0 but true chars ''
IPC::Run 0001 01234--78--- [#1(32063)]: closing fd 8 (kid's stderr)
IPC::Run 0001 01234--7---- [#1(32063)]: close( 8 ) = 0
IPC::Run 0001 01234--7---- [#1(32063)]: exiting _select(): io occured and break_on_io set
D[32063] cmd stdout: /usr/bin/make -C /lib/modules/2.6.32-26-generic/build SUBDIRS=/usr/src/ixgbe-3.1.15/src modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-26-generic'
  Building modules, stage 2.
  MODPOST 1 modules
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-26-generic'

D[32063] cmd stderr: 
IPC::Run 0002 01234--7---- [#1(32063)]: ** pumping
IPC::Run 0002 01234--7---- [#1(32063)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0002 01234--7---- [#1(32063)]: fds for select: ----r--p----
IPC::Run 0002 01234--7---- [#1(32063)]: timeout=0
IPC::Run 0002 01234--7---- [#1(32063)]: selected  ----r-------
IPC::Run 0002 01234--7---- [#1(32063)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0002 01234--7---- [#1(32063)]: reading from fd 4 (kid's stdout)
IPC::Run 0002 01234--7---- [#1(32063)]: read( 4 ) = 0 but true chars ''
IPC::Run 0002 01234--7---- [#1(32063)]: closing fd 4 (kid's stdout)
IPC::Run 0002 0123---7---- [#1(32063)]: close( 4 ) = 0
IPC::Run 0002 0123---7---- [#1(32063)]: kid 1 (32066) exited
IPC::Run 0002 0123---7---- [#1(32063)]: 32066 returned 0
IPC::Run 0002 0123---7---- [#1(32063)]: ** finishing
IPC::Run 0002 0123---7---- [#1(32063)]: cleaning up
IPC::Run 0002 0123---7---- [#1(32063)]: cleaning up pipes
IPC::Run 0002 0123---7---- [#1(32063)]: closing fd 7 (kid's stdin)
IPC::Run 0002 0123-------- [#1(32063)]: close( 7 ) = 0
IPC::Run 0002 0123-------- [#1(32063)]: cleaning up kid 1
IPC::Run 0002 0123-------- [#1(32063)]: cleaning up filters
IPC::Run 0002 0123-------- [#1(32063)]: done cleaning up
D[32063] Gentle stop of command = make complete
D[32063] leaving run_cmd:
D[32063]  return data structure '$VAR1 = {
          'sig' => 0,
          'rc' => 0,
          'stdout' => '/usr/bin/make -C /lib/modules/2.6.32-26-generic/build SUBDIRS=/usr/src/ixgbe-3.1.15/src modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-26-generic\'
  Building modules, stage 2.
  MODPOST 1 modules
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-26-generic\'
'
        };
':
D[32063] in run_cmd:
D[32063] attaching run harness
IPC::Run 0002 0123-------- [#2(32063)]: debugging fd is 3
IPC::Run 0002 0123-------- [#2(32063)]: ** starting
IPC::Run 0002 0123-------- [#2(32063)]: 'make' found in cache: '/usr/bin/make'
IPC::Run 0002 0123-------- [#2(32063)]: kid 1 to read 0 from SCALAR
IPC::Run 0002 012345------ [#2(32063)]: pipe_nb pipe() = ( 4, 5 )
IPC::Run 0002 012345------ [#2(32063)]: fcntl( 5, F_SETFL, O_NONBLOCK )
IPC::Run 0002 0123456----- [#2(32063)]: dup( 4 ) = 6
IPC::Run 0002 01234567---- [#2(32063)]: dup( 5 ) = 7
IPC::Run 0002 01234567---- [#2(32063)]: pipe_nb() = ( 6, 7 )
IPC::Run 0002 0123--67---- [#2(32063)]: kid 1 to write 1 to SCALAR
IPC::Run 0002 01234567---- [#2(32063)]: pipe() = ( 4, 5 ) 
IPC::Run 0002 01234567---- [#2(32063)]: kid 1 to write 2 to SCALAR
IPC::Run 0002 0123456789-- [#2(32063)]: pipe() = ( 8, 9 ) 
IPC::Run 0002 0123456789-- [#2(32063)]: kid 1[]'s 0 is my 7
IPC::Run 0002 0123456789-- [#2(32063)]: kid 1[]'s 1 is my 4
IPC::Run 0002 0123456789-- [#2(32063)]: kid 1[]'s 2 is my 8
IPC::Run 0002 0123456789-- [#2(32063)]: child: `make install`
IPC::Run 0002 0123456789-- [#2(32063)]: opening sync pipe 
IPC::Run 0002 012345678901 [#2(32063)]: pipe() = ( 10, 11 ) 
IPC::Run 0002 012345678901 [#2(32063)]: fork() = 32458
IPC::Run 0002 01234567890- [#2(32063)]: close( 11 ) = 0
IPC::Run 0002 012345678901 [#2(32458) make]: open fds: 6 11 7 9 8 4 10 5
IPC::Run 0002 0123456-8901 [#2(32458) make]: close( 7 ) = 0
IPC::Run 0002 0123456--901 [#2(32458) make]: close( 8 ) = 0
IPC::Run 0002 0123-56--901 [#2(32458) make]: close( 4 ) = 0
IPC::Run 0002 0123-56--9-1 [#2(32458) make]: close( 10 ) = 0
IPC::Run 0002 0123-56--9-1 [#2(32458) make]: dup2( 6, 0 ) = 0
IPC::Run 0002 0123-56--9-1 [#2(32458) make]: dup2( 5, 1 ) = 1
IPC::Run 0002 0123-56--9-1 [#2(32458) make]: dup2( 9, 2 ) = 2
IPC::Run 0002 0123-5---9-1 [#2(32458) make]: close( 6 ) = 0
IPC::Run 0002 0123-----9-1 [#2(32458) make]: close( 5 ) = 0
IPC::Run 0002 0123-------1 [#2(32458) make]: close( 9 ) = 0
IPC::Run 0002 0123-------1 [#2(32458) make]: execing /usr/bin/make install
IPC::Run 0002 0123-------1 [#2(32458) make]: exec()ing '/usr/bin/make' 'install'
IPC::Run 0002 01234567890- [#2(32063)]: read( 10 ) = 0 but true chars ''
IPC::Run 0002 0123456789-- [#2(32063)]: close( 10 ) = 0
IPC::Run 0002 012345-789-- [#2(32063)]: close( 6 ) = 0
IPC::Run 0002 01234--789-- [#2(32063)]: close( 5 ) = 0
IPC::Run 0002 01234--78--- [#2(32063)]: close( 9 ) = 0
D[32063] ... attached
IPC::Run 0002 01234--78--- [#2(32063)]: ** pumping
IPC::Run 0002 01234--78--- [#2(32063)]: fds for select: ----r--wr---
IPC::Run 0002 01234--78--- [#2(32063)]: timeout=0
IPC::Run 0002 01234--78--- [#2(32063)]: selected  -------w----
IPC::Run 0002 01234--78--- [#2(32063)]: filtering data to fd 7 (kid's stdin)
IPC::Run 0002 01234--78--- [#2(32063)]: pausing fd 7 (kid's stdin)
IPC::Run 0002 01234--78--- [#2(32063)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0002 01234--78--- [#2(32063)]: fds for select: ----r--pr---
IPC::Run 0002 01234--78--- [#2(32063)]: timeout=0
D[32063] cmd stdout: 
D[32063] cmd stderr: 
IPC::Run 0003 01234--78--- [#2(32063)]: ** pumping
IPC::Run 0003 01234--78--- [#2(32063)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0003 01234--78--- [#2(32063)]: fds for select: ----r--pr---
IPC::Run 0003 01234--78--- [#2(32063)]: timeout=0
IPC::Run 0003 01234--78--- [#2(32063)]: selected  ----r-------
IPC::Run 0003 01234--78--- [#2(32063)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0003 01234--78--- [#2(32063)]: reading from fd 4 (kid's stdout)
IPC::Run 0003 01234--78--- [#2(32063)]: read( 4 ) = 599 chars '/usr/bin/make -C /lib/modules/2.6.32-26-generic/build SUBDIRS=/usr/src/ixgbe-3.1.15/src modules
IPC::Run 0003 01234--78--- [#2(32063)]: make[1]: Entering directory `/usr/src/linux-headers-2.6.32-26-generic'
IPC::Run 0003 01234--78--- [#2(32063)]:   Building modules, stage 2.
IPC::Run 0003 01234--78--- [#2(32063)]:   MODPOST 1 modules
IPC::Run 0003 01234--78--- [#2(32063)]: make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-26-generic'
IPC::Run 0003 01234--78--- [#2(32063)]: # remove all old versions of the driver
IPC::Run 0003 01234--78--- [#2(32063)]: find /lib/modules/2.6.32-26-generic -name ixgbe.ko -exec rm -f {} \; || true
IPC::Run 0003 01234--78--- [#2(32063)]: find /lib/modules/2.6.32-26-generic -name ixgbe.ko.gz -exec rm -f {} \; || true
IPC::Run 0003 01234--78--- [#2(32063)]: install -D -m 644 ixgbe.ko /lib/modules/2.6.32-26-generic/kernel/drivers/net/ixgbe/ixgbe.ko
IPC::Run 0003 01234--78--- [#2(32063)]: /sbin/depmod -a || true
IPC::Run 0003 01234--78--- [#2(32063)]: '
IPC::Run 0003 01234--78--- [#2(32063)]: exiting _select(): io occured and break_on_io set
D[32063] cmd stdout: /usr/bin/make -C /lib/modules/2.6.32-26-generic/build SUBDIRS=/usr/src/ixgbe-3.1.15/src modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-26-generic'
  Building modules, stage 2.
  MODPOST 1 modules
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-26-generic'
# remove all old versions of the driver
find /lib/modules/2.6.32-26-generic -name ixgbe.ko -exec rm -f {} \; || true
find /lib/modules/2.6.32-26-generic -name ixgbe.ko.gz -exec rm -f {} \; || true
install -D -m 644 ixgbe.ko /lib/modules/2.6.32-26-generic/kernel/drivers/net/ixgbe/ixgbe.ko
/sbin/depmod -a || true

D[32063] cmd stderr: 
IPC::Run 0004 01234--78--- [#2(32063)]: ** pumping
IPC::Run 0004 01234--78--- [#2(32063)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0004 01234--78--- [#2(32063)]: fds for select: ----r--pr---
IPC::Run 0004 01234--78--- [#2(32063)]: timeout=0
IPC::Run 0004 01234--78--- [#2(32063)]: selected  ----r---r---
IPC::Run 0004 01234--78--- [#2(32063)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0004 01234--78--- [#2(32063)]: reading from fd 4 (kid's stdout)
IPC::Run 0004 01234--78--- [#2(32063)]: read( 4 ) = 108 chars 'install -D -m 644 ixgbe.7.gz /usr/share/man/man7/ixgbe.7.gz
IPC::Run 0004 01234--78--- [#2(32063)]: man -c -P'cat > /dev/null' ixgbe || true
IPC::Run 0004 01234--78--- [#2(32063)]: ixgbe.
IPC::Run 0004 01234--78--- [#2(32063)]: '
IPC::Run 0004 01234--78--- [#2(32063)]: filtering data from fd 8 (kid's stderr)
IPC::Run 0004 01234--78--- [#2(32063)]: reading from fd 8 (kid's stderr)
IPC::Run 0004 01234--78--- [#2(32063)]: read( 8 ) = 0 but true chars ''
IPC::Run 0004 01234--78--- [#2(32063)]: closing fd 8 (kid's stderr)
IPC::Run 0004 01234--7---- [#2(32063)]: close( 8 ) = 0
IPC::Run 0004 01234--7---- [#2(32063)]: exiting _select(): io occured and break_on_io set
D[32063] cmd stdout: install -D -m 644 ixgbe.7.gz /usr/share/man/man7/ixgbe.7.gz
man -c -P'cat > /dev/null' ixgbe || true
ixgbe.

D[32063] cmd stderr: 
IPC::Run 0005 01234--7---- [#2(32063)]: ** pumping
IPC::Run 0005 01234--7---- [#2(32063)]: checking for more input fd 7 (kid's stdin)
IPC::Run 0005 01234--7---- [#2(32063)]: fds for select: ----r--p----
IPC::Run 0005 01234--7---- [#2(32063)]: timeout=0
IPC::Run 0005 01234--7---- [#2(32063)]: selected  ----r-------
IPC::Run 0005 01234--7---- [#2(32063)]: filtering data from fd 4 (kid's stdout)
IPC::Run 0005 01234--7---- [#2(32063)]: reading from fd 4 (kid's stdout)
IPC::Run 0005 01234--7---- [#2(32063)]: read( 4 ) = 0 but true chars ''
IPC::Run 0005 01234--7---- [#2(32063)]: closing fd 4 (kid's stdout)
IPC::Run 0005 0123---7---- [#2(32063)]: close( 4 ) = 0
IPC::Run 0005 0123---7---- [#2(32063)]: kid 1 (32458) exited
IPC::Run 0005 0123---7---- [#2(32063)]: 32458 returned 0
IPC::Run 0005 0123---7---- [#2(32063)]: ** finishing
IPC::Run 0005 0123---7---- [#2(32063)]: cleaning up
IPC::Run 0005 0123---7---- [#2(32063)]: cleaning up pipes
IPC::Run 0005 0123---7---- [#2(32063)]: closing fd 7 (kid's stdin)
IPC::Run 0005 0123-------- [#2(32063)]: close( 7 ) = 0
IPC::Run 0005 0123-------- [#2(32063)]: cleaning up kid 1
IPC::Run 0005 0123-------- [#2(32063)]: cleaning up filters
IPC::Run 0005 0123-------- [#2(32063)]: done cleaning up
D[32063] Gentle stop of command = make install complete
D[32063] leaving run_cmd:
D[32063]  return data structure '$VAR1 = undef;
':
D[32063]  chdir '':
Use of chdir('') or chdir(undef) as chdir() is deprecated at /home/landman/dust/dust.pl line 458.
D[32063] leaving generate_drivers:

Viewed 7248 times by 1473 viewers

Facebooktwittergoogle_plusredditpinterestlinkedinmail