>-----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?

Overall I think this is a step in the right direction though, so ACK for this 
patch.  Just curious if we should expect more.

>> +
>> +    # 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

Reply via email to