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