feat: add jsonnet and jsonnet-lint packages #59
1
rpms/jsonnet-lint/0.21.0/release
Normal file
1
rpms/jsonnet-lint/0.21.0/release
Normal file
@ -0,0 +1 @@
|
||||
1
|
||||
19
rpms/jsonnet-lint/Dockerfile
Normal file
19
rpms/jsonnet-lint/Dockerfile
Normal file
@ -0,0 +1,19 @@
|
||||
# Start with the AlmaLinux 9 base image
|
||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||
|
||||
# Create output directory for RPMs
|
||||
RUN mkdir -p /app/dist
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /app
|
||||
|
||||
ARG PACKAGE_RELEASE
|
||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
||||
ARG PACKAGE_VERSION
|
||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
||||
|
||||
# Copy resources from the context into the container
|
||||
COPY resources /app/resources
|
||||
|
||||
# Default command to build RPMs
|
||||
CMD /app/resources/build.sh
|
||||
19
rpms/jsonnet-lint/resources/build.sh
Executable file
19
rpms/jsonnet-lint/resources/build.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Install dependencies and Go 1.24
|
||||
dnf install -y wget git make
|
||||
|
||||
# Download and install Go 1.24.7
|
||||
wget https://go.dev/dl/go1.24.7.linux-amd64.tar.gz
|
||||
rm -rf /usr/local/go
|
||||
tar -C /usr/local -xzf go1.24.7.linux-amd64.tar.gz
|
||||
export PATH=/usr/local/go/bin:$PATH
|
||||
|
||||
# Verify Go installation
|
||||
go version
|
||||
|
||||
# Build jsonnet-lint binary
|
||||
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet-lint@v${PACKAGE_VERSION}
|
||||
|
||||
# Build RPM package
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
30
rpms/jsonnet-lint/resources/nfpm.yaml
Normal file
30
rpms/jsonnet-lint/resources/nfpm.yaml
Normal file
@ -0,0 +1,30 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: jsonnet-lint
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "Linter for Jsonnet"
|
||||
maintainer: Google
|
||||
homepage: https://github.com/google/go-jsonnet
|
||||
license: Apache-2.0
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- jsonnet-lint
|
||||
|
||||
provides:
|
||||
- jsonnet-lint
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/jsonnet-lint
|
||||
dst: /usr/bin/jsonnet-lint
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
1
rpms/jsonnet/0.21.0/release
Normal file
1
rpms/jsonnet/0.21.0/release
Normal file
@ -0,0 +1 @@
|
||||
1
|
||||
19
rpms/jsonnet/Dockerfile
Normal file
19
rpms/jsonnet/Dockerfile
Normal file
@ -0,0 +1,19 @@
|
||||
# Start with the AlmaLinux 9 base image
|
||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||
|
||||
# Create output directory for RPMs
|
||||
RUN mkdir -p /app/dist
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /app
|
||||
|
||||
ARG PACKAGE_RELEASE
|
||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
||||
ARG PACKAGE_VERSION
|
||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
||||
|
||||
# Copy resources from the context into the container
|
||||
COPY resources /app/resources
|
||||
|
||||
# Default command to build RPMs
|
||||
CMD /app/resources/build.sh
|
||||
20
rpms/jsonnet/resources/build.sh
Executable file
20
rpms/jsonnet/resources/build.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Install dependencies and Go 1.24
|
||||
dnf install -y wget git make
|
||||
|
||||
# Download and install Go 1.24.7
|
||||
wget https://go.dev/dl/go1.24.7.linux-amd64.tar.gz
|
||||
rm -rf /usr/local/go
|
||||
tar -C /usr/local -xzf go1.24.7.linux-amd64.tar.gz
|
||||
export PATH=/usr/local/go/bin:$PATH
|
||||
|
||||
# Verify Go installation
|
||||
go version
|
||||
|
||||
# Build jsonnet binaries
|
||||
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet@v${PACKAGE_VERSION}
|
||||
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnetfmt@v${PACKAGE_VERSION}
|
||||
|
||||
# Build RPM package
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
36
rpms/jsonnet/resources/nfpm.yaml
Normal file
36
rpms/jsonnet/resources/nfpm.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: jsonnet
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "A data templating language"
|
||||
maintainer: Google
|
||||
homepage: https://github.com/google/go-jsonnet
|
||||
license: Apache-2.0
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- jsonnet
|
||||
|
||||
provides:
|
||||
- jsonnet
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/jsonnet
|
||||
dst: /usr/bin/jsonnet
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
- src: /app/jsonnetfmt
|
||||
dst: /usr/bin/jsonnetfmt
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
Loading…
Reference in New Issue
Block a user