[ELDK] Just starting - ipkg errors
Wolfgang Denk
wd at denx.de
Wed Aug 7 11:58:23 CEST 2013
Dear Larry,
In message <6275B77B-7614-4F88-9B8F-F84ABEE9FEBA at usgs.gov> you wrote:
>
> > Of course you may suggest it - but I see no reason to change the
> > current configurations. If you have ample resources that allow for
> > such a big file system image, then just use one of the more full-blown
> > configurations - or roll your own meeting exactly your requirements.
>
> May I suggest an alternative: do not include the package database within the rootfs
> itself, but do provide it along side the rootfs image. The rootfs would not quite be
> self-documenting. But, to know exactly what was installed in a rootfs image, you
> would not have to know at what commit was the git repository when the rootfs was
> created in order to find the Yocto build recipe that created it. It can also serve as a
> validation that I can correctly recreate your rootfs -- both the rootfs images and the
> package databases should be the same. Or, for example, that I have properly
> recreated your rootfs with updated packages, such as to apply security patches.
I think such an approch is not really attractive. There s way too
high a risk that the actual content of the file system image and the
package database get out of sync.
No - I think what you really should do is to use the build environment
and (re-) generate the target foot file system. This will not only
provide exact information about which versions of what have been used,
but you can also satisfy a number of other requirements you will most
probably have if you're targeting for a reproducable, professional
production process, like:
- making sure all the respective pristine source files / packages are
available
- actually compiling everythinging in a controlled environment so you
know you have all tools in place needed for such abuild
- generating a license manifest - for example, for the armv5te
configuration of the ELDK v5.3, the build will include the follwing
file:
/opt/eldk/build/eldk-rel-v5.3-2012-12-12-c2836a8-armv5te/tmp/deploy/licenses/core-image-basic-generic-armv5te-20121212155956/license.manifest
which looks like that:
PACKAGE NAME: acl
PACKAGE VERSION: 2.2.51
RECIPE NAME: acl
LICENSE: GPLv2+
PACKAGE NAME: at
PACKAGE VERSION: 3.1.13
RECIPE NAME: at
LICENSE: GPLv2+
PACKAGE NAME: attr
PACKAGE VERSION: 2.4.46
RECIPE NAME: attr
LICENSE: GPLv2+
PACKAGE NAME: base-files
PACKAGE VERSION: 3.0.14
RECIPE NAME: base-files
LICENSE: GPLv2
PACKAGE NAME: base-passwd
PACKAGE VERSION: 3.5.26
RECIPE NAME: base-passwd
LICENSE: GPLv2+
PACKAGE NAME: bash
PACKAGE VERSION: 4.2
RECIPE NAME: bash
LICENSE: GPLv3+
PACKAGE NAME: bc
PACKAGE VERSION: 1.06
RECIPE NAME: bc
LICENSE: GPLv2+ LGPLv2.1
...
i. e. it contains exact information aboutpackage name, resipe name
used to build it, software version and license used.
This is way more useful than a detached package list which will be out
of sync when you don't expect it.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
A day without sunshine is like night.
More information about the eldk
mailing list