Hi,
I recently did a QA upload of apt-spy to fix quite important
bug #394376, i.e. segmentation fault which used to occur when
apt-spy had been called with the `-w' option.
Previous uploader changed the build process a bit by using dh_install
instead of cp and starting using quilt to maintain patches to upstream
source. The changes are safe: 3.1-15 had been in unstable for over 50
days with no new bugs reported.
For convenience, I'm attaching diff between 3.1-14.1 and quilt-patched
3.1-16 (i.e. after running `debian/rules patch') with changes to
README.mirror.txt and debian/patches/* removed.
apt-spy (3.1-16) unstable; urgency=low
* QA upload.
* 03_writetop_segfault.diff: Fix annoying segfault when the -w option
is used (closes: #394376).
* 04_http_missing.diff: Make parser not to fail when HTTP field
is missing (closes: #389838).
* 02_mirrors-txt_update.diff: Update README.mirrors.txt.
-- Robert Luberda <robert@debian.org> Tue, 27 Feb 2007 23:30:46 +0100
apt-spy (3.1-15) unstable; urgency=low
* QA upload.
* Orphaning package: thanks Stephen Stafford for your work.
- change debian/control accordingly.
- ACK previous NMU.
* Fix typo in apt-spy.8 manual page: (Closes:Â #401985)
- new 01_typo_fix_apt-spy8.diff patch.
- Build-Depend on quilt and include quilt's makefile in rules.
* Use dh_installman and dh_install instead of copying.
* Get rid of lintian override.
* Change cosmetics in rules' update target.
* Update mirrors.txt file as 02_mirrors-txt_update.diff.
* Add a TODO.Debian file.
-- Mohammed Adnène Trojette <adn+deb@diwi.org> Tue, 2 Jan 2007 19:21:19 +0100
diff -Nur -x '*patches*' -x '*.pc*' -x README.mirrors.txt apt-spy-3.1-14.1/apt-spy.8 apt-spy-3.1-16/apt-spy.8
--- apt-spy-3.1-14.1/apt-spy.8 2007-03-08 21:22:47.000000000 +0100
+++ apt-spy-3.1-16/apt-spy.8 2007-03-08 21:23:48.000000000 +0100
@@ -96,7 +96,7 @@
By default the new file is created as \fB/etc/apt/sources.list\fP.
.TP
.BI -p " proxy"
-use \fIproxy\fP as a prxy server.
+use \fIproxy\fP as a proxy server.
This should be specified as `hostname:port'.
.TP
.BI -s " country-list"
diff -Nur -x '*patches*' -x '*.pc*' -x README.mirrors.txt apt-spy-3.1-14.1/debian/changelog apt-spy-3.1-16/debian/changelog
--- apt-spy-3.1-14.1/debian/changelog 2007-03-08 21:22:47.000000000 +0100
+++ apt-spy-3.1-16/debian/changelog 2007-03-08 21:23:22.000000000 +0100
@@ -1,3 +1,31 @@
+apt-spy (3.1-16) unstable; urgency=low
+
+ * QA upload.
+ * 03_writetop_segfault.diff: Fix annoying segfault when the -w option
+ is used (closes: #394376).
+ * 04_http_missing.diff: Make parser not to fail when HTTP field
+ is missing (closes: #389838).
+ * 02_mirrors-txt_update.diff: Update README.mirrors.txt.
+
+ -- Robert Luberda <robert@debian.org> Tue, 27 Feb 2007 23:30:46 +0100
+
+apt-spy (3.1-15) unstable; urgency=low
+
+ * QA upload.
+ * Orphaning package: thanks Stephen Stafford for your work.
+ - change debian/control accordingly.
+ - ACK previous NMU.
+ * Fix typo in apt-spy.8 manual page: (Closes:Â #401985)
+ - new 01_typo_fix_apt-spy8.diff patch.
+ - Build-Depend on quilt and include quilt's makefile in rules.
+ * Use dh_installman and dh_install instead of copying.
+ * Get rid of lintian override.
+ * Change cosmetics in rules' update target.
+ * Update mirrors.txt file as 02_mirrors-txt_update.diff.
+ * Add a TODO.Debian file.
+
+ -- Mohammed Adnène Trojette <adn+deb@diwi.org> Tue, 2 Jan 2007 19:21:19 +0100
+
apt-spy (3.1-14.1) unstable; urgency=medium
* Non-maintainer upload.
diff -Nur -x '*patches*' -x '*.pc*' -x README.mirrors.txt apt-spy-3.1-14.1/debian/control apt-spy-3.1-16/debian/control
--- apt-spy-3.1-14.1/debian/control 2007-03-08 21:22:47.000000000 +0100
+++ apt-spy-3.1-16/debian/control 2007-03-08 21:23:22.000000000 +0100
@@ -1,8 +1,8 @@
Source: apt-spy
Section: admin
Priority: optional
-Maintainer: Stephen Stafford <bagpuss@debian.org>
-Build-Depends: debhelper (>= 5.0), libcurl3-openssl-dev
+Maintainer: Debian QA Group <packages@qa.debian.org>
+Build-Depends: debhelper (>= 5.0), libcurl3-openssl-dev, quilt (>= 0.40)
Standards-Version: 3.7.2
Package: apt-spy
diff -Nur -x '*patches*' -x '*.pc*' -x README.mirrors.txt apt-spy-3.1-14.1/debian/copyright apt-spy-3.1-16/debian/copyright
--- apt-spy-3.1-14.1/debian/copyright 2007-03-08 21:22:47.000000000 +0100
+++ apt-spy-3.1-16/debian/copyright 2007-03-08 21:23:22.000000000 +0100
@@ -10,7 +10,9 @@
This is version 3 of apt-spy. Versions 1.x and 2.x were written by Danny
Rodriguez <messiah@optonline.net>
-Versions 1.x and 2.x were licensed under the GNU GPL.
+Versions 1.x and 2.x were licensed under the GNU GPL (see
+/usr/share/common-licenses/GPL).
+
This version 3 is a total rewrite from scratch, and is licensed under the
following (BSD style) license:
diff -Nur -x '*patches*' -x '*.pc*' -x README.mirrors.txt apt-spy-3.1-14.1/debian/install apt-spy-3.1-16/debian/install
--- apt-spy-3.1-14.1/debian/install 1970-01-01 01:00:00.000000000 +0100
+++ apt-spy-3.1-16/debian/install 2007-03-08 21:23:22.000000000 +0100
@@ -0,0 +1,2 @@
+apt-spy /usr/bin/
+apt-spy.conf /etc/
diff -Nur -x '*patches*' -x '*.pc*' -x README.mirrors.txt apt-spy-3.1-14.1/debian/rules apt-spy-3.1-16/debian/rules
--- apt-spy-3.1-14.1/debian/rules 2007-03-08 21:22:47.000000000 +0100
+++ apt-spy-3.1-16/debian/rules 2007-03-08 21:23:22.000000000 +0100
@@ -1,22 +1,24 @@
#!/usr/bin/make -f
export DH_VERBOSE=1
+include /usr/share/quilt/quilt.make
+
update:
- rm -f README.mirrors.txt
- wget ftp://ftp.debian.org/debian/README.mirrors.txt
+ dh_testdir
+ wget ftp://ftp.debian.org/debian/README.mirrors.txt -O README.mirrors.txt
configure: configure-stamp
configure-stamp:
# there's nothing to be done here
touch configure-stamp
-build: configure-stamp build-stamp
+build: configure-stamp patch build-stamp
build-stamp:
dh_testdir
$(MAKE)
touch build-stamp
-clean:
+clean: unpatch
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
@@ -28,23 +30,17 @@
dh_testroot
dh_clean -k
dh_installdirs
- cp apt-spy $(CURDIR)/debian/apt-spy/usr/bin/
- cp apt-spy.8 $(CURDIR)/debian/apt-spy/usr/share/man/man8/
- cp apt-spy.conf.5 $(CURDIR)/debian/apt-spy/usr/share/man/man5/
- gzip -9 $(CURDIR)/debian/apt-spy/usr/share/man/man8/apt-spy.8
- gzip -9 $(CURDIR)/debian/apt-spy/usr/share/man/man5/apt-spy.conf.5
- cp apt-spy.conf $(CURDIR)/debian/apt-spy/etc/
- cp README.mirrors.txt $(CURDIR)/debian/apt-spy/var/lib/apt-spy/mirrors.txt
- cp debian/apt-spy.lintian $(CURDIR)/debian/apt-spy/usr/share/lintian/overrides/apt-spy
binary-indep:
binary-arch: build install
dh_testdir
dh_testroot
+ dh_install
+ cp README.mirrors.txt debian/apt-spy/var/lib/apt-spy/mirrors.txt
dh_installdocs
dh_installmenu
- dh_installmanpages
+ dh_installman apt-spy.8 apt-spy.conf.5
dh_installchangelogs
dh_strip
dh_compress
diff -Nur -x '*patches*' -x '*.pc*' -x README.mirrors.txt apt-spy-3.1-14.1/debian/TODO.Debian apt-spy-3.1-16/debian/TODO.Debian
--- apt-spy-3.1-14.1/debian/TODO.Debian 1970-01-01 01:00:00.000000000 +0100
+++ apt-spy-3.1-16/debian/TODO.Debian 2007-03-08 21:23:22.000000000 +0100
@@ -0,0 +1 @@
+Changes to upstream code should be put in Quilt patches.
diff -Nur -x '*patches*' -x '*.pc*' -x README.mirrors.txt apt-spy-3.1-14.1/main.c apt-spy-3.1-16/main.c
--- apt-spy-3.1-14.1/main.c 2007-03-08 21:22:47.000000000 +0100
+++ apt-spy-3.1-16/main.c 2007-03-08 21:23:48.000000000 +0100
@@ -295,6 +295,8 @@
fprintf(stderr, "Error writing output file. Exiting.");
exit(1);
}
+ /* close the file */
+ fclose(outfile_p);
/* We write out the top servers to a file if asked. Note there's no
point in freeing the "best" structures. */
@@ -306,6 +308,8 @@
"Error writing top servers list. Exiting.");
exit(1);
}
+ /* close the file */
+ fclose(topfile_p);
}
/* We're all done */
exit(0);
diff -Nur -x '*patches*' -x '*.pc*' -x README.mirrors.txt apt-spy-3.1-14.1/parse.c apt-spy-3.1-16/parse.c
--- apt-spy-3.1-14.1/parse.c 2007-03-08 21:22:47.000000000 +0100
+++ apt-spy-3.1-16/parse.c 2007-03-08 21:23:48.000000000 +0100
@@ -280,8 +280,11 @@
line++;
}
- while (isspace(*line) == 0)
- *creation++ = *line++;
+ /* the entry should start with slash sign, if not it's a list of architectures */
+ if (*line == '/') {
+ while (isspace(*line) == 0)
+ *creation++ = *line++;
+ }
*creation++ = ':';
*creation++ = '\n';
@@ -404,7 +407,8 @@
/* Read in a line... */
while ((line = next_entry(infile_p)) != NULL) {
- if (strstr(line, best[i].hostname) != NULL) { /* Check for hostname */
+ if (best[i].hostname != NULL &&
+ strstr(line, best[i].hostname) != NULL) { /* Check for hostname */
fputs(line, outfile_p); /* if it's there, write to file */
break;
}
Attachment:
signature.asc
Description: Digital signature