diff --git a/.gitignore b/.gitignore index 551fdce..c1a74c9 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,8 @@ /*.src.rpm /x86_64/ /avrdude-6.4.tar.gz +/avrdude-7.*/ +/avrdude-7.*.tar.gz +/avrdude-7.*-filtered.tar.xz +/avrdude-8.0/ +/avrdude-8.0.tar.gz diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 0000000..912296c --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,31 @@ +name = avrdude +version = 8.0 + +RELEASES = +RELEASES += f42 +RELEASES += f41 +RELEASES += f40 +RELEASES += f39 +RELEASES += el9 +RELEASES += el8 + +MOCK_OPTS = +# MOCK_OPTS += --without docs + +.PHONY: all +all: $(name)-rpm.stamp + git grep -Ei '([F]IXME|[T]ODO|[X]XX)' ||: + +$(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).tar.gz: + curl -L -o $@ https://github.com/avrdudes/$(name)/archive/refs/tags/v$(version).tar.gz + sha512sum --tag $@ > sources + +# End of file. diff --git a/README.fedora b/README.fedora index 1d2fd17..5961130 100644 --- a/README.fedora +++ b/README.fedora @@ -11,7 +11,7 @@ When you run `avrdude`, the avrdude process must be allowed to access the device special file somewhere in `/dev/` which corresponds to the programmer to be used. -`avrdude` support many different programmer types (run `avrdude -c +`avrdude` supports many different programmer types (run `avrdude -c list` to see a list of them). Many of these programmer types are USB devices which appear as a @@ -30,18 +30,18 @@ AT-command devices (device file name `/dev/ttyACM`). While it is technically possible to make all `/dev/ttyUSB` and/or `/dev/ttyACM` devices writable for whichever Linux user happens to be the local user, some of those devices can be devices for which it -is better if they are not being writable by anyone. +is better if they are not writable by just anyone. -Therefore, the avrdude Fedora does *not* make all `/dev/ttyUSB` -and/or `/dev/ttyACM` writable for the local user just by install -the package. +Therefore, the avrdude Fedora package does *not* make all +`/dev/ttyUSB` and/or `/dev/ttyACM` writable for the local user +just by installing the package. If you *do* want to make these devices writable for any local user, you can configure your system yourself by dropping a udev rules file into `/etc/udev/rules.d/`. But while you are at it, you can as well -examine your programmer close (`lsusb` and `lsusb -v` can be helpful -here) and narrow down the udev rule matching to match only your -programmer, not each and every `ttyUSB` or `ttyACM` device. +examine your programmer more closely (`lsusb` and `lsusb -v` can be +helpful here) and narrow down the udev rule matching to match only +your programmer, not each and every `ttyUSB` or `ttyACM` device. ``` /etc/udev/rules.d/99-my-avrdude-programmers.rules ACTION!="add|change", GOTO="my_avrdude_programmers_end" @@ -61,10 +61,15 @@ SUBSYSTEM=="usb", DRIVERS=="cdc_acm", TAG+="uaccess" LABEL="my_avrdude_programmers_end" ``` -Unfortunately, the existing avrdude Fedora package udev rules do not -support setting up permissions for non-local users, like e.g. users -logged in via ssh. If you need such a setup, you will need also to -write your own udev rules file for `/etc/udev/rules.d/`, and set -`OWNER=`, `GROUP=`, `MODE=`, or change the device ACL with something -like `RUN+="/usr/bin/setfacl -m g:avrdude-programmers:rw -'$env{DEVNAME}'"`. + +Non-local users +--------------- + +At this time, the avrdude Fedora package udev rules do not support +setting up permissions for non-local users, like e.g. users logged in +via ssh. + +If you need such a setup, you will need also to write your own udev +rules file for `/etc/udev/rules.d/`, and set `OWNER=`, `GROUP=`, +`MODE=`, or change the device ACL with something like +`RUN+="/usr/bin/setfacl -m g:avrdude-programmers:rw '$env{DEVNAME}'"`. diff --git a/avrdude-6.1_includes.patch b/avrdude-6.1_includes.patch deleted file mode 100644 index 5fc8904..0000000 --- a/avrdude-6.1_includes.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -p -up ./configure.org ./configure ---- ./configure.org 2014-06-04 21:00:03.027735142 +0200 -+++ ./configure 2014-06-04 21:04:46.428267513 +0200 -@@ -5650,7 +5650,8 @@ fi - LIBPTHREAD=$LIBPTHREAD - - # Checks for header files. --for ac_header in limits.h stdlib.h string.h -+for ac_header in limits.h stdlib.h string.h inttypes.h stdint.h memory.h \ -+ strings.h sys/stat.h sys_time.h sys_types.h termios.h - do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` - ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" diff --git a/avrdude-6.4-fix-file-locations-in-docs.patch b/avrdude-6.4-fix-file-locations-in-docs.patch deleted file mode 100644 index 14517af..0000000 --- a/avrdude-6.4-fix-file-locations-in-docs.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -ruN avrdude-6.4/doc/avrdude.texi avrdude-6.4-file-locations/doc/avrdude.texi ---- avrdude-6.4/doc/avrdude.texi 2021-11-29 21:54:35.000000000 +0100 -+++ avrdude-6.4-file-locations/doc/avrdude.texi 2022-04-20 05:07:45.669524302 +0200 -@@ -443,7 +443,8 @@ - contains all programmer and part definitions that AVRDUDE knows about. - If not - specified, AVRDUDE reads the configuration file from --/usr/local/etc/avrdude.conf (FreeBSD and Linux). See Appendix A for -+/etc/avrdude/avrdude.conf (Fedora) or -+/usr/local/etc/avrdude.conf (FreeBSD and generic Linux). See Appendix A for - the method of searching for the configuration file for Windows. - - If @var{config-file} is written as @var{+filename} -@@ -1428,7 +1429,8 @@ - programmer work with AVRDUDE. - - AVRDUDE first looks for a system wide configuration file in a platform --dependent location. On Unix, this is usually -+dependent location. On Fedora, this is -+@code{/etc/avrdude/avrdude.conf}. On Unix, it is usually - @code{/usr/local/etc/avrdude.conf}, while on Windows it is usually in the - same location as the executable file. The name of this file can be - changed using the @option{-C} command line option. After the system wide diff --git a/avrdude.spec b/avrdude.spec index 78c6e1e..58d5948 100644 --- a/avrdude.spec +++ b/avrdude.spec @@ -1,36 +1,65 @@ -%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: 6.4 -Release: 3%{?dist} +Version: 8.0 +Release: 8%{?dist} Summary: Software for programming Atmel AVR Microcontroller -License: GPLv2+ -URL: https://www.nongnu.org/avrdude -Source0: https://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.tar.gz -Source1: https://salsa.debian.org/debian/avrdude/-/raw/master/debian/avrdude.udev -Source2: README.fedora -# From: https://savannah.nongnu.org/bugs/?42517 -Patch0: avrdude-6.1_includes.patch -# Stop granting blanket access to all /dev/tty{ACM,USB}* devices -Patch1: avrdude-udev-no-blanket-access.patch -# Mention proper doc and config file locations in texinfo documentation -Patch2: avrdude-6.4-fix-file-locations-in-docs.patch +License: GPL-2.0-or-later AND GPL-3.0-only AND (WTFPL OR MIT) +URL: https://github.com/avrdudes/avrdude +# 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 + +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 +Source1: avrdude.udev + +# Remarks on the Fedora package for the users +Source2: README.fedora + +# Quick fix elf2tag man page +Source5: elf2tag.1 + +# Stop granting blanket access to all /dev/tty{ACM,USB}* devices +Patch: avrdude-udev-no-blanket-access.patch + +BuildRequires: cmake BuildRequires: gcc BuildRequires: flex BuildRequires: bison BuildRequires: elfutils-libelf-devel BuildRequires: hidapi-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 +%endif BuildRequires: readline-devel BuildRequires: ncurses-devel BuildRequires: libftdi-devel -BuildRequires: pkgconfig(libusb) BuildRequires: pkgconfig(libusb-1.0) +%if %{with docs} BuildRequires: texi2html +BuildRequires: texinfo BuildRequires: texinfo-tex -BuildRequires: tetex-dvips +%endif BuildRequires: make # https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets @@ -49,60 +78,167 @@ particular chip. %prep -%setup -q +%setup -q -n %{name}-%{version} cp -p %{SOURCE1} avrdude.udev -%patch0 -p0 -b .patch0 -%patch1 -p1 -b .patch1 -%patch2 -p1 -b .patch2 - -sed -i 's|${PREFIX}/etc/avrdude\.conf|/etc/avrdude/avrdude.conf|g' avrdude.1 -sed -i 's|${PREFIX}/share/doc/avrdude/avrdude\.pdf|%{_pkgdocdir}/avrdude.pdf|g' avrdude.1 - -iconv -f ISO88591 -t UTF8 < ChangeLog-2003 > ChangeLog-2003~ -mv ChangeLog-2003~ ChangeLog-2003 -iconv -f ISO88591 -t UTF8 < NEWS > NEWS~ -mv NEWS~ NEWS +%autopatch -v -p1 +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 -%configure --disable-silent-rules --enable-doc --enable-linuxgpio --enable-linuxspi --enable-parport --sysconfdir=%{_sysconfdir}/%{name} -%make_build +%cmake \ + -D CMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ + -D CMAKE_BUILD_TYPE=build_type=RelWithDebInfo \ +%if %{with docs} + -D BUILD_DOC:BOOL=ON \ +%else + -D BUILD_DOC:BOOL=OFF \ +%endif + -D HAVE_LINUXSPI:BOOL=ON \ + -D HAVE_LINUXGPIO:BOOL=ON \ + -D HAVE_PARPORT:BOOL=ON \ + -D FETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON \ + -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 -%make_install DOC_INST_DIR="$RPM_BUILD_ROOT%{_pkgdocdir}" -rm -f $RPM_BUILD_ROOT%{_includedir}/libavrdude.h +%cmake_install + 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.la -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 -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 -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1 +install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/elf2tag.1 + + +%check +%ctest %files -%doc README AUTHORS ChangeLog* COPYING NEWS doc/TODO +%license COPYING +%doc %{_pkgdocdir}/AUTHORS +%doc %{_pkgdocdir}/NEWS +%doc %{_pkgdocdir}/README.md %doc %{_pkgdocdir}/README.fedora +%if %{with docs} %doc %{_pkgdocdir}/avrdude-html/ %doc %{_pkgdocdir}/avrdude.pdf -%doc %{_pkgdocdir}/avrdude.ps -%config(noreplace) %{_sysconfdir}/%{name} -%{_udevrulesdir}/%{udev_rules} -%{_bindir}/%{name} -%{_mandir}/man1/%{name}.1.gz -%{_infodir}/%{name}.info.* +%endif +%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}/avrdude.info* +%endif %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 8.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Jul 23 2025 Fedora Release Engineering - 8.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 8.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Sep 1 2024 Hans Ulrich Niedermann - 8.0-5 +- ExcludeArch: s390x (#2308947) +- Add elf2tag.1 man page + +* Fri Aug 30 2024 Hans Ulrich Niedermann - 8.0-4 +- Actually ship static copy of udev rules as s390x workaround + +* Fri Aug 30 2024 Hans Ulrich Niedermann - 8.0-3 +- Ship static copy of udev rules as s390x workaround + +* Thu Aug 29 2024 Hans Ulrich Niedermann - 8.0-2 +- Rebuilt for forgotten new-sources + +* Sun Aug 25 2024 Hans Ulrich Niedermann - 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 - 7.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Feb 7 2024 Hans Ulrich Niedermann - 7.3-1 +- Update to avrdude-7.3 release +- Enable linuxgpio (without libgpiod, though) + +* Mon Jan 22 2024 Fedora Release Engineering - 7.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Hans Ulrich Niedermann - 7.2-1 +- Updated to upstream avrdude-7.2 release from github.com (rhbz#2251649) +- Filter upstream release tarball to remove pdf docs due to licensing +- Migrated to SPDX license +- Switched to cmake build system +- Fixed upstream cmake detection of libreadline.so +- Switched to upstream's new URL (github instead of nongnu.org) +- Stop shipping PS doc format in favour of just avrdude.pdf +- Keep avrdude.conf at the old Fedora location /etc/avrdude/ for now + +* Fri Jan 19 2024 Fedora Release Engineering - 6.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 6.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 18 2023 Fedora Release Engineering - 6.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 6.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Apr 20 2022 Hans Ulrich Niedermann - 6.4-3 - Add README.fedora explaining USB device permission setup * Wed Apr 20 2022 Hans Ulrich Niedermann - 6.4-2 -- Install built documentation directly to %{_pkgdocdir} +- Install built documentation directly to %%{_pkgdocdir} - Fix file locations in man page, texinfo docs - Upstream already has fixed these files' x bits - Disable silent rules to help with build problems diff --git a/avrdude.udev b/avrdude.udev index 012395f..3b92d18 100644 --- a/avrdude.udev +++ b/avrdude.udev @@ -28,6 +28,20 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2141", TAG+="uaccess SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2144", TAG+="uaccess" # Xplained Mini board SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2145", TAG+="uaccess" +# Curiosity Nano (pkobn) +SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2175", TAG+="uaccess" +# MPLAB PICkit4 AVR mode +SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2177", TAG+="uaccess" +# MPLAB PICkit4 AVR mode alt 1 +SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2178", TAG+="uaccess" +# MPLAB PICkit4 AVR mode alt 2 +SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2179", TAG+="uaccess" +# MPLAB Snap AVR mode +SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2180", TAG+="uaccess" +# MPLAB Snap AVR mode alt 1 +SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="217f", TAG+="uaccess" +# MPLAB Snap AVR mode alt 2 +SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2181", TAG+="uaccess" # ATxmega64C3 DFU SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fd6", TAG+="uaccess" # ATxmega128C3 DFU @@ -94,13 +108,35 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffd", TAG+="uaccess SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fff", TAG+="uaccess" # PICkit2 SUBSYSTEM=="usb", ATTR{idVendor}=="04d8", ATTR{idProduct}=="0033", TAG+="uaccess" +# MPLAB PICkit4 PIC mode +SUBSYSTEM=="usb", ATTR{idVendor}=="04d8", ATTR{idProduct}=="9012", TAG+="uaccess" +# MPLAB PICkit4 PIC mode alt +SUBSYSTEM=="usb", ATTR{idVendor}=="04d8", ATTR{idProduct}=="9017", TAG+="uaccess" +# MPLAB Snap PIC mode +SUBSYSTEM=="usb", ATTR{idVendor}=="04d8", ATTR{idProduct}=="9018", TAG+="uaccess" +# MPLAB Snap PIC mode alt +SUBSYSTEM=="usb", ATTR{idVendor}=="04d8", ATTR{idProduct}=="9019", TAG+="uaccess" # USBasp SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", TAG+="uaccess" +# USBasp (old unofficial) +SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="c7b4", TAG+="uaccess" +# Teensy +SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="0478", TAG+="uaccess" # NIBObee SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="092f", TAG+="uaccess" +# Micronucleus +SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="0753", TAG+="uaccess" # eHaJo SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="0ba5", TAG+="uaccess" # USBtinyISP SUBSYSTEM=="usb", ATTR{idVendor}=="1781", ATTR{idProduct}=="0c9f", TAG+="uaccess" +# ISE CKT +SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="6570", TAG+="uaccess" +# Arduino Gemma +SUBSYSTEM=="usb", ATTR{idVendor}=="2341", ATTR{idProduct}=="0c9f", TAG+="uaccess" +# Arduino ISP +SUBSYSTEM=="usb", ATTR{idVendor}=="2341", ATTR{idProduct}=="0049", TAG+="uaccess" +# Arduino ISP org +SUBSYSTEM=="usb", ATTR{idVendor}=="2a03", ATTR{idProduct}=="0049", TAG+="uaccess" LABEL="avrdude_end" diff --git a/elf2tag.1 b/elf2tag.1 new file mode 100644 index 0000000..765c364 --- /dev/null +++ b/elf2tag.1 @@ -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 +.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 \ No newline at end of file diff --git a/sources b/sources index 8fd5dbf..f92914d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (avrdude-6.4.tar.gz) = ce6127c212a83c5079d3bd80a7a0127220f9652201595a24b991916556eb8fc69d2910f7e112d7025a5aeec8d341e72293467ac1dc1a62be1f391dd9408f9a06 +SHA512 (avrdude-8.0.tar.gz) = c6fa365924aa8ad58a1b2f85c36ecc498c9b049b9bce455994752b8b13c06aa31ac6c8420eea4be307f42e64284c87ec08f75d6eaec640de7dc097c523d02dac