All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [pull request] Pull request for branch for-2010.11/remove-oldstyle-hooks
Date: Sun, 12 Sep 2010 19:41:46 +0200	[thread overview]
Message-ID: <cover.1284312638.git.thomas.petazzoni@free-electrons.com> (raw)

Hello,

First of all, I would like to apologize for the huge patch bomb, but I
thought that having each change as a separate commit was better to
ease the review process than making a single, Buildroot-wide commit.

This set of commits converts all AUTOTARGETS packages to the new
conventions. In the following sections, I detail the three conventions
that I've enforced through these commits:

Hooks
-----

The old style of hooks was to write something like:

---------------8<------------------------------------------------------------------
$(OPENSSH_HOOK_POST_INSTALL):
       $(INSTALL) -D -m 755 package/openssh/S50sshd $(TARGET_DIR)/etc/init.d/S50sshd
       touch $@
---------------8<------------------------------------------------------------------

defined after the $(eval $(call AUTOTARGETS,package,XXX)) line.

The new style of hooks allows to define several hooks for the same
hook point, and are defined this way:

---------------8<------------------------------------------------------------------
define OPENSSH_INSTALL_INITSCRIPT
        $(INSTALL) -D -m 755 package/openssh/S50sshd $(TARGET_DIR)/etc/init.d/S50sshd
endef

OPENSSH_POST_INSTALL_TARGET_HOOKS += OPENSSH_INSTALL_INITSCRIPT
---------------8<------------------------------------------------------------------

defined before the $(eval $(call AUTOTARGETS,package,XXX)) line.

Therefore, this patch set convert all packages to use new style hooks,
and@the end remove the support for old style hooks in the package
infrastructure.

Step override method
--------------------

When a package wanted to override what a particular step does (like
the build step, or more commonly, the staging install or target
install steps), it used to do :

---------------8<------------------------------------------------------------------
$(TIFF_TARGET_INSTALL_TARGET):
       -cp -a $(TIFF_DIR)/libtiff/.libs/libtiff.so* $(TARGET_DIR)/usr/lib/
       $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libtiff.so
       touch $@
---------------8<------------------------------------------------------------------

defined after the $(eval $(call AUTOTARGETS,package,XXX)) line.

The new way of doing this is to define the <pkg>_INSTALL_TARGET_CMDS
variable. It is also possible to override <pkg>_CONFIGURE_CMDS,
<pkg>_BUILD_CMDS, <pkg>_INSTALL_STAGING_CMDS,
<pkg>_UNINSTALL_STAGING_CMDS and <pkg>_UNINSTALL_TARGET_CMDS.

So the previous example becomes:

---------------8<------------------------------------------------------------------
define TIFF_INSTALL_TARGET_CMDS
       -cp -a $(@D)/libtiff/.libs/libtiff.so* $(TARGET_DIR)/usr/lib/
endef
---------------8<------------------------------------------------------------------

define before the $(eval $(call AUTOTARGETS,package,XXX)) line.

Therefore, this patch set converts all packages to use the new step
override method.

No strip inside packages
------------------------

The target-finalize target of the main Makefile already strips all
files that have the executable bit set, so packages do not need to
strip binaries themselves when BR2_ENABLE_DEBUG is not set.

Since many old-style post-install hooks were dedicated to stripping
binaries, we just removed them instead of converting them to new-style
hook, therefore enforcing this new package convention.

Contents
--------

The following changes since commit 33070528796dafe90ebab836356fea03f2dc24f9:
  Marcus Osdoba (1):
        usbutils: bump to 0.90

are available in the git repository at:

  git://git.busybox.net/~tpetazzoni/git/buildroot for-2010.11/remove-oldstyle-hooks

Thomas Petazzoni (74):
      bind: remove old-style hook usage and step override
      libglade: convert old-style hook to new-style hook
      tn5250: remove old-style hook usage and step override
      avahi: convert old-style hook to new-style hook
      libungif: convert old-style hook to new-style hook
      libxslt: convert old-style hook to new-style hook
      libevent: convert old-style hook to new-style hook
      taglib: convert old-style hook to new-style hook
      pango: convert old-style hook to new-style hook
      samba: convert old-style hooks to new-style hooks
      php: convert old-style hooks to new-style hooks
      libidn: convert old-style hooks to new-style hooks
      jpeg: convert old-style hooks to new-style hooks
      sdl_sound: convert old-style hooks to new-style hooks
      freetype: convert old-style hooks to new-style hooks
      shared-mime-info: convert old-style hook to new-style hook
      mysql_client: convert old-style hook to new-style hook
      usbutils: convert old-style hook to new-style hook
      liboil: convert old-style hook to new-style hook
      libcurl: convert old-style hook to new-style
      libgtk2: convert old-style hook to new-style
      dropbear: convert old-style hook and commands to new-style
      lite: convert old-style hook to new-style hook
      libiconv: convert old-style hook to new-style hook
      libpng: convert old-style hook to new-style hook
      libdnet: convert old-style hook to new-style hook
      libxml2: convert old-style hook to new-style hook
      openssh: convert old-style hook to new-style hook
      e2fsprogs: convert old-style hooks to new-style hook
      xlib_libX11: convert old-style hooks to new-style hooks
      wpa_supplicant: convert old-style hooks to new-style hooks
      squid: convert old-style hook to new-style hook
      tiff: use correct construct to override target installation
      bridge: remove useless strip and use correct definition for uninstall
      at: convert old-style hook to new-style hook
      oprofile: use correct way of overriding steps
      ncftp: use correct way of overriding steps
      bmon: use correct way of overriding steps
      libnl: remove useless strip and use correct step override
      dmraid: remove useless strip and use correct step override method
      alsa-lib: use correct step override method
      kismet: use correct step override method
      gawk: convert old-style hook to new-style hook
      lighttpd: use correct step override method
      netperf: use correct step override method
      hostapd: use correct step override method
      sqlite: use correct step override method
      nano: use correct step override method
      openntpd: use correct step override method
      prboom: use correctly the autotargets infrastructrure
      mdadm: use correct step override method
      less: use correct step override method
      iptables: convert old-style hook to new-style hook
      openvpn: use correct step override method
      ntfsprogs: use correct step override method
      dbus: convert old-style hook to new-style hook
      docker: remove useless post install stripping hook
      expat: remove useless post install stripping hook
      gvfs: convert to new style hook, remove useless stripping
      haserl: convert to new style hook
      ifplugd: convert to new style hook
      kexec: convert to new style hook
      libpcap: remove useless stripping
      metacity: use new style hook
      speex: convert to new style hook
      nbd: use new style hook
      neon: remove useless stripping
      pcre: convert to new style hook
      radvd: convert to new style hook
      strace: convert to new style hook
      tcpdump: remove useless stripping
      udpcast: actually use the hooks
      which: remove useless stripping
      infrastructure: remove support for old style hooks

 package/Makefile.package.in                  |   33 ++--------
 package/at/at.mk                             |   15 +++--
 package/avahi/avahi.mk                       |   24 ++++++--
 package/bind/bind.mk                         |   23 ++++---
 package/bmon/bmon.mk                         |    9 +--
 package/bridge-utils/bridge.mk               |   17 +----
 package/dbus/dbus.mk                         |   37 +++++++----
 package/dmraid/dmraid.mk                     |   24 ++-----
 package/docker/docker.mk                     |    4 -
 package/dropbear/dropbear.mk                 |   40 ++++++------
 package/e2fsprogs/e2fsprogs.mk               |   61 +++++++++++++------
 package/expat/expat.mk                       |    4 -
 package/freetype/freetype.mk                 |   20 ++++--
 package/games/prboom/prboom.mk               |   49 ++++++----------
 package/gawk/gawk.mk                         |   17 +++---
 package/gvfs/gvfs.mk                         |   14 ++---
 package/haserl/haserl.mk                     |   11 ++--
 package/hostapd/hostapd.mk                   |   78 +++++++++++++-----------
 package/ifplugd/ifplugd.mk                   |   18 +++---
 package/iptables/iptables.mk                 |   28 ++++++---
 package/jpeg/jpeg.mk                         |   10 ++-
 package/kexec/kexec.mk                       |   14 ++---
 package/kismet/kismet.mk                     |   30 +++++++---
 package/less/less.mk                         |   17 ++---
 package/libcurl/libcurl.mk                   |   10 ++-
 package/libdnet/libdnet.mk                   |   10 ++-
 package/libevent/libevent.mk                 |   14 +++--
 package/libglade/libglade.mk                 |   10 ++-
 package/libgtk2/libgtk2.mk                   |   12 ++--
 package/libiconv/libiconv.mk                 |   20 ++++---
 package/libidn/libidn.mk                     |   20 ++++--
 package/libnl/libnl.mk                       |   13 +---
 package/liboil/liboil.mk                     |   11 ++--
 package/libpcap/libpcap.mk                   |    7 --
 package/libpng/libpng.mk                     |   11 ++--
 package/libungif/libungif.mk                 |   10 ++-
 package/libxml2/libxml2.mk                   |   12 ++--
 package/libxslt/libxslt.mk                   |   11 ++--
 package/lighttpd/lighttpd.mk                 |    9 +--
 package/lite/lite.mk                         |   16 +++--
 package/mdadm/mdadm.mk                       |    8 +-
 package/metacity/metacity.mk                 |   10 ++-
 package/multimedia/alsa-lib/alsa-lib.mk      |    9 ++-
 package/multimedia/speex/speex.mk            |   20 +++---
 package/multimedia/taglib/taglib.mk          |   10 ++-
 package/mysql_client/mysql_client.mk         |   10 ++-
 package/nano/nano.mk                         |   17 ++---
 package/nbd/nbd.mk                           |   16 +++--
 package/ncftp/ncftp.mk                       |   23 +++----
 package/neon/neon.mk                         |    7 --
 package/netperf/netperf.mk                   |   18 +++---
 package/ntfsprogs/ntfsprogs.mk               |   26 +-------
 package/openntpd/openntpd.mk                 |    9 +--
 package/openssh/openssh.mk                   |   10 ++-
 package/openvpn/openvpn.mk                   |   16 ++---
 package/oprofile/oprofile.mk                 |   21 +++----
 package/pango/pango.mk                       |   10 ++-
 package/pcre/pcre.mk                         |   18 ++++--
 package/php/php.mk                           |   17 +++--
 package/radvd/radvd.mk                       |   10 ++-
 package/samba/samba.mk                       |   29 +++++----
 package/sdl_sound/sdl_sound.mk               |   23 ++++---
 package/shared-mime-info/shared-mime-info.mk |   13 ++--
 package/sqlite/sqlite.mk                     |   11 ++--
 package/squid/squid.mk                       |   10 ++-
 package/strace/strace.mk                     |   18 ++++--
 package/tcpdump/tcpdump.mk                   |    5 --
 package/tiff/tiff.mk                         |   10 +--
 package/tn5250/tn5250.mk                     |   15 +++--
 package/udpcast/udpcast.mk                   |    4 +-
 package/usbutils/usbutils.mk                 |   30 +++++++--
 package/which/which.mk                       |    4 -
 package/wpa_supplicant/wpa_supplicant.mk     |   84 ++++++++++++++++----------
 package/x11r7/xlib_libX11/xlib_libX11.mk     |   18 ++++--
 74 files changed, 709 insertions(+), 643 deletions(-)

Thanks,
-- 
Thomas Petazzoni

             reply	other threads:[~2010-09-12 17:41 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-12 17:41 Thomas Petazzoni [this message]
2010-09-12 17:41 ` [Buildroot] [PATCH 01/74] bind: remove old-style hook usage and step override Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 02/74] libglade: convert old-style hook to new-style hook Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 03/74] tn5250: remove old-style hook usage and step override Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 04/74] avahi: convert old-style hook to new-style hook Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 05/74] libungif: " Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 06/74] libxslt: " Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 07/74] libevent: " Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 08/74] taglib: " Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 09/74] pango: " Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 10/74] samba: convert old-style hooks to new-style hooks Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 11/74] php: " Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 12/74] libidn: " Thomas Petazzoni
2010-09-12 17:41 ` [Buildroot] [PATCH 13/74] jpeg: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 14/74] sdl_sound: " Thomas Petazzoni
2010-09-12 21:23   ` Peter Korsgaard
2010-09-12 17:42 ` [Buildroot] [PATCH 15/74] freetype: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 16/74] shared-mime-info: convert old-style hook to new-style hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 17/74] mysql_client: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 18/74] usbutils: " Thomas Petazzoni
2010-09-12 21:30   ` Peter Korsgaard
2010-09-12 17:42 ` [Buildroot] [PATCH 19/74] liboil: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 20/74] libcurl: convert old-style hook to new-style Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 21/74] libgtk2: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 22/74] dropbear: convert old-style hook and commands " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 23/74] lite: convert old-style hook to new-style hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 24/74] libiconv: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 25/74] libpng: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 26/74] libdnet: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 27/74] libxml2: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 28/74] openssh: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 29/74] e2fsprogs: convert old-style hooks " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 30/74] xlib_libX11: convert old-style hooks to new-style hooks Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 31/74] wpa_supplicant: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 32/74] squid: convert old-style hook to new-style hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 33/74] tiff: use correct construct to override target installation Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 34/74] bridge: remove useless strip and use correct definition for uninstall Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 35/74] at: convert old-style hook to new-style hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 36/74] oprofile: use correct way of overriding steps Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 37/74] ncftp: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 38/74] bmon: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 39/74] libnl: remove useless strip and use correct step override Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 40/74] dmraid: remove useless strip and use correct step override method Thomas Petazzoni
2010-09-12 21:35   ` Peter Korsgaard
2010-09-12 17:42 ` [Buildroot] [PATCH 41/74] alsa-lib: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 42/74] kismet: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 43/74] gawk: convert old-style hook to new-style hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 44/74] lighttpd: use correct step override method Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 45/74] netperf: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 46/74] hostapd: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 47/74] sqlite: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 48/74] nano: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 49/74] openntpd: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 50/74] prboom: use correctly the autotargets infrastructrure Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 51/74] mdadm: use correct step override method Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 52/74] less: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 53/74] iptables: convert old-style hook to new-style hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 54/74] openvpn: use correct step override method Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 55/74] ntfsprogs: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 56/74] dbus: convert old-style hook to new-style hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 57/74] docker: remove useless post install stripping hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 58/74] expat: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 59/74] gvfs: convert to new style hook, remove useless stripping Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 60/74] haserl: convert to new style hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 61/74] ifplugd: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 62/74] kexec: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 63/74] libpcap: remove useless stripping Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 64/74] metacity: use new style hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 65/74] speex: convert to " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 66/74] nbd: use " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 67/74] neon: remove useless stripping Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 68/74] pcre: convert to new style hook Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 69/74] radvd: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 70/74] strace: " Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 71/74] tcpdump: remove useless stripping Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 72/74] udpcast: actually use the hooks Thomas Petazzoni
2010-09-12 17:42 ` [Buildroot] [PATCH 73/74] which: remove useless stripping Thomas Petazzoni
2010-09-12 17:43 ` [Buildroot] [PATCH 74/74] infrastructure: remove support for old style hooks Thomas Petazzoni
2010-09-16 11:37 ` [Buildroot] [pull request] Pull request for branch for-2010.11/remove-oldstyle-hooks Peter Korsgaard
2010-09-16 12:14   ` Thomas Petazzoni
2010-09-16 12:31     ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1284312638.git.thomas.petazzoni@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.