Compare commits

...
Sign in to create a new pull request.

66 commits

Author SHA1 Message Date
Fedora Release Engineering
e9e636381d Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 04:12:13 +00:00
Fedora Release Engineering
a5783c89b8 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 17:30:06 +00:00
Fedora Release Engineering
1a5070245e Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 12:05:09 +00:00
Hans Ulrich Niedermann
76c4791419 Add elf2tag.1 man page
Add elf2tag.1 man page from upstream draft PR
https://github.com/avrdudes/avrdude/pull/1916
2024-09-02 00:10:58 +02:00
Hans Ulrich Niedermann
0b37529224 ExcludeArch: s390x (#2308947 avrdude is little endian only) 2024-09-02 00:00:22 +02:00
Hans Ulrich Niedermann
89ebb3a085 Actually ship static copy of udev rules as s390x workaround 2024-08-30 17:16:27 +02:00
Hans Ulrich Niedermann
3554e3d06a Ship static copy of udev rules as s390x workaround 2024-08-30 16:59:44 +02:00
Hans Ulrich Niedermann
790041b70e Rebuild for forgotten new-sources 2024-08-30 01:43:40 +02:00
Hans Ulrich Niedermann
b7dee42ccf Add new set of autogenerated udev rules 2024-08-30 00:52:16 +02:00
Hans Ulrich Niedermann
fdde2b4462 Autopatch does not need numbered Patch lines 2024-08-30 00:52:01 +02:00
Hans Ulrich Niedermann
19eb383adb Align install dirs for better overview 2024-08-30 00:52:01 +02:00
Hans Ulrich Niedermann
637888765f Disable building the SWIG based Python bindings 2024-08-30 00:51:58 +02:00
Hans Ulrich Niedermann
68a013db80 Continue not shipping libavrdude library due to unstable API/ABI 2024-08-30 00:50:29 +02:00
Hans Ulrich Niedermann
388ea26675 Stop removing non-existent files
Stop removing non-existent files which are not built any more.
2024-08-30 00:50:29 +02:00
Hans Ulrich Niedermann
6489176e7d Add _deps check ensuring no downloads happened
We try to disable upstream's downloading of extra source code, but if
that ever fails, this makes sure nothing has been downloaded.
2024-08-30 00:22:02 +02:00
Hans Ulrich Niedermann
2498696fba Use upstream location for config file 2024-08-30 00:22:02 +02:00
Hans Ulrich Niedermann
8a9cc26128 Ship elf2tag script 2024-08-30 00:22:02 +02:00
Hans Ulrich Niedermann
883b13cda6 Build with libgpiod-devel 2024-08-30 00:21:52 +02:00
Hans Ulrich Niedermann
c9e07df91f Build without old pre-1.0 libusb 2024-08-30 00:19:07 +02:00
Hans Ulrich Niedermann
5a2c1418f9 Enable libserialport support 2024-08-30 00:16:01 +02:00
Hans Ulrich Niedermann
9e58564385 Directly use upstream tarball 2024-08-30 00:16:01 +02:00
Hans Ulrich Niedermann
9040cce8b5 Update to avrdude-8.0 release 2024-08-30 00:16:01 +02:00
Hans Ulrich Niedermann
90f812df00 more readable make recipe 2024-08-28 20:11:19 +02:00
Hans Ulrich Niedermann
9ffa610d37 limit python script line length to 79 2024-08-28 20:08:56 +02:00
Fedora Release Engineering
4d2cb8e1bb Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 17:55:33 +00:00
Hans Ulrich Niedermann
931a994b14 Update to avrdude-7.3 release 2024-02-07 19:04:03 +01:00
Fedora Release Engineering
931d7d7973 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 23:58:43 +00:00
Hans Ulrich Niedermann
d6a1e39949 Update to avrdude-7.2 release 2024-01-19 15:58:24 +01:00
Fedora Release Engineering
a088ec439d Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 14:01:20 +00:00
Hans Ulrich Niedermann
1bf5f122d8 Revert "udev: Stop making writable all ttyACM* and ttyUSB* devices"
This reverts commit f5dd1c3d3f.

I got a little confused about the patch doing that same job.
2024-01-18 13:46:26 +01:00
Hans Ulrich Niedermann
db4e9d076f spec: Match man/info page regardless of compression type
Have %files section match the man and info page files regardless
of compression type or exact section number.
2024-01-18 13:41:35 +01:00
Hans Ulrich Niedermann
c3c4799450 spec: Use double percent inside %changelog 2024-01-18 13:38:01 +01:00
Hans Ulrich Niedermann
5bd9d33b7a README.fedora: Improve readability 2024-01-18 13:36:40 +01:00
Hans Ulrich Niedermann
5f4d299d18 udev rules: Add more programmers from Debian avrdude.udev
A longer term solution will be to have a program parse the
/usr/etc/avrdude.conf file to determine a list of all
programmers devices and have a program write a udev rules
file from that information.
2024-01-18 13:35:50 +01:00
Hans Ulrich Niedermann
f5dd1c3d3f udev: Stop making writable all ttyACM* and ttyUSB* devices
Commit 775de87f66 made all ttyACM*
and ttyUSB* writable by the local user by just copying Debian's
avrdude.udev file.

This reverts that part of the commit.
2024-01-18 13:24:45 +01:00
Fedora Release Engineering
4e5d2cc13d Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 14:14:16 +00:00
Fedora Release Engineering
091645923b Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 22:32:54 +00:00
Fedora Release Engineering
6afaf13f93 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 21:38:52 +00:00
Hans Ulrich Niedermann
21248622d7 avrdude-6.4-3: Explain USB device permission setup
- Add README.fedora explaining USB device permission setup
2022-04-21 10:41:59 +02:00
Hans Ulrich Niedermann
ce496de81b avrdude-6.4-2
- 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
- Stop granting user access to ALL /dev/tty{ACM,USB}* devices
- Enable parallel port support
- Update BuildReqs for libusb* to use pkgconfig(...)
- Update URLS from http: to https: in spec file
- Fix date of 6.4-1 changelog entry

This means this rpm now builds for f37(rawhide), f36, f35, f34.

It does NOT build for epel9 or epel8 due to them missing
libhid-devel and hidapi-devel, and it does NOT build for
epel7 due to epel7 requiring install-info scriptlets which
this avrdude.spec file does not contain.
2022-04-20 21:03:47 +02:00
Hans Ulrich Niedermann
a76fecb238 Install built documentation directly to %{_pkgdocdir}
If avrdude were using the standard GNU makefile variables, we
could just set docdir=%{_pkgdocdir} at configure time.

However, avrdude does not use the standard docdir variable,
preferring its own DOC_INST_DIR influenced by the configure
arguments --enable-versioned-doc and --disable-versioned-doc
instead.

We avoid the issue of determining which configure argument
to use by setting DOC_INST_DIR at "make install" time to use
whatever %{_pkgdocdir} is on this distribution.
2022-04-20 21:03:47 +02:00
Hans Ulrich Niedermann
7d510dd1c9 Fix file locations in man page, texinfo docs
While this is an improvement for Fedora, it is not complete.

However, completing the task of fixing all the file locations
in the documentation needs to happen upstream, not in the Fedora
package. So this is a far as we go.
2022-04-20 21:03:47 +02:00
Hans Ulrich Niedermann
7efdbccb55 Upstream already has fixed these files' x bits 2022-04-20 21:03:47 +02:00
Hans Ulrich Niedermann
b47bcb6a35 Disable silent rules to help with build problems
Disable silent rules to help with potential (current
or future) build problems.
2022-04-20 21:03:47 +02:00
Hans Ulrich Niedermann
229e4ce6a0 Stop granting user access to ALL /dev/tty{ACM,USB}* devices
Remove blanket console user (TAG+="uaccess") access to *all*
/dev/tty{ACM,USB}* devices.

Those devices can be a lot else but AVR programmers, so it
is not the avrdude package's place to indiscriminately grant
local users blanket access to *all* of those devices.
2022-04-20 21:03:27 +02:00
Hans Ulrich Niedermann
49e92c60b2 Enable parallel port support
Enabling parallel port support does not hurt anyone, but
may help someone. So why not just enable it?
2022-04-20 19:51:05 +02:00
Hans Ulrich Niedermann
43e07128af Update BuildReqs for libusb* to use pkgconfig(...)
Using pkgconfig(libusb) and pkgconfig(libusb-1.0) does not care
which exact package provides the libusb.pc and libusb-1.0.pc files,
respectively.

Therefore the notation works for f37(rawhide), f36, f35, f34, while
the old libusb-devel and libusbx-devel were only working up to f36
and fail on f37(rawhide).
2022-04-20 19:23:02 +02:00
Hans Ulrich Niedermann
7de3218616 Update URLS from http: to https: in spec file 2022-04-20 19:10:35 +02:00
Hans Ulrich Niedermann
15654fcecd Fix date of 6.4-1 changelog entry
The changelog entries should be chronologically, and while the
6.4-1 entry's date is the same as the git author date 2021-12-25,
it is earlier than the earlier changelog entry for 6.3-22, and
the actual git commit date for 6.4-1 is the chronologically correct
 2022-02-04.

As changing the 6.4-1 date to the chronologically ordered commit
date 022-02-04 makes more sense for a public changelog unaffected
by private git author dates, change the date to 2022-02-04.
2022-04-20 19:07:11 +02:00
Dan Horák
775de87f66 - update to 6.4
- switch to Debian udev rules
- enable Linux SPI driver
2022-02-04 18:41:28 +01:00
Fedora Release Engineering
a529136e6c - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 22:01:23 +00:00
Fedora Release Engineering
ac944bb88a - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 18:17:44 +00:00
Fedora Release Engineering
3900d4af4f - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 13:21:31 +00:00
Fedora Release Engineering
40e116578a - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 00:50:15 +00:00
Tom Stellard
0d82380c6d Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2020-12-17 02:38:53 +00:00
Fedora Release Engineering
9cdef535f1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 12:48:02 +00:00
Fedora Release Engineering
10d5dfd17a - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 12:34:47 +00:00
Fedora Release Engineering
45a8a64a29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-24 18:54:38 +00:00
Björn Esser
bf1e4ed9a6
Remove hardcoded gzip suffix from GNU info pages 2019-04-24 14:56:29 +02:00
Igor Gnatenko
d80e5b77d4 Rebuild for readline 8.0 2019-02-17 09:30:49 +01:00
Fedora Release Engineering
d0f4bb9892 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 14:16:59 +00:00
Igor Gnatenko
fb61b3182e Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:41:43 +01:00
Hans Ulrich Niedermann
9c0e7bade4 Adapt check for obsolete scriptlets being obsolete
Fedora >= f28 and EPEL >= el8 both support the scriptlet-less
packages, so we adapt the logic and the message to reflect that.
2019-01-28 20:28:05 +01:00
Hans Ulrich Niedermann
8661d4f77a gitignore: ignore build artifacts 2019-01-27 17:58:01 +01:00
Hans Ulrich Niedermann
7592c91152 Do not accidentally build this spec for F < 30
After https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
this spec file lacks the install-info scriptlets required for older
distributions than Fedora 30.

This makes sure the build fails if you ever tried to build this
scriptlet-less F30-and-later spec file for older distributions such
as F28 or EL7 or ...

A failed build is better than silently not properly installing the
rpm package.
2019-01-27 17:57:37 +01:00
Igor Gnatenko
c8e42e243a
Remove obsolete scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-27 15:24:57 +01:00
10 changed files with 582 additions and 79 deletions

10
.gitignore vendored
View file

@ -4,3 +4,13 @@
/avrdude-6.0.1.tar.gz
/avrdude-6.1.tar.gz
/avrdude-6.3.tar.gz
/avrdude-6.*/
/.build-*.log
/*.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

31
GNUmakefile Normal file
View file

@ -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.

75
README.fedora Normal file
View file

@ -0,0 +1,75 @@
On the avrdude Fedora package
=============================
This file contains remarks for users of the avrdude Fedora package.
Programmer Device Permission Setup
==================================
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` 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
device `/dev/bus/usb/<NNN>/<MMM>` with `<NNN>` and `<MMM>` being 3
digit decimal numbers padded with `0`. Those devices can be easily
matched in a udev rule looking for the USB idVendor and idProduct, and
be made writable for the local user (`TAG+="uaccess"`).
See `/usr/lib/udev/rules.d/70-avrdude_usbprog.rules` for how that
works.
Unfortunately, some programmers present as generic USB to serial
converters (device file name `/dev/ttyUSB<N>`) or as generic USB
AT-command devices (device file name `/dev/ttyACM<N>`).
While it is technically possible to make all `/dev/ttyUSB<N>` and/or
`/dev/ttyACM<N>` 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 writable by just anyone.
Therefore, the avrdude Fedora package does *not* make all
`/dev/ttyUSB<N>` and/or `/dev/ttyACM<N>` 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 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<N>` or `ttyACM<N>` device.
``` /etc/udev/rules.d/99-my-avrdude-programmers.rules
ACTION!="add|change", GOTO="my_avrdude_programmers_end"
# Recommended: /dev/ttyUSB<N> devices matching specific idVendor/idProduct tuple
SUBSYSTEM=="usb-serial", ATTR{idVendor}=="0123", ATTR{idProduct}=="4567", TAG+="uaccess"
# Recommended: /dev/ttyACM<N> devices matching specific idVendor/idProduct tuple
SUBSYSTEM=="usb", DRIVERS=="cdc_acm", ATTR{idVendor}=="0123", ATTR{idProduct}=="4567", TAG+="uaccess"
# Discouraged: *ALL* /dev/ttyUSB<N> devices
SUBSYSTEM=="usb-serial", TAG+="uaccess"
# Discouraged: *ALL* /dev/ttyACM<N> devices
SUBSYSTEM=="usb", DRIVERS=="cdc_acm", TAG+="uaccess"
LABEL="my_avrdude_programmers_end"
```
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}'"`.

View file

@ -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"

View file

@ -0,0 +1,21 @@
--- debian/avrdude.udev 2022-04-20 01:55:35.767101948 +0200
+++ fedora/avrdude.udev 2022-04-20 01:59:38.828449388 +0200
@@ -1,10 +1,13 @@
ACTION!="add|change", GOTO="avrdude_end"
-# /dev/ttyUSB
-SUBSYSTEMS=="usb-serial", TAG+="uaccess"
-
-# /dev/ttyACM
-SUBSYSTEMS=="usb", DRIVERS=="cdc_acm", TAG+="uaccess"
+# The avrdude package is not supposed to grant blanket access to any
+# and all /dev/ttyACM* and /dev/ttyUSB* devices for the console user.
+#
+# # /dev/ttyUSB
+# SUBSYSTEMS=="usb-serial", TAG+="uaccess"
+#
+# # /dev/ttyACM
+# SUBSYSTEMS=="usb", DRIVERS=="cdc_acm", TAG+="uaccess"
SUBSYSTEM!="usb", GOTO="avrdude_end"

View file

@ -1,17 +0,0 @@
# Atmel AVR ISP mkII
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2103", TAG+="uaccess"
# Atmel Corp. JTAG ICE mkII
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2104", TAG+="uaccess"
# Atmel Corp. JTAGICE3
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2110", TAG+="uaccess"
# usbprog bootloader
ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c62", TAG+="uaccess"
# USBasp programmer
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", TAG+="uaccess"
# USBtiny programmer
ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", TAG+="uaccess"

View file

@ -1,34 +1,72 @@
%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.3
Release: 13%{?dist}
Version: 8.0
Release: 8%{?dist}
Summary: Software for programming Atmel AVR Microcontroller
Group: Applications/Engineering
License: GPLv2+
URL: http://www.nongnu.org/avrdude
Source0: http://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.tar.gz
Source1: avrdude-udev-rules
# From: http://savannah.nongnu.org/bugs/?42517
Patch0: avrdude-6.1_includes.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: libusb-devel
BuildRequires: libusbx-devel
BuildRequires: pkgconfig(libusb-1.0)
%if %{with docs}
BuildRequires: texi2html
BuildRequires: texinfo
BuildRequires: texinfo-tex
BuildRequires: tetex-dvips
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%endif
BuildRequires: make
# https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
%if !((0%{?fedora} >= 28) || (0%{?rhel} >= 8))
%{error:No install-info scriptlets for Fedora prior to F28 or EL prior to EL8.}
%endif
%description
AVRDUDE is a program for programming Atmel's AVR CPU's. It can program the
@ -40,55 +78,208 @@ particular chip.
%prep
%setup -q
%patch0 -p0
chmod -x safemode.c doc/TODO
sed -i 's|/usr/local/etc/avrdude.conf|/etc/avrdude/avrdude.conf|g' doc/avrdude.texi avrdude.1
sed -i 's|/etc/avrdude.conf|/etc/avrdude/avrdude.conf|g' doc/avrdude.texi 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
%setup -q -n %{name}-%{version}
cp -p %{SOURCE1} avrdude.udev
%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 --enable-doc --enable-linuxgpio --sysconfdir=%{_sysconfdir}/%{name}
make
%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
mv $RPM_BUILD_ROOT/%{_docdir}/%{name}-%{version} installed-docs
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 %{SOURCE1} $RPM_BUILD_ROOT%{_udevrulesdir}/%{udev_rules}
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
%post
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :
%preun
if [ $1 = 0 ]; then
/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
fi
%check
%ctest
%files
%doc README AUTHORS ChangeLog* COPYING NEWS doc/TODO installed-docs/*
%config(noreplace) %{_sysconfdir}/%{name}
%{_udevrulesdir}/%{udev_rules}
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1.gz
%{_infodir}/%{name}.info.gz
%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
%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 <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)
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 7.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Hans Ulrich Niedermann <hun@n-dimensional.de> - 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 <releng@fedoraproject.org> - 6.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Apr 20 2022 Hans Ulrich Niedermann <hun@n-dimensional.de> - 6.4-3
- Add README.fedora explaining USB device permission setup
* Wed Apr 20 2022 Hans Ulrich Niedermann <hun@n-dimensional.de> - 6.4-2
- 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
- Stop granting user access to ALL /dev/tty{ACM,USB}* devices
- Enable parallel port support
- Update BuildReqs for libusb* to use pkgconfig(...)
- Update URLS from http: to https: in spec file
- Fix date of 6.4-1 changelog entry
* Fri Feb 04 2022 Dan Horák <dan[at]danny.cz> - 6.4-1
- update to 6.4
- switch to Debian udev rules
- enable Linux SPI driver
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.3-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.3-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.3-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.3-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.3-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.3-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Apr 24 2019 Björn Esser <besser82@fedoraproject.org> - 6.3-16
- Remove hardcoded gzip suffix from GNU info pages
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6.3-15
- Rebuild for readline 8.0
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.3-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.3-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

142
avrdude.udev Normal file
View file

@ -0,0 +1,142 @@
ACTION!="add|change", GOTO="avrdude_end"
# /dev/ttyUSB
SUBSYSTEMS=="usb-serial", TAG+="uaccess"
# /dev/ttyACM
SUBSYSTEMS=="usb", DRIVERS=="cdc_acm", TAG+="uaccess"
SUBSYSTEM!="usb", GOTO="avrdude_end"
# JTAG ICE mkII
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", TAG+="uaccess"
# AVR ISP mkII
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", TAG+="uaccess"
# STK600
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2106", TAG+="uaccess"
# AVR Dragon
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", TAG+="uaccess"
# AVR JTAGICE3
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2110", TAG+="uaccess"
# Xplained Pro board
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2111", TAG+="uaccess"
# AVR JTAGICE3 (v3.x)
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2140", TAG+="uaccess"
# Atmel-ICE
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2141", TAG+="uaccess"
# Atmel Power Debugger
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
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fd7", TAG+="uaccess"
# ATxmega256C3 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fda", TAG+="uaccess"
# ATxmega384C3 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fdb", TAG+="uaccess"
# ATxmega128A4U DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fde", TAG+="uaccess"
# ATxmega64B3 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fdf", TAG+="uaccess"
# ATxmega128B3 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fe0", TAG+="uaccess"
# ATxmega64B1 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fe1", TAG+="uaccess"
# ATxmega256A3BU DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fe2", TAG+="uaccess"
# ATxmega16A4U DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fe3", TAG+="uaccess"
# ATxmega32A4U DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fe4", TAG+="uaccess"
# ATxmega64A4U DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fe5", TAG+="uaccess"
# Cactus V6 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fe6", TAG+="uaccess"
# ATxmega192A3U DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fe7", TAG+="uaccess"
# ATxmega64A1U DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fe8", TAG+="uaccess"
# Cactus RF60 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fea", TAG+="uaccess"
# ATxmega256A3U DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fec", TAG+="uaccess"
# ATxmega128A1U DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fed", TAG+="uaccess"
# atmega8u2 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fee", TAG+="uaccess"
# atmega16u2 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2fef", TAG+="uaccess"
# atmega32u2 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ff0", TAG+="uaccess"
# at32uc3a3 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ff1", TAG+="uaccess"
# atmega16u4 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ff3", TAG+="uaccess"
# atmega32u4 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ff4", TAG+="uaccess"
# at32uc3b0/1 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ff6", TAG+="uaccess"
# at90usb82 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ff7", TAG+="uaccess"
# at32uc3a0/1 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ff8", TAG+="uaccess"
# at90usb646/647 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ff9", TAG+="uaccess"
# at90usb162 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffa", TAG+="uaccess"
# at90usb1286/1287 AVR DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffb", TAG+="uaccess"
# at89c5130/c5131 DFU
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffd", TAG+="uaccess"
# at89c5132/c51snd1c DFU
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"

63
elf2tag.1 Normal file
View 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

View file

@ -1 +1 @@
58bb42049122cf80fe4f4d0ce36d92ee avrdude-6.3.tar.gz
SHA512 (avrdude-8.0.tar.gz) = c6fa365924aa8ad58a1b2f85c36ecc498c9b049b9bce455994752b8b13c06aa31ac6c8420eea4be307f42e64284c87ec08f75d6eaec640de7dc097c523d02dac