Jake,

This looks mostly good. First - do you plan on removing old table headers 
replaced with a function call, that you just commented out?
Second - see inline.


On Tue, Mar 17, 2015 at 10:18:57AM -0400, Jacob Stiffler wrote:
> * The generated text file adheres to the SRAS software manifest format.
> 
> Signed-off-by: Jacob Stiffler <[email protected]>
> ---
>  meta-arago-distro/classes/tisdk-image.bbclass |  243 
> +++++++++++++++++++++----
>  1 file changed, 208 insertions(+), 35 deletions(-)
> 
> diff --git a/meta-arago-distro/classes/tisdk-image.bbclass 
> b/meta-arago-distro/classes/tisdk-image.bbclass
> index 747670f..9498f6c 100644
> --- a/meta-arago-distro/classes/tisdk-image.bbclass
> +++ b/meta-arago-distro/classes/tisdk-image.bbclass
> @@ -57,6 +57,7 @@ DEPLOY_SPL_UART_NAME ?= "u-boot-spl.bin-${MACHINE}"
>  # This manifest follows the TI manifest format requirements which is why
>  # it differs from some of the default manifest code in oe-core.
>  SW_MANIFEST_FILE ?= "${IMAGE_ROOTFS}/docs/software_manifest.htm"
> +SW_MANIFEST_TEXT ?= "${IMAGE_ROOTFS}/docs/software_manifest.txt"
>  
>  # helper function for generating a set of strings based on a list.  Taken
>  # from the image.bbclass.
> @@ -145,21 +146,17 @@ Any use of ECCNs listed in the Manifest is at the 
> user's risk and without recour
>  
>  <h2><u>Links in the Manifest</u></h2>
>  <p>
> -Any links appearing on this Manifest (for example in the &ldquo;Obtained 
> from&rdquo field) were verified at the time the Manifest was created.  TI 
> makes no guarantee that any listed links will remain active in the future.
> +Any links appearing on this Manifest (for example in the &ldquo;Obtained 
> from&rdquo; field) were verified at the time the Manifest was created.  TI 
> makes no guarantee that any listed links will remain active in the future.
>  </p>
>  
>  <h2><u>Open Source License References</u></h2>
>  <p>
> -Your company is responsible for confirming the applicable license terms for 
> any open source Software listed in this Manifest that was not &ldquo;Obtained 
> from&rdquo TI.  Any open source license specified in this Manifest for 
> Sotware that was not &ldquo;Obtained from&rdquo TI is for TI's internal use 
> only and shall not be construed as a representation of warranty regarding the 
> proper open source license terms for such Software.
> +Your company is responsible for confirming the applicable license terms for 
> any open source Software listed in this Manifest that was not &ldquo;Obtained 
> from&rdquo; TI.  Any open source license specified in this Manifest for 
> Sotware that was not &ldquo;Obtained from&rdquo; TI is for TI's internal use 
> only and shall not be construed as a representation of warranty regarding the 
> proper open source license terms for such Software.
>  </p>
>  
>  <h2><b>Export Information</b></h2>
>  <p>
> -ECCN for Software included in this release: 5D002 License Exception TSU
> -</p>
> -
> -<p>
> -ECCN for Technology (e.g., user documentation, specifications) included in 
> this release: 5D002 License Exception TSU
> +ECCN for Software included in this release: 5D991 (Telecom Software) 

Can you please elaborate on this ECCN change?


>  </p>
>  
>  <h2><b>Manifest</b></h2>
> @@ -167,6 +164,62 @@ ECCN for Technology (e.g., user documentation, 
> specifications) included in this
>  See Legend above for a description of the columns and possible values.
>  </p>
>  " > ${SW_MANIFEST_FILE}
> +
> +cat > ${SW_MANIFEST_TEXT} << 'EOF'
> +<--
> +Manifest template 1.0  
> +
> +This template is used to generate an unloadable manifest to the SRAS. To do 
> so, save the document as a plain text file (Save As .txt). Do not change any 
> options on the save which means leave the default as Windows Default 
> Encoding. The SRAS will generate a nice looking HTML manifest for you.

Is it unloadable or uploadable here ^^^^^^^^^^^^^?

And the rest below is just headers and footers - see the questions at the 
beginning.


> +
> +Instructions:
> +
> + 1.   Text in blue should not be edited or removed. It will NOT appear on 
> your manifest.
> + 2.   DO NOT color outside the lines in the manifest.  There are specific 
> blocks where you enter information. Information 
> +       should only be entered in the sections below and not outside of them.
> + 3.   DO NOT use the < or > symbols in your manifest table or in your 
> footnotes.
> + 4.   Please REFRAIN from using Word specific formatting when filling in the 
> table. Examples are things like superscripts,
> +      subscripts, etc. We are unable to understand those.
> + 5.   Auto correction is not your friend in word. Please turn it off. It 
> should be disabled already in this template.
> +
> +Table Instructions:
> +
> +Define what you are delivering by filling in the table below. Tables start 
> with the start keyword <table> end with the end keyword, </table> and may 
> also contain footnotes specific to that table.  
> +
> +You can have as many .Public. tables as you like in your manifest and can 
> name them.  You can have one and only one .Private. table. To create 
> additional tables copy everything starting with <table> down to </table> and 
> then paste it after the table below.
> +
> +The field .attribute =. can be set to Public (the default) or Private to 
> define the type of table it is. If the table is Public then everything in the 
> table will appear on your manifest. If the table is Private then none of the 
> entries will appear on your manifest but they will be stored in the SRAS. 
> Private tables are useful for documenting third party code, that requires 
> Legal review, but does not need to be acknowledged on the manifest you ship; 
> e.g. it may be covered by our TI license.
> +
> +The field .name = . is used to put a heading over the table on the manifest 
> you ship.
> +
> +The field .description =. is used to put a description under the Table name 
> on the manifest you ship.
> +
> +To learn how to document software in the table read the instructions here. A 
> brief explanation of the table columns follows.
> +License Type - If its an SPDX defined license use their short name 
> identifier. You can see a list here: http://spdx.org/licenses/ . If it.s not 
> on the list and not a commercial or TSPA  license then use the application 
> name as the license.
> +
> +Delivered As - This field will either be .Source., .Binary. or .Source and 
> Binary. and is the form the content of the Software is delivered in.  If the 
> Software is delivered in an archive format, this field applies to the 
> contents of the archive. If the word Limited is used with Source, as in 
> .Limited Source. or .Limited Source and Binary. then only portions of the 
> Source for the application are provided.
> +
> +Modified by TI - This field will either be .Yes. or .No.. A .Yes. means TI 
> has made changes to the Software. A .No. means TI has not made any changes. 
> Note: This field is not applicable for Software .Obtained from. TI.
> +
> +Location - The directory name and path on the media, e.g. drive, (or in an 
> archive) where the Software is located after installing or extracting. 
> +
> +Obtained From - This field specifies from where or from whom TI obtained the 
> Software. It may be a URL to an Open Source site, a 3rd party licensor, or TI 
> (if TI developed the software). If this field contains a link to Open Source 
> software, the date TI downloaded the Software is also recorded. See Links 
> Disclaimer in the Disclaimers Section.
> +-->
> +
> +<directives>
> +Version = .1.0.
> +Sep = .|.
> +Tool=.Word.
> +</directives>
> +
> +<-- ** Do not edit or remove anything above this line **   
> +-->
> +
> +<--  
> +Instructions: DO NOT Alter the column headings below. This is now a single 
> row table as opposed to the older manifests which used merged rows. The order 
> is extremely important; if you change the order or add or remove a column the 
> upload will not work.
> +-->
> +
> +EOF
> +
>  }
>  
>  sw_manifest_footer() {
> @@ -212,27 +265,107 @@ echo "
>  </html>
>  
>  " >> ${SW_MANIFEST_FILE}
> +
> +
> +cat >> ${SW_MANIFEST_TEXT} << 'EOF'
> +<Credits>
> +
> +</credits>
> +
> +<Licenses>
> +
> +Licenses can be found in the "docs/licenses" directory of the SDK install 
> directory
> +GCC RUNTIME LIBRARY EXCEPTION
> +
> +Version 3.1, 31 March 2009
> +
> +Copyright © 2009 Free Software Foundation, Inc. http://fsf.org/
> +
> +Everyone is permitted to copy and distribute verbatim copies of this license 
> document, but changing it is not allowed.
> +
> +This GCC Runtime Library Exception (Exception) is an additional permission 
> under section 7 of the GNU General Public License, version 3 (GPLv3). It 
> applies to a given file (the Runtime Library) that bears a notice placed by 
> the copyright holder of the file stating that the file is governed by GPLv3 
> along with this Exception.
> +
> +When you use GCC to compile a program, GCC may combine portions of certain 
> GCC header files and runtime libraries with the compiled program. The purpose 
> of this Exception is to allow compilation of non-GPL (including proprietary) 
> programs to use, in this way, the header files and runtime libraries covered 
> by this Exception.
> +0. Definitions.
> +
> +A file is an Independent Module if it either requires the Runtime Library 
> for execution after a Compilation Process, or makes use of an interface 
> provided by the Runtime Library, but is not otherwise based on the Runtime 
> Library.
> +
> +GCC means a version of the GNU Compiler Collection, with or without 
> modifications, governed by version 3 (or a specified later version) of the 
> GNU General Public License (GPL) with the option of using any subsequent 
> versions published by the FSF.
> +
> +GPL-compatible Software is software whose conditions of propagation, 
> modification and use would permit combination with GCC in accord with the 
> license of GCC.
> +
> +GPL-compatible Software is software whose conditions of propagation, 
> modification and use would permit combination with GCC in accord with the 
> license of GCC.
> +
> +The Compilation Process transforms code entirely represented in 
> non-intermediate languages designed for human-written code, and/or in Java 
> Virtual Machine byte code, into Target Code. Thus, for example, use of source 
> code generators and preprocessors need not be considered part of the 
> Compilation Process, since the Compilation Process can be understood as 
> starting with the output of the generators or preprocessors.
> +
> +A Compilation Process is Eligible if it is done using GCC, alone or with 
> other GPL-compatible software, or if it is done without using any work based 
> on GCC. For example, using non-GPL-compatible Software to optimize any GCC 
> intermediate representations would not qualify as an Eligible Compilation 
> Process.
> +1. Grant of Additional Permission.
> +
> +You have permission to propagate a work of Target Code formed by combining 
> the Runtime Library with Independent Modules, even if such propagation would 
> otherwise violate the terms of GPLv3, provided that all Target Code was 
> generated by Eligible Compilation Processes. You may then convey such a 
> combination under terms of your choice, consistent with the licensing of the 
> Independent Modules.
> +2. No Weakening of GCC Copyleft.
> +
> +The availability of this Exception does not imply any general presumption 
> that third-party software is unaffected by the copyleft requirements of the 
> license of GCC.
> +
> +</licenses>
> +EOF
> +
> +}
> +
> +sw_manifest_table_header() {
> +    echo "
> +<h2><u>$1</u></h2>
> +<p>$2</p>
> +" >> ${SW_MANIFEST_FILE}
> +
> +    cat >> ${SW_MANIFEST_TEXT} << EOF
> +<table>
> +<thead>
> +attribute = "Public"
> +name = "$1"
> +description = "$2"
> +</thead>
> +
> +EOF
>  }
>  
> +sw_manifest_table_footer() {
> +    if [ ! -z $1 ]; then
> +        cat >> ${SW_MANIFEST_TEXT} << EOF
> +<Footnotes>
> +$1
> +</footnotes>
> +EOF
> +    fi
> +    cat >> ${SW_MANIFEST_TEXT} << EOF
> +</table>
> +
> +EOF
> +}
>  # Create the host side toolchain components table
>  sw_manifest_toolchain_host() {
>      
> opkg_dir="${IMAGE_ROOTFS}/${TISDK_TOOLCHAIN_PATH}/sysroots/i686-*-linux/var/lib/opkg"
>  
> -echo "
> -<h2><u>GPLv3 Development Host Content</u></h2>
> -<p>This table describes any GPLv3 software being delivered that is expected 
> to run on a Development Host, instead of the target device.</p>
> -" >> ${SW_MANIFEST_FILE}
> +    sw_manifest_table_header "GPLv3 Development Host Content" "This table 
> describes any GPLv3 software being delivered that is expected to run on a 
> Development Host, instead of the target device."
> +
> +#echo "
> +#<h2><u>GPLv3 Development Host Content</u></h2>
> +#<p>This table describes any GPLv3 software being delivered that is expected 
> to run on a Development Host, instead of the target device.</p>
> +#" >> ${SW_MANIFEST_FILE}
>  
>      generate_sw_manifest_table $opkg_dir "true"
>  
> +    sw_manifest_table_footer
>  
> -echo "
> -<h2><u>Development Host Content</u></h2>
> -<p>This table describes any software being delivered that is expected to run 
> on a Development Host, instead of the target device.  Some of this software 
> may be licensed under GPLv3 but it is not expected to be shipped as a 
> product.</p>
> -" >> ${SW_MANIFEST_FILE}
> +    sw_manifest_table_header "Development Host Content" "This table 
> describes any software being delivered that is expected to run on a 
> Development Host, instead of the target device.  Some of this software may be 
> licensed under GPLv3 but it is not expected to be shipped as a product."
> +
> +#echo "
> +#<h2><u>Development Host Content</u></h2>
> +#<p>This table describes any software being delivered that is expected to 
> run on a Development Host, instead of the target device.  Some of this 
> software may be licensed under GPLv3 but it is not expected to be shipped as 
> a product.</p>
> +#" >> ${SW_MANIFEST_FILE}
>  
>      generate_sw_manifest_table $opkg_dir
>  
> +    sw_manifest_table_footer
>  }
>  
>  # Create the target side toolchain components table.  These are components on
> @@ -240,33 +373,45 @@ echo "
>  sw_manifest_toolchain_target() {
>      
> opkg_dir="${IMAGE_ROOTFS}/${TISDK_TOOLCHAIN_PATH}/sysroots/*-oe-linux-gnueabi*/var/lib/opkg/info"
>  
> -echo "
> -<h2><u>GPLv3 Development Libraries Installed on Host</u></h2>
> -<p>This table describes GPLv3 software libraries and headers that are 
> installed on the development host and used during the development of software 
> to run on the target. Customers should be careful when linking against these 
> libraries to make sure they are complying with the license(s) of the 
> library</p>
> -" >> ${SW_MANIFEST_FILE}
> +    sw_manifest_table_header "GPLv3 Development Libraries Installed on Host" 
> "This table describes GPLv3 software libraries and headers that are installed 
> on the development host and used during the development of software to run on 
> the target. Customers should be careful when linking against these libraries 
> to make sure they are complying with the license(s) of the library"
> +
> +#echo "
> +#<h2><u>GPLv3 Development Libraries Installed on Host</u></h2>
> +#<p>This table describes GPLv3 software libraries and headers that are 
> installed on the development host and used during the development of software 
> to run on the target. Customers should be careful when linking against these 
> libraries to make sure they are complying with the license(s) of the 
> library</p>
> +#" >> ${SW_MANIFEST_FILE}
>  
>      generate_sw_manifest_table $opkg_dir "true"
>  
> -echo "
> -<h2><u>Development Libraries Installed on Host</u></h2>
> -<p>This table describes software libraries and headers that are installed on 
> the development host and used during the development of software to run on 
> the target.  Some of this software may be licensed under GPLv3.  Customers 
> should be careful when linking against these libraries to make sure they are 
> complying with the license(s) of the library</p>
> -" >> ${SW_MANIFEST_FILE}
> +    sw_manifest_table_footer
> +
> +    sw_manifest_table_header "Development Libraries Installed on Host" "This 
> table describes software libraries and headers that are installed on the 
> development host and used during the development of software to run on the 
> target.  Some of this software may be licensed under GPLv3.  Customers should 
> be careful when linking against these libraries to make sure they are 
> complying with the license(s) of the library"
> +
> +#echo "
> +#<h2><u>Development Libraries Installed on Host</u></h2>
> +#<p>This table describes software libraries and headers that are installed 
> on the development host and used during the development of software to run on 
> the target.  Some of this software may be licensed under GPLv3.  Customers 
> should be careful when linking against these libraries to make sure they are 
> complying with the license(s) of the library</p>
> +#" >> ${SW_MANIFEST_FILE}
>  
>      generate_sw_manifest_table $opkg_dir
> +
> +    sw_manifest_table_footer
>  }
>  
>  # Create the table of GPLv3 components found in the target file system
>  sw_manifest_target_gplv3() {
>      opkg_dir="$1"
>  
> -echo "
> -<h2><u>GPLv3 Target Device Content</u></h2>
> +    sw_manifest_table_header "GPLv3 Target Device Content" "This table 
> describes any GPLv3 software being delivered that is expected to run on the 
> target device."
>  
> -<p>This table describes any GPLv3 software being delivered that is expected 
> to run on the target device.</p>
> +#echo "
> +#<h2><u>GPLv3 Target Device Content</u></h2>
>  
> -" >> ${SW_MANIFEST_FILE}
> +#<p>This table describes any GPLv3 software being delivered that is expected 
> to run on the target device.</p>
> +#
> +#" >> ${SW_MANIFEST_FILE}
>  
>      generate_sw_manifest_table $opkg_dir "true"
> +
> +    sw_manifest_table_footer
>  }
>  
>  # Generate the full target file system components table.
> @@ -291,31 +436,38 @@ sw_manifest_target() {
>  
>      sw_manifest_target_gplv3 $opkg_dir
>  
> -echo "
> -<h2><u>All Target Device Content</u></h2>
> +    sw_manifest_table_header "All Target Device Content" "This table 
> describes any software being delivered that is expected to run on the target 
> device."
>  
> -<p>This table describes any software being delivered that is expected to run 
> on the target device.</p>
> +#echo "
> +#<h2><u>All Target Device Content</u></h2>
>  
> -" >> ${SW_MANIFEST_FILE}
> +#<p>This table describes any software being delivered that is expected to 
> run on the target device.</p>
> +
> +#" >> ${SW_MANIFEST_FILE}
>  
>      generate_sw_manifest_table $opkg_dir
>  
> +    sw_manifest_table_footer
>      # Remove the temporary var directory that was extracted
>      rm -rf ${IMAGE_ROOTFS}/filesystem/var
>  }
>  
>  # Create the table of host components installed.
>  sw_manifest_host() {
> -echo "
> -<h2><u>Additional Development Host Content</u></h2>
> +    sw_manifest_table_header "Additional Development Host Content" "This 
> table describes software that is installed on the development host but is not 
> part of the linux-devkit package.  This is usually software example sources 
> or tools such a flash utilities."
>  
> -<p>This table describes software that is installed on the development host 
> but is not part of the linux-devkit package.  This is usually software 
> example sources or tools such a flash utilities.</p>
> +#echo "
> +#<h2><u>Additional Development Host Content</u></h2>
>  
> -" >> ${SW_MANIFEST_FILE}
> +#<p>This table describes software that is installed on the development host 
> but is not part of the linux-devkit package.  This is usually software 
> example sources or tools such a flash utilities.</p>
> +
> +#" >> ${SW_MANIFEST_FILE}
>  
>      opkg_dir="${IMAGE_ROOTFS}/var/lib/opkg/info"
>  
>      generate_sw_manifest_table $opkg_dir
> +
> +    sw_manifest_table_footer
>  }
>  
>  # This function expects to be passed the following parameter
> @@ -353,6 +505,18 @@ echo "
>  </tr>
>  " >> ${SW_MANIFEST_FILE}
>  
> +cat >> ${SW_MANIFEST_TEXT} << EOF
> +<tbody>
> +<!-- Software Name
> +| Version
> +| License Type
> +| Delivered As
> +| Modified by TI
> +| Location
> +| Obtained from -->
> +
> +EOF
> +
>      control_files_there=0
>      for possible_control_file in $control_dir/*.control
>      do
> @@ -474,9 +638,18 @@ echo "
>  </tr>
>  " >> ${SW_MANIFEST_FILE}
>  
> +cat >> ${SW_MANIFEST_TEXT} << EOF
> +| ${package} | ${version} | ${license/\|/\&} | ${delivered_as} | ${modified} 
> | ${location} | ${source} 
> +EOF
>      done
>  
>      echo "</table><br><br>" >> ${SW_MANIFEST_FILE}
> +
> +cat >> ${SW_MANIFEST_TEXT} << EOF
> +</tbody>
> +
> +EOF
> +
>  }
>  
>  # Generate the TI SW Manifest for the SDK image
> -- 
> 1.7.9.5
> 
> _______________________________________________
> 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