dev-manual: Updated the example to identify GPL files.

Fixes [YOCTO #10323]

In the Providing the Source Code section, I replaced the 3-line
code example that returns GPL files.  The bits I put in are a
script that does the trick.  The 3-line example was not working.

(From yocto-docs rev: a07873d46b5135555961499c6ce8f0b6b8bf2c8f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2016-09-26 08:51:42 -07:00 committed by Richard Purdie
parent 2199b68fc8
commit b064c34f12
1 changed files with 24 additions and 5 deletions

View File

@ -10591,12 +10591,31 @@
tarballs for licenses that require the release of tarballs for licenses that require the release of
source. source.
Let us assume you are only concerned with GPL code as Let us assume you are only concerned with GPL code as
identified with the following: identified by running the following script:
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ cd poky/build/tmp/deploy/sources # Script to archive a subset of packages matching specific license(s)
$ mkdir ~/gpl_source_release # Source and license files are copied into sub folders of package folder
$ for dir in */*GPL*; do cp -r $dir ~/gpl_source_release; done # Must be run from build folder
</literallayout> #!/bin/bash
src_release_dir="source-release"
mkdir -p $src_release_dir
for a in tmp/deploy/sources/*; do
for d in $a/*; do
# Get package name from path
p=`basename $d`
p=${p%-*}
p=${p%-*}
# Only archive GPL packages (update *GPL* regex for your license check)
numfiles=`ls tmp/deploy/licenses/$p/*GPL* 2> /dev/null | wc -l`
if [ $numfiles -gt 1 ]; then
echo Archiving $p
mkdir -p $src_release_dir/$p/source
cp $d/* $src_release_dir/$p/source 2> /dev/null
mkdir -p $src_release_dir/$p/license
cp tmp/deploy/licenses/$p/* source-release/$p/license 2> /dev/null
fi
done
done </literallayout>
At this point, you could create a tarball from the At this point, you could create a tarball from the
<filename>gpl_source_release</filename> directory and <filename>gpl_source_release</filename> directory and
provide that to the end user. provide that to the end user.