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