Patchwork package.bbclass: Create symlinks for packages with different packaged name

login
register
mail settings
Submitter Andrei Gherzan
Date June 28, 2012, 8:13 a.m.
Message ID <1340871186-20545-1-git-send-email-andrei@gherzan.ro>
Download mbox | patch
Permalink /patch/30785/
State New
Headers show

Comments

Andrei Gherzan - June 28, 2012, 8:13 a.m.
While generating license.manifest package information is searched in:
filename=`ls ${TMPDIR}/pkgdata/*/runtime/${pkg}| head -1`
This is ok as long as package name is the same as the package name
after packaging.
For example dbus is packaged as dbus-1. So, searching
ls ${TMPDIR}/pkgdata/*/runtime/dbus-1 will fail because there is no file
with this package name.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
 meta/classes/package.bbclass |    5 +++++
 1 file changed, 5 insertions(+)
Richard Purdie - July 19, 2012, 2:43 p.m.
On Thu, 2012-06-28 at 11:13 +0300, Andrei Gherzan wrote:
> While generating license.manifest package information is searched in:
> filename=`ls ${TMPDIR}/pkgdata/*/runtime/${pkg}| head -1`
> This is ok as long as package name is the same as the package name
> after packaging.
> For example dbus is packaged as dbus-1. So, searching
> ls ${TMPDIR}/pkgdata/*/runtime/dbus-1 will fail because there is no file
> with this package name.
> 
> Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
> ---
>  meta/classes/package.bbclass |    5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index 10c2f0a..460b351 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -1120,6 +1120,11 @@ python emit_pkgdata() {
>  		sf.write('%s_%s: %s\n' % ('PKGSIZE', pkg, get_directory_size(pkgdest + "/%s" % pkg)))
>  		sf.close()
>  
> +		# Symlinks needed while generating manifest
> +		pkgval = d.getVar('PKG_%s' % (pkg), True)
> +		if pkgval != pkg:
> +			subdata_sym = pkgdatadir + "/runtime/%s" % pkgval
> +			os.symlink(pkg,subdata_sym)
>  
>  		allow_empty = d.getVar('ALLOW_EMPTY_%s' % pkg, True)
>  		if not allow_empty:

I think this is the right idea, I'm just worried about having things in
the same directory. Could we do this but create the symlinks in a
"runtime-renamed" directory instead, then alter licence.bbclass to look
there?

Cheers,

Richard
Andrei Gherzan - July 25, 2012, 6:15 p.m.
On Thu, Jul 19, 2012 at 5:43 PM, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Thu, 2012-06-28 at 11:13 +0300, Andrei Gherzan wrote:
> > While generating license.manifest package information is searched in:
> > filename=`ls ${TMPDIR}/pkgdata/*/runtime/${pkg}| head -1`
> > This is ok as long as package name is the same as the package name
> > after packaging.
> > For example dbus is packaged as dbus-1. So, searching
> > ls ${TMPDIR}/pkgdata/*/runtime/dbus-1 will fail because there is no file
> > with this package name.
> >
> > Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
> > ---
> >  meta/classes/package.bbclass |    5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> > index 10c2f0a..460b351 100644
> > --- a/meta/classes/package.bbclass
> > +++ b/meta/classes/package.bbclass
> > @@ -1120,6 +1120,11 @@ python emit_pkgdata() {
> >               sf.write('%s_%s: %s\n' % ('PKGSIZE', pkg,
> get_directory_size(pkgdest + "/%s" % pkg)))
> >               sf.close()
> >
> > +             # Symlinks needed while generating manifest
> > +             pkgval = d.getVar('PKG_%s' % (pkg), True)
> > +             if pkgval != pkg:
> > +                     subdata_sym = pkgdatadir + "/runtime/%s" % pkgval
> > +                     os.symlink(pkg,subdata_sym)
> >
> >               allow_empty = d.getVar('ALLOW_EMPTY_%s' % pkg, True)
> >               if not allow_empty:
>
> I think this is the right idea, I'm just worried about having things in
> the same directory. Could we do this but create the symlinks in a
> "runtime-renamed" directory instead, then alter licence.bbclass to look
> there?
>
> Cheers,
>
> Richard
>
>
> Paul reworked this.
http://patchwork.openembedded.org/patch/32871/

Thank you,
ag

Patch

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 10c2f0a..460b351 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1120,6 +1120,11 @@  python emit_pkgdata() {
 		sf.write('%s_%s: %s\n' % ('PKGSIZE', pkg, get_directory_size(pkgdest + "/%s" % pkg)))
 		sf.close()
 
+		# Symlinks needed while generating manifest
+		pkgval = d.getVar('PKG_%s' % (pkg), True)
+		if pkgval != pkg:
+			subdata_sym = pkgdatadir + "/runtime/%s" % pkgval
+			os.symlink(pkg,subdata_sym)
 
 		allow_empty = d.getVar('ALLOW_EMPTY_%s' % pkg, True)
 		if not allow_empty: