![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package avrdude for openSUSE:Factory checked in at Fri Aug 27 16:30:48 CEST 2010. -------- --- avrdude/avrdude.changes 2008-09-30 16:07:51.000000000 +0200 +++ /mounts/work_src_done/STABLE/avrdude/avrdude.changes 2010-05-15 17:49:51.000000000 +0200 @@ -1,0 +2,94 @@ +Sat May 15 15:44:09 UTC 2010 - jw@novell.com + +- fixed mkbutterfly target, to test the bootloader response in the loop, + instead of once afterwards. + +------------------------------------------------------------------- +Thu Feb 11 18:18:06 CET 2010 - max@suse.de + +- Remove unused source and patch files. +- Remove special cases for distributions we don't build for. +- Move from /opt/cross to /usr, as this is not a cross compile + tool for which there is a "native" counterpart. +- Use the pre-built pdf from upstream to avoid the latex dependency. +- Add proper info file handling. +- Add udev rules for USB programmers and USB serial adapters, so + that they can be accessed by all users. This is considered safe + as this is a very specialized package that will probably only get + installed on development machines with no untrusted local or + remote users. + +------------------------------------------------------------------- +Fri Jan 22 16:59:10 CET 2010 - jw@suse.de + +- update to avrdude-5.10 + 2010-01-19 Joerg Wunsch <j.gnu@uriah.heep.sax.de> + * configure.ac: Released version 5.10. + 2010-01-19 Joerg Wunsch <j.gnu@uriah.heep.sax.de> + bug #28677: Cygwin's GCC no longer supports -mno-cygwin option + * configure.ac: For Win32 environments, add a check whether the + compiler understands the -mno-cygwin option. If not, don't use + it but suggest using a different compiler. + 2010-01-18 David Hoerl <dhoerl@mac.com> + bug #28660: Problem with loading intel hex rom files that exceed + 0x10000 bytes + * fileio.c: Fix two byte shifts. + 2010-01-15 Joerg Wunsch <j.gnu@uriah.heep.sax.de> + Submitted by Michael biebl: + * configure.ac: Fix FreeBSD default serial port name. + * doc/avrdude.texi: (Dito.) + 2010-01-15 Joerg Wunsch <j.gnu@uriah.heep.sax.de> + * jtagmkII.c: If entering JTAG mode fails with a bad JTAG ID + message, retry with external reset applied (in case the target + is in sleep mode or has asserted the JTD bit). + 2010-01-15 Joerg Wunsch <j.gnu@uriah.heep.sax.de> + Submitted by Aurelien Jarno: + * configure.ac: Fix build for GNU/kFreeBSD. + * ppi.c: (Dito.) + * par.c: (Dito.) + +------------------------------------------------------------------- +Fri Jan 22 16:33:23 CET 2010 - jw@suse.de + +- added /usr/bin/avrdude symlink, + so that /opt/cross/bin is no longer needed in PATH + +------------------------------------------------------------------- +Tue Jan 5 21:46:20 UTC 2010 - jw@novell.com + +- added avrdude_butterfly_mk.patch + mikrokopter.de uses a modified version of butterfly. + This patch creates an avrdude providing bot the unchanged butterfly and + a new mkbutterfly. env BUTTERFLY_MK=1 avrdude -c butterfly is also provided. + Sent upstream as https://savannah.nongnu.org/patch/?7056 + +------------------------------------------------------------------- +Mon Dec 28 19:38:45 CET 2009 - bernhard@bwalle.de + +- Add "texinfo-dvi" to BuildRequires for Fedora/RHEL/CentOS + to fix finally the build because of a missing "texi2dvi". + +------------------------------------------------------------------- +Mon Dec 28 14:12:45 CET 2009 - bernhard@bwalle.de + +- Give /etc/modprobe.d/avrdude_parport the 'conf' extension to make + new versions of module-init-tools happy. +- Add "texinfo" to BuildRequires for Fedora/RHEL/CentOS. + +------------------------------------------------------------------- +Thu Dec 17 00:24:00 UTC 2009 - jw@novell.com + +- readded other half of half-upstreamed avrdude-5.5.usbtiny.64bit.patch +- convertUniToAscii bug, HVPP of EEPROM bug, serious memory corruption + ATmega163 fix, tcsetattr() on Solaris bug, Crash in stk500v2_open, + xmega problems with JTAGICEmkII, New devices: ATXMEGA64A1, ATXMEGA192A1, + ATXMEGA256A1, ATXMEGA64A3, ATXMEGA128A3, ATXMEGA192A3, ATXMEGA256A3, + ATXMEGA256A3B, ATXMEGA16A4, ATXMEGA32A4, ATXMEGA64A4, ATXMEGA128A4 +- bnc#564303 + +------------------------------------------------------------------- +Tue Dec 15 11:42:04 UTC 2009 - jw@novell.com + +- avrdude 5.8 first test + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- avrdude-5.5.tar.bz2 avrdude-use-serial-device-for-serbb udev-parport.rules New: ---- avrdude-5.10.tar.bz2 avrdude_butterfly_mk.patch avrdude-doc-5.10.pdf avrdude-doc-5.10.tar.gz avrdude-udev.rules avrdude-use-serial-device-for-serbb.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ avrdude.spec ++++++ --- /var/tmp/diff_new_pack.9uiGYp/_old 2010-08-27 16:29:16.000000000 +0200 +++ /var/tmp/diff_new_pack.9uiGYp/_new 2010-08-27 16:29:16.000000000 +0200 @@ -1,7 +1,7 @@ # -# spec file for package avrdude (Version 5.5) +# spec file for package avrdude (Version 5.10) # -# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,83 +19,55 @@ Name: avrdude -%if %{?suse_version:1}0 -BuildRequires: bison flex libpng readline-devel -%if %suse_version > 1020 -BuildRequires: texlive texlive-latex -BuildRequires: libusb-devel -%else -BuildRequires: libusb te_ams te_latex -%endif -%else -BuildRequires: libpng mesa-libGL te_latex texi2html -%endif -Version: 5.5 -Release: 111 +BuildRequires: bison flex libusb-devel readline-devel +Version: 5.10 +Release: 1 Url: http://savannah.nongnu.org/projects/avrdude Group: Development/Tools/Other -License: GPL v2 or later +License: GPLv2+ Summary: Upload tool for AVR microcontrollers -Source: %name-%version.tar.bz2 -Source2: modprobe.avrdude_parport -Source3: udev-parport.rules -Patch0: avrdude-use-serial-device-for-serbb +Source0: http://savannah.nongnu.org/download/%name/%name-%version.tar.bz2 +Source1: http://savannah.nongnu.org/download/%name/%name-doc-%version.tar.gz +Source2: http://savannah.nongnu.org/download/%name/%name-doc-%version.pdf +Source3: modprobe.avrdude_parport +Source4: avrdude-udev.rules +Patch0: avrdude-use-serial-device-for-serbb.patch Patch1: avrdude-5.5.usbtiny.64bit.patch +Patch2: avrdude_butterfly_mk.patch AutoReqProv: on Provides: avr-programmer BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: /bin/cat /sbin/modprobe +PreReq: %install_info_prereq %description avrdude is a tool for avr microcontrollers and drives many hardware in-system programmers. avrdude allows you to program your microcontroller through the parallel port of your computer. - - -Authors: --------- - Brian S. Dean <bsd@bdmicro.com> - Joerg Wunsch <j@uriah.heep.sax.de> - Eric Weddington <ericw@evcohs.com> - Jan-Hinnerk Reichert <hinni@despammed.com> - Alex Shepherd <maillists@ajsystems.co.nz> - Martin Thomas <mthomas@rhrk.uni-kl.de> - Theodore A. Roth <troth@openavr.org> - Michael Holzt <kju-avr@fqdn.org> - Colin O'Flynn <coflynn@newae.com> - %prep -%setup +%setup -q -a 1 +cp -a %{S:2} %name.pdf +mv %name-html html %patch0 -p1 %patch1 -p1 +%patch2 -p1 touch lexer.l %build -export CFLAGS="$RPM_OPT_FLAGS" -./configure --prefix=/opt/cross \ - --mandir=/usr/share/man \ -%if %{?suse_version:1}0 - --enable-doc -%else - --enable-doc -%endif +%configure make %install make DESTDIR=$RPM_BUILD_ROOT install -if [ -d $RPM_BUILD_ROOT/opt/cross/share/doc/%name-%version ]; then - mv doc doc.orig - mv $RPM_BUILD_ROOT/opt/cross/share/doc/%name-%version doc - rmdir $RPM_BUILD_ROOT/opt/cross/share/doc - rmdir $RPM_BUILD_ROOT/opt/cross/share -fi -install -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT/etc/modprobe.d/avrdude_parport -install -D -m 644 %{SOURCE3} $RPM_BUILD_ROOT/etc/udev/rules.d/98-parport.rules +make DESTDIR=$RPM_BUILD_ROOT -C doc install-info +install -D -m 644 %{S:3} $RPM_BUILD_ROOT/etc/modprobe.d/avrdude_parport.conf +install -D -m 644 %{S:4} $RPM_BUILD_ROOT/etc/udev/rules.d/98-avrdude.rules +install -d $RPM_BUILD_ROOT/usr/bin %post %if %{?suse_version:1}0 -%if %suse_version >= 1000 +%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz if [ "$1" -eq 1 ]; then # $1==0 is binary uninstall. # $1==1 is binary install. @@ -106,16 +78,19 @@ fi fi %endif -%endif + +%postun +%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz %clean rm -rf $RPM_BUILD_ROOT %files %defattr (-, root, root) -%doc AUTHORS COPYING NEWS README doc -%doc /usr/share/man/man?/*.* -/opt/* +%doc AUTHORS COPYING NEWS README html %name.pdf +%doc %_mandir/*/* +%doc %_infodir/%{name}.info.gz +%_bindir/* %config /etc/* %changelog ++++++ avrdude-5.5.tar.bz2 -> avrdude-5.10.tar.bz2 ++++++ ++++ 40477 lines of diff (skipped) ++++++ avrdude-5.5.usbtiny.64bit.patch ++++++ --- /var/tmp/diff_new_pack.9uiGYp/_old 2010-08-27 16:29:16.000000000 +0200 +++ /var/tmp/diff_new_pack.9uiGYp/_new 2010-08-27 16:29:16.000000000 +0200 @@ -1,6 +1,8 @@ ---- avrdude-5.5/usbtiny.c 2007-10-29 09:40:04.000000000 -0600 -+++ avrdude-5.5.patched/usbtiny.c 2008-01-06 07:13:41.000000000 -0700 -@@ -138,7 +138,7 @@ +Index: avrdude-5.10/usbtiny.c +=================================================================== +--- avrdude-5.10.orig/usbtiny.c ++++ avrdude-5.10/usbtiny.c +@@ -182,7 +182,7 @@ static int usbtiny_avr_op (PROGRAMMER * fprintf( stderr, "Operation %d not defined for this chip!\n", op ); return -1; } @@ -9,27 +11,3 @@ avr_set_bits(p->op[op], cmd); return pgm->cmd(pgm, cmd, res); -@@ -286,19 +286,19 @@ - int nbytes; - - // Make sure its empty so we don't read previous calls if it fails -- memset(res, '\0', sizeof(res) ); -+ memset(res, '\0', 4 ); - - nbytes = usb_in( USBTINY_SPI, - (cmd[1] << 8) | cmd[0], // convert to 16-bit words - (cmd[3] << 8) | cmd[2], // " -- res, sizeof(res), 8 * sck_period ); -+ res, 4, 8 * sck_period ); - if (verbose > 1) { - // print out the data we sent and received -- printf( "CMD: [%02x %02x %02x %02x] [%02x %02x %02x %02x]\n", -+ printf( "CMD: [%02x %02x %02x %02x] [%02x %02x %02x %02x] \n", - cmd[0], cmd[1], cmd[2], cmd[3], - res[0], res[1], res[2], res[3] ); - } -- return ((nbytes == sizeof(res)) && // should have read 4 bytes -+ return ((nbytes == 4) && // should have read 4 bytes - res[2] == cmd[1]); // AVR's do a delayed-echo thing - } - ++++++ avrdude_butterfly_mk.patch ++++++ --- avrdude-5.10/avrdude.conf.in.orig 2010-01-19 11:39:11.000000000 +0100 +++ avrdude-5.10/avrdude.conf.in 2010-05-15 17:38:44.000000000 +0200 @@ -443,6 +443,19 @@ programmer desc = "Atmel AppNote AVR911 AVROSP"; type = butterfly; ; + +# suggested in http://forum.mikrokopter.de/topic-post48317.html +programmer + id = "mkbutterfly"; + desc = "Mikrokopter.de Butterfly"; + type = butterfly_mk; +; + +programmer + id = "butterfly_mk"; + desc = "Mikrokopter.de Butterfly"; + type = butterfly_mk; +; programmer id = "jtagmkI"; --- avrdude-5.10/butterfly.c.orig 2010-01-19 11:39:11.000000000 +0100 +++ avrdude-5.10/butterfly.c 2010-05-15 17:43:05.000000000 +0200 @@ -43,6 +43,7 @@ #include <string.h> #include <errno.h> #include <ctype.h> +#include <unistd.h> #include "avrdude.h" #include "avr.h" @@ -205,6 +206,7 @@ static void butterfly_powerdown(PROGRAMM return; } +#define IS_BUTTERFLY_MK 0x0001 /* * initialize the AVR device and prepare it to accept commands @@ -223,26 +225,60 @@ static int butterfly_initialize(PROGRAMM * for plain avr109 bootloaders but does not harm there either. */ fprintf(stderr, "Connecting to programmer: "); - do { - putc('.', stderr); - butterfly_send(pgm, "\033", 1); - butterfly_drain(pgm, 0); - butterfly_send(pgm, "S", 1); - butterfly_recv(pgm, &c, 1); - if (c != '?') { - putc('\n', stderr); - /* - * Got a useful response, continue getting the programmer - * identifier. Programmer returns exactly 7 chars _without_ - * the null. - */ - id[0] = c; - butterfly_recv(pgm, &id[1], sizeof(id)-2); - id[sizeof(id)-1] = '\0'; + if (pgm->flag & IS_BUTTERFLY_MK || getenv("BUTTERFLY_MK")) + { + char mk_reset_cmd[6] = {"#aR@S\r"}; + unsigned char mk_timeout = 0; + + putc('.', stderr); + butterfly_send(pgm, mk_reset_cmd, sizeof(mk_reset_cmd)); + usleep(20000); + + do + { + c = 27; + butterfly_send(pgm, &c, 1); + usleep(20000); + c = 0xaa; + butterfly_send(pgm, &c, 1); + if (mk_timeout % 10 == 0) putc('.', stderr); + butterfly_recv(pgm, &c, 1); + } while (c != 'M' && mk_timeout++ < 30); + + if ( c != 'M' && c != '?') + { + fprintf(stderr, "\nConnection FAILED.\n"); + exit(1); + } + else + { + id[0] = 'M'; id[1] = 'K'; id[2] = '2'; id[3] = 0; + } + } + else + { + do { + putc('.', stderr); + butterfly_send(pgm, "\033", 1); + butterfly_drain(pgm, 0); + butterfly_send(pgm, "S", 1); + butterfly_recv(pgm, &c, 1); + if (c != '?') { + putc('\n', stderr); + /* + * Got a useful response, continue getting the programmer + * identifier. Programmer returns exactly 7 chars _without_ + * the null. + */ + id[0] = c; + butterfly_recv(pgm, &id[1], sizeof(id)-2); + id[sizeof(id)-1] = '\0'; + } + } while (c == '?'); } - } while (c == '?'); /* Get the HW and SW versions to see if the programmer is present. */ + butterfly_drain(pgm, 0); butterfly_send(pgm, "V", 1); butterfly_recv(pgm, sw, sizeof(sw)); @@ -327,6 +363,7 @@ static int butterfly_initialize(PROGRAMM progname, (unsigned)buf[1]); butterfly_enter_prog_mode(pgm); + butterfly_drain(pgm, 0); return 0; } @@ -663,7 +700,7 @@ static int butterfly_read_sig_bytes(PROG void butterfly_initpgm(PROGRAMMER * pgm) { - strcpy(pgm->type, "avr910"); + strcpy(pgm->type, "butterfly"); /* * mandatory functions @@ -696,4 +733,12 @@ void butterfly_initpgm(PROGRAMMER * pgm) pgm->setup = butterfly_setup; pgm->teardown = butterfly_teardown; + pgm->flag = 0; +} + +void butterfly_mk_initpgm(PROGRAMMER * pgm) +{ + butterfly_initpgm(pgm); + strcpy(pgm->type, "butterfly_mk"); + pgm->flag = IS_BUTTERFLY_MK; } --- avrdude-5.10/config_gram.y.orig 2010-01-19 11:39:11.000000000 +0100 +++ avrdude-5.10/config_gram.y 2010-05-15 17:38:44.000000000 +0200 @@ -151,6 +151,7 @@ static int parse_cmdbits(OPCODE * op); %token K_USBASP %token K_USBTINY %token K_BUTTERFLY +%token K_BUTTERFLY_MK %token K_TYPE %token K_VCC %token K_VFYLED @@ -480,6 +481,12 @@ prog_parm : } } | + K_TYPE TKN_EQUAL K_BUTTERFLY_MK { + { + butterfly_mk_initpgm(current_prog); + } + } | + K_TYPE TKN_EQUAL K_JTAG_MKI { { jtagmkI_initpgm(current_prog); --- avrdude-5.10/butterfly.h.orig 2010-01-19 11:39:11.000000000 +0100 +++ avrdude-5.10/butterfly.h 2010-05-15 17:38:44.000000000 +0200 @@ -27,6 +27,7 @@ extern "C" { #endif void butterfly_initpgm (PROGRAMMER * pgm); +void butterfly_mk_initpgm (PROGRAMMER * pgm); #ifdef __cplusplus } --- avrdude-5.10/lexer.l.orig 2010-01-19 11:39:11.000000000 +0100 +++ avrdude-5.10/lexer.l 2010-05-15 17:38:44.000000000 +0200 @@ -129,6 +129,7 @@ bs2 { yylval=NULL; return K buff { yylval=NULL; return K_BUFF; } buspirate { yylval=NULL; return K_BUSPIRATE; } butterfly { yylval=NULL; return K_BUTTERFLY; } +butterfly_mk { yylval=NULL; return K_BUTTERFLY_MK; } chip_erase_delay { yylval=NULL; return K_CHIP_ERASE_DELAY; } desc { yylval=NULL; return K_DESC; } default_parallel { yylval=NULL; return K_DEFAULT_PARALLEL; } ++++++ avrdude-udev.rules ++++++ KERNEL=="parport*", MODE="0666" SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2104", MODE="0666" # AVRISP mkII SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2107", MODE="0666" # AVR-Dragon SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2103", MODE="0666" # JTAG ICE mkII SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2106", MODE="0666" # STK600 SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", MODE="0666" # USBASP von www.fischl.de SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2ffa", MODE="0666" # AT90USB SYSFS{idVendor}=="10c4", SYSFS{idProduct}=="ea60", MODE="0666" # AVR910 SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c9f", MODE="0666" # USBtiny SYSFS{idVendor}=="067b", SYSFS{idProduct}=="2303", MODE="0666" # PL2303 USB to serial adapter ++++++ avrdude-use-serial-device-for-serbb.patch ++++++ From: Bernhard Walle <bernhard.walle@gmx.de> Subject: [PATCH] Use default_serial for "serbb" programmers This patch fixes the problem that "default_parport" device is used even for "serbb" programmers like the "ponyser" device. That is wrong. Signed-off-by: Bernhard Walle <bwalle@suse.de> --- main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: avrdude-5.10/main.c =================================================================== --- avrdude-5.10.orig/main.c +++ avrdude-5.10/main.c @@ -683,7 +683,8 @@ int main(int argc, char * argv []) (strcmp(pgm->type, "avr910") == 0) || (strcmp(pgm->type, "BusPirate") == 0) || (strcmp(pgm->type, "STK500V2") == 0) || - (strcmp(pgm->type, "JTAGMKII") == 0)) { + (strcmp(pgm->type, "JTAGMKII") == 0) || + (strcmp(pgm->type, "SERBB") == 0)) { if (port == default_parallel) { port = default_serial; } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org