>-----Original Message-----
>From: Dmytriyenko, Denys
>Sent: Wednesday, July 02, 2014 8:27 AM
>To: Maupin, Chase
>Cc: Cooper Jr., Franklin; Denys Dmytriyenko; meta-arago@arago-
>project.org
>Subject: Re: [meta-arago] [PATCH] tisdk-image.bbclass: update for
>the new rootfs/image infrastructure
>
>On Wed, Jul 02, 2014 at 01:00:17PM +0000, Maupin, Chase wrote:
>> >-----Original Message-----
>> >From: [email protected] [mailto:meta-arago-
>> >[email protected]] On Behalf Of Cooper Jr., Franklin
>> >Sent: Tuesday, July 01, 2014 4:10 PM
>> >To: Denys Dmytriyenko; [email protected]
>> >Subject: Re: [meta-arago] [PATCH] tisdk-image.bbclass: update
>for
>> >the new rootfs/image infrastructure
>> >
>> >Thanks for this!
>> >Acked-by: Franklin Cooper Jr. <[email protected]>
>> >
>> >> -----Original Message-----
>> >> From: [email protected] [mailto:meta-
>arago-
>> >> [email protected]] On Behalf Of Denys Dmytriyenko
>> >> Sent: Tuesday, July 01, 2014 2:20 PM
>> >> To: [email protected]
>> >> Subject: [meta-arago] [PATCH] tisdk-image.bbclass: update for
>> >the new
>> >> rootfs/image infrastructure
>> >>
>> >> From: Denys Dmytriyenko <[email protected]>
>> >>
>> >> The entire rootfs/image processing infrastructure was
>rewritten
>> >in Python for
>> >> Daisy release. Since tisdk_image class is based on
>rootfs/image
>> >base classes
>> >> and uses their APIs, some adjustments are required in order
>for
>> >it to work.
>> >>
>> >> Signed-off-by: Denys Dmytriyenko <[email protected]>
>> >> ---
>> >> meta-arago-distro/classes/tisdk-image.bbclass | 83
>> >+++++++++++++--------------
>> >> 1 file changed, 39 insertions(+), 44 deletions(-)
>> >>
>> >> diff --git a/meta-arago-distro/classes/tisdk-image.bbclass
>> >b/meta-arago-
>> >> distro/classes/tisdk-image.bbclass
>> >> index b100261..6023d6b 100644
>> >> --- a/meta-arago-distro/classes/tisdk-image.bbclass
>> >> +++ b/meta-arago-distro/classes/tisdk-image.bbclass
>> >> @@ -65,18 +65,18 @@ def string_set(iterable):
>> >>
>> >> # Add a dependency for the do_rootfs function that will
>force
>> >us to build #
>> >> the TARGET_IMAGES first so that they will be available for
>> >packaging.
>> >> -do_sdk_image[depends] += "${@string_set('%s:do_rootfs' % pn
>for
>> >pn in
>> >> (d.getVar("TARGET_IMAGES", True) or "").split())}"
>> >> +do_rootfs[depends] += "${@string_set('%s:do_rootfs' % pn for
>pn
>> >in
>> >> (d.getVar("TARGET_IMAGES", True) or "").split())}"
>> >>
>> >> # Add a dependency for the do_populate_sdk function of the
>> >> TIDSK_TOOLCHAIN # variable which will force us to build the
>> >toolchain first so
>> >> that it will be # available for packaging -
>> >do_sdk_image[depends] +=
>> >> "${@string_set('%s:do_populate_sdk' % pn for pn in
>> >> (d.getVar("TISDK_TOOLCHAIN", True) or "").split())}"
>> >> +do_rootfs[depends] += "${@string_set('%s:do_populate_sdk' %
>pn
>> >for pn in
>> >> (d.getVar("TISDK_TOOLCHAIN", True) or "").split())}"
>> >>
>> >> -do_sdk_image[nostamp] = "1"
>> >> -do_sdk_image[lockfiles] += "${IMAGE_ROOTFS}.lock"
>> >> -do_sdk_image[cleandirs] += "${S}"
>> >> +do_rootfs[nostamp] = "1"
>> >> +do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"
>> >> +do_rootfs[cleandirs] += "${S}"
>> >>
>> >> -# Call the cleanup_host_packes to remove packages that
>should
>> >be removed
>> >> from
>> >> +# Call the cleanup_host_packages to remove packages that
>should
>> >be
>> >> +removed from
>> >> # the host for various reasons. This may include licensing
>> >issues as well.
>> >> OPKG_POSTPROCESS_COMMANDS = "cleanup_host_packages; "
>> >>
>> >> @@ -92,25 +92,6 @@ cleanup_host_packages() {
>> >> fi
>> >> }
>> >>
>> >> -# Copy log_check from image.bbclass since the
>> >rootfs_ipk_do_rootfs function
>> >> -# uses it, but we are not inheriting the full image class.
>> >> -log_check() {
>> >> - for target in $*
>> >> - do
>> >> - lf_path="${WORKDIR}/temp/log.do_$target.${PID}"
>> >> -
>> >> - echo "log_check: Using $lf_path as logfile"
>> >> -
>> >> - if test -e "$lf_path"
>> >> - then
>> >> - ${IMAGE_PKGTYPE}_log_check $target
>$lf_path
>> >> - else
>> >> - echo "Cannot find logfile [$lf_path]"
>> >> - fi
>> >> - echo "Logfile is clean"
>> >> - done
>> >> -}
>> >> -
>> >> # Generate the header for a TI style software manifest
>> >> sw_manifest_header() {
>> >> echo "
>> >> @@ -235,7 +216,7 @@ echo "
>> >>
>> >> # Create the host side toolchain components table
>> >> sw_manifest_toolchain_host() {
>> >> -
>>
>>opkg_dir="${IMAGE_ROOTFS}/${TISDK_TOOLCHAIN_PATH}/sysroots/i686-
>*-
>> >> linux/var/lib/opkg/info"
>> >> +
>>
>>opkg_dir="${IMAGE_ROOTFS}/${TISDK_TOOLCHAIN_PATH}/sysroots/i686-
>*-
>> >> linux/var/lib/opkg"
>> >>
>> >> echo "
>> >> <h2><u>GPLv3 Development Host Content</u></h2> @@ -471,24
>> >+452,43
>> >> @@ generate_sw_manifest() {
>> >> sw_manifest_footer
>> >> }
>> >>
>> >> +ROOTFS_PREPROCESS_COMMAND += "tisdk_image_setup; "
>> >> +ROOTFS_POSTPROCESS_COMMAND += "tisdk_image_build; "
>> >> +IMAGE_PREPROCESS_COMMAND += "tisdk_image_cleanup; "
>> >> +
>> >> # Create the SDK image. We will re-use the
>> >rootfs_ipk_do_rootfs
>> >> functionality # to install a given list of packages using
>opkg.
>> >> -do_sdk_image () {
>> >> - set -x
>> >> - rm -rf ${IMAGE_ROOTFS}
>> >> - mkdir -p ${IMAGE_ROOTFS}
>> >> - mkdir -p ${DEPLOY_DIR_IMAGE}
>> >> +fakeroot python do_rootfs () {
>> >> + from oe.rootfs import create_rootfs
>> >> + from oe.image import create_image
>> >> + from oe.manifest import create_manifest
>> >> +
>> >> + # generate the initial manifest
>> >> + create_manifest(d)
>>
>> What about the generate_sw_manifest function?
>
>What about it? It's still there. I haven't validated all the
>licenses and
>other data in the manifest, but it looks reasonable on the first
>pass.
I thought this was called from the do_sdk_image function which was replaced by
the do_rootfs function here so I looked like the call to that function was
removed.
>
>
>> Overall I think this is a step in the right direction though, so
>ACK for
>> this patch. Just curious if we should expect more.
>
>Yeah, I tried to minimize the impact as much as possible. But
>overall, it's
>still rather hacky...
>
>
>> >> +
>> >> + # generate rootfs
>> >> + create_rootfs(d)
>> >> +
>> >> + # generate final images
>> >> + create_image(d)
>> >> +}
>> >> +
>> >> +tisdk_image_setup () {
>> >> + set -x
>> >> + rm -rf ${IMAGE_ROOTFS}
>> >> + mkdir -p ${IMAGE_ROOTFS}
>> >> + mkdir -p ${DEPLOY_DIR_IMAGE}
>> >>
>> >> - mkdir -p ${IMAGE_ROOTFS}/etc
>> >> + mkdir -p ${IMAGE_ROOTFS}/etc
>> >> + mkdir -p ${IMAGE_ROOTFS}/var/lib/opkg
>> >>
>> >> chmod 755 ${DEPLOY_DIR}/sdk/${SDK_NAME}-${ARMPKGARCH}-
>> >> ${TARGET_OS}-tisdk*
>> >>
>> >> # Temporarily extract the toolchain sdk so we can read
>> >license information
>> >> from it.
>> >> echo "${IMAGE_ROOTFS}/${TISDK_TOOLCHAIN_PATH}" |
>> >> ${DEPLOY_DIR}/sdk/${SDK_NAME}-${ARMPKGARCH}-${TARGET_OS}-
>tisdk*
>> >> +}
>> >>
>> >> - # Creat the base SDK image
>> >> - rootfs_${IMAGE_PKGTYPE}_do_rootfs
>> >> -
>> >> +tisdk_image_build () {
>> >> mkdir -p ${IMAGE_ROOTFS}/filesystem
>> >>
>> >> # Copy the TARGET_IMAGES to the sdk image before
>packaging
>> >@@ -
>> >> 607,23 +607,18 @@ do_sdk_image () {
>> >>
>> >> # Copy the opkg.conf used by the image to allow for
>future
>> >updates
>> >> cp ${WORKDIR}/opkg.conf ${IMAGE_ROOTFS}/etc/
>> >> +}
>> >>
>> >> +tisdk_image_cleanup () {
>> >> # Move the var/etc directories which contains the opkg
>data
>> >used for the
>> >> # manifest (and maybe one day for online updates) to a
>> >hidden directory.
>> >> mv ${IMAGE_ROOTFS}/var ${IMAGE_ROOTFS}/.var
>> >> mv ${IMAGE_ROOTFS}/etc ${IMAGE_ROOTFS}/.etc
>> >> -
>> >> - # Create the image directory symlinks
>> >> - # $ { @ get_imagecmds(d) }
>> >> }
>> >>
>> >> license_create_manifest() {
>> >> :
>> >> }
>> >>
>> >> -rootfs_install_complementary() {
>> >> - :
>> >> -}
>> >> -
>> >> -EXPORT_FUNCTIONS do_sdk_image
>> >> -addtask sdk_image before do_build after do_install
>> >> +EXPORT_FUNCTIONS do_rootfs
>> >> +addtask rootfs before do_build after do_install
>> >> --
>> >> 2.0.0
>> >>
>> >> _______________________________________________
>> >> meta-arago mailing list
>> >> [email protected]
>> >> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
>> >_______________________________________________
>> >meta-arago mailing list
>> >[email protected]
>> >http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
>> _______________________________________________
>> meta-arago mailing list
>> [email protected]
>> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago