Packaging era split: 25.12 SDK cannot emit ipk — two pinned SDKs (format-selected), or drop ipk

Abierto
#708 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
go

Línea de trabajo

Start by reading packaging/build-inputs.json, build-sdk-package.sh, and the CI matrix, then compare the existing per-release Go handling in go_per_release and sdk-go-version.sh. The maintainer decision is whether ipk remains supported; if yes, done means format-selected, digest-pinned SDKs and matching arch × format CI rows, with each lane producing its expected package. If no, remove the ipk matrix rows and document the 25.12/apk-only choice.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The 24.x/25.x packaging split — analysis and proposal (from the rc1 build driver failures)

Observed: the ipk-lane driver failed on the 25.12.0 SDK with "no .ipk found" — because OpenWrt 25.12 is the apk-native era: its SDK emits .apk regardless of the CONFIG_USE_APK dance (scripts/build-sdk-package.sh appends CONFIG_USE_APK=y only for the apk branch; 25.12's default is already apk, so the ipk lane searches for an extension that era never produces). The rc1 build's apk lane succeeded (tollgate-wrt-0.6.0_rc1-r0.apk staged); the ipk lane cannot succeed on this SDK by construction.

Why ipk can't just be dropped: fork #93/#110's evidence — the installed base installs via opkg on feed-less 24.10-era systems (and orphan-removal semantics that #707 fail-louds). The ipk output is the format those devices consume.

Proposal — two pinned SDKs, format-selected:

  1. packaging/build-inputs.json: extend openwrt_sdk from a single release: 25.12.0 to per-format pins — apk: {release: 25.12.0, …} and ipk: {release: 24.10.x, …} — each with its own digest-pinned targets. The scaffolding already exists: go_per_release maps 24.10's toolchain today, and sdk-go-version.sh audits per release; the .go.version pin follows the apk (release) line as the shipped-binary truth, with the ipk SDK's older Go checked as ≥ directive floor (and if 24.10's feed Go < 1.26: the ipk lane pins GOTOOLCHAIN from the manifest tarball — the same single-source-of-truth rule #687 established).
  2. build-sdk-package.sh: PACKAGE_FORMAT selects its SDK; the driver's PACKAGE_EXTENSION check then matches what its era actually emits.
  3. CI matrix: arch × format → the right SDK per row.

Owner decision embedded: confirm ipk stays a supported output (recommend yes — the installed base needs it). If instead the answer is "25.12/apk only", the ipk matrix rows delete and this issue closes with the era note.

(From the orchestrator session; the release lane is fighting this exact mismatch in the rc1 driver right now — implementation can ride its current build work.)

Lenguaje dominante
Go
Estrellas
12
Forks
14
Merge medio
3 d 20 h
PR fusionados (30 d)
261

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de OpenTollGate/tollgate-module-basic-go

Todos los issues de OpenTollGate/tollgate-module-basic-go

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.