From: Richard Purdie <rpurdie@rpsys.net>
To: Khem Raj <raj.khem@gmail.com>
Cc: bitbake-dev@lists.berlios.de, openembedded-devel@lists.openembedded.org
Subject: Re: [Bitbake-dev] Commit ca257adc587bb0937ea76d8b32b654fdbf4192b8 changes behavior on which recipes rely
Date: Wed, 07 Jul 2010 15:02:10 +0100 [thread overview]
Message-ID: <1278511330.30247.3690.camel@rex> (raw)
In-Reply-To: <20100704010150.GA21048@gmail.com>
On Sat, 2010-07-03 at 18:01 -0700, Khem Raj wrote:
> Hi
>
> Due to this commit here
>
> commit ca257adc587bb0937ea76d8b32b654fdbf4192b8
> Author: Nitin A Kamble <nitin.a.kamble@intel.com>
> Date: Thu Jun 3 21:50:02 2010 -0700
>
> bitbake decodeurl: fix the file:// url handling
>
> Without this patch decoding a url of this kind file://dir/filename
> gives
> path=/filename host=dir.
> With the patch it decodes as path=/dir/filename host=""
>
> Probably nobody stumbled on this issue yet because nobody used
> file:// urls with directory names in the path.
>
> (From Poky rev: c3682bf89bdf236a4b4d834069d947b6a1456791)
>
> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
>
>
> few recipes in OE are broken now.
> Previous behavior was that if it has
> file://pam.d/securetty in SRC_URI
> then bitbake would copy it into
> $WORKDIR/pam.d/securetty and recipes used
> this location to access these files. But after
> this commit the directory is ignored and it gets
> copied into ${WORKDIT}
>
> Problem is that I have found three places where it happens
> two were ok because the build failed as it could not find
> the file where it was looking for but third one took me
> a day to debug because it copied only if directory existed
> otherwise it used the old files so the build passed and image
> got created but it would not let login happen
>
> see shadow recipes
>
> do_install_append() {
> # Ensure that /etc/skel is created so any default files that we want
> # copied into new users home
> # dirs can be put in there later (ideal for .xinitrc for example).
> install -d ${D}${sysconfdir}/skel/
>
> # Ensure that the image has as /var/spool/mail dir so shadow can put
> # mailboxes there if the user
> # reconfigures Shadow to default (see sed below).
> install -d ${D}${SHADOW_MAILDIR}
>
> if [ -e ${WORKDIR}/pam.d ]; then
> install -d ${D}${sysconfdir}/pam.d/
> install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/
> fi
>
> ...
>
>
> I would propose the revert the above commit as I am reluctant
> to fix so many recipes I know only 3 and who know how many more
> will start doing wrong things silently.
Hmm, I synced up Poky's bitbake fixes but I'd forgotten about this
commit:
http://git.pokylinux.org/cgit.cgi/poky/commit/?id=2160dddcc14d9378aff5d48ee72e3dc39b4ab8c7
How about using this code in base.bbclass:
if type == "file":
# When we switch to bitbake 1.10, simplify this mess
check = bb.decodeurl(url)[1]
if check:
destdir = check
elif path.find("/") != -1:
destdir = path.rsplit("/", 1)[0]
else:
destdir = "."
I don't like the idea of ignoring this as returning a host which is
really a path and is special cased in base.bbclass is just wrong and
should be fixed (with a sensible migration path).
We found this by noticing that file:/// urls don't work so it is a valid
fix.
Is someone with an old bitbake around able to test if the above solves
the problem?
Cheers,
Richard
prev parent reply other threads:[~2010-07-07 14:07 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-04 1:01 Commit ca257adc587bb0937ea76d8b32b654fdbf4192b8 changes behavior on which recipes rely Khem Raj
2010-07-07 14:02 ` Richard Purdie [this message]
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=1278511330.30247.3690.camel@rex \
--to=rpurdie@rpsys.net \
--cc=bitbake-dev@lists.berlios.de \
--cc=openembedded-devel@lists.openembedded.org \
--cc=raj.khem@gmail.com \
/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