Device: Linksys velop WHW03v2
At present, the system is running version 24.10.5, and I want to upgrade it to 25.12.0 by building asu.
Here’s uci show attendedsysupgrade
attendedsysupgrade.server=server
attendedsysupgrade.server.url='https://sysupgrade.example.com'
attendedsysupgrade.client=client
attendedsysupgrade.client.upgrade_packages='1'
attendedsysupgrade.client.auto_search='1'
attendedsysupgrade.client.advanced_mode='1'
attendedsysupgrade.owut=owut
Here’s my .env on 192.168.2.94
PUBLIC_PATH=/home/jackie/Public/AppData/asu/public
CONTAINER_SOCKET_PATH=/run/user/1000/podman/podman.sock
ALLOW_DEFAULTS=1
UPSTREAM_URL=https://feeds.example.com
REPOSITORY_ALLOW_LIST=["https://feeds.example.com/"]
Here’s my podman-compose.yml on 192.168.2.94
services:
server:
image: "docker.io/openwrt/asu:latest"
build:
context: .
dockerfile: Containerfile
restart: unless-stopped
command: uv run uvicorn --host 0.0.0.0 asu.main:app
env_file: .env
environment:
REDIS_URL: "redis://redis:6379/0"
TZ: "Asia/Shanghai"
volumes:
- $PUBLIC_PATH/store:$PUBLIC_PATH/store:ro
- $PUBLIC_PATH/logs:$PUBLIC_PATH/logs:ro
ports:
- "8888:8000"
depends_on:
- redis
worker:
image: "docker.io/openwrt/asu:latest"
build:
context: .
dockerfile: Containerfile
restart: unless-stopped
command: uv run rqworker --logging_level INFO
env_file: .env
environment:
REDIS_URL: "redis://redis:6379/0"
TZ: "Asia/Shanghai"
volumes:
- $PUBLIC_PATH:$PUBLIC_PATH:rw
- $CONTAINER_SOCKET_PATH:$CONTAINER_SOCKET_PATH:rw
depends_on:
- redis
redis:
image: "docker.io/redis/redis-stack-server"
restart: unless-stopped
volumes:
- ./redis-data:/data/:rw
ports:
- "6379:6379"
Here’s nginx configure for sysupgrade:
server {
server_name sysupgrade.example.com;
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
ssl_certificate /home/nginxWebUI/.acme.sh/*.example.com/fullchain.cer;
ssl_certificate_key /home/nginxWebUI/.acme.sh/*.example.com/*.example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
listen 80;
listen [::]:80;
if ($scheme = http) {
return 301 https://$host:443$request_uri;
}
sendfile on;
tcp_nopush on;
tcp_nodelay on;
location / {
proxy_pass http://192.168.2.94:8888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods *;
add_header Access-Control-Allow-Headers *;
add_header Access-Control-Allow-Credentials true;
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_redirect http:// https://;
}
}
Here’s nginx configure for feeds:
server {
server_name feeds.example.com;
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
ssl_certificate /home/nginxWebUI/.acme.sh/*.example.com/fullchain.cer;
ssl_certificate_key /home/nginxWebUI/.acme.sh/*.example.com/*.example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
location / {
root /home/jackie/Public/AppData/asu_upstream/;
autoindex on;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods *;
add_header Access-Control-Allow-Headers *;
add_header Access-Control-Allow-Credentials true;
default_type application/octet-stream;
}
}
At the beginning of compilation, the following errors always occur:
11:35:03 Error: Impossible package selection: missing (luci-app-cpu-status, luci-app-log-viewer, luci-app-passwall2, luci-theme-argon, shadowsocks-libev-ss-local, shadowsocks-libev-ss-redir, shadowsocksr-libev-ssr-local, shadowsocksr-libev-ssr-redir)
11:35:03 Worker a6c3943f7ab644638e2af206f78b107d: job 285caccc7625453f001139c48ec8dbddb0d0bb422301dbb2d8769a1f5ec0fc2e: exception raised while executing (asu.build.build)
Traceback (most recent call last):
File "/app/.venv/lib/python3.14/site-packages/rq/worker.py", line 1439, in perform_job
return_value = job.perform()
File "/app/.venv/lib/python3.14/site-packages/rq/job.py", line 1318, in perform
self._result = self._execute()
~~~~~~~~~~~~~^^
File "/app/.venv/lib/python3.14/site-packages/rq/job.py", line 1376, in _execute
result = self.func(*self.args, **self.kwargs)
File "/app/asu/build.py", line 463, in build
result = _build(build_request, job)
File "/app/asu/build.py", line 282, in _build
report_error(job, check_package_errors(job.meta["stderr"]))
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/asu/util.py", line 332, in report_error
raise RuntimeError(msg)
RuntimeError: Impossible package selection: missing (luci-app-cpu-status, luci-app-log-viewer, luci-app-passwall2, luci-theme-argon, shadowsocks-libev-ss-local, shadowsocks-libev-ss-redir, shadowsocksr-libev-ssr-local, shadowsocksr-libev-ssr-redir)
However, these packages do exist on the upstream server, can be downloaded correctly in the browser, can be retrieved by opkg update, and can be upgraded normally. Although the following example is 24.10.5, I built 25.12.0 with the same directory structure, which contains compiled apk packages.
root@WHW03v2:~# opkg update
Downloading https://feeds.example.com/releases/24.10.5/packages/arm_cortex-a7_neon-vfpv4/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/my_pkg
Downloading https://feeds.example.com/releases/24.10.5/packages/arm_cortex-a7_neon-vfpv4/packages/Packages.sig
Signature check passed.
Downloading https://feeds.example.com/releases/24.10.5/packages/arm_cortex-a7_neon-vfpv4/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/my_luci
Downloading https://feeds.example.com/releases/24.10.5/packages/arm_cortex-a7_neon-vfpv4/luci/Packages.sig
Signature check passed.
root@WHW03v2:~# wget https://feeds.example.com/releases/25.12.0/packages/arm_cortex-a7_neon-vfpv4/luci/luci-app-passwall2-26.3.5-r1.apk -P /tmp/
Downloading 'https://feeds.example.com/releases/25.12.0/packages/arm_cortex-a7_neon-vfpv4/luci/luci-app-passwall2-26.3.5-r1.apk'
Connecting to 192.168.2.90:443
Writing to 'luci-app-passwall2-26.3.5-r1.apk'
luci-app-passwall2-2 100% |*******************************| 313k 0:00:00 ETA
root@WHW03v2:~# ls -lh /tmp/luci-app-passwall2-26.3.5-r1.apk
-rw-r--r-- 1 root root 313.6K Mar 18 12:00 /tmp/luci-app-passwall2-26.3.5-r1.apk
Therefore, I would like to ask how to configure it to make upstream effective?