Hi Jonathan - many thanks for taking the time to offer such thorough advice.
> 1. Where is the upstream source? > -------------------------------- > > Running "uscan --force-download" produces > > | uscan warning: In debian/watch, > | no matching hrefs for watch line > | > http://rephial.org/downloads/3.2/angband-([0-9]\.[0-9]\.[0-9][a-z]?)\-src\.tar\.gz > > and no upstream tarball. Thank you for the catch - upstream has changed its naming convention and no longer uses the -src part of the name. I have amended debian/watch accordingly. (I assume the line "opts=dversionmangle=s/\-src$// \" was supposed to deal with this change, but somehow fails to do so.) > debian/copyright says the upstream sources > were obtained from > > | git://github.com/angband/angband.git This is the upstream master from which my git repo on alioth is mirrored. I have changed this to refer to the official download named in the watch file. > debian/rules get-orig-source says > > | cd debian//.. && \ > | uscan --verbose --rename --destdir debian/../.. || true > | -- Scanning for watchfiles in . > | -- Found watchfile in ./debian > | -- In debian/watch, processing watchfile line: > | opts=dversionmangle=s/\-src$// > http://rephial.org/downloads/3.2/angband-([0-9]\.[0-9]\.[0-9][a-z]?)\-src\.tar\.gz > | uscan warning: In debian/watch, > | no matching hrefs for watch line > | > http://rephial.org/downloads/3.2/angband-([0-9]\.[0-9]\.[0-9][a-z]?)\-src\.tar\.gz > | -- Scan finished > > I would have expected the first two to get a pristine upstream tarball, > the third to produce a repacked one if necessary (e.g., if building from > a snapshot). All three should now get the same tarball, though in my tests, debian/rules get-orig-source says cd debian//.. && \ uscan --verbose --rename --destdir debian/../.. || true -- Scanning for watchfiles in . -- Found watchfile in ./debian -- In debian/watch, processing watchfile line: opts=dversionmangle=s/\-src$// http://rephial.org/downloads/3.2/angband-([0-9]\.[0-9]\.[0-9][a-z]?)\.tar\.gz -- Found the following matching hrefs: angband-3.2.0.tar.gz Newest version on remote site is 3.2.0, local version is 3.2.0 => Package is up to date -- Scan finished ... but doesn't actually download anything, even when no orig.tar.gz is present. Ho hum. > 2. Cleaning up > -------------- > > | $ debian/rules clean > | ====== making target CLN-common [new prereqs: ]====== > | ====== making target CLN-common [new prereqs: ]====== > | test ! -f Makefile || /usr/bin/make distclean > | make[1]: Entering directory `/tmp/angband' > | mk/buildsys.mk:21: mk/extra.mk: No such file or directory > | mk/buildsys.mk:381: mk/sinclude.mk: No such file or directory > | make[1]: *** No rule to make target `mk/sinclude.mk'. Stop. > | make[1]: Leaving directory `/tmp/angband' > | make: [CLN-common] Error 2 (ignored) > | ====== making target CLN-indep [new prereqs: CLN-common]====== > | ====== making target clean-indep [new prereqs: CLN-indep]====== > | ====== making target CLN-arch [new prereqs: CLN-common]====== > | ====== making target CLEAN/angband [new prereqs: CLN-arch]====== > | ====== making target CLEAN/angband [new prereqs: ]====== > | rm -rf /tmp/angband/debian/angband > | ====== making target clean-arch [new prereqs: CLN-arch angband]====== > | ====== making target clean [new prereqs: clean-indep clean-arch]====== > | test -f Makefile && /usr/bin/make distclean > | make[1]: Entering directory `/tmp/angband' > | mk/buildsys.mk:21: mk/extra.mk: No such file or directory > | mk/buildsys.mk:381: mk/sinclude.mk: No such file or directory > | make[1]: *** No rule to make target `mk/sinclude.mk'. Stop. > | make[1]: Leaving directory `/tmp/angband' > | make: [clean] Error 2 (ignored) > | rm -f debian/files debian/buildinfo debian/substvars angband > config.status config.log aclocal.m4 src/autoconf.h src/autoconf.h.in > mk/extra.mk mk/sinclude.mk > | rm -rf /tmp/angband/debian/clean debian/stamp autom4te.cache debian/stamp > | rm -f core TAGS \ > | `find . ! -regex '.*/\.git/.*' ! -regex '.*/\{arch\}/.*' > \ > | ! -regex '.*/CVS/.*' ! -regex '.*/\.arch-ids/.*' > \ > | ! -regex '.*/\.svn/.*' > \ > | \( -name '*.orig' -o -name '*.rej' -o -name '*~' > -o \ > | -name '*.bak' -o -name '#*#' -o -name '.*.orig' > -o \ > | -name '.*.rej' -o -name '.SUMS' \) > \ > | -print` > > It looks alarming (why does cleaning up produce errors?) but probably > okay. It is because debian/rules clean calls make distclean more than once. Upstream's build system produces these errors if make distclean is called a second time. These two files (extra.mk and sinclude.mk) are produced by configure, and are not part of the source archive. They need to be deleted in distclean, so I do not think there is a way to prevent this error. > 3. The build > ------------ > > | $ debian/rules build > [...] > | checking for stat... yes > | checking if make supports SysV-style inclusion... yes > | checking for make silent include syntax... gnu > | make[2]: Entering directory `/tmp/angband' > | make[2]: *** No rule to make target `conftest.mk'. Stop. > | make[2]: Leaving directory `/tmp/angband' > | checking for initscr in -lcurses ... yes > > What is this about? I don't see this error at all: checking if make supports SysV-style inclusion... yes checking for make silent include syntax... gnu checking for initscr in -lcurses ... yes checking for initscr in -lncurses ... yes > [...] > | Successfully compiled option.c. > | parser.c: In function ‘parser_parse’: > | parser.c:228:8: warning: variable ‘iline’ set but not used > [-Wunused-but-set-variable] > > The build is remarkably light on warnings, but there are some warnings > like this when building with gcc 4.6. We (upstream) ensure that all compiler warnings are removed prior to release - but I think there are a couple which only show up in newer versions of gcc. I don't see this one or any others with gcc 4:4.5.2-2. > [...] > | dpkg -l gcc 'libc*' binutils ldso make dpkg-dev | \ > | awk '$1 == "ii" { printf("%s-%s\n", $2, $3) }' > \ > | debian/buildinfo > | No packages found matching ldso. > > This looks harmless but crufty --- checking snapshot.debian.org for > ldso only turns up a package in Debian 0.93R6. "dpkg-query -W" > might be more convenient than parsing "dpkg-query -l" output. This line in local.mk clearly hasn't been updated in a long time. Maybe since before dpkg-query was written? I have removed ldso from this line. > | $ git status -s > | M debian > | $ cd debian > | $ git status -s > | ?? buildinfo > | ?? stamp/ > > It seems that debian/ does not have a .gitignore. I can write one if > you'd like. I've added a .gitignore for the debian/ submodule - thanks for reminding me. > 4. Building the binary packages > ------------------------------- > > | $ fakeroot debian/rules binary > [...] > | $ dpkg-shlibdeps /tmp/angband/debian/angband/usr/games/angband > | dpkg-shlibdeps: warning: dependency on libfontconfig.so.1 could be avoided > if "/tmp/angband/debian/angband/usr/games/angband" were not uselessly linked > against it (they use none of its symbols). > [ etc ] > > There are lots of warnings like that. Intended? No, but when I first adopted the package (mid-2009) I tried to remove the unnecessary dependencies on libsm6 and libice6, and everything broke, so I left them. I will have another go now I know a little more ... > 5. The build-time dependencies > ------------------------------ > > | Build-Depends: autoconf, automake | automaken, cvs, > | libncurses5-dev | libncurses-dev | ncurses-dev, > | libsdl1.2-dev | libsdl-dev, libsdl-mixer1.2-dev, > | libsdl-gfx1.2-dev, libsdl-image1.2-dev, libsdl-ttf2.0-dev, > | libsdl-net1.2-dev, libglade2-dev > | # depending on cvs sucks, but gettext needs it without depending on it, > | # and autoreconf calls autopoint from gettext, which uses a CVS repo in > | # a tar ball. See Bug#506022 and Bug#508230 > > Isn't there an autopoint package nowadays? There is, but it depends on git or git-core and conflicts with gettext. I wonder if it will be possible to depend merely on gettext now. > It might make sense to test with automake1.4 installed the automake > alternative set to point at it, to see if "Build-Conflicts: automake1.4" > is needed. Ok, will do - thanks. > 6. The run-time dependencies > ---------------------------- > > | Recommends: xfonts-base, angband-audio > > Where can I find this angband-audio package? Policy §2.2.1 says It's also waiting at mentors.debian.net (but you knew that, I'm guessing ;-)). I have downgraded this to Suggests. IMO "Recommends" should not be part of something defined as "requires" in that para, but I do what I'm told. I will upload a new version to m.d.n this weekend. Thanks again for your help. Regards, Chris -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org