Skip to content

Commit a28a8fe

Browse files
committed
3rd party license declarations
1 parent 1c29cb2 commit a28a8fe

6 files changed

Lines changed: 65 additions & 3 deletions

File tree

Dockerfile

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
ARG RMLSTREAMER_VERSION=2.5.0
2+
13
FROM eclipse-temurin:11-jre AS build-hdt-cpp
24

5+
ARG RMLSTREAMER_VERSION
6+
37
RUN apt-get update \
48
&& apt-get install -y --no-install-recommends \
59
autoconf \
@@ -14,18 +18,25 @@ RUN apt-get update \
1418
&& rm -rf /var/lib/apt/lists/*
1519

1620
WORKDIR /opt
17-
RUN git clone --depth 1 https://github.com/rdfhdt/hdt-cpp.git
21+
RUN git clone --depth 1 https://github.com/rdfhdt/hdt-cpp.git \
22+
&& (git clone --branch "v${RMLSTREAMER_VERSION}" --depth 1 https://github.com/RMLio/RMLStreamer.git /opt/RMLStreamer \
23+
|| git clone --branch "${RMLSTREAMER_VERSION}" --depth 1 https://github.com/RMLio/RMLStreamer.git /opt/RMLStreamer \
24+
|| git clone --depth 1 https://github.com/RMLio/RMLStreamer.git /opt/RMLStreamer)
1825

1926
WORKDIR /opt/hdt-cpp
2027
RUN ./autogen.sh \
2128
&& ./configure \
2229
&& make -j"$(nproc)" \
2330
&& make install
2431

32+
RUN mkdir -p /opt/third_party_licenses \
33+
&& cp /opt/hdt-cpp/libhdt/COPYRIGHT /opt/third_party_licenses/HDT-CPP.COPYRIGHT \
34+
&& cp /opt/RMLStreamer/LICENSE /opt/third_party_licenses/RMLStreamer.LICENSE
35+
2536

2637
FROM eclipse-temurin:11-jre
2738

28-
ARG RMLSTREAMER_VERSION=2.5.0
39+
ARG RMLSTREAMER_VERSION
2940

3041
RUN apt-get update \
3142
&& apt-get install -y --no-install-recommends \
@@ -51,6 +62,8 @@ COPY --from=build-hdt-cpp /usr/local/bin/rdf2hdt /usr/local/bin/rdf2hdt
5162
COPY --from=build-hdt-cpp /usr/local/bin/hdt2rdf /usr/local/bin/hdt2rdf
5263
COPY --from=build-hdt-cpp /usr/local/lib/libcds* /usr/local/lib/
5364
COPY --from=build-hdt-cpp /usr/local/lib/libhdt* /usr/local/lib/
65+
COPY --from=build-hdt-cpp /opt/third_party_licenses/ /usr/share/licenses/vcf-rdfizer/
66+
COPY THIRD_PARTY_NOTICES.md /usr/share/licenses/vcf-rdfizer/THIRD_PARTY_NOTICES.md
5467
COPY src/*.sh /opt/vcf-rdfizer/
5568

5669
RUN chmod +x /opt/vcf-rdfizer/*.sh \

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,19 @@ vcf-rdfizer --help
136136

137137
Note: these installs provide the Python wrapper CLI. Docker is still required at runtime.
138138

139+
## Third-Party Licensing
140+
141+
This project depends on:
142+
- `RMLStreamer`: <https://github.com/RMLio/RMLStreamer>
143+
- `HDT-cpp`: <https://github.com/rdfhdt/hdt-cpp>
144+
145+
License/compliance handling:
146+
- Python/Conda package (`vcf-rdfizer`) ships the wrapper only.
147+
- Docker image ships third-party runtime tools and includes copied license files under:
148+
- `/usr/share/licenses/vcf-rdfizer/`
149+
- Repository notice file:
150+
- `THIRD_PARTY_NOTICES.md`
151+
139152
Outputs:
140153
- `./tsv` for TSV intermediates
141154
- `./out` for RDF output

THIRD_PARTY_NOTICES.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Third-Party Notices
2+
3+
VCF-RDFizer (this repository) is released under the MIT License (see `LICENSE`).
4+
5+
The Docker image also includes third-party software. Their licenses remain with
6+
their respective authors and apply to those components.
7+
8+
## Included in Docker image
9+
10+
1. `HDT-cpp`
11+
- Repository: <https://github.com/rdfhdt/hdt-cpp>
12+
- Usage in this project: RDF (`.nt`) to HDT conversion (`rdf2hdt`, `hdt2rdf`)
13+
- Upstream license statement: LGPL (see upstream project documentation and `libhdt/COPYRIGHT`)
14+
- License files copied into image:
15+
- `/usr/share/licenses/vcf-rdfizer/HDT-CPP.COPYRIGHT`
16+
17+
2. `RMLStreamer`
18+
- Repository: <https://github.com/RMLio/RMLStreamer>
19+
- Usage in this project: TSV-to-RDF conversion
20+
- Upstream license: MIT
21+
- License files copied into image:
22+
- `/usr/share/licenses/vcf-rdfizer/RMLStreamer.LICENSE`
23+
24+
## Notes for package users
25+
26+
- The `pip` and `conda` packages install the Python wrapper CLI only.
27+
- The third-party binaries above are bundled in the Docker image, not in the
28+
Python/conda package payload.

conda-recipe/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,9 @@ After the initial feedstock is created:
3030

3131
`vcf-rdfizer` uses Docker for actual conversion/compression execution.
3232
Conda installs the wrapper CLI; users still need Docker installed and running.
33+
34+
## License scope reminder
35+
36+
The conda package distributes the Python wrapper only.
37+
Third-party runtime tools used by the Docker image (for example HDT-cpp and
38+
RMLStreamer) are documented in `THIRD_PARTY_NOTICES.md`.

conda-recipe/meta.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ package:
77

88
source:
99
url: https://github.com/ecrum19/VCF-RDFizer/archive/refs/tags/v{{ version }}.tar.gz
10-
sha256: REPLACE_WITH_RELEASE_TARBALL_SHA256
10+
sha256: 958fd83c06aed34c9ef8f338f90fea07f4422017e6c45dead4dd3a1f1fee0ecc
1111

1212
build:
1313
noarch: python
@@ -35,10 +35,12 @@ about:
3535
home: https://github.com/ecrum19/VCF-RDFizer
3636
summary: Docker-first VCF to RDF conversion wrapper with compression and decompression modes
3737
license: MIT
38+
license_family: MIT
3839
license_file: LICENSE
3940
description: |
4041
VCF-RDFizer provides a Python CLI wrapper around a Dockerized VCF to RDF conversion pipeline.
4142
It requires a working Docker installation at runtime for conversion/compression commands.
43+
doc_url: https://github.com/ecrum19/VCF-RDFizer/blob/main/README.md
4244

4345
extra:
4446
recipe-maintainers:

vcf-rdfizer-v1.0.0.tar.gz

144 KB
Binary file not shown.

0 commit comments

Comments
 (0)