Skip to content

Extract and extend license and copyright #2959

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/release-go-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
version: 3.x

- name: Build License
run: |
task extract-licenses
task append-license

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
task append-license


- name: Build
run: task dist:${{ matrix.env.os }}

Expand Down
38,930 changes: 38,930 additions & 0 deletions .licenses/NOTICE.arduino-cli

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions .licenses/templates/arduino-cli-license.txt

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you remove the comments and move to another directory? I think the root directory is ok. I would also remove the env variables and just create a file with the copyright notice all filled up.

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// This file is part of arduino-cli.
//
// Copyright $Year $Holder
//
// This software is released under the GNU General Public License version 3,
// which covers the main part of arduino-cli.
// The terms of this license can be found at:
// https://www.gnu.org/licenses/gpl-3.0.en.html
//
// You can be released from the requirements of the above licenses by purchasing
// a commercial license. Buying such a license is mandatory if you want to
// modify or otherwise use the software for commercial activities involving the
// Arduino software without disclosing the source code of your own applications.
// To purchase a commercial license, send an email to license@arduino.cc.


33 changes: 33 additions & 0 deletions Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,39 @@ includes:
dist: ./DistTasks.yml

tasks:
extract-licenses:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would call this task something like update-deb-copyright

desc: Extract project and dependency licenses into debian copyright
cmds:
- |
if ! command -v licensed >/dev/null; then
echo "Installing Ruby gem: licensed"
gem install licensed
fi
- licensed notices
- mkdir -p debian/arduino-cli/usr/share/doc/arduino-cli/
- cat arduino-cli-license.txt > debian/arduino-cli/usr/share/doc/arduino-cli/copyright
- echo -e "\n\n---\n\n" >> debian/arduino-cli/usr/share/doc/arduino-cli/copyright
- cat /Users/sedia/repo/arduino-cli/.licenses/NOTICE.arduino-cli >> debian/arduino-cli/usr/share/doc/arduino-cli/copyright

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- cat /Users/sedia/repo/arduino-cli/.licenses/NOTICE.arduino-cli >> debian/arduino-cli/usr/share/doc/arduino-cli/copyright
- cat .licenses/NOTICE.arduino-cli >> debian/arduino-cli/usr/share/doc/arduino-cli/copyright

sources:
- LICENSE.txt
- licenses/**

append-license:
desc: Render and append arduino-cli license to NOTICE file
cmds:
- |
rendered=$(envsubst < .licenses/templates/arduino-cli-license.txt)
notice_file=".licenses/NOTICE.arduino-cli"
tmp_file=$(mktemp)
echo "$rendered" > "$tmp_file"
echo -e "\n" >> "$tmp_file"
cat "$notice_file" >> "$tmp_file"
mv "$tmp_file" "$notice_file"
env:
Year: '{{ now | date "2006" }}'
Holder: "ARDUINO SA (http://www.arduino.cc/)"
silent: false
Comment on lines +24 to +38

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this autogeneration system will be useful. I would just commit a copyright notice file without the env variable and use that during the build.

Suggested change
append-license:
desc: Render and append arduino-cli license to NOTICE file
cmds:
- |
rendered=$(envsubst < .licenses/templates/arduino-cli-license.txt)
notice_file=".licenses/NOTICE.arduino-cli"
tmp_file=$(mktemp)
echo "$rendered" > "$tmp_file"
echo -e "\n" >> "$tmp_file"
cat "$notice_file" >> "$tmp_file"
mv "$tmp_file" "$notice_file"
env:
Year: '{{ now | date "2006" }}'
Holder: "ARDUINO SA (http://www.arduino.cc/)"
silent: false


docs:generate:
desc: Create all generated documentation content
deps:
Expand Down
1 change: 0 additions & 1 deletion debian/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ ARG GO_BINARY

COPY ./debian/${DEB_NAME} /${DEB_NAME}/
COPY ./${GO_BINARY} /${DEB_NAME}/usr/bin/${BINARY_NAME}
COPY ./debian/${DEB_NAME}/DEBIAN/copyright /${DEB_NAME}/usr/share/doc/${DEB_NAME}/copyright

# Go application are tagged with `v` prefix, this remove the first v if present
RUN export VERSION=$(echo "${VERSION}" | sed -e "s/^v\(.*\)/\1/") && \
Expand Down
18 changes: 0 additions & 18 deletions debian/arduino-cli/DEBIAN/copyright

This file was deleted.

Loading