| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
debian: lintian cleanup (metadata, compat 14, priority, NMU override) (#466) Add debian/upstream/metadata (DEP-12), bump debhelper-compat to 14, drop the redundant Priority: optional source field, and rename the stale NMU override tag changelog-should-mention-nmu to no-nmu-in-changelog with a note on why the address mismatch trips it. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> | 5 小时前 | |
debian: lintian cleanup (metadata, compat 14, priority, NMU override) (#466) Add debian/upstream/metadata (DEP-12), bump debhelper-compat to 14, drop the redundant Priority: optional source field, and rename the stale NMU override tag changelog-should-mention-nmu to no-nmu-in-changelog with a note on why the address mismatch trips it. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> | 5 小时前 | |
Release 3.49.10 (#442) Bump the package version to 3.49.10 and curate the release notes. VERSION_INFO goes 3:1:0 -> 3:2:0: the cycle only appended tail fields to the installed options struct (--cookies-file, --pause, --strip-query, the -%u split), no existing symbol or offset changed, so the soname stays .so.3. history.txt gets the 3.49-10 block; debian/changelog gets 3.49.10-1 with the Debian-specific items (DEP-5 copyright, chromium-first browser dep, minizip embedded-library override). Standards-Version 4.7.0 -> 4.7.4: the intervening Policy changes (usr-merge, /usr/games, Priority recommendation, -dev linker scripts, non-free-firmware) need no package change. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> | 3 天前 | |
debian: lintian cleanup (metadata, compat 14, priority, NMU override) (#466) Add debian/upstream/metadata (DEP-12), bump debhelper-compat to 14, drop the redundant Priority: optional source field, and rename the stale NMU override tag changelog-should-mention-nmu to no-nmu-in-changelog with a note on why the address mismatch trips it. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> | 5 小时前 | |
debian: rewrite copyright in DEP-5 format, credit all authors (#415) The free-form debian/copyright credited only Xavier Roche, but the source tree bundles code from other authors under additional licenses that went unlisted: Yann Philippot (src/htsjava.*, GPL-3+), the minizip code by Gilles Vollant, Mathias Svensson, Even Rouault and Info-ZIP (Zlib), Colin Plumb's md5.c (public domain), and the coucal library (BSD-3-clause) with Austin Appleby's murmurhash3.h (public domain). Convert to machine-readable DEP-5 and add a Files stanza per component, as requested in the Debian NEW review of 3.49.9-1. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> | 9 天前 | |
Debian repository | 14 年前 | |
Fixed and modernize lintian handling | 3 年前 | |
Make lintian actually gate the Debian package build (#410) The deb CI job and mkdeb.sh ran lintian via debuild with --fail-on=error,warning and were believed to gate on it. They did not: debuild only reports lintian, it does not propagate lintian's exit status, so a package that lintian flags with errors or warnings still built green. This was demonstrated by a SONAME bump landing without the matching libhttrackN package rename: lintian emitted shared-library-is-multi-arch-foreign and package-name-doesnt-match-sonames, yet the job passed. Disable debuild's lintian run and run lintian ourselves on the produced .changes, under set -e, so any error or warning fails the build. Two CI-only adjustments keep a clean package green: --profile debian, because the Ubuntu runners' vendor data would otherwise reject the Debian "unstable" distribution, and --suppress-tags newer-standards-version, which only reflects the runner's lintian being older than the buildds'. The long-standing script-not-executable hint on the sample search.sh gets an override. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> | 11 天前 | |
Fixed and modernize lintian handling | 3 年前 | |
ci: build and lintian-gate the Debian packages Add a CI job that builds the Debian packages on every push/PR through the same tools/mkdeb.sh maintainers release with, so packaging regressions (control, rules, file manifests, lintian) surface in CI instead of at release time. One amd64/gcc run is enough: packaging is arch- and compiler-independent and the existing matrix already covers compile portability. The job is unsigned and uploads nothing; its value is the pass/fail and the lintian gate. Make mkdeb.sh fail the build on any lintian error or warning, and refresh the lintian overrides so the package is clean at that level: - Drop dead overrides whose tags lintian no longer emits (breakout-link, the libhttrack spelling-error-in-binary). - Rewrite the pointed-hint overrides (extra-license-file, package-contains-documentation-outside-usr-share-doc, hardening-no-fortify-functions): their match context is now empty and the path shows only as a display pointer, so a path context never matches. Match with '*' as the working webhttrack-common override already does. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Xavier Roche <roche@httrack.com> | 17 天前 | |
Use an unknown/unknown sentinel for an absent Content-Type (#412) #409 distinguished "the server declared text/html" from "no Content-Type, defaulted to text/html" with a new htsblk.contenttype_given flag, so a binary-looking URL that really serves HTML is saved .html while a typeless response keeps its URL extension. That worked on a fresh crawl but had two costs: the flag was never persisted, so on --update the cache read it as unset and the names reverted (report.html became report.pdf again, and the two passes disagreed); and it was an installed-struct ABI break (soname 4, libhttrack4). Replace the flag with a sentinel: when no Content-Type is received, store "unknown/unknown" as the type instead of text/html. The sentinel is treated as html for every type test (added to is_html_mime_type), so parsing, storage and filtering of a typeless response are unchanged; only the naming code (wire_patches_ext) reads it as "no declared type" and keeps the URL extension. Because the type string rides the cache, an update reads the same sentinel and names consistently -- the revert is fixed at the source. The sentinel never reaches a consumer as a real type: a single helper, hts_effective_mime(), maps it back to text/html wherever a stored type is derived (give_mimext) or emitted/persisted -- the httrack stdout serve, the ProxyTrack live serve, and the ProxyTrack .arc export (both the replayed response header and the index record). The .arc export was caught by an adversarial spill audit; without the map a typeless page archived via proxytrack would carry Content-Type: unknown/unknown. Since the sentinel makes contenttype_given unnecessary, #409's ABI break is undone: the field is removed, soname returns to 3, and the Debian package reverts libhttrack4 -> libhttrack3. soname 4 was never released (Debian NEW carries libhttrack3), so this re-aligns master with the archive rather than flip-flopping anything downstream. Tests: 18_local-update re-mirrors and asserts the names survive the update pass; 15_local-types gains a notype.html negative control; 17_local-empty-ct stays green. Full make check: 27 pass, 0 fail. One accepted behavior change: a mime filter matching exactly text/html no longer matches a typeless response (its type is the sentinel, html-ish but not literally text/html); the response is still parsed and crawled as html. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> | 10 天前 | |
debian: override embedded-library for bundled minizip, lint under debian:sid (#419) httrack statically links its own patched minizip (src/minizip): it carries a zipFlush() API the system libminizip lacks, which htscache.c uses to flush the cache .zip so an interrupted crawl leaves a valid archive, plus Android and old-zlib portability fixes. The system library can't be substituted until that lands upstream, so add justified lintian overrides for the resulting embedded-library tag on libhttrack3 and proxytrack. The tag never showed in CI because the deb job built and linted on the Ubuntu runner, whose lintian predates the minizip fingerprint; it only fires on the newer lintian the Debian buildds and UDD run. Build and lint the package inside a debian:sid container instead, matching the upload target. That also keeps the archive legal: a Debian dpkg-deb writes xz members where an Ubuntu host defaults to zstd, which Debian's lintian rejects as a malformed deb. And being unable to unpack a zstd member, lintian never scans the binaries the embedded-library check reads, so the override would otherwise have looked unused. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> | 9 天前 | |
Debian repository | 14 年前 | |
debian: override embedded-library for bundled minizip, lint under debian:sid (#419) httrack statically links its own patched minizip (src/minizip): it carries a zipFlush() API the system libminizip lacks, which htscache.c uses to flush the cache .zip so an interrupted crawl leaves a valid archive, plus Android and old-zlib portability fixes. The system library can't be substituted until that lands upstream, so add justified lintian overrides for the resulting embedded-library tag on libhttrack3 and proxytrack. The tag never showed in CI because the deb job built and linted on the Ubuntu runner, whose lintian predates the minizip fingerprint; it only fires on the newer lintian the Debian buildds and UDD run. Build and lint the package inside a debian:sid container instead, matching the upload target. That also keeps the archive legal: a Debian dpkg-deb writes xz members where an Ubuntu host defaults to zstd, which Debian's lintian rejects as a malformed deb. And being unable to unpack a zstd member, lintian never scans the binaries the embedded-library check reads, so the override would otherwise have looked unused. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> | 9 天前 | |
Use an unknown/unknown sentinel for an absent Content-Type (#412) #409 distinguished "the server declared text/html" from "no Content-Type, defaulted to text/html" with a new htsblk.contenttype_given flag, so a binary-looking URL that really serves HTML is saved .html while a typeless response keeps its URL extension. That worked on a fresh crawl but had two costs: the flag was never persisted, so on --update the cache read it as unset and the names reverted (report.html became report.pdf again, and the two passes disagreed); and it was an installed-struct ABI break (soname 4, libhttrack4). Replace the flag with a sentinel: when no Content-Type is received, store "unknown/unknown" as the type instead of text/html. The sentinel is treated as html for every type test (added to is_html_mime_type), so parsing, storage and filtering of a typeless response are unchanged; only the naming code (wire_patches_ext) reads it as "no declared type" and keeps the URL extension. Because the type string rides the cache, an update reads the same sentinel and names consistently -- the revert is fixed at the source. The sentinel never reaches a consumer as a real type: a single helper, hts_effective_mime(), maps it back to text/html wherever a stored type is derived (give_mimext) or emitted/persisted -- the httrack stdout serve, the ProxyTrack live serve, and the ProxyTrack .arc export (both the replayed response header and the index record). The .arc export was caught by an adversarial spill audit; without the map a typeless page archived via proxytrack would carry Content-Type: unknown/unknown. Since the sentinel makes contenttype_given unnecessary, #409's ABI break is undone: the field is removed, soname returns to 3, and the Debian package reverts libhttrack4 -> libhttrack3. soname 4 was never released (Debian NEW carries libhttrack3), so this re-aligns master with the archive rather than flip-flopping anything downstream. Tests: 18_local-update re-mirrors and asserts the names survive the update pass; 15_local-types gains a notype.html negative control; 17_local-empty-ct stays green. Full make check: 27 pass, 0 fail. One accepted behavior change: a mime filter matching exactly text/html no longer matches a typeless response (its type is the sentinel, html-ish but not literally text/html); the response is still parsed and crawled as html. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> | 10 天前 | |
debian: fix assorted lintian tags - webhttrack: depend firmly on sensible-utils (it calls sensible-browser), drop the missing-depends-on-sensible-utils override. - copyright: point to /usr/share/common-licenses/GPL-3, not the GPL symlink. - watch: use https and version=4. - control: add Rules-Requires-Root: no and Vcs-Browser. - strip trailing whitespace in control, rules and changelog. | 19 天前 | |
Added KDE/Gnome PNG icons (16x16, 32x32 and 48x38) for default hicolor theme. | 12 年前 | |
Fixed and modernize lintian handling | 3 年前 | |
Ship AppStream MetaInfo for WebHTTrack The Debian AppStream generator flagged both webhttrack desktop entries as no-metainfo: with no MetaInfo file, the catalog entry is synthesized from the .desktop file and the package description, which is deprecated and risks the app being dropped from the metadata catalog. Add com.httrack.WebHTTrack.metainfo.xml (installed to share/metainfo) for the main app, launching WebHTTrack.desktop. Mark the secondary "Browse Mirrored Websites" launcher with X-AppStream-Ignore=true so it doesn't produce a duplicate, metadata-less catalog entry. Validated with appstreamcli validate and desktop-file-validate. Signed-off-by: Xavier Roche <roche@httrack.com> | 17 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 小时前 | ||
| 5 小时前 | ||
| 3 天前 | ||
| 5 小时前 | ||
| 9 天前 | ||
| 14 年前 | ||
| 3 年前 | ||
| 11 天前 | ||
| 3 年前 | ||
| 17 天前 | ||
| 10 天前 | ||
| 9 天前 | ||
| 14 年前 | ||
| 9 天前 | ||
| 10 天前 | ||
| 19 天前 | ||
| 12 年前 | ||
| 3 年前 | ||
| 17 天前 |