mbox

[pull,request] Pull request for branch graph-depends-improvements

Message ID cover.1357146432.git.thomas.petazzoni@free-electrons.com
State Accepted
Headers show

Pull-request

git://git.free-electrons.com/users/thomas-petazzoni/buildroot.git graph-depends-improvements

Message

Thomas Petazzoni Jan. 2, 2013, 5:08 p.m. UTC
Hello,

Here are a few improvements to the graph-depends script. The most
important improvements are:

 * Removal of useless dependencies for the meta "all" package to many
   packages. This makes the dependency graphs a lot more readable.

 * Drastic optimization of the execution speed: on a given
   configuration, it used to take 5 minutes 14 seconds to generate the
   graph, now it takes 33 seconds.

Best regards,

Thomas

The following changes since commit f1d44593a04ff3be981c8a3b01a502f0b18193ee:

  docs/manual: small fixes and enhancements to adding generic packages (2012-12-30 22:39:13 +0100)

are available in the git repository at:

  git://git.free-electrons.com/users/thomas-petazzoni/buildroot.git graph-depends-improvements

for you to fetch changes up to 99c288aaaa42b38f2c841abbf2db0fff1e228656:

  graph-depends: remove support for "unknown" packages (2013-01-02 18:06:12 +0100)

----------------------------------------------------------------
Thomas Petazzoni (6):
      graph-depends: remove redundant dependencies
      graph-depends: use a separate TARGET_EXCEPTIONS variable
      graph-depends: optimize execution speed
      graph-depends: fix comment
      graph-depends: update copyright
      graph-depends: remove support for "unknown" packages

 support/scripts/graph-depends |  169 ++++++++++++++++++++++++++---------------
 1 file changed, 108 insertions(+), 61 deletions(-)

Thanks,

Comments

Peter Korsgaard Jan. 2, 2013, 7:36 p.m. UTC | #1
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> Hello,
 Thomas> Here are a few improvements to the graph-depends script. The most
 Thomas> important improvements are:

 Thomas>  * Removal of useless dependencies for the meta "all" package to many
 Thomas>    packages. This makes the dependency graphs a lot more readable.

 Thomas>  * Drastic optimization of the execution speed: on a given
 Thomas>    configuration, it used to take 5 minutes 14 seconds to generate the
 Thomas>    graph, now it takes 33 seconds.

Nice! Committed, thanks.
Yann E. MORIN Jan. 2, 2013, 8:21 p.m. UTC | #2
Thomas, All,

On Wednesday 02 January 2013 Thomas Petazzoni wrote:
> Here are a few improvements to the graph-depends script. The most
> important improvements are:
> 
>  * Removal of useless dependencies for the meta "all" package to many
>    packages. This makes the dependency graphs a lot more readable.
> 
>  * Drastic optimization of the execution speed: on a given
>    configuration, it used to take 5 minutes 14 seconds to generate the
>    graph, now it takes 33 seconds.

It is indeed much faster now, but is broken here (with the attached
defconfig):
    $ ../br.package-create-users/support/scripts/graph-depends 
    Getting targets
    Getting dependencies for ['argp-standalone', 'avahi', 'busybox',
    'cifs-utils', 'connman', 'dbus', 'dropbear', 'expat', 'gmp', 'gnutls',
    'htop', 'hwdata', 'iptables', 'kexec', 'kmod', 'libdaemon', 'libffi',
    'libglib2', 'libusb-compat', 'libusb', 'lshw', 'ncurses', 'nettle',
    'ntfs-3g', 'ntp', 'openssl', 'readline', 'rng-tools', 'tcl', 'tvheadend',
    'udev', 'usb_modeswitch_data', 'usb_modeswitch', 'usbutils', 'util-linux',
    'wpa_supplicant', 'zlib', 'target-root-passwd', 'rootfs-ext2',
    'rootfs-tar']
    Error getting dependencies ['argp-standalone', 'avahi', 'busybox',
    'cifs-utils', 'connman', 'dbus', 'dropbear', 'expat', 'gmp', 'gnutls',
    'htop', 'hwdata', 'iptables', 'kexec', 'kmod', 'libdaemon', 'libffi',
    'libglib2', 'libusb-compat', 'libusb', 'lshw', 'ncurses', 'nettle',
    'ntfs-3g', 'ntp', 'openssl', 'readline', 'rng-tools', 'tcl', 'tvheadend',
    'udev', 'usb_modeswitch_data', 'usb_modeswitch', 'usbutils', 'util-linux',
    'wpa_supplicant', 'zlib', 'target-root-passwd', 'rootfs-ext2',
    'rootfs-tar']

Does it require a specific Python version? Mine is:
    $ python --version
    Python 2.6.6

git bisect gives as culprit:

Bisecting: 0 revisions left to test after this (roughly 0 steps)
[4359685e145798f06d88eb2e5ba5979ba5de882e] graph-depends: optimize execution
speed

I'll try to look at it tonight...

Regards,
Yann E. MORIN.
Yann E. MORIN Jan. 2, 2013, 8:28 p.m. UTC | #3
Thomas, All,

On Wednesday 02 January 2013 Yann E. MORIN wrote:
> >  * Drastic optimization of the execution speed: on a given
> >    configuration, it used to take 5 minutes 14 seconds to generate the
> >    graph, now it takes 33 seconds.
> 
> It is indeed much faster now, but is broken here (with the attached
> defconfig):
[--SNIP--]
>     Error getting dependencies [...
>     'target-root-passwd'

This should go in the exclusion list. I'll cook a patch.

Regards,
Yann E. MORIN.