[yocto] Multiple packages from single recipe file

Anders Darander anders at chargestorm.se
Tue Feb 10 01:14:59 PST 2015


Hi,

I'm not really following what you'd like to learn...

* Bipnesh, Abhinav (Abhinav) <abhinavbipnesh at avaya.com> [150209 17:43]:
> We have done on similar line for one of the package. We have to write
> another recipe for a package in which we need to just create packages
> and delivery it.  But we need to do it for couple of directories i.e.
> let say 10 directories.  Previously we have an script which perform
> some conversion and then create package in loop i.e. creating RPM in
> loop for such package.  Now we want to achieve the same using a
> recipe.  One of the solution is to write 10 such recipe and creating a
> package, But it means we need to check-out 10 times the code and then
> create the package.  But we are looking for some optimize way to do so
> as below

> 1. Check out all 10 directories in one shot.

Are these in different repositories or tarball? Or what do you mean with
"check out"?

> 2. Write small shell script code and call do_install() passing ${S}
> and ${D} as argument to create the package. Here we are also looking
> for package name for each such call different say package-1-ro.rpm
> package-2.r0.rpm etc.

Just write a do_install(), that installs all the files from your above
list in it's correct place.

Make sure that FILES_${PN} includes all the locations where you want to
pick-up files.

If you're creating multiple packages, just ensure that
FILES_${PN}-pkg1 = "..."
FILES_${PN}-pkg2 = "..."
etc
points to which files you want packaged in which package. 

> 3. Also avoid calling do_compile() as there is no makefile its plain
> file repo which need to be packaged.

Just create an empty do_compile(). Or you could remove do_package() from
the task list for this recipe, though, it's slightly easier to just
provide an empty do_compile().

Cheers,
Anders

-- 
Anders Darander
ChargeStorm AB / eStorm AB



More information about the yocto mailing list