Details about package agg
Name: |
agg
(PTS)
|
Uploader: |
John Horigan
<john@glyphic.com>
(Debian QA page)
|
Description: |
libagg-dev - AntiGrain Geometry graphical toolkit (static development files) libagg2-dev - AntiGrain Geometry graphical toolkit (static and shared development files) libagg2t64 - AntiGrain Geometry graphical toolkit (runtime files) |
Package uploads
Upload #4
Information
Changelog
agg (1:2.7.0.r145+dfsg-1) unstable; urgency=medium
.
* New upstream release (Closes: #1081856)
* Update Standards-Version to 4.7.0
* Update debhelper/compat to level 13
* Replace libfreetype6-dev build dependency with libfreetype-dev
* Restored gpc code, now that gpc is MIT licensed
* Updated library version number from 3:1:1 to 4:0:2
* Fixed lintian warnings about source line lengths and Visual
Studio generated code
* Changed license on debian directory to BSD-3 clause to match
bulk of library. AGG 2.5 was GPL-2. But the package is
derived from AGG 2.4, which is BSD-3 clause.
Comments
No comments
Upload #3
Information
Changelog
agg (1:2.7.0.r145+dfsg-1) unstable; urgency=medium
.
* New upstream release (Closes: #1081856)
* Update Standards-Version to 4.7.0
* Update debhelper/compat to level 13
* Replace libfreetype6-dev build dependency with libfreetype-dev
* Restored gpc code, now that gpc is MIT licensed
* Updated library version number from 3:1:1 to 4:0:2
* Fixed lintian warnings about source line lengths and Visual
Studio generated code
Comments
-
Fixed remaining lintian warnings in upstream.
I consulted with Gianfranco Costamagna about whether to remove the t64 suffix, which was put in for the time_t 64-bit transition. The answer was 'no', so I have left binary package names alone:
The t64 was added because in Debian the SONAME was changed (due to time64
internal transition).
If ABI changes upstream, a new soname needs to be provided, so without t64
suffix indeed.
However I don't see any ABI/SONAME changes on the new release, so why should
we drop the t64 suffix?
Please avoid it if non-necessary, to avoid going in ftpmaster new queue,
and NMU reverse-dependencies for a non breaking change.
John Horigan at Sept. 28, 2024, 9:07 p.m.
-
Indeed, I was a little too concentrated on the changelog.
Files: debian/*
Copyright:
2012 Andrea Veri <and@debian.org>
2024 John Horigan <john@glyphic.com>
License: GPL-2+
should be the same license as the: 'Files: *' section.
Phil Wyett at Sept. 30, 2024, 9:34 a.m.
Upload #2
Information
Changelog
agg (1:2.7.0.r144+dfsg-1) unstable; urgency=medium
.
* New upstream release (Closes: #1081856)
* Update Standards-Version to 4.7.0
* Update debhelper/compat to level 13
* Replace libfreetype6-dev build dependency with libfreetype-dev
* Restored gpc code, now that gpc is MIT licensed
* Updated library version number from 3:1:1 to 4:0:2
Comments
-
I believe that I have addressed the issues with upload #1. The main problem was that the upstream build script was generating a new .so file, libagggpc.so. The rules file was installing this new file in the libagg2-dev package instead of the libagg2t64 package. I have updated the rules file to install libagggpc.so correctly.
* Changed pkg-config => pkgconf
* patch-not-forwarded-upstream silenced with Forwarded: not-needed
* removed exit() call in libagggpc.so
* debian/copyright format error fixed
* watch file deleted, with lintian override
John Horigan at Sept. 21, 2024, 5:02 a.m.
-
Looking deeper at the package, we have an API/ABI change. This means yo can remove the t64 transition.
Phil Wyett at Sept. 22, 2024, 2:23 p.m.
-
The API change is a backward compatible addition of new functions. The libtool version tuple changed from 3:1:1 to 4:0:2. Since this is not a compatibility breaking API/ABI change, wouldn't the package still require the t64 transition changes?
John Horigan at Sept. 23, 2024, 3:34 a.m.
-
Oh wait, I get it. Once with package, with its new version and without the t64, is uploaded to Debian, NMU changes will be made to the dependent packages to depend on the new version.
Please confirm, and I will make that change.
John Horigan at Sept. 23, 2024, 7:30 p.m.
Upload #1
Information
Changelog
agg (1:2.7.0.r144+dfsg-1) unstable; urgency=medium
.
* New upstream release (Closes: #1081856)
* Update Standards-Version to 4.7.0
* Update debhelper/compat to level 13
* Replace libfreetype6-dev build dependency with libfreetype-dev
* Restored gpc code, now that gpc is MIT licensed
* Updated library version number from 3:1:1 to 4:0:2
Comments
-
John,
Preamble...
Thank you for taking the time to prepare this package and your contribution to the Debian project.
The review below is for assistance. This review is offered to help package submitters to Debian mentors inorder to improve their packages prior to possible sponsorship into Debian. There is no obligation on behalf of the submitter to make any alterations based upon information provided in the review.
Review...
1. Build:
* pbuilder [1]: Good
* sbuild [2]: Good
2. Lintian [3]: Issue
E: libagg2-dev: missing-dependency-on-libc needed by usr/lib/x86_64-linux-gnu/libagggpc.so.2.2.0
N:
N: The listed file appears to be linked against the C library, but the
N: package doesn't depend on the C library package. Normally this indicates
N: that ${shlibs:Depends} was omitted from the Depends line for this package
N: in debian/control.
N:
N: All shared libraries and compiled binaries must be run through
N: dpkg-shlibdeps to find out any libraries they are linked against (often
N: via the dh_shlibdeps debhelper command). The package containing these
N: files must then depend on ${shlibs:Depends} in debian/control to get the
N: proper package dependencies for those libraries.
N:
N: Please refer to Generating dependencies on shared libraries (Section
N: 8.6.1) in the Debian Policy Manual for details.
N:
N: Visibility: error
N: Show-Always: no
N: Check: binaries/prerequisites
N:
N:
W: agg source: build-depends-on-obsolete-package Build-Depends: pkg-config => pkgconf
N:
N: The package build-depends on a package that has been superseded. If the
N: superseded package is part of an ORed group, it should not be the first
N: package in the group.
N:
N: Visibility: warning
N: Show-Always: no
N: Check: fields/package-relations
W: libagg2-dev: link-to-shared-library-in-wrong-package usr/lib/x86_64-linux-gnu/libagggpc.so.2.2.0 [usr/lib/x86_64-linux-gnu/libagggpc.so]
N:
N: Although this package is not a "-dev" package, it installs a
N: "libsomething.so" symbolic link referencing the corresponding shared
N: library. When the link doesn't include the version number, it is used by
N: the linker when other programs are built against this shared library.
N:
N: Shared libraries are supposed to place such symbolic links in their
N: respective "-dev" packages, so it is a bug to include it with the main
N: library package.
N:
N: However, if this is a small package which includes the runtime and the
N: development libraries, this is not a bug. In the latter case, please
N: override this warning.
N:
N: Please refer to Development files (Section 8.4) in the Debian Policy
N: Manual for details.
N:
N: Visibility: warning
N: Show-Always: no
N: Check: libraries/shared/links
N: Renamed from: non-dev-pkg-with-shlib-symlink
W: libagg2-dev: package-name-doesnt-match-sonames libagggpc2
N:
N: The package name of a library package should usually reflect the soname of
N: the included library. The package name can determined from the library
N: file name with the following code snippet:
N:
N: $ objdump -p /path/to/libfoo-bar.so.1.2.3 | sed -n -e's/^[[:space:]]*SONAME[[:space:]]*//p' | \
N: sed -r -e's/([0-9])\.so\./\1-/; s/\.so(\.|$)//; y/_/-/; s/(.*)/\L&/'
N:
N: Visibility: warning
N: Show-Always: no
N: Check: libraries/shared/soname
I: agg source: patch-not-forwarded-upstream [debian/patches/02-maintainer-mode.patch]
N:
N: According to the DEP-3 headers, this patch has not been forwarded
N: upstream.
N:
N: Please forward the patch and try to have it included in upstream's version
N: control system. If the patch is not suitable for that, please mention
N: not-needed in the Forwarded field of the patch header.
N:
N: Please refer to social contract item 2, Coordination with upstream
N: developers (Section 3.1.4) in the Debian Developer's Reference, Changes to
N: the upstream sources (Section 4.3) in the Debian Policy Manual, and
N: Bug#755153 for details.
N:
N: Visibility: info
N: Show-Always: no
N: Check: debian/patches/dep3
N: Renamed from: send-patch
N;
I: agg source: patch-not-forwarded-upstream [debian/patches/10-change-ABI-to-linux.patch]
I: libagg2t64: unused-override package-name-doesnt-match-sonames libagg2 [usr/share/lintian/overrides/libagg2t64:1]
N:
N: Your package specifies the named override but there were no tags that
N: could have been silenced by it.
N:
N: Maybe you fixed an underlying condition but forgot to remove the override.
N: It is also possible that the Lintian maintainers fixed a false positive.
N:
N: If the override is now unused, please remove it.
N:
N: This tag is similar to mismatched-override except there a tag could have
N: been silenced if the context had matched.
N:
N: Sometimes, overrides end up not being used because a tag appears only on
N: some architectures. In that case, overrides can be equipped with an
N: architecture qualifier.
N:
N: Please refer to Architecture specific overrides (Section 2.4.3) in the
N: Lintian User's Manual for details.
N:
N: Visibility: info
N: Show-Always: yes
N: Check: lintian
3. Licenses [4]: Issue
philwyett@ks-tarkin:~/Development/builder/debian/mentoring/agg-2.7.0.r144+dfsg$ lrc
en: Versions: recon 1.19 check 3.3.9-1
Parsing Source Tree ....
Reading copyright ....
Invalid DEP-5 header in debian/copyright
Failed to process debian/copyright
Line: 1 is missing the '/' at the end.
4. Watch file [uscan --force-download]: Hint, remove the watch file.
5. Build Twice [sudo pbuilder build --twice <package>.dsc]: Good
6. Reproducible builds [5]: Good
7. Install [No previous installs]: Not performed at this time
8. Upgrade [Over previous installs if any]: Not performed at this time
Many thanks for uploading to mentors. A few issues above to look at and possibly rectify.
Regards
Phil
[1] pbuilder:
* Command: sudo pbuilder build <PACKAGE>.dsc
* Document: https://wiki.ubuntu.com/PbuilderHowto.
* Document: https://wiki.debian.org/PbuilderTricks
[2] sbuild:
* Command: sbuild <PACKAGE>.dsc
* Document: https://wiki.kathenas.org/pmwiki.php/Kathenas/Article00000002
* Document: https://wiki.debian.org/sbuild
[3] lintian:
* Command: lintian -v -i -I -E --pedantic --profile debian (*.dsc, *.changes, *.buildinfo). Each can throw up different results, so be thorough.
* Document: https://wiki.debian.org/Lintian
[4] lrc:
* Command: lrc
* Document: https://wiki.debian.org/CopyrightReviewTools#licenserecon
[5] reprotest
* Command: sudo reprotest --vary=-build_path,domain_host.use_sudo=1 --auto-build <PACKAGE>.dsc -- schroot unstable-amd64-sbuild
* Document: https://wiki.kathenas.org/pmwiki.php/Kathenas/Article00000004
* Document: https://wiki.debian.org/ReproducibleBuilds/
* Document: https://wiki.debian.org/ReproducibleBuilds/Howto#Newer_method
Needs work
Phil Wyett at Sept. 20, 2024, 9:52 a.m.