liqp 0.9.2.3+ds-1
Package Information
| Description | Java implementation of the Liquid templating engine Liqp is a Java implementation of the Liquid templating engine backed up by an ANTLR grammar. It can be used to construct a parse tree of some Liquid input, or to render Liquid input source (either files, or input strings) with template variables given as a map, a JSON string or Java objects. Flavors select the behaviour of Jekyll's templates, of Liquid's, or Liqp's own defaults; custom filters, tags and blocks can be registered. |
|---|---|
| Maintainer | Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org> |
| Changed By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Sponsor | tsimonq2@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/java-team/liqp.git (browse) |
| Closes | #1149769 |
| Tracker | https://tracker.debian.org/pkg/liqp |
| Uploaded | 5 hours ago |
New Package Report
.changes
| Source | liqp |
|---|---|
| Version | 0.9.2.3+ds-1 |
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Architecture | source all |
| Distribution | unstable |
| Date | Fri, 02 Oct 2026 21:51:44 +0200 |
Changelog
liqp (0.9.2.3+ds-1) unstable; urgency=medium . * Initial release. (Closes: #1149769)
.dsc
| Section | java |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | libliqp-java deb java optional arch=all |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Liqp
Upstream-Contact: Bart Kiers <bart@big-o.nl>
Source: https://github.com/bkiers/Liqp
Comment:
The orig tarball is repacked (+ds) to drop:
- .mvn, mvnw and mvnw.cmd: the Maven wrapper, a prebuilt jar
(.mvn/wrapper/maven-wrapper.jar) and scripts that download Maven;
- src/test/java/liqp/nodes/ComparingExpressionNodeTest.java: a test
whose cartesianProduct() helper says it comes "from
https://stackoverflow.com/questions/714108/cartesian-product-of-an-arbitrary-number-of-sets",
a 2009 Stack Overflow thread; contributions of that time are under
CC-BY-SA-2.5, which is not DFSG free. Nothing else uses the file.
Files-Excluded:
.mvn
mvnw
mvnw.cmd
src/test/java/liqp/nodes/ComparingExpressionNodeTest.java
Files: *
Copyright: 2010-2013, Bart Kiers
License: Expat
Comment:
The source files carry no copyright headers; LICENSE ("Copyright (c)
2010-2013 by Bart Kiers", MIT) and NOTICE ("Copyright (c) 2010-2013 by
Bart Kiers, bart@big-o.nl") cover the project, including later
contributions. Some files name Christian Kohlschuetter as @author
(RenderTransformer, Insertions, PlainBigDecimal and the Push, Pop,
Shift and Unshift filters), with no copyright statement of their own.
The Liquid grammar (src/main/antlr4) is upstream's own; the parser is
generated from it at build time. The *.liquid, *.html and *.rb files
under _includes, alternative_includes, snippets, ruby and src/test are
upstream's test templates and test scripts.
Files: src/main/java/liqp/blocks/For.java
src/main/java/liqp/filters/Abs.java
src/main/java/liqp/filters/Strip_HTML.java
src/main/java/liqp/filters/where/LiquidWhereImpl.java
src/test/java/liqp/ConditionTest.java
src/test/java/liqp/InsertionTest.java
src/test/java/liqp/StatementsTest.java
src/test/java/liqp/blocks/CaptureTest.java
src/test/java/liqp/blocks/CaseTest.java
src/test/java/liqp/blocks/CommentTest.java
src/test/java/liqp/blocks/CycleTest.java
src/test/java/liqp/blocks/ForTest.java
src/test/java/liqp/blocks/IfTest.java
src/test/java/liqp/blocks/IfchangedTest.java
src/test/java/liqp/blocks/RawTest.java
src/test/java/liqp/blocks/TablerowTest.java
src/test/java/liqp/blocks/UnlessTest.java
src/test/java/liqp/filters/AbsTest.java
src/test/java/liqp/filters/AppendTest.java
src/test/java/liqp/filters/At_LeastTest.java
src/test/java/liqp/filters/At_MostTest.java
src/test/java/liqp/filters/CeilTest.java
src/test/java/liqp/filters/ConcatTest.java
src/test/java/liqp/filters/DateTest.java
src/test/java/liqp/filters/DefaultTest.java
src/test/java/liqp/filters/Divided_ByTest.java
src/test/java/liqp/filters/DowncaseTest.java
src/test/java/liqp/filters/EscapeTest.java
src/test/java/liqp/filters/Escape_OnceTest.java
src/test/java/liqp/filters/FirstTest.java
src/test/java/liqp/filters/FloorTest.java
src/test/java/liqp/filters/HTest.java
src/test/java/liqp/filters/JoinTest.java
src/test/java/liqp/filters/LastTest.java
src/test/java/liqp/filters/LstripTest.java
src/test/java/liqp/filters/MapTest.java
src/test/java/liqp/filters/MinusTest.java
src/test/java/liqp/filters/PlusTest.java
src/test/java/liqp/filters/PrependTest.java
src/test/java/liqp/filters/RemoveTest.java
src/test/java/liqp/filters/Remove_FirstTest.java
src/test/java/liqp/filters/ReplaceTest.java
src/test/java/liqp/filters/Replace_FirstTest.java
src/test/java/liqp/filters/RoundTest.java
src/test/java/liqp/filters/RstripTest.java
src/test/java/liqp/filters/SizeTest.java
src/test/java/liqp/filters/SliceTest.java
src/test/java/liqp/filters/SortTest.java
src/test/java/liqp/filters/Sort_NaturalTest.java
src/test/java/liqp/filters/SplitTest.java
src/test/java/liqp/filters/StripTest.java
src/test/java/liqp/filters/Strip_HTMLTest.java
src/test/java/liqp/filters/Strip_NewlinesTest.java
src/test/java/liqp/filters/TimesTest.java
src/test/java/liqp/filters/TruncateTest.java
src/test/java/liqp/filters/TruncatewordsTest.java
src/test/java/liqp/filters/UpcaseTest.java
src/test/java/liqp/filters/Url_DecodeTest.java
src/test/java/liqp/filters/Url_EncodeTest.java
src/test/java/liqp/filters/where/LiquidWhereImplTest.java
src/test/java/liqp/nodes/BlockNodeTest.java
src/test/java/liqp/nodes/EqNodeTest.java
src/test/java/liqp/nodes/LookupNodeTest.java
src/test/java/liqp/parser/ParseTest.java
src/test/java/liqp/tags/AssignTest.java
src/test/java/liqp/tags/IncrementTest.java
Copyright: 2010-2013, Bart Kiers
2005, 2006, Tobias Luetke
License: Expat
Comment: Ruby code from Shopify Liquid (https://github.com/Shopify/liquid, MIT), quoted and translated.
Files: ruby/_helpers.rb
src/main/java/liqp/filters/Absolute_Url.java
src/main/java/liqp/filters/Where_Exp.java
src/main/java/liqp/filters/where/JekyllWhereImpl.java
src/main/java/liqp/tags/IncludeRelative.java
src/test/java/liqp/filters/Absolute_UrlTest.java
src/test/java/liqp/filters/Normalize_WhitespaceTest.java
src/test/java/liqp/filters/Relative_UrlTest.java
src/test/java/liqp/filters/Where_ExpTest.java
src/test/java/liqp/filters/where/JekyllWhereImplTest.java
Copyright: 2010-2013, Bart Kiers
2008-present, Tom Preston-Werner and Jekyll contributors
License: Expat
Comment: Ruby code from Jekyll (https://github.com/jekyll/jekyll, MIT), quoted and translated.
Files: ruby/cases_where_filter.rb
Copyright: 2010-2013, Bart Kiers
2005, 2006, Tobias Luetke
2008-present, Tom Preston-Werner and Jekyll contributors
License: Expat
Comment: Test script quoting tests from both Liquid and Jekyll.
Files: debian/*
Copyright: 2026, Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: Expat
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 0 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 1 hour ago.
Report
DFSG NEW review for liqp version 0.9.2.3+ds-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 0 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The whole tree is MIT (Expat): LICENSE and NOTICE name Bart Kiers, and the files that translate or quote Ruby code from Shopify Liquid or Jekyll are separately credited to Tobias Luetke and to Tom Preston-Werner and Jekyll contributors. No file carries a different or extra licence, and no non-free wording (non-commercial, no-derivatives, field-of-use) exists anywhere in the tree or in any test fixture. The two files with unsuitable provenance, the Maven wrapper jar and ComparingExpressionNodeTest.java (Stack Overflow), are excluded from the +ds tarball and are absent; debian/copyright is DEP-5, reproduces the MIT text in full, and its stanzas match the Ruby code actually quoted in the Java tests.
Packaging
Plain maven-debian-helper packaging that does what Policy and Java team practice want: debhelper-compat 14 with dh $@ (the maven buildsystem is auto-detected from pom.xml, so no --buildsystem is needed), architecture-independent dependencies properly in Build-Depends-Indep, one DEP-3 patch that the tree shows applied and that compiles either way, an autopkgtest exercising the installed jar through the library's real defaults, Vcs-* and upstream/metadata present, and Standards-Version 4.7.4 current against Policy 4.7.4.1. Only one thing could not be confirmed: whether all names in Build-Depends-Indep exist in the archive.
Issues
None.
Verified
- The prescan listed no files at all and no unmatched holder: it scanned 314 files and matched every holder it found against
debian/copyright, so there is nothing left to account for from it. debian/copyrightis machine-readable (Format 1.0) with Upstream-Name/Upstream-Contact/Source, a header Comment, Files-Excluded, the five Files stanzas and one stand-aloneLicense: Expatparagraph; the MIT text it gives is identical in substance toLICENSE.- A grep of the whole tree (excluding
.pc/anddebian/) forCopyright,(C),©,SPDX-License-Identifier,Licensed under,All rights reserved,Permission is hereby granted,GNU,Apache License,Mozilla Public,public domain,CC-BY,Creative Commons,non-commercialandnot Evilmatches onlyLICENSEandNOTICE: no source file carries a header, so theFiles: */debian/*structure plus the two third-party stanzas describes the tree completely. - Files quoting Ruby test code were enumerated with a grep for
def test_,assert_equalandassert_template_result: AbsTest, At_LeastTest, At_MostTest, CeilTest, ConcatTest, DefaultTest, FloorTest, LstripTest, RoundTest, RstripTest, SliceTest, Sort_NaturalTest, StripTest, Url_DecodeTest, Url_EncodeTest and where/LiquidWhereImplTest contain Liquid's test code and are in the Liquid/Tobias Luetke stanza; Absolute_UrlTest, Normalize_WhitespaceTest, Relative_UrlTest and where/JekyllWhereImplTest contain Jekyll's and are in the Jekyll stanza. No file with quoted Ruby code is left inFiles: *only. ruby/cases_absolute_url_sharp.rbrepeats the Jekyll test setup thatruby/_helpers.rbholds (Jekyll::Configuration/DEFAULTS, Jekyll::Site, render helper); that boilerplate is Jekyll's MIT code, whose holders are already named indebian/copyright; the rest of theruby/scripts are upstream's own assertions calling Liquid/Jekyll APIs.@author Christian Kohlschütterappears in Insertions.java, PlainBigDecimal.java, RenderTransformer.java and filters/{Pop,Push,Shift,Unshift}.java with no copyright statement, exactly as theFiles: *Comment says; no other author tag orCreated byline makes a copyright claim.- The
stackoverflow.comlink at ruby/cases_empty_and_blank.rb:35 is a comment explaining that Ruby-on-Rails'blank?is deliberately not reproduced, not copied code; the same applies to the gist URL in filters/Absolute_Url.java:88. - Every Files-Excluded entry is gone from the unpacked tree: no
.mvn/,mvnwormvnw.cmd, and nosrc/test/java/liqp/nodes/ComparingExpressionNodeTest.java. .github/badges/branches.svgand.github/badges/jacoco.svgare shields.io-format JaCoCo status badges produced by the workflow in.github/workflows/ci.yml(cicirello/jacoco-badge-generator); they are generated images carrying no code and are covered by the ExpatFiles: *stanza.ruby/docker_images/jekyll/Dockerfileandruby/docker_images/liquid/Dockerfileare upstream's throwaway containers for running the Ruby comparison scripts (FROM ruby:3.3-alpine/FROM alpine:latest,gem install jekyll/liquid); they contain no third-party code and are not used by the Debian build.- The maven buildsystem is selected automatically:
check_auto_buildablein /usr/share/perl5/Debian/Debhelper/Buildsystem/maven.pm returns true whenpom.xmlexists, sodh $@indebian/rulesrunsmh_patchpoms, the ANTLR generation and the jar/pom installation without--buildsystem=maven. debian/patches/json-filter-ioexception.patchis listed inseriesand applied:src/main/java/liqp/filters/Json.javacatchesIOException, and the header has Description, Author, Forwarded and Last-Update.- Build-Depends names checked with apt-cache:
antlr4-maven-plugin4.9.2-3 matches the 4.9.2 pinned indebian/maven.rules;libjackson2-modules-java8-java2.22.4-1 is the package that provides thejackson-datatype-jsr310module the POM needs and the autopkgtest puts on its classpath; jackson core/annotations/databind, antlr4, junit4, maven-debian-helper and default-jdk-headless are the normal Java team packages. debian/tests/rendermatches the library's actual defaults: the default LIQUID flavor'ssnippetsFolderNameis "snippets" (src/main/java/liqp/parser/Flavor.java, TemplateParser.Builder.build), so{% include 'greet' ... %}resolvessnippets/greet.liquid, which the script creates.- All of
debian/read in full: control, rules, changelog (unstable, 0.9.2.3+ds-1, closes ITP #1149769, valid date), gbp.conf, libliqp-java.poms, maven.rules, maven.ignoreRules, README.source, source/format (3.0 quilt), tests/control, tests/render, upstream/metadata, patches/. There are no maintainer scripts, .install/.links/.docs/.dirs files, and no debian/compat; maven-debian-helper installs the jar, symlink and POM itself. - Standards-Version 4.7.4 against the reviewing system's Policy 4.7.4.1: current, not an issue.
- uscan found the packaged version as the newest upstream release (upstream
0.9.2.3, packaged0.9.2.3+ds).
Not confirmed
libstrftime4j-java, in Build-Depends-Indep, is not in the unstable/experimental package lists nor in the NEW queue as of 2026-10-29T04:00:53Z (apt-cache answers "no packages found" and nothing provides it), so whether the package is buildable in a clean unstable chroot depends on a fact the lists do not show; it is presumably present or awaiting its own NEW review, since the review assumes the build succeeds.- The executable bit on
debian/tests/rendercould not be checked (read access gives no file modes), so autopkgtest's ability to run it asTests: renderwas not verified. - Whether Debian's current jackson-databind still declares
throws IOExceptiononObjectMapper.writeValueAsStringwas not checked (the installed jar is binary); catchingIOExceptionaround a call that declares the subclassJsonProcessingExceptioncompiles either way, so the patch is harmless, but it may no longer be needed.
Proposed changes
None.
Uploader's response to the LLM review
The uploader was emailed about the review 1 hour ago.