Compare commits
25 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9e636381d | ||
|
|
a5783c89b8 | ||
|
|
1a5070245e | ||
|
|
76c4791419 | ||
|
|
0b37529224 | ||
|
|
89ebb3a085 | ||
|
|
3554e3d06a | ||
|
|
790041b70e | ||
|
|
b7dee42ccf | ||
|
|
fdde2b4462 | ||
|
|
19eb383adb | ||
|
|
637888765f | ||
|
|
68a013db80 | ||
|
|
388ea26675 | ||
|
|
6489176e7d | ||
|
|
2498696fba | ||
|
|
8a9cc26128 | ||
|
|
883b13cda6 | ||
|
|
c9e07df91f | ||
|
|
5a2c1418f9 | ||
|
|
9e58564385 | ||
|
|
9040cce8b5 | ||
|
|
90f812df00 | ||
|
|
9ffa610d37 | ||
|
|
4d2cb8e1bb |
8 changed files with 168 additions and 868 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -12,3 +12,5 @@
|
|||
/avrdude-7.*/
|
||||
/avrdude-7.*.tar.gz
|
||||
/avrdude-7.*-filtered.tar.xz
|
||||
/avrdude-8.0/
|
||||
/avrdude-8.0.tar.gz
|
||||
|
|
|
|||
24
GNUmakefile
24
GNUmakefile
|
|
@ -1,35 +1,31 @@
|
|||
name = avrdude
|
||||
version = 7.3
|
||||
version = 8.0
|
||||
|
||||
RELEASES =
|
||||
RELEASES += f42
|
||||
RELEASES += f41
|
||||
RELEASES += f40
|
||||
RELEASES += f39
|
||||
RELEASES += f38
|
||||
RELEASES += el9
|
||||
RELEASES += el8
|
||||
|
||||
MOCK_OPTS =
|
||||
# MOCK_OPTS += --without docs
|
||||
|
||||
filter-tarball = filter-tarball
|
||||
|
||||
.PHONY: all
|
||||
all: $(name)-rpm.stamp
|
||||
git grep -Ei '([F]IXME|[T]ODO|[X]XX)' ||:
|
||||
|
||||
$(name)-rpm.stamp: $(name)-$(version)-filtered.tar.xz $(name).spec $(name).udev README.fedora $(wildcard $(name)-*.patch)
|
||||
set -ex; fedpkg local; for rel in $(RELEASES); do fedpkg --release "$$rel" mockbuild; done
|
||||
$(name)-rpm.stamp: $(name)-$(version).tar.gz $(name).spec $(name).udev README.fedora $(wildcard $(name)-*.patch)
|
||||
set -ex; \
|
||||
fedpkg local; \
|
||||
for rel in $(RELEASES); do \
|
||||
fedpkg --release "$$rel" mockbuild; \
|
||||
done
|
||||
date > $@
|
||||
|
||||
$(name)-$(version)-filtered.tar.xz: $(name)-$(version).tar.gz $(filter-tarball) file-licensing
|
||||
black --line-length 80 $(filter-tarball)
|
||||
flake8 $(filter-tarball)
|
||||
mypy $(filter-tarball)
|
||||
rm -f $(name)-$(version)-filtered.tar.xz
|
||||
python3 $(filter-tarball) $<
|
||||
sha512sum --tag $@ > sources
|
||||
|
||||
$(name)-$(version).tar.gz:
|
||||
curl -L -o $@ https://github.com/avrdudes/$(name)/archive/refs/tags/v$(version).tar.gz
|
||||
sha512sum --tag $@ > sources
|
||||
|
||||
# End of file.
|
||||
|
|
|
|||
|
|
@ -1,65 +0,0 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 9ab5a832..104fcc5d 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -48,7 +48,7 @@ include(FetchContent)
|
||||
include(FindPackageMessage)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
-set(CONFIG_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}")
|
||||
+set(CONFIG_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/${CMAKE_PROJECT_NAME}")
|
||||
set(AVRDUDE_FULL_VERSION ${CMAKE_PROJECT_VERSION})
|
||||
|
||||
# =====================================
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index c10a77eb..1afdf495 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -313,7 +313,9 @@ install(TARGETS libavrdude
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
PUBLIC_HEADER DESTINATION include COMPONENT dev
|
||||
)
|
||||
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/avrdude.conf" TYPE SYSCONF)
|
||||
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/avrdude.conf"
|
||||
+ DESTINATION "${CONFIG_DIR}"
|
||||
+)
|
||||
install(FILES "avrdude.1"
|
||||
DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
|
||||
)
|
||||
diff --git a/src/avrdude.1 b/src/avrdude.1
|
||||
index 2399f3d4..61962fb4 100644
|
||||
--- a/src/avrdude.1
|
||||
+++ b/src/avrdude.1
|
||||
@@ -423,7 +423,7 @@ contains all programmer and part definitions that
|
||||
.Nm avrdude
|
||||
knows about.
|
||||
See the config file, located at
|
||||
-.Pa ${PREFIX}/etc/avrdude.conf ,
|
||||
+.Pa /etc/avrdude/avrdude.conf ,
|
||||
which contains a description of the format.
|
||||
.Pp
|
||||
If
|
||||
@@ -1823,7 +1823,7 @@ On all other systems, the file is first looked up in
|
||||
.Pa ../etc/ ,
|
||||
relative to the path of the executable, then in the same directory as
|
||||
the executable itself, and finally in the system default location
|
||||
-.Pa ${PREFIX}/etc/avrdude.conf .
|
||||
+.Pa /etc/avrdude/avrdude.conf .
|
||||
.It Pa ${XDG_CONFIG_HOME}/avrdude/avrdude.rc
|
||||
Local programmer and parts configuration file (per-user overrides); it follows the same syntax as
|
||||
.Pa avrdude.conf ;
|
||||
diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi
|
||||
index ecbcd58d..43730d3f 100644
|
||||
--- a/src/doc/avrdude.texi
|
||||
+++ b/src/doc/avrdude.texi
|
||||
@@ -540,8 +540,8 @@ two locations:
|
||||
|
||||
@end enumerate
|
||||
|
||||
-If not found there, the lookup procedure becomes platform dependent. On FreeBSD
|
||||
-and Linux, AVRDUDE looks at @code{/usr/local/etc/avrdude.conf}. See Appendix A
|
||||
+If not found there, the lookup procedure becomes platform dependent. On
|
||||
+Fedora Linux, AVRDUDE looks at @code{/etc/avrdude/avrdude.conf}. See Appendix A
|
||||
for the method of searching on Windows.
|
||||
|
||||
If @var{config-file} is written as @var{+filename}
|
||||
133
avrdude.spec
133
avrdude.spec
|
|
@ -1,46 +1,39 @@
|
|||
%global udev_rules 70-avrdude_usbprog.rules
|
||||
%global udev_rules_old 70-avrdude-devices.rules
|
||||
%global udev_rules_gen 71-avrdude-devices.rules
|
||||
|
||||
# Allow skipping doc builds for faster mockbuilds without the
|
||||
# literally hundreds of extra packages required for building docs.
|
||||
%bcond_without docs
|
||||
|
||||
Name: avrdude
|
||||
Version: 7.3
|
||||
Release: 1%{?dist}
|
||||
Version: 8.0
|
||||
Release: 8%{?dist}
|
||||
Summary: Software for programming Atmel AVR Microcontroller
|
||||
|
||||
License: GPL-2.0-or-later AND GPL-3.0-only AND (WTFPL OR MIT)
|
||||
URL: https://github.com/avrdudes/avrdude
|
||||
|
||||
# Upstream release tarballs are just git repo dumps, which includes
|
||||
# pdf doc files which we cannot redistribute.
|
||||
# Source0: https://github.com/avrdudes/%%{name}/archive/refs/tags/v%%{version}.tar.gz#/%%{name}-%%{version}.tar.gz
|
||||
# Upstream avrdude have no 4big endian support planned.
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2308947
|
||||
# https://github.com/avrdudes/avrdude/issues/1917
|
||||
ExcludeArch: s390x
|
||||
|
||||
# So we need to filter out the files we *can* distribute, before we
|
||||
# can "fedpkg new-sources" the tarball. "make" should do about this:
|
||||
# curl -L -o %%{name}-%%{version}.tar.gz https://github.com/avrdudes/%%{name}/archive/refs/tags/v%%{version}.tar.gz
|
||||
# python3 filter-tarball %%{name}-%%{version}.tar.gz
|
||||
# That results in rpmlint "avrdude.spec: W: invalid-url Source0: …"
|
||||
Source0: %{name}-%{version}-filtered.tar.xz
|
||||
Source10: filter-tarball
|
||||
Source11: file-licensing
|
||||
Source0: https://github.com/avrdudes/%{name}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
|
||||
# Debian have a more comprehensive list of programmer devices in their
|
||||
# avrdude.dev file. We do cannot use this unchanged, though, as we do
|
||||
# not want to grant blanket access to all ttyUSB and ttyACM devices.
|
||||
# Source1: https://salsa.debian.org/debian/avrdude/-/raw/master/debian/avrdude.udev
|
||||
# FIXME: Create udev rules from the device list in avrdude.conf
|
||||
Source1: avrdude.udev
|
||||
|
||||
# Remarks on the Fedora package for the users
|
||||
Source2: README.fedora
|
||||
|
||||
# Stop granting blanket access to all /dev/tty{ACM,USB}* devices
|
||||
Patch1: avrdude-udev-no-blanket-access.patch
|
||||
# Quick fix elf2tag man page
|
||||
Source5: elf2tag.1
|
||||
|
||||
# Move avrdude.conf from upstream location /usr/etc/ to /etc/avrdude/
|
||||
# FIXME: Eventually move avrdude.conf to /usr/share/avrdude/
|
||||
Patch: avrdude-7.2-fedora-relocate-avrdude-conf.patch
|
||||
# Stop granting blanket access to all /dev/tty{ACM,USB}* devices
|
||||
Patch: avrdude-udev-no-blanket-access.patch
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc
|
||||
|
|
@ -48,10 +41,12 @@ BuildRequires: flex
|
|||
BuildRequires: bison
|
||||
BuildRequires: elfutils-libelf-devel
|
||||
BuildRequires: hidapi-devel
|
||||
# Optional: Still build problems with gpiod in avrdude-7.3
|
||||
# BuildRequires: libgpiod-devel
|
||||
# Optional: libserialport
|
||||
# BuildRequires: libserialport-devel
|
||||
%if ((0%{?fedora} >= 1) || (0%{?rhel} >= 8))
|
||||
BuildRequires: libgpiod-devel
|
||||
%endif
|
||||
%if ((0%{?fedora} >= 1) || (0%{?rhel} >= 9))
|
||||
BuildRequires: libserialport-devel
|
||||
%endif
|
||||
# EL does not have libhid-devel
|
||||
%if 0%{?fedora} >= 28
|
||||
BuildRequires: libhid-devel
|
||||
|
|
@ -59,7 +54,6 @@ BuildRequires: libhid-devel
|
|||
BuildRequires: readline-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: libftdi-devel
|
||||
BuildRequires: pkgconfig(libusb)
|
||||
BuildRequires: pkgconfig(libusb-1.0)
|
||||
%if %{with docs}
|
||||
BuildRequires: texi2html
|
||||
|
|
@ -91,6 +85,7 @@ if test -d atmel-docs; then
|
|||
echo "Directory 'atmel-docs' still exists, aborting."
|
||||
exit 2
|
||||
fi
|
||||
sed -i 's|^find_package(SWIG|\# find_package(SWIG|' CMakeLists.txt
|
||||
|
||||
|
||||
%build
|
||||
|
|
@ -109,24 +104,42 @@ fi
|
|||
-D FETCHCONTENT_QUIET:BOOL=OFF \
|
||||
-D BUILD_SHARED_LIBS:BOOL=NO \
|
||||
-D USE_STATIC_LIBS:BOOL=YES
|
||||
|
||||
if test -d _deps; then
|
||||
echo "cmake appears to have fetched some dependency despite our precautions:"
|
||||
ls -l _deps
|
||||
exit 2
|
||||
fi
|
||||
|
||||
%cmake_build
|
||||
|
||||
# generate set of udev rules from avrdude.conf
|
||||
%{__cmake_builddir}/src/avrdude -C %{__cmake_builddir}/src/avrdude.conf -c '*/u' \
|
||||
| sed -n '/ACTION!=/,$p' \
|
||||
| sed 's|, MODE="0660"||' \
|
||||
> genset.rules
|
||||
test -s genset.rules
|
||||
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/libavrdude.h
|
||||
|
||||
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
||||
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/libavrdude-avrintel.h
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/libavrdude.h
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libavrdude.a
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libavrdude.so
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libavrdude.so.1
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libavrdude.so.1.0.0
|
||||
rm -f $RPM_BUILD_ROOT%{_pkgdocdir}/avrdude.dvi
|
||||
rm -f $RPM_BUILD_ROOT%{_pkgdocdir}/avrdude.ps
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_udevrulesdir}
|
||||
install -p -m 644 avrdude.udev $RPM_BUILD_ROOT%{_udevrulesdir}/%{udev_rules}
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_pkgdocdir}
|
||||
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_udevrulesdir}
|
||||
install -p -m 644 avrdude.udev $RPM_BUILD_ROOT%{_udevrulesdir}/%{udev_rules_old}
|
||||
install -p -m 644 genset.rules $RPM_BUILD_ROOT%{_udevrulesdir}/%{udev_rules_gen}
|
||||
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_pkgdocdir}
|
||||
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_pkgdocdir}/README.fedora
|
||||
install -p -m 644 -t $RPM_BUILD_ROOT%{_pkgdocdir} AUTHORS NEWS README.md
|
||||
install -p -m 644 -t $RPM_BUILD_ROOT%{_pkgdocdir} AUTHORS NEWS README.md
|
||||
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
|
||||
install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/elf2tag.1
|
||||
|
||||
|
||||
%check
|
||||
|
|
@ -143,17 +156,55 @@ install -p -m 644 -t $RPM_BUILD_ROOT%{_pkgdocdir} AUTHORS NEWS README.md
|
|||
%doc %{_pkgdocdir}/avrdude-html/
|
||||
%doc %{_pkgdocdir}/avrdude.pdf
|
||||
%endif
|
||||
%dir %{_sysconfdir}/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/%{name}/avrdude.conf
|
||||
%{_udevrulesdir}/%{udev_rules}
|
||||
%{_bindir}/%{name}
|
||||
%{_mandir}/man1/%{name}.1*
|
||||
%config(noreplace) %{_sysconfdir}/avrdude.conf
|
||||
%{_udevrulesdir}/%{udev_rules_old}
|
||||
%{_udevrulesdir}/%{udev_rules_gen}
|
||||
%{_bindir}/avrdude
|
||||
%{_bindir}/elf2tag
|
||||
%{_mandir}/man1/avrdude.1*
|
||||
%{_mandir}/man1/elf2tag.1*
|
||||
%if %{with docs}
|
||||
%{_infodir}/%{name}.info*
|
||||
%{_infodir}/avrdude.info*
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 8.0-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.0-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Sun Sep 1 2024 Hans Ulrich Niedermann <hun@n-dimensional.de> - 8.0-5
|
||||
- ExcludeArch: s390x (#2308947)
|
||||
- Add elf2tag.1 man page
|
||||
|
||||
* Fri Aug 30 2024 Hans Ulrich Niedermann <hun@n-dimensional.de> - 8.0-4
|
||||
- Actually ship static copy of udev rules as s390x workaround
|
||||
|
||||
* Fri Aug 30 2024 Hans Ulrich Niedermann <hun@n-dimensional.de> - 8.0-3
|
||||
- Ship static copy of udev rules as s390x workaround
|
||||
|
||||
* Thu Aug 29 2024 Hans Ulrich Niedermann <hun@n-dimensional.de> - 8.0-2
|
||||
- Rebuilt for forgotten new-sources
|
||||
|
||||
* Sun Aug 25 2024 Hans Ulrich Niedermann <hun@n-dimensional.de> - 8.0-1
|
||||
- Update to avrdude-8.0 release (#2307778)
|
||||
- Enable libserialport support
|
||||
- Build without old pre-1.0 libusb
|
||||
- Build with libgpiod
|
||||
- Move config file from /etc/avrdude/avrdude.conf to /etc/avrdude.conf
|
||||
- Continue not shipping libavrdude library due to unstable API/ABI
|
||||
- Do not build/ship libavrdude SWIG bindings (unstable API/ABI)
|
||||
- Do not build/ship avrdude GUI based on the SWIG bindings
|
||||
- Add new set of autogenerated udev rules
|
||||
|
||||
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 7.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Wed Feb 7 2024 Hans Ulrich Niedermann <hun@n-dimensional.de> - 7.3-1
|
||||
- Update to avrdude-7.3 release
|
||||
- Enable linuxgpio (without libgpiod, though)
|
||||
|
|
|
|||
63
elf2tag.1
Normal file
63
elf2tag.1
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
'\" t
|
||||
.\" Title: elf2tag
|
||||
.\" Author: [see the "AUTHOR(S)" section]
|
||||
.\" Generator: Asciidoctor 2.0.20
|
||||
.\" Date: 2024-09-01
|
||||
.\" Manual: elf2tag Manual
|
||||
.\" Source: avrdude
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "ELF2TAG" "1" "2024-09-01" "avrdude" "elf2tag Manual"
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.ss \n[.ss] 0
|
||||
.nh
|
||||
.ad l
|
||||
.de URL
|
||||
\fI\\$2\fP <\\$1>\\$3
|
||||
..
|
||||
.als MTO URL
|
||||
.if \n[.g] \{\
|
||||
. mso www.tmac
|
||||
. am URL
|
||||
. ad l
|
||||
. .
|
||||
. am MTO
|
||||
. ad l
|
||||
. .
|
||||
. LINKSTYLE blue R < >
|
||||
.\}
|
||||
.SH "NAME"
|
||||
elf2tag \- output a tagfile for the avrdude disasm command
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
\fBelf2tag\fP <file.elf>
|
||||
.sp
|
||||
\fBelf2tag\fP [\fB\-h\fP | \fB\-\-help\fP]
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
\fIelf2tag\fP generates a tagfile for use with the \fIavrdude disasm\fP command.
|
||||
.SH "OPTIONS"
|
||||
.sp
|
||||
\fB\-h\fP \fB\-\-help\fP
|
||||
.RS 4
|
||||
Prints the help message and exits.
|
||||
.RE
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
.if n .RS 4
|
||||
.nf
|
||||
.fam C
|
||||
$ elf2tag file.elf > file.tag
|
||||
$ avrdude \-t ...
|
||||
avrdude> ...
|
||||
avrdude> disasm \-t=file.tag ...
|
||||
.fam
|
||||
.fi
|
||||
.if n .RE
|
||||
.SH "AUTHORS"
|
||||
.sp
|
||||
\fIelf2tag\fP was written by Johannes Bauer with small modifications by Stefan Rueger.
|
||||
.SH "SEE ALSO"
|
||||
.sp
|
||||
\fBavrdude(1)\fP, \fBavr\-nm\fP, \fBavr\-objdump(1)\fP
|
||||
610
file-licensing
610
file-licensing
|
|
@ -1,610 +0,0 @@
|
|||
# File format:
|
||||
# * Empty lines are ignored.
|
||||
# * Lines starting with a # are ignored.
|
||||
# * Lines not containing a TAB character are ignored.
|
||||
#
|
||||
# Each valid line contains
|
||||
# * SPDX license expression or one of our special markers:
|
||||
# * "x" for a file to be removed from the tarball
|
||||
# * "-" for unclear, but keep the file in the tarball
|
||||
# * the filename for the SPDX license expression applies
|
||||
# * an optional human readable remark
|
||||
# separated by TAB characters.
|
||||
#
|
||||
# Some resources helping maintaining this file:
|
||||
# * licensecheck(1)
|
||||
# * the SPDX specs
|
||||
|
||||
# Written for the git commit hash a336e47a6e1fe069c45096edaeda1b4841ad7ce5.
|
||||
|
||||
# License inside file file name
|
||||
# ------------------------------------------------------------------------
|
||||
- .editorconfig
|
||||
- .gitattributes
|
||||
- .github/workflows/arduino_packing.yml
|
||||
GPL-2.0-or-later .github/workflows/build.yml
|
||||
GPL-2.0-or-later .github/workflows/deploy.yml
|
||||
- .gitignore
|
||||
- AUTHORS
|
||||
GPL-2.0-or-later CMakeLists.txt
|
||||
- CMakeSettings.json
|
||||
- COPYING
|
||||
- INSTALL
|
||||
- NEWS
|
||||
- README.md
|
||||
x atmel-docs/AVR109.pdf
|
||||
x atmel-docs/AVR910.pdf
|
||||
x atmel-docs/AVRISPmkII-AVR069.pdf
|
||||
x atmel-docs/EDBG/common/browserDetect.js
|
||||
x atmel-docs/EDBG/common/css/960.css
|
||||
x atmel-docs/EDBG/common/css/docbook.css
|
||||
x atmel-docs/EDBG/common/css/fluid_grid.css
|
||||
x atmel-docs/EDBG/common/css/index.css
|
||||
x atmel-docs/EDBG/common/css/positioning.css
|
||||
x atmel-docs/EDBG/common/css/print.css
|
||||
x atmel-docs/EDBG/common/css/reset.css
|
||||
x atmel-docs/EDBG/common/css/text.css
|
||||
x atmel-docs/EDBG/common/fonts/DroidSansMono.eot
|
||||
x atmel-docs/EDBG/common/fonts/DroidSansMono.ttf
|
||||
x atmel-docs/EDBG/common/images/Book_Closed.png
|
||||
x atmel-docs/EDBG/common/images/Book_Open.png
|
||||
x atmel-docs/EDBG/common/images/Document_Text.png
|
||||
x atmel-docs/EDBG/common/images/Library.png
|
||||
x atmel-docs/EDBG/common/images/external_link.gif
|
||||
x atmel-docs/EDBG/common/images/loading.gif
|
||||
x atmel-docs/EDBG/common/images/logo.png
|
||||
x atmel-docs/EDBG/common/images/minus.png
|
||||
x atmel-docs/EDBG/common/images/next-arrow.png
|
||||
x atmel-docs/EDBG/common/images/plus.png
|
||||
x atmel-docs/EDBG/common/images/previous-arrow.png
|
||||
x atmel-docs/EDBG/common/images/search-icon.png
|
||||
x atmel-docs/EDBG/common/images/sidebar.png
|
||||
x atmel-docs/EDBG/common/images/starsSmall.png
|
||||
x atmel-docs/EDBG/common/images/toc-icon.png
|
||||
x atmel-docs/EDBG/common/images/ui-icons_217bc0_256x240.png
|
||||
x atmel-docs/EDBG/common/jquery/jquery-1.7.2.min.js
|
||||
x atmel-docs/EDBG/common/jquery/jquery.cookie.js
|
||||
x atmel-docs/EDBG/common/jquery/jquery.ui.all.js
|
||||
x atmel-docs/EDBG/common/jquery/layout/jquery.layout.js
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-anim_basic_16x16.gif
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-bg_flat_55_fbec88_40x100.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-bg_glass_85_dfeffc_1x400.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-bg_glass_95_fef1ec_1x400.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-icons_217bc0_256x240.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-icons_2e83ff_256x240.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-icons_469bdd_256x240.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-icons_6da8d5_256x240.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-icons_cd0a0a_256x240.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-icons_d8e7f3_256x240.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/images/ui-icons_f9bd01_256x240.png
|
||||
x atmel-docs/EDBG/common/jquery/theme-redmond/jquery-ui-1.8.2.custom.css
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/file.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/folder-closed.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/folder.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/treeview-black-line.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/treeview-black.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/treeview-default-line.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/treeview-default.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/treeview-famfamfam-line.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/treeview-famfamfam.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/treeview-gray-line.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/treeview-gray.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/treeview-red-line.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/images/treeview-red.gif
|
||||
x atmel-docs/EDBG/common/jquery/treeview/jquery.treeview.css
|
||||
x atmel-docs/EDBG/common/jquery/treeview/jquery.treeview.min.js
|
||||
x atmel-docs/EDBG/common/main.js
|
||||
x atmel-docs/EDBG/common/splitterInit.js
|
||||
x atmel-docs/EDBG/protocoldocs/ch01s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch01s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s02s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s02s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s02s02s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s02s02s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s02s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s02s03s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s02s03s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s02s03s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s02s03s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s03s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s03s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s03s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s03s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s03s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s03s06.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s03s07.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s03s08.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s03s09.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s04s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s04s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch02s04s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s01s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s01s01.html~
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s01s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s01s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s01s03s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s02s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s02s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s02s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch03s02s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s04s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s04s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s04s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s04s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s06.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s06s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s06s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s06s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s06s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s07.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s07s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s07s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s07s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s07s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s08.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s08s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s08s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s08s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s09.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch04s05s10.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s06.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s07.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s08.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s09.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s10.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s11.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s12.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s13.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s14.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s01s15.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s02s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s02s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s02s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s02s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s02s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s02s06.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s03s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s03s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s03s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch05s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s06.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s07.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s08.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s09.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s10.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s11.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s12.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s13.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s14.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s15.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s16.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s17.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s18.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s19.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s20.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s21.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s22.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s23.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s24.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s25.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s26.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s27.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s28.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s01s29.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s02s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s02s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s02s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s02s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s02s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s03s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s03s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s04s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s04s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s04s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s05s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s05s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s05s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s05s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s05s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch06s06.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s06.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s07.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s08.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s09.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s10.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s11.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s12.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s13.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s14.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s15.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s16.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s01s17.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch07s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch08s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch08s01s01.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch08s01s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch08s01s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch08s01s04.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch08s01s05.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch08s01s06.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch08s02.html
|
||||
x atmel-docs/EDBG/protocoldocs/ch08s03.html
|
||||
x atmel-docs/EDBG/protocoldocs/document.revisions.html
|
||||
x atmel-docs/EDBG/protocoldocs/index.html
|
||||
x atmel-docs/EDBG/protocoldocs/pr01.html
|
||||
x atmel-docs/EDBG/protocoldocs/protocoldocs.Introduction.html
|
||||
x atmel-docs/EDBG/protocoldocs/protocoldocs.avr32protocol.html
|
||||
x atmel-docs/EDBG/protocoldocs/protocoldocs.avr8protocol.html
|
||||
x atmel-docs/EDBG/protocoldocs/protocoldocs.avrispprotocol.html
|
||||
x atmel-docs/EDBG/protocoldocs/protocoldocs.avrprotocol.Overview.html
|
||||
x atmel-docs/EDBG/protocoldocs/protocoldocs.cmsis_dap.html
|
||||
x atmel-docs/EDBG/protocoldocs/protocoldocs.edbg_ctrl_protocol.html
|
||||
x atmel-docs/EDBG/protocoldocs/protocoldocs.tpiprotocol.html
|
||||
x atmel-docs/EDBG/protocoldocs/search/htmlFileInfoList.js
|
||||
x atmel-docs/EDBG/protocoldocs/search/index-1.js
|
||||
x atmel-docs/EDBG/protocoldocs/search/index-2.js
|
||||
x atmel-docs/EDBG/protocoldocs/search/index-3.js
|
||||
x atmel-docs/EDBG/protocoldocs/search/l10n.js
|
||||
x atmel-docs/EDBG/protocoldocs/search/nwSearchFnt.js
|
||||
x atmel-docs/EDBG/protocoldocs/search/stemmers/en_stemmer.js
|
||||
x atmel-docs/EDBG/protocoldocs/section_avr32_memtypes.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_avr32_setget_params.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_avr8_memtypes.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_avr8_query_contexts.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_avr8_setget_params.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_edbg_ctrl_setget_params.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_edbg_query_contexts.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_housekeeping_start_session.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_i5v_3yz_rl.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_jdx_m11_sl.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_qhb_x1c_sl.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_serial_trace.html
|
||||
x atmel-docs/EDBG/protocoldocs/section_t1f_hb1_sl.html
|
||||
x atmel-docs/JTAGICE-AVR060.pdf
|
||||
x atmel-docs/JTAGICEmkII-AVR067.pdf
|
||||
x atmel-docs/STK500-AVR061.pdf
|
||||
x atmel-docs/STK500v2-AVR068.pdf
|
||||
- build.sh
|
||||
GPL-2.0-or-later src/CMakeLists.txt
|
||||
- src/GNUmakefile.in
|
||||
GPL-2.0-or-later src/Makefile.am
|
||||
GPL-2.0-or-later src/arduino.c
|
||||
GPL-2.0-or-later src/arduino.h
|
||||
GPL-2.0-or-later src/avr.c
|
||||
GPL-2.0-or-later src/avr910.c
|
||||
GPL-2.0-or-later src/avr910.h
|
||||
GPL-2.0-or-later src/avrcache.c
|
||||
- src/avrdude.1
|
||||
- src/avrdude.conf.in
|
||||
GPL-2.0-or-later src/avrdude.h
|
||||
- src/avrdude.spec.in
|
||||
GPL-2.0-or-later src/avrftdi.c
|
||||
GPL-2.0-or-later src/avrftdi.h
|
||||
- src/avrftdi_private.h
|
||||
- src/avrftdi_tpi.c
|
||||
- src/avrftdi_tpi.h
|
||||
GPL-3.0-only src/avrintel.c (NOTE: autogen mkavrintel.pl)
|
||||
GPL-3.0-only src/avrintel.h (NOTE: see above)
|
||||
GPL-2.0-or-later src/avrpart.c
|
||||
GPL-2.0-or-later src/bitbang.c
|
||||
GPL-2.0-or-later src/bitbang.h
|
||||
- src/build-helpers/package-version
|
||||
- src/build-helpers/package-version.mk
|
||||
- src/bootstrap
|
||||
GPL-2.0-or-later src/buspirate.c
|
||||
GPL-2.0-or-later src/buspirate.h
|
||||
GPL-2.0-or-later src/butterfly.c
|
||||
GPL-2.0-or-later src/butterfly.h
|
||||
GPL-2.0-or-later src/ch341a.c
|
||||
GPL-2.0-or-later src/ch341a.h
|
||||
GPL-2.0-or-later src/cmake_config.h.in
|
||||
GPL-2.0-or-later src/config.c
|
||||
GPL-2.0-or-later src/config.h
|
||||
GPL-2.0-or-later src/config_gram.y
|
||||
GPL-2.0-or-later src/configure.ac
|
||||
GPL-2.0-or-later src/configure.cmake
|
||||
GPL-2.0-or-later src/confwin.c
|
||||
- src/crc16.c
|
||||
- src/crc16.h
|
||||
GPL-2.0-or-later src/developer_opts.c
|
||||
GPL-2.0-or-later src/developer_opts.h
|
||||
GPL-2.0-or-later src/developer_opts_private.h
|
||||
GPL-2.0-or-later src/dfu.c
|
||||
GPL-2.0-or-later src/dfu.h
|
||||
- src/doc/.gitignore
|
||||
GPL-2.0-or-later src/doc/CMakeLists.txt
|
||||
GPL-2.0-or-later src/doc/Makefile.am
|
||||
- src/doc/avrdude.css
|
||||
- src/doc/avrdude.texi
|
||||
GPL-2.0-or-later src/doc/parts.cmake
|
||||
- src/doc/parts_comments.txt
|
||||
GPL-2.0-or-later src/doc/programmer_types.cmake
|
||||
GPL-2.0-or-later src/doc/programmers.cmake
|
||||
GPL-2.0-or-later src/dryrun.c
|
||||
GPL-2.0-or-later src/dryrun.h
|
||||
GPL-2.0-or-later src/dryrun_private.h
|
||||
GPL-2.0-or-later src/fileio.c
|
||||
GPL-2.0-or-later src/flip1.c
|
||||
GPL-2.0-or-later src/flip1.h
|
||||
GPL-2.0-or-later src/flip2.c
|
||||
GPL-2.0-or-later src/flip2.h
|
||||
GPL-2.0-or-later src/freebsd_ppi.h
|
||||
GPL-2.0-or-later src/ft245r.c
|
||||
- src/ft245r.h
|
||||
GPL-2.0-or-later src/jtag3.c
|
||||
GPL-2.0-or-later src/jtag3.h
|
||||
GPL-2.0-or-later src/jtag3_private.h
|
||||
GPL-2.0-or-later src/jtagmkI.c
|
||||
GPL-2.0-or-later src/jtagmkI.h
|
||||
GPL-2.0-or-later src/jtagmkII.c
|
||||
GPL-2.0-or-later src/jtagmkII.h
|
||||
GPL-2.0-or-later src/jtagmkII_private.h
|
||||
GPL-2.0-or-later src/jtagmkI_private.h
|
||||
GPL-2.0-or-later src/leds.c
|
||||
GPL-2.0-or-later src/lexer.l
|
||||
GPL-2.0-or-later src/libavrdude.h
|
||||
GPL-2.0-or-later src/linux_ppdev.h
|
||||
GPL-2.0-or-later src/linuxgpio.c
|
||||
GPL-2.0-or-later src/linuxgpio.h
|
||||
GPL-2.0-or-later src/linuxspi.c
|
||||
GPL-2.0-or-later src/linuxspi.h
|
||||
GPL-2.0-or-later src/lists.c
|
||||
GPL-2.0-or-later src/main.c
|
||||
GPL-2.0-or-later src/micronucleus.c
|
||||
GPL-2.0-or-later src/micronucleus.h
|
||||
BSD-2-Clause AND ISC src/msvc/getopt.c
|
||||
PD src/msvc/getopt.h
|
||||
PD src/msvc/gettimeofday.c
|
||||
GPL-2.0-or-later src/msvc/msvc_compat.h
|
||||
GPL-2.0-or-later src/msvc/readline.cpp
|
||||
GPL-2.0-or-later src/msvc/readline/history.h
|
||||
GPL-2.0-or-later src/msvc/readline/readline.h
|
||||
GPL-2.0-or-later src/msvc/sys/time.h
|
||||
GPL-2.0-or-later src/msvc/unistd.h
|
||||
GPL-2.0-or-later src/msvc/usleep.cpp
|
||||
GPL-2.0-or-later src/par.c
|
||||
GPL-2.0-or-later src/par.h
|
||||
GPL-2.0-or-later src/pgm.c
|
||||
GPL-2.0-or-later src/pgm_type.c
|
||||
GPL-2.0-or-later src/pickit2.c
|
||||
GPL-2.0-or-later src/pickit2.h
|
||||
GPL-2.0-or-later src/pindefs.c
|
||||
GPL-2.0-or-later src/ppi.c
|
||||
GPL-2.0-or-later src/ppi.h
|
||||
GPL-2.0-or-later src/ppiwin.c
|
||||
GPL-2.0-or-later src/ser_avrdoper.c
|
||||
GPL-2.0-or-later src/ser_posix.c
|
||||
GPL-2.0-or-later src/ser_win32.c
|
||||
GPL-2.0-or-later src/serbb.h
|
||||
GPL-2.0-or-later src/serbb_posix.c
|
||||
GPL-2.0-or-later src/serbb_win32.c
|
||||
GPL-2.0-or-later src/serialadapter.c
|
||||
GPL-2.0-or-later src/serialupdi.c
|
||||
GPL-2.0-or-later src/serialupdi.h
|
||||
GPL-2.0-or-later src/solaris_ecpp.h
|
||||
GPL-2.0-or-later src/stk500.c
|
||||
GPL-2.0-or-later src/stk500.h
|
||||
- src/stk500_private.h (#defines only)
|
||||
GPL-2.0-or-later src/stk500generic.c
|
||||
GPL-2.0-or-later src/stk500generic.h
|
||||
GPL-2.0-or-later src/stk500v2.c
|
||||
GPL-2.0-or-later src/stk500v2.h
|
||||
- src/stk500v2_private.h (#defines and struct only)
|
||||
GPL-2.0-or-later src/strutil.c
|
||||
GPL-2.0-or-later src/teensy.c
|
||||
GPL-2.0-or-later src/teensy.h
|
||||
GPL-2.0-or-later src/term.c
|
||||
GPL-2.0-or-later src/tpi.h
|
||||
GPL-2.0-or-later src/update.c
|
||||
GPL-2.0-or-later src/updi_constants.h
|
||||
GPL-2.0-or-later src/updi_link.c
|
||||
GPL-2.0-or-later src/updi_link.h
|
||||
GPL-2.0-or-later src/updi_nvm.c
|
||||
GPL-2.0-or-later src/updi_nvm.h
|
||||
GPL-2.0-or-later src/updi_nvm_v0.c
|
||||
GPL-2.0-or-later src/updi_nvm_v0.h
|
||||
GPL-2.0-or-later src/updi_nvm_v2.c
|
||||
GPL-2.0-or-later src/updi_nvm_v2.h
|
||||
GPL-2.0-or-later src/updi_nvm_v3.c
|
||||
GPL-2.0-or-later src/updi_nvm_v3.h
|
||||
GPL-2.0-or-later src/updi_nvm_v4.c
|
||||
GPL-2.0-or-later src/updi_nvm_v4.h
|
||||
GPL-2.0-or-later src/updi_nvm_v5.c
|
||||
GPL-2.0-or-later src/updi_nvm_v5.h
|
||||
GPL-2.0-or-later src/updi_readwrite.c
|
||||
GPL-2.0-or-later src/updi_readwrite.h
|
||||
GPL-2.0-or-later src/updi_state.c
|
||||
GPL-2.0-or-later src/updi_state.h
|
||||
GPL-2.0-or-later src/urclock.c
|
||||
GPL-2.0-or-later src/urclock.h
|
||||
GPL-2.0-or-later src/urclock_hash.h
|
||||
GPL-2.0-or-later src/urclock_private.h
|
||||
GPL-2.0-or-later src/usb_hidapi.c
|
||||
GPL-2.0-or-later src/usb_libusb.c
|
||||
GPL-2.0-or-later src/usbasp.c
|
||||
GPL-2.0-or-later src/usbasp.h
|
||||
GPL-2.0-or-later src/usbdevs.h
|
||||
GPL-2.0-or-later src/usbtiny.c
|
||||
GPL-2.0-or-later src/usbtiny.h
|
||||
WTFPLv2 OR MIT src/whereami.c
|
||||
WTFPLv2 OR MIT src/whereami.h
|
||||
GPL-2.0-or-later src/windows.rc.in
|
||||
GPL-2.0-or-later src/wiring.c
|
||||
GPL-2.0-or-later src/wiring.h
|
||||
GPL-2.0-or-later src/xbee.c
|
||||
GPL-2.0-or-later src/xbee.h
|
||||
- supporting-docs/avrprog.pdf
|
||||
GPL-2.0-or-later tools/atdf-to-avrdude.xslt
|
||||
GPL-3.0-only tools/bootloader-hash
|
||||
Beerware tools/build-mingw32.sh
|
||||
GPL-2.0-or-later tools/get-dw-params.xsl
|
||||
GPL-2.0-or-later tools/get-hv-params.xsl
|
||||
GPL-2.0-or-later tools/get-stk600-cards.xsl
|
||||
GPL-2.0-or-later tools/get-stk600-devices.xsl
|
||||
GPL-3.0-only tools/test-avrdude
|
||||
- tools/test_files/0xff_128B.hex
|
||||
- tools/test_files/0xff_256B.hex
|
||||
- tools/test_files/0xff_32B.hex
|
||||
- tools/test_files/0xff_512B.hex
|
||||
- tools/test_files/0xff_64B.hex
|
||||
- tools/test_files/0xff_768B.hex
|
||||
- tools/test_files/blink-mega2560+lext-test.hex
|
||||
- tools/test_files/cola-vending-machine.raw
|
||||
- tools/test_files/expected-flash-m2560.raw
|
||||
- tools/test_files/generate_test_hex.sh
|
||||
- tools/test_files/holes_eeprom_0xff_1024B.hex
|
||||
- tools/test_files/holes_eeprom_0xff_128B.hex
|
||||
- tools/test_files/holes_eeprom_0xff_2048B.hex
|
||||
- tools/test_files/holes_eeprom_0xff_256B.hex
|
||||
- tools/test_files/holes_eeprom_0xff_4096B.hex
|
||||
- tools/test_files/holes_eeprom_0xff_512B.hex
|
||||
- tools/test_files/holes_eeprom_0xff_64B.hex
|
||||
- tools/test_files/holes_eeprom_0xff_8192B.hex
|
||||
- tools/test_files/holes_flash_0xff_10240B.hex
|
||||
- tools/test_files/holes_flash_0xff_1024B.hex
|
||||
- tools/test_files/holes_flash_0xff_131072B.hex
|
||||
- tools/test_files/holes_flash_0xff_139264B.hex
|
||||
- tools/test_files/holes_flash_0xff_16384B.hex
|
||||
- tools/test_files/holes_flash_0xff_204800B.hex
|
||||
- tools/test_files/holes_flash_0xff_20480B.hex
|
||||
- tools/test_files/holes_flash_0xff_2048B.hex
|
||||
- tools/test_files/holes_flash_0xff_262144B.hex
|
||||
- tools/test_files/holes_flash_0xff_270336B.hex
|
||||
- tools/test_files/holes_flash_0xff_32768B.hex
|
||||
- tools/test_files/holes_flash_0xff_36864B.hex
|
||||
- tools/test_files/holes_flash_0xff_401408B.hex
|
||||
- tools/test_files/holes_flash_0xff_40960B.hex
|
||||
- tools/test_files/holes_flash_0xff_4096B.hex
|
||||
- tools/test_files/holes_flash_0xff_49152B.hex
|
||||
- tools/test_files/holes_flash_0xff_512B.hex
|
||||
- tools/test_files/holes_flash_0xff_524288B.hex
|
||||
- tools/test_files/holes_flash_0xff_65536B.hex
|
||||
- tools/test_files/holes_flash_0xff_69632B.hex
|
||||
- tools/test_files/holes_flash_0xff_8192B.hex
|
||||
- tools/test_files/holes_pack_my_box_1024B.hex
|
||||
- tools/test_files/holes_pack_my_box_128B.hex
|
||||
- tools/test_files/holes_pack_my_box_2048B.hex
|
||||
- tools/test_files/holes_pack_my_box_256B.hex
|
||||
- tools/test_files/holes_pack_my_box_4096B.hex
|
||||
- tools/test_files/holes_pack_my_box_512B.hex
|
||||
- tools/test_files/holes_pack_my_box_64B.hex
|
||||
- tools/test_files/holes_pack_my_box_8192B.hex
|
||||
- tools/test_files/holes_rjmp_loops_10240B.hex
|
||||
- tools/test_files/holes_rjmp_loops_1024B.hex
|
||||
- tools/test_files/holes_rjmp_loops_131072B.hex
|
||||
- tools/test_files/holes_rjmp_loops_139264B.hex
|
||||
- tools/test_files/holes_rjmp_loops_16384B.hex
|
||||
- tools/test_files/holes_rjmp_loops_204800B.hex
|
||||
- tools/test_files/holes_rjmp_loops_20480B.hex
|
||||
- tools/test_files/holes_rjmp_loops_2048B.hex
|
||||
- tools/test_files/holes_rjmp_loops_262144B.hex
|
||||
- tools/test_files/holes_rjmp_loops_270336B.hex
|
||||
- tools/test_files/holes_rjmp_loops_32768B.hex
|
||||
- tools/test_files/holes_rjmp_loops_36864B.hex
|
||||
- tools/test_files/holes_rjmp_loops_401408B.hex
|
||||
- tools/test_files/holes_rjmp_loops_40960B.hex
|
||||
- tools/test_files/holes_rjmp_loops_4096B.hex
|
||||
- tools/test_files/holes_rjmp_loops_49152B.hex
|
||||
- tools/test_files/holes_rjmp_loops_512B.hex
|
||||
- tools/test_files/holes_rjmp_loops_524288B.hex
|
||||
- tools/test_files/holes_rjmp_loops_65536B.hex
|
||||
- tools/test_files/holes_rjmp_loops_69632B.hex
|
||||
- tools/test_files/holes_rjmp_loops_8192B.hex
|
||||
- tools/test_files/holes_the_five_boxing_wizards_1024B.hex
|
||||
- tools/test_files/holes_the_five_boxing_wizards_128B.hex
|
||||
- tools/test_files/holes_the_five_boxing_wizards_2048B.hex
|
||||
- tools/test_files/holes_the_five_boxing_wizards_256B.hex
|
||||
- tools/test_files/holes_the_five_boxing_wizards_4096B.hex
|
||||
- tools/test_files/holes_the_five_boxing_wizards_512B.hex
|
||||
- tools/test_files/holes_the_five_boxing_wizards_64B.hex
|
||||
- tools/test_files/holes_the_five_boxing_wizards_8192B.hex
|
||||
- tools/test_files/lorem_ipsum_1024B.srec
|
||||
- tools/test_files/lorem_ipsum_128B.srec
|
||||
- tools/test_files/lorem_ipsum_2048B.srec
|
||||
- tools/test_files/lorem_ipsum_256B.srec
|
||||
- tools/test_files/lorem_ipsum_4096B.srec
|
||||
- tools/test_files/lorem_ipsum_512B.srec
|
||||
- tools/test_files/lorem_ipsum_64B.srec
|
||||
- tools/test_files/lorem_ipsum_8192B.srec
|
||||
- tools/test_files/random_data_128B.bin
|
||||
- tools/test_files/random_data_256B.bin
|
||||
- tools/test_files/random_data_32B.bin
|
||||
- tools/test_files/random_data_512B.bin
|
||||
- tools/test_files/random_data_64B.bin
|
||||
- tools/test_files/random_data_768B.bin
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_10240B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_1024B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_131072B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_139264B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_16384B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_204800B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_20480B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_2048B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_262144B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_270336B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_32768B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_36864B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_401408B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_40960B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_4096B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_49152B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_512B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_524288B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_65536B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_69632B.hex
|
||||
- tools/test_files/rjmp_loops_for_bootloaders_8192B.hex
|
||||
- tools/test_files/the_quick_brown_fox_1024B.hex
|
||||
- tools/test_files/the_quick_brown_fox_128B.hex
|
||||
- tools/test_files/the_quick_brown_fox_2048B.hex
|
||||
- tools/test_files/the_quick_brown_fox_256B.hex
|
||||
- tools/test_files/the_quick_brown_fox_4096B.hex
|
||||
- tools/test_files/the_quick_brown_fox_512B.hex
|
||||
- tools/test_files/the_quick_brown_fox_64B.hex
|
||||
- tools/test_files/the_quick_brown_fox_8192B.hex
|
||||
- tools/test_files/urboot_m2560_1s_x16m0_115k2_uart0_rxe0_txe1_led+b7_pr_ee_ce.hex
|
||||
|
||||
Local Variables:
|
||||
tab-width: 25
|
||||
End:
|
||||
137
filter-tarball
137
filter-tarball
|
|
@ -1,137 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
"""filter-tarball - filter tarball allowing only known good licensing.
|
||||
|
||||
Usage: filter-tarball <orig-tarball>
|
||||
|
||||
Read the original tarball 'foo-1.2.3.tar.gz' and write a new tarball
|
||||
'foo-1.2.3-filtered.tar.xz', containing only the files listed
|
||||
with a license in the 'file-licensing' file.
|
||||
|
||||
Example:
|
||||
filter-tarball avrdude-7.2.tar.gz
|
||||
|
||||
Produces a filtered tarball version as 'avrdude-7.2-filtered.tar.gz'.
|
||||
|
||||
"""
|
||||
|
||||
|
||||
import io
|
||||
import sys
|
||||
import tarfile
|
||||
from pathlib import Path
|
||||
from pprint import pprint
|
||||
|
||||
|
||||
def load_license_map(license_file_path: Path) -> dict[str, str]:
|
||||
"""Load license map from file."""
|
||||
license_map = {}
|
||||
|
||||
with open(license_file_path) as licf:
|
||||
for line in licf.readlines():
|
||||
assert line[-1] == "\n"
|
||||
line = line[:-1]
|
||||
if not line:
|
||||
continue
|
||||
if line[0] == "#":
|
||||
continue
|
||||
items = line.split("\t")
|
||||
if len(items) == 1:
|
||||
continue
|
||||
assert len(items) in [2, 3]
|
||||
lic_str = items[0]
|
||||
fname = items[1]
|
||||
# ignore remarks in items[2]
|
||||
pprint(items)
|
||||
if lic_str:
|
||||
license_map[fname] = lic_str
|
||||
print
|
||||
|
||||
pprint(license_map)
|
||||
print
|
||||
return license_map
|
||||
|
||||
|
||||
README_TEXT = """\
|
||||
About this filtered tarball
|
||||
===========================
|
||||
|
||||
This tarball was created from the original upstream tarball for Fedora
|
||||
by removing some files due to potential licensing issues.
|
||||
|
||||
The original tarball is available somewhere on
|
||||
|
||||
https://github.com/avrdudes/avrdude
|
||||
"""
|
||||
|
||||
|
||||
def run_filter(
|
||||
orig_tarfile: tarfile.TarFile,
|
||||
filtered_tarfile: tarfile.TarFile,
|
||||
tarbase: str,
|
||||
license_map: dict[str, str],
|
||||
):
|
||||
"""Filter orig tarball to filtered tarball."""
|
||||
for finfo in orig_tarfile:
|
||||
match finfo.type:
|
||||
case tarfile.REGTYPE:
|
||||
assert finfo.name.startswith(f"{tarbase}/")
|
||||
rel_fname = finfo.name.replace(f"{tarbase}/", "", 1)
|
||||
if rel_fname not in license_map:
|
||||
print("[ERR!]", finfo.name, "not in license map")
|
||||
sys.exit(1)
|
||||
match license_map[rel_fname]:
|
||||
case "x":
|
||||
print("[EXCL]", finfo.name)
|
||||
case _:
|
||||
filtered_tarfile.addfile(
|
||||
finfo, orig_tarfile.extractfile(finfo)
|
||||
)
|
||||
print("[COPY]", finfo.name, license_map[rel_fname])
|
||||
case tarfile.DIRTYPE:
|
||||
if finfo.name.startswith(f"{tarbase}/atmel-docs"):
|
||||
print("[SKIP]", finfo.name)
|
||||
else:
|
||||
print(" [DIR]", finfo.name)
|
||||
filtered_tarfile.addfile(finfo)
|
||||
case _:
|
||||
raise ValueError(f"Unhandled TarInfo type: {finfo}")
|
||||
|
||||
|
||||
def add_readme_file(filtered_tarfile: tarfile.TarFile, tarbase: str):
|
||||
"""Add README file to tarball describing filtered tarball."""
|
||||
readme_fname = f"{tarbase}/README.filtered-tarball"
|
||||
print(" [ADD]", readme_fname, "(remarks on filtered tarball)")
|
||||
readme_info = tarfile.TarInfo(readme_fname)
|
||||
readme_bytes = io.BytesIO(README_TEXT.encode("utf-8"))
|
||||
filtered_tarfile.addfile(readme_info, readme_bytes)
|
||||
|
||||
|
||||
def main(argv=None):
|
||||
"""Run main program."""
|
||||
if argv is None:
|
||||
argv = sys.argv[1:]
|
||||
assert len(argv) == 1
|
||||
orig_tarball = Path(argv[0])
|
||||
assert orig_tarball.is_file()
|
||||
assert orig_tarball.match("*.tar.gz")
|
||||
tarbase = orig_tarball.name[: -len(".tar.gz")]
|
||||
filtered_tarball = orig_tarball.parent / f"{tarbase}-filtered.tar.xz"
|
||||
assert not filtered_tarball.exists()
|
||||
|
||||
license_map = load_license_map(Path(__file__).parent / "file-licensing")
|
||||
|
||||
try:
|
||||
with tarfile.open(orig_tarball) as orig_tarfile, tarfile.open(
|
||||
filtered_tarball, "w:xz"
|
||||
) as filtered_tarfile:
|
||||
run_filter(orig_tarfile, filtered_tarfile, tarbase, license_map)
|
||||
add_readme_file(filtered_tarfile, tarbase)
|
||||
except BaseException as err:
|
||||
print("Removing incomplete tarball file:", filtered_tarball)
|
||||
filtered_tarball.unlink(missing_ok=True)
|
||||
raise err
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (avrdude-7.3-filtered.tar.xz) = b75cb77ea05b82441794c6e9c0f33e921db580b6993c578e1e27c9191bb0adea7967b004c48600e40283f38d84eb3a35447ed3a13b31de2970091ee3844f9cdc
|
||||
SHA512 (avrdude-8.0.tar.gz) = c6fa365924aa8ad58a1b2f85c36ecc498c9b049b9bce455994752b8b13c06aa31ac6c8420eea4be307f42e64284c87ec08f75d6eaec640de7dc097c523d02dac
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue