mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-09-11 02:44:57 +08:00
This commit is contained in:
@@ -15,12 +15,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-wwand
|
||||
PKG_RELEASE:=6
|
||||
PKG_RELEASE:=7
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/ddimension/luci-app-wwand.git
|
||||
PKG_SOURCE_VERSION:=a716b595603f2b1bc01d71be199c63bacc1ba9fc
|
||||
PKG_SOURCE_DATE:=2026-08-25
|
||||
PKG_SOURCE_VERSION:=8dab3e346939ddc633f86e36b4b30365f62d74e0
|
||||
PKG_SOURCE_DATE:=2026-08-27
|
||||
PKG_MIRROR_HASH:=skip
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright (C) 2026 jjm2473@gmail.com
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v3.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
MISE_ARCH_x86_64:=x64
|
||||
MISE_ARCH_aarch64:=arm64
|
||||
MISE_ARCH:=$(MISE_ARCH_$(ARCH))
|
||||
|
||||
MISE_HASH_x86_64:=3832f39c325e343f81fe3d92b2447c5d1a5eea1bc85092bb7b6c25806222647e
|
||||
MISE_HASH_aarch64:=06186cfbfe947049b21d58575fb0ea800cc26ed1375f20f4b678cb3a9d679437
|
||||
|
||||
PKG_NAME:=mise
|
||||
PKG_VERSION:=2026.8.14
|
||||
PKG_RELEASE:=1
|
||||
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION)-linux-$(MISE_ARCH)-musl.tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/jdx/mise/releases/download/v$(PKG_VERSION)/
|
||||
PKG_HASH:=skip
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/$(PKG_NAME)
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=mise - polyglot tool version manager
|
||||
DEPENDS:=@(x86_64||aarch64)
|
||||
URL:=https://mise.jdx.dev
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/description
|
||||
mise manages development tool versions, environment variables, and tasks.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/mise $(1)/usr/bin/mise
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,$(PKG_NAME)))
|
||||
+60
-44
@@ -13,15 +13,28 @@
|
||||
# wwand-esim - eSIM management (DEPENDS wwand-qmi + wwand-lpac)
|
||||
# A typical QMI router installs `wwand-qmi` (which pulls in `wwand`); add
|
||||
# `wwand-mbim` / `wwand-ncm` for those modems, `wwand-mhi` for a PCIe/MHI modem.
|
||||
# The ucode tree ships as SOURCE by default. It can be precompiled to bytecode
|
||||
# (repo-root CMakeLists.txt, alongside wwand_io.so) via CONFIG_WWAND_UCODE_
|
||||
# PRECOMPILE, but that is opt-in and only sound when ucode and wwand are built
|
||||
# in the SAME tree: bytecode carries a format version (UCODE_BYTECODE_VERSION,
|
||||
# ucode's include/ucode/vm.h) that an interpreter upgraded past it refuses to
|
||||
# load, and no package relation can express that coupling — it is independent
|
||||
# of libucode's PKG_ABI_VERSION/SONAME, so an ABI-versioned dependency does not
|
||||
# capture it either. In a feed, where ucode is upgraded on its own, that is a
|
||||
# coupling we must not create.
|
||||
# The ucode tree ships PRECOMPILED to bytecode (repo-root CMakeLists.txt,
|
||||
# alongside wwand_io.so). `CONFIG_WWAND_UCODE_SOURCE` opts out and ships the
|
||||
# readable sources instead — the same polarity the wwand repo's CMakeLists.txt
|
||||
# and files/wwand.init already assume.
|
||||
#
|
||||
# The polarity matters beyond taste. It used to be an opt-in
|
||||
# (WWAND_UCODE_PRECOMPILE, default n), which meant the desired outcome depended
|
||||
# on a symbol SURVIVING defconfig — and in a per-package SDK build it does not:
|
||||
# defconfig dropped it together with the CONFIG_PACKAGE_wwand it depends on, and
|
||||
# the build then shipped source while reporting success. As an opt-out, a
|
||||
# dropped symbol lands on the default we want, so the failure mode is gone.
|
||||
#
|
||||
# KNOWN COUPLING, accepted deliberately: bytecode carries a format version
|
||||
# (UCODE_BYTECODE_VERSION, ucode's include/ucode/vm.h) that an interpreter
|
||||
# upgraded past it refuses to load, and no package relation can express that —
|
||||
# it is independent of libucode's PKG_ABI_VERSION/SONAME, so an ABI-versioned
|
||||
# dependency does not capture it either. Upgrading ucode alone can therefore
|
||||
# leave the daemon unable to start. That is not silent: files/wwand.init
|
||||
# recognises "Bytecode version mismatch" / "Invalid file magic" and refuses with
|
||||
# an explanatory line instead of respawning forever. The remedy is to reinstall
|
||||
# wwand built against the running ucode, or to build with
|
||||
# CONFIG_WWAND_UCODE_SOURCE.
|
||||
#
|
||||
# NOTE: the split needs the ucode source that lazy-loads every backend
|
||||
# (qmi_lazy.uc + the backend-neutral daemon). Bump PKG_SOURCE_VERSION (and
|
||||
@@ -30,26 +43,24 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=wwand
|
||||
PKG_RELEASE:=10
|
||||
PKG_RELEASE:=11
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/ddimension/wwand.git
|
||||
PKG_SOURCE_VERSION:=648283c23470d602459ce2c54a60adf9109370da
|
||||
PKG_SOURCE_DATE:=2026-08-26
|
||||
PKG_SOURCE_VERSION:=fc013f140d423867b993c6026fd435ec750cbb91
|
||||
PKG_SOURCE_DATE:=2026-08-27
|
||||
PKG_MIRROR_HASH:=skip
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
PKG_MAINTAINER:=
|
||||
|
||||
# host ucode is the bytecode compiler, needed ONLY on the opt-in precompile
|
||||
# path — so a default build does not pay for a host ucode nothing consumes.
|
||||
#
|
||||
# SYMBOL:pkg, not $(if $(CONFIG_...),...): Build-Depends is emitted by the
|
||||
# metadata scan, which runs with DUMP=1, and rules.mk skips $(TOPDIR)/.config in
|
||||
# that case — a $(if ...) wrapper is always empty there and would drop the
|
||||
# dependency unconditionally, leaving the opt-in to silently fall back to
|
||||
# source. package-metadata.pl builds the conditional from the prefix instead.
|
||||
PKG_BUILD_DEPENDS:=WWAND_UCODE_PRECOMPILE:ucode/host
|
||||
# host ucode is the bytecode compiler, and it is now needed on the DEFAULT path,
|
||||
# so the dependency is unconditional. It was `WWAND_UCODE_PRECOMPILE:ucode/host`
|
||||
# — a conditional that could only ever be as reliable as the symbol behind it,
|
||||
# and when the symbol went missing the compiler went with it and cmake fell back
|
||||
# to shipping source. A build that opts out with CONFIG_WWAND_UCODE_SOURCE pays
|
||||
# for a host ucode it does not use; that is the cheaper mistake by far.
|
||||
PKG_BUILD_DEPENDS:=ucode/host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
@@ -65,12 +76,11 @@ CMAKE_BINARY_SUBDIR:=build
|
||||
|
||||
CMAKE_OPTIONS += \
|
||||
-DUCODE_COMPILER=$(STAGING_DIR_HOSTPKG)/bin/ucode \
|
||||
-DUCODE_PRECOMPILE=$(if $(CONFIG_WWAND_UCODE_PRECOMPILE),ON,OFF)
|
||||
-DUCODE_PRECOMPILE=$(if $(CONFIG_WWAND_UCODE_SOURCE),OFF,ON)
|
||||
|
||||
# every install section takes the ucode tree from here: the bytecode output of
|
||||
# the plain sources, or the cmake bytecode output when CONFIG_WWAND_UCODE_
|
||||
# PRECOMPILE is set.
|
||||
WWAND_UCODE=$(if $(CONFIG_WWAND_UCODE_PRECOMPILE),$(CMAKE_BINARY_DIR)/ucode/wwand,$(PKG_BUILD_DIR)/src-ucode)
|
||||
# every install section takes the ucode tree from here: the cmake bytecode
|
||||
# output, or the plain sources when CONFIG_WWAND_UCODE_SOURCE opts out.
|
||||
WWAND_UCODE=$(if $(CONFIG_WWAND_UCODE_SOURCE),$(PKG_BUILD_DIR)/src-ucode,$(CMAKE_BINARY_DIR)/ucode/wwand)
|
||||
|
||||
UCDIR:=/usr/share/ucode/wwand
|
||||
|
||||
@@ -89,30 +99,34 @@ WWAND_BASE_CODEC:=arfcn_bands.uc hex.uc qmux.uc tlv.uc
|
||||
WWAND_BASE_SCHEMA:=ctl.uc dms.uc dsd.uc loc.uc loc_lazy.uc merge.uc nas.uc rat.uc \
|
||||
uim.uc wda.uc wds.uc wms.uc wms_lazy.uc
|
||||
|
||||
# DEVELOPERS: leave CONFIG_WWAND_UCODE_PRECOMPILE off (the default)
|
||||
# to ship readable .uc source instead of bytecode — for editing modules live
|
||||
# under /usr/share/ucode/wwand and for source-line tracebacks; bytecode
|
||||
# tracebacks report offsets only.
|
||||
PKG_CONFIG_DEPENDS:=CONFIG_WWAND_UCODE_PRECOMPILE
|
||||
# DEVELOPERS: set CONFIG_WWAND_UCODE_SOURCE to ship readable .uc source
|
||||
# instead of bytecode — for editing modules live under /usr/share/ucode/wwand
|
||||
# and for source-line tracebacks; bytecode tracebacks report offsets only.
|
||||
PKG_CONFIG_DEPENDS:=CONFIG_WWAND_UCODE_SOURCE
|
||||
|
||||
define Package/wwand/config
|
||||
config WWAND_UCODE_PRECOMPILE
|
||||
bool "Precompile the ucode tree to bytecode"
|
||||
config WWAND_UCODE_SOURCE
|
||||
bool "Ship the ucode tree as source instead of bytecode"
|
||||
depends on PACKAGE_wwand
|
||||
default n
|
||||
help
|
||||
Compile the ucode tree to bytecode instead of shipping the
|
||||
readable sources. The daemon then starts without a parse step
|
||||
(measured 41 ms -> 5 ms for the core imports on x86; more on a
|
||||
router CPU).
|
||||
By default the ucode tree is compiled to bytecode, so the daemon
|
||||
starts without a parse step (measured 41 ms -> 5 ms for the core
|
||||
imports on x86; more on a router CPU). Enable this to ship the
|
||||
readable sources instead: modules can then be edited in place
|
||||
under /usr/share/ucode/wwand and tracebacks name source lines
|
||||
rather than bytecode offsets.
|
||||
|
||||
Only enable this when ucode and wwand come from the SAME build
|
||||
tree, e.g. a self-built image. Bytecode carries a format version
|
||||
that an interpreter upgraded past it refuses to load, and nothing
|
||||
in the package metadata can express that dependency, so a plain
|
||||
package upgrade of ucode would leave the daemon unable to start.
|
||||
The init script detects exactly that case and refuses with an
|
||||
explanatory log line rather than respawning forever.
|
||||
Note that bytecode carries a format version that an interpreter
|
||||
upgraded past it refuses to load, and nothing in the package
|
||||
metadata can express that dependency — so upgrading ucode alone
|
||||
can leave the daemon unable to start. The init script detects
|
||||
exactly that case and refuses with an explanatory log line rather
|
||||
than respawning forever; the remedy is to reinstall wwand built
|
||||
against the running ucode, or to enable this option.
|
||||
|
||||
A build whose host ucode cannot emit bytecode does not fail: the
|
||||
cmake capability probe falls back to shipping source on its own.
|
||||
endef
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -255,6 +269,8 @@ define Package/wwand-mbim/install
|
||||
$(INSTALL_DATA) $(WWAND_UCODE)/mbim_client.uc $(1)$(UCDIR)/
|
||||
$(INSTALL_DATA) $(WWAND_UCODE)/qmi_over_mbim.uc $(1)$(UCDIR)/
|
||||
$(INSTALL_DATA) $(WWAND_UCODE)/mbim_lazy.uc $(1)$(UCDIR)/
|
||||
$(INSTALL_DATA) $(WWAND_UCODE)/atcmd_mbim.uc $(1)$(UCDIR)/
|
||||
$(INSTALL_DATA) $(WWAND_UCODE)/atcmd_mbim_lazy.uc $(1)$(UCDIR)/
|
||||
$(INSTALL_DATA) $(WWAND_UCODE)/codec/mbim.uc $(1)$(UCDIR)/codec/
|
||||
$(INSTALL_DATA) $(WWAND_UCODE)/codec/mbim_schema/*.uc $(1)$(UCDIR)/codec/mbim_schema/
|
||||
endef
|
||||
|
||||
Reference in New Issue
Block a user