Dear release managers, I'm requesting a freeze exception for liblastfm version 0.4.0~git20090710-2. It would fix RC bug #676104.
Because the last upload was so long ago, I modified the packaging to take advantage of multiarch and hardened build flags. A debdiff is attached. If the changes are acceptable, I can have a sponsor upload my package from mentors. John Stamp
diff -Nru liblastfm-0.4.0~git20090710/debian/changelog liblastfm-0.4.0~git20090710/debian/changelog --- liblastfm-0.4.0~git20090710/debian/changelog 2012-07-05 15:30:33.000000000 -0700 +++ liblastfm-0.4.0~git20090710/debian/changelog 2012-07-03 15:57:50.000000000 -0700 @@ -1,3 +1,16 @@ +liblastfm (0.4.0~git20090710-2) unstable; urgency=medium + + * Fix compilation with ruby >= 1.9.2 (Closes: #676104) + * Use source format 3.0 (quilt) + * Update the *.install files to accommodate multiarch + * Update to dh 9 to take advantage of hardening build flags + * Add missing misc:Depends and misc:Pre-Depends + * Fix lintian warnings description-synopsis-starts-with-article + * Bump Standards-Version to 3.9.3. + * Update debian/copyright format to version 1.0 + + -- John Stamp <[email protected]> Tue, 03 Jul 2012 15:57:47 -0700 + liblastfm (0.4.0~git20090710-1) unstable; urgency=low * New upstream release from git snapshot. diff -Nru liblastfm-0.4.0~git20090710/debian/compat liblastfm-0.4.0~git20090710/debian/compat --- liblastfm-0.4.0~git20090710/debian/compat 2012-07-05 15:30:33.000000000 -0700 +++ liblastfm-0.4.0~git20090710/debian/compat 2012-07-02 15:40:42.000000000 -0700 @@ -1 +1 @@ -7 +9 diff -Nru liblastfm-0.4.0~git20090710/debian/control liblastfm-0.4.0~git20090710/debian/control --- liblastfm-0.4.0~git20090710/debian/control 2012-07-05 15:30:33.000000000 -0700 +++ liblastfm-0.4.0~git20090710/debian/control 2012-07-02 15:58:59.000000000 -0700 @@ -1,8 +1,8 @@ Source: liblastfm Priority: extra Maintainer: John Stamp <[email protected]> -Build-Depends: debhelper (>= 7), ruby, libqt4-dev, libfftw3-dev, libsamplerate0-dev -Standards-Version: 3.8.2 +Build-Depends: debhelper (>= 9), ruby, libqt4-dev, libfftw3-dev, libsamplerate0-dev +Standards-Version: 3.9.3 Section: libs Homepage: http://www.last.fm/ Vcs-Browser: http://github.com/jstamp/liblastfm @@ -11,8 +11,8 @@ Package: liblastfm-dev Section: libdevel Architecture: any -Depends: liblastfm0 (= ${binary:Version}), liblastfm-fingerprint0 (= ${binary:Version}) -Description: The Last.fm web services library - development files +Depends: liblastfm0 (= ${binary:Version}), liblastfm-fingerprint0 (= ${binary:Version}), ${misc:Depends} +Description: Last.fm web services library - development files liblastfm is a collection of C++/Qt4 libraries provided by Last.fm for use with their web services. . @@ -22,8 +22,9 @@ Package: liblastfm0 Section: libs Architecture: any +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} -Description: The Last.fm web services library +Description: Last.fm web services library liblastfm is a collection of C++/Qt4 libraries provided by Last.fm for use with their web services. . @@ -32,8 +33,9 @@ Package: liblastfm-fingerprint0 Section: libs Architecture: any +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} -Description: The Last.fm fingerprinting library +Description: Last.fm fingerprinting library liblastfm is a collection of C++/Qt4 libraries provided by Last.fm for use with their web services. . diff -Nru liblastfm-0.4.0~git20090710/debian/copyright liblastfm-0.4.0~git20090710/debian/copyright --- liblastfm-0.4.0~git20090710/debian/copyright 2012-07-05 15:30:33.000000000 -0700 +++ liblastfm-0.4.0~git20090710/debian/copyright 2012-07-03 15:56:58.000000000 -0700 @@ -1,78 +1,136 @@ -This package was debianized by John Stamp <[email protected]> on -Tue, 26 May 2009 09:40:42 -0700. - -It was downloaded from http://cdn.last.fm/src/liblastfm-0.3.0.tar.bz2 +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: liblastfm +Upstream-Contact: Michael Coffey <[email protected]> +Source: http://github.com/mxcl/liblastfm/ Files: * -Copyright: Copyright 2009 Last.fm Ltd. +Copyright: 2005-2009 Last.fm Ltd. License: GPL-3+ + This file is part of liblastfm. + . + liblastfm is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + liblastfm is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with liblastfm. If not, see <http://www.gnu.org/licenses/>. Files: debian/* -Copyright: Copyright 2009 John Stamp <[email protected]> -License: GPL-2+ +Copyright: 2009 John Stamp <[email protected]> +License: GPL-3+ + On Debian systems, the full text of the GNU Lesser General Public License can + be found in the file `/usr/share/common-licenses/GPL-3'. Files: admin/platform.rb -Copyright: Copyright 2005 Matt Mower <[email protected]> -License: LGPL - -Files: src/fingerprint/contrib/*.cpp, src/fingerprint/contrib/*.h, src/fingerprint/FingerprintableSource.h -Copyright: Copyright 2009 Last.fm Ltd. -Copyright: Copyright 2009 John Stamp <[email protected]> +Copyright: 2005 Matt Mower <[email protected]> +License: LGPL (no version specified) + On Debian systems, the full text of the GNU Lesser General Public License can + be found in the file `/usr/share/common-licenses/LGPL-2.1'. + +Files: demos/* + tests/* +Copyright: no copyright claimed +License: public-domain + This software is in the public domain, furnished "as is", without technical + support, and with no warranty, express or implied, as to its usefulness for + any purpose. + +Files: src/fingerprint/contrib/*.cpp + src/fingerprint/contrib/*.h + src/fingerprint/FingerprintableSource.h +Copyright: 2009 Last.fm Ltd. + 2009 John Stamp <[email protected]> +License: GPL-3+ + This file is part of liblastfm. + . + liblastfm is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + liblastfm is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with liblastfm. If not, see <http://www.gnu.org/licenses/>. + +Files: src/fingerprint/contrib/AACSource.cpp +Copyright: 2009 Last.fm Ltd. + 2009 John Stamp <[email protected]> + 2003-2005 M. Baker, Nero AG, http://nero.com License: GPL-3+ + This file is part of liblastfm. + . + liblastfm is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + liblastfm is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with liblastfm. If not, see <http://www.gnu.org/licenses/>. Files: src/fingerprint/Sha256.* -Copyright: Copyright 2001-2003, 2006 Allan Saddi <[email protected]> +Copyright: 2001-2003, 2006 Allan Saddi <[email protected]> License: BSD-2 - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - . - THIS SOFTWARE IS PROVIDED BY ALLAN SADDI AND HIS CONTRIBUTORS ``AS IS'' - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL ALLAN SADDI OR HIS CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY ALLAN SADDI AND HIS CONTRIBUTORS ``AS IS'' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL ALLAN SADDI OR HIS CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. Files: src/types/mbid_mp3.c -Copyright: Copyright 2006 David Nicolson +Copyright: 2006 David Nicolson License: BSD-3 - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - . - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - . - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT UNLESS REQUIRED BY - LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER OR CONTRIBUTOR - BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, PROFITS; OR - BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -On Debian GNU/Linux systems, the complete text of the GNU General Public License -can be found in `/usr/share/common-licenses/GPL'. The complete text of the GNU -Lesser General Public License can be found in `/usr/share/common-licenses/LGPL'. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the author nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT UNLESS REQUIRED BY + LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER OR CONTRIBUTOR + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff -Nru liblastfm-0.4.0~git20090710/debian/liblastfm0.install liblastfm-0.4.0~git20090710/debian/liblastfm0.install --- liblastfm-0.4.0~git20090710/debian/liblastfm0.install 2012-07-05 15:30:33.000000000 -0700 +++ liblastfm-0.4.0~git20090710/debian/liblastfm0.install 2012-07-02 15:16:59.000000000 -0700 @@ -1 +1 @@ -usr/lib/liblastfm.so.* +usr/lib/*/liblastfm.so.* diff -Nru liblastfm-0.4.0~git20090710/debian/liblastfm-dev.install liblastfm-0.4.0~git20090710/debian/liblastfm-dev.install --- liblastfm-0.4.0~git20090710/debian/liblastfm-dev.install 2012-07-05 15:30:33.000000000 -0700 +++ liblastfm-0.4.0~git20090710/debian/liblastfm-dev.install 2012-07-02 15:17:14.000000000 -0700 @@ -1,2 +1,2 @@ usr/include/* -usr/lib/lib*.so +usr/lib/*/lib*.so diff -Nru liblastfm-0.4.0~git20090710/debian/liblastfm-fingerprint0.install liblastfm-0.4.0~git20090710/debian/liblastfm-fingerprint0.install --- liblastfm-0.4.0~git20090710/debian/liblastfm-fingerprint0.install 2012-07-05 15:30:33.000000000 -0700 +++ liblastfm-0.4.0~git20090710/debian/liblastfm-fingerprint0.install 2012-07-02 15:17:20.000000000 -0700 @@ -1 +1 @@ -usr/lib/liblastfm_fingerprint.so.* +usr/lib/*/liblastfm_fingerprint.so.* diff -Nru liblastfm-0.4.0~git20090710/debian/patches/fix-build-with-ruby-1.9.patch liblastfm-0.4.0~git20090710/debian/patches/fix-build-with-ruby-1.9.patch --- liblastfm-0.4.0~git20090710/debian/patches/fix-build-with-ruby-1.9.patch 1969-12-31 16:00:00.000000000 -0800 +++ liblastfm-0.4.0~git20090710/debian/patches/fix-build-with-ruby-1.9.patch 2012-07-02 15:30:13.000000000 -0700 @@ -0,0 +1,28 @@ +Description: Fixes builds agains ruby >= 1.9.2 + Ruby 1.9.2 no longer includes the current directory in the LOAD_PATH + so we'll just use absolute paths instead. +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676104 +Author: John Stamp <[email protected]> +Last-Update: 2012-06-06 +--- a/admin/Makefile.rb ++++ b/admin/Makefile.rb +@@ -6,7 +6,7 @@ + + cwd = File.dirname( __FILE__ ) + require 'find' +-require "#{cwd}/platform.rb" ++require File.expand_path(File.join(File.dirname(__FILE__), 'platform.rb')) + + + ######################################################################### defs +--- a/admin/qpp ++++ b/admin/qpp +@@ -4,7 +4,7 @@ + + cwd=File.dirname __FILE__ + require 'find' +-require "#{cwd}/findsrc" ++require File.expand_path(File.join(File.dirname(__FILE__), 'findsrc.rb')) + + sources = Array.new + headers = Array.new diff -Nru liblastfm-0.4.0~git20090710/debian/patches/series liblastfm-0.4.0~git20090710/debian/patches/series --- liblastfm-0.4.0~git20090710/debian/patches/series 1969-12-31 16:00:00.000000000 -0800 +++ liblastfm-0.4.0~git20090710/debian/patches/series 2012-07-02 15:31:17.000000000 -0700 @@ -0,0 +1 @@ +fix-build-with-ruby-1.9.patch diff -Nru liblastfm-0.4.0~git20090710/debian/rules liblastfm-0.4.0~git20090710/debian/rules --- liblastfm-0.4.0~git20090710/debian/rules 2012-07-05 15:30:33.000000000 -0700 +++ liblastfm-0.4.0~git20090710/debian/rules 2012-07-02 15:40:04.000000000 -0700 @@ -1,76 +1,25 @@ #!/usr/bin/make -f # -*- makefile -*- -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 +export DEB_LDFLAGS_MAINT_APPEND = -Wl,--no-undefined,--as-needed -version=`ls _bin/lib*.so.* | \ - awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'` -major=`ls _bin/lib*.so.* | \ - awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'` - -LDFLAGS += "-Wl,--no-undefined -Wl,--as-needed" - -configure: config-stamp -config-stamp: - dh_testdir +override_dh_auto_configure: ./configure --release --prefix /usr --no-strip - touch $@ - -build: build-stamp -build-stamp: configure - dh_testdir - - # Add here commands to compile the package. +override_dh_auto_build: $(MAKE) headers __src __fingerprint - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp config-stamp - - # Add here commands to clean up after the build process. - [ ! -f Makefile ] || $(MAKE) distclean || true - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_prep - dh_installdirs - - # Add here commands to install the package into debian/tmp +override_dh_auto_install: DESTDIR=$(CURDIR)/debian/tmp $(MAKE) install + mkdir -p $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) + mv $(CURDIR)/debian/tmp/usr/lib/liblastfm* $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) - -# Build architecture-independent files here. -binary-indep: install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples - dh_install - dh_installman - dh_link +override_dh_strip: dh_strip --dbg-package=liblastfm-dbg - dh_compress - dh_fixperms + +override_dh_makeshlibs: dh_makeshlibs -pliblastfm0 -V'liblastfm0 (>= 0.4.0~git20090710)' dh_makeshlibs -pliblastfm-fingerprint0 -V'liblastfm-fingerprint0' - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install +%: + dh $@ diff -Nru liblastfm-0.4.0~git20090710/debian/source/format liblastfm-0.4.0~git20090710/debian/source/format --- liblastfm-0.4.0~git20090710/debian/source/format 1969-12-31 16:00:00.000000000 -0800 +++ liblastfm-0.4.0~git20090710/debian/source/format 2012-07-02 15:13:36.000000000 -0700 @@ -0,0 +1 @@ +3.0 (quilt)

