From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Patrick <kpa_info@yahoo.fr>
Cc: poky@yoctoproject.org
Subject: Re: Running script after installation (postinst)
Date: Wed, 13 Jun 2012 09:08:00 +0100 [thread overview]
Message-ID: <1339574880.8065.20.camel@ted> (raw)
In-Reply-To: <4FD83EC0.7050605@yahoo.fr>
On Wed, 2012-06-13 at 09:18 +0200, Patrick wrote:
> On 06/12/2012 04:47 PM, Richard Purdie wrote:
> > On Tue, 2012-06-12 at 16:35 +0200, Patrick wrote:
> >> Dear all,
> >>
> >> In one of our recipes we need to execute a small script after the
> >> installation of the package. Following yocto dev manual point 4.3.6 we
> >> have added a pkg_postinst function.
> >>
> >> This doesn’t work properly as the script is executed at first start-up
> >> and not after installation. Below are an example of this recipe.
> >>
> >> Do you have any idea why this script is started as first boot time and
> >> not after installation ?
> >>
> >> Thanks in advance for any help !
> >
> > We try and run postinstalls "offline" at image creation time. If they
> > fail, they run at first boot.
> >
> > You can tell which context you're in by the contents of the $D variable
> > (note, $D, not ${D}). For example, you could therefore do:
> >
> >
> > pkg_postinst_task-system-tweaks () {
> > #!/bin/sh -e
> >
> > #Mount tmprecovery at startup
> > mkdir -p $D/tmprecovery
> > mkdir -p $D/data
> > echo "/dev/mtdblock6 /tmprecovery yaffs2 0 0">> $D/etc/fstab
> > echo "/dev/mtdblock7 /data yaffs2 noauto 0 0">> $D/etc/fstab
> >
> The problems when using $D is that the script is executed against the
> files of the package not against the whole rootfs. For example in the
> dummy recipes above we change the file $D/etc/fstab that is not in the
> package of the recipes.
If you reference $D as part of a postinst script, it will run against
the files of the rootfs, not just the package. There are some problems
ensuring dependencies are present when this happens though, some
backends like rpm don't like ensuring that dependencies are present.
> We have also tried to add (R)DEPENDS to the package that contains fstab
> with no change.
>
> Any idea why ?
You would need to add the dependency in and then it sounds like you're
probably using rpm and it doesn't want to honour the dependency for some
reason. You could add a rootfs post process command to add in what you
need which would guarantee all the files are present first...
Cheers,
Richard
next prev parent reply other threads:[~2012-06-13 8:08 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-12 14:35 Running script after installation (postinst) Patrick
2012-06-12 14:47 ` Richard Purdie
2012-06-13 7:18 ` Patrick
2012-06-13 8:08 ` Richard Purdie [this message]
[not found] ` <4FD8A5F5.4080001@yahoo.fr>
2012-06-13 15:22 ` Patrick
2012-06-14 13:30 ` Patrick
2012-06-14 14:24 ` Patrick
2012-06-14 14:40 ` Richard Purdie
2012-06-12 14:49 ` Tomas Frydrych
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=1339574880.8065.20.camel@ted \
--to=richard.purdie@linuxfoundation.org \
--cc=kpa_info@yahoo.fr \
--cc=poky@yoctoproject.org \
/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.