Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Baruch Siach <baruch@tkos.co.il>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3 1/1] Makefile: add target to clean targetfs
Date: Mon, 27 Apr 2015 07:11:26 +0300	[thread overview]
Message-ID: <20150427041126.GQ2258@tarshish> (raw)
In-Reply-To: <1430095555-8484-1-git-send-email-emeric.vigier@savoirfairelinux.com>

Hi Emeric,

Thanks for following up on this. A few comments below.

On Sun, Apr 26, 2015 at 08:45:55PM -0400, Emeric Vigier wrote:
> If you had some files added to the targetfs (fs-overlay, new packages,
> ...) and you no longer need them, buildroot does not offer a simple way
> to remove these items from the output/target directory. The rule added
> by this commit allows you to clean the targetfs. Issuing 'make'
> afterward will generate a new and clean targetfs.
> 
> A section in the documentation is also added. It describes few examples
> when developers could need it. 'make help' is also updated accordingly.
> And full-rebuild section of the documentation is updated with content
> and links.
> 
> Change-Id: I42b640e845bb4195fb7b160281b16ee40883f01f

This Gerrit specific line is not useful for upstream Buildroot. Please remove.

> Signed-off-by: Emeric Vigier <emeric.vigier@savoirfairelinux.com>

[snip]

> diff --git a/docs/manual/clean-target-filesystem.txt 
> b/docs/manual/clean-target-filesystem.txt
> new file mode 100644
> index 0000000..3e8181e
> --- /dev/null
> +++ b/docs/manual/clean-target-filesystem.txt
> @@ -0,0 +1,39 @@
> +// -*- mode:doc; -*-
> +// vim: set syntax=asciidoc:
> +
> +[[clean-target-filesystem]]
> +==== Clean target filesystem
> +
> +There are various cases where you would like to clean the target
> +filesystem. Especially once you understood that buildroot does not
> +have rules to uninstall files. Let's take some examples:
> +
> +1. You enabled +PACKAGE_OPENSSH+ to have a SSH server running on your
> +   board. But you figure out that +sshd+ does not run well on your
> +   target's architecture. Thus you decide to disable +PACKAGE_OPENSSH+
> +   and enable +PACKAGE_DROPBEAR+ instead. You run +make+: +dropbear+
> +   gets built and installed, fine. But +openssh+ files are still present
> +   in +output/target+!
> +
> +2. You enabled +PACKAGE_NTPD+ and set the local timezone to
> +   +America/Montreal+ with +BR2_TARGET_LOCALTIME+ config. Then you find
> +   out that +Montreal+ local has been replaced by +Toronto+ (French
> +   looks like a rogue language). You enter +make menuconfig+, make the
> +   change, save, and run +make+ again. Problem:
> +   +output/target/etc/timezone+ still has +America/Montreal+ content!
> +
> +Solution to this is either to identify which package to reconfigure, or
> +remove files manually, or destroy the target filesystem and recreate it.
> +This latter option is convenient: you don't have to care about which
> +packages to rebuild, and it is quite fast. Here is how to recreate your
> +target filesystem, and get rid of filesystem _stains_:
> +
> +------------------
> +make target-clean
> +make
> +------------------
> +
> ++target-clean+ removes +output/target+. That tells buildroot to recreate
> +the target skeleton, and install each package again. This is a
> +convenient way to rebuild your target filesystem cleanly without
> +rebuilding everything.

The warning is worth repeating here, I think.

> diff --git a/docs/manual/rebuilding-packages.txt b/docs/manual/rebuilding-packages.txt
> index 6faa67a..82385ae 100644
> --- a/docs/manual/rebuilding-packages.txt
> +++ b/docs/manual/rebuilding-packages.txt
> @@ -39,17 +39,22 @@ can help you understand how to work with Buildroot:
>     you would like to have SSL support in +ctorrent+, so you enable the
>     +openssl+ package in Buildroot configuration and restart the
>     build. Buildroot will detect that +openssl+ should be built and
> -   will be build it, but it will not detect that +ctorrent+ should be
> -   rebuilt to benefit from +openssl+ to add OpenSSL support. You will
> -   either have to do a full rebuild, or rebuild +ctorrent+ itself.
> +   will build it, but it will not detect that +ctorrent+ should be
> +   rebuilt to benefit from +openssl+ support. You will either have to
> +   do a full rebuild, or rebuild +ctorrent+ itself.

This is an unrelated fix. Please submit in a separate patch.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

  reply	other threads:[~2015-04-27  4:11 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-10  0:25 [Buildroot] [PATCH 1/1] Makefile: add target to clean targetfs Emeric Vigier
2015-03-10  4:45 ` Baruch Siach
2015-03-10 14:56   ` Emeric Vigier
2015-03-10 15:17     ` Baruch Siach
2015-03-10 19:28 ` [Buildroot] [PATCH v2 " Emeric Vigier
2015-03-10 23:41   ` Ryan Barnett
2015-03-11  5:06     ` Baruch Siach
2015-03-11  8:22       ` Angelo Compagnucci
2015-03-11  8:58         ` Baruch Siach
2015-03-12  8:32           ` Angelo Compagnucci
2015-03-12 14:56             ` Emeric Vigier
2015-03-12 14:44     ` Emeric Vigier
2015-03-12 14:46       ` Ryan Barnett
2015-03-12  8:36   ` Angelo Compagnucci
2015-03-12 15:59   ` Jérôme Oufella
2015-04-27  0:45 ` [Buildroot] [PATCH v3 " Emeric Vigier
2015-04-27  4:11   ` Baruch Siach [this message]
2015-04-28 14:36     ` Emeric Vigier
2015-04-27  8:28   ` Andreas Naumann
2015-04-28 15:06     ` Emeric Vigier
2015-07-14 21:56     ` Emeric Vigier
2015-07-16 15:15       ` Emeric Vigier
2015-07-23 20:51         ` Andreas Naumann
2015-10-04 16:56   ` Arnout Vandecappelle

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=20150427041126.GQ2258@tarshish \
    --to=baruch@tkos.co.il \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox