Commit graph

1288 commits

Author SHA1 Message Date
Jonas Gorski
b67db1b0fc apk: explicitly enable help
Explicitly enable help so that the build will fail when an appropriate
lua binary isn't found instead of silently disabling the feature.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2024-11-14 12:03:44 +01:00
Jonas Gorski
954d2ad81b apk: move common meson args to its own variable
Most apk meson args are shared between host and target builds, so lets
have a common variable for them.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2024-11-14 12:03:14 +01:00
Jonas Gorski
deeb29e6fe apk: host: set lua version to 5.1 to fix help
Commit b2a84c86e3 ("apk: host: make the help available") enabled the
host build for lua (5.1) as a dependency, but apk defaults to lua 5.3.
This caused it to ignore our lua, and only build the help if the host
system had lua 5.3 installed.

Fix this by explicitly setting the lua version to ours.

Fixes: b2a84c86e3 ("apk: host: make the help available")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2024-11-14 11:58:39 +01:00
Petr Štetiar
dab5ca818e
Revert "apk: update to Git 417a93ceae540444fdbd3f76d1dadf0e15621fdc (2024-11-13)"
This reverts commit c6a3a11c07 as it was
reported, that it causes issues:

 ERROR: failed to read repositories: /dev/zero: No buffer space available
 ERROR: unable to select packages:
   ca-bundle-20240203-r1:
     error: uninstallable
     arch: all
     satisfies: world[ca-bundle]

Reported-by: xiao bo <peterwillcn@gmail.com>
References: c6a3a11c07 (commitcomment-149072959)
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-14 09:31:54 +00:00
Petr Štetiar
c6a3a11c07
apk: update to Git 417a93ceae540444fdbd3f76d1dadf0e15621fdc (2024-11-13)
c1a3e69f24e2 db: validate package arch against compatible arches
2a3dbfc9db58 db: add and use apk_db_parse_file helper to parse files line by line
b231eacd8121 db: simplify add_repos_from_file
98d7196a48d4 db: fix permissions of arch file
d2aaf13ee488 commit: sort matched dependencies on error analysis
c259642c006d tests: rework solver tests to not require apk-test binary
08b4d21f922e tests: move solver test data to separate directory
563d36481166 tests: minor updates to root tests
a236fdd39040 pkg: use memfd_create only if target root has dev/fd working
a5aeb3db113f test: unify makefile and meson tests
d86afdef88b0 db: print message when a file is written to .apk-new
5dd91e3c387d db: consider --force-no-chroot when determining /dev/fd availability
5add6fce22d4 apk-tools-3.0.0_pre4
8a13ed96d1d5 test: fix solver.sh for parallel use
fcd4defc18e6 test: move vertest to cmocka based unit testing infrastructure
e38d5b5a9d04 test: add missing alpine tests makefile
19b1df79ebca blob: refactor apk_blob_for_each_segment into apk_blob_foreach_word
76970a938dd7 package: move the location of executable package scripts
1e0411568dad package: respect libexecdir instead of hard-coding /usr/libexec
a4837ae8ffe2 package: don't call make_device_tree when APK_NO_CHROOT is set
ade0be3449e4 db, extract: handle file/directory extraction errors more consistently
4050f9e69d2e db: fix hardlink handling: root directory and v3 checksums
89e4bf1db040 db, fs: do not extract devices in --usermode
64ff8c72d9fb db: allow files starting with a dot in the root directory of apk3 packages
d26b65d30f55 db, audit: remove support for files without embedded checksum
417a93ceae54 pkg: truncate apkv3 description to 256 bytes

Fixes: #16929
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-13 20:19:04 +00:00
Felix Fietkau
4c65359af4 build: fix including busybox, procd and apk/opkg in imagebuilder
Since the image builder pulls package lists from metadata directly,
add procd and busybox as depdendencies to base-files.
As for the package manager itself, since it can be disabled it needs
to be added directly in the image builder makefile

Fixes: 44598c233d ("build: remove broken dependency of metadata on toplevel .config variables")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-11-13 07:12:21 +01:00
Felix Fietkau
44598c233d build: remove broken dependency of metadata on toplevel .config variables
Instead of relying on .config symbols for metadata, alter the DEFAULT
variable of affected packages. Fixes enabling opkg vs apk among others.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-11-11 19:53:43 +01:00
Christian Marangi
79f06827ff
apk: Implement apk list --full patch
Implement apk list --full patch to mimik opkg package info.

Link: https://github.com/openwrt/openwrt/pull/16759
Link: https://github.com/openwrt/openwrt/pull/16759
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-11-10 02:14:01 +01:00
Christian Marangi
b18ed663a5
apk: Bump to version 2024-11-08
Bump APK to version 2024-11-08, multiple fixup and pending arch patch
for ARM Big Endian merged upstream.

Link: https://github.com/openwrt/openwrt/pull/16759
Link: https://github.com/openwrt/openwrt/pull/16759
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-11-10 02:14:01 +01:00
Christian Marangi
09a8b4920c
procd: update to Git HEAD (2024-11-06)
109fa41b2321 system: fix description value from os-release

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-11-06 10:38:20 +01:00
Robert Marko
8508d87495 nu801: Mark as nonshared to build in step 1
Mark the package as nonshared to build it in the target specific build
step 1 of the build bots instead of the architecture generic build step 2.

In the build step 2 it may be left out if we build it using a different
target.

Fixes: #16857
Link: https://github.com/openwrt/openwrt/pull/16859
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-04 21:20:37 +01:00
Petr Štetiar
37784c48e9
openwrt-keyring: fix missing 24.10 usign key by installing it
@KA2107 reported that opkg is not able to verify the artifact signatures
produced by buildbot using the usign 24.10 release keys. So lets fix it
by actually adding the 24.10 usign key with d310c6f2833e97f7 fingerprint
into the openwrt-keyring package.

Fixes: #16850
Reported-by: @KA2107
Fixes: a535cfc09e ("openwrt-keyring: add OpenWrt 24.10 release build usign key")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-04 07:33:37 +00:00
Petr Štetiar
a535cfc09e
openwrt-keyring: add OpenWrt 24.10 release build usign key
fbae29d730f8 usign: add OpenWrt 24.10 release build public key

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-01 06:28:35 +00:00
Christian Marangi
0d96ed1894
apk: switch to wget url backend for HOST tool
Switch APK to wget url backend for HOST tool to handle a problem with
libressl.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-10-29 00:07:54 +01:00
Christian Marangi
f59cbe55d1
apk: add patch adding support for ARM Big-Endian arch
Add patch adding support for ARM Big-Endian arch like Intel XScale
IXP4xx SoC.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-10-29 00:07:53 +01:00
Christian Marangi
f72879dd60
apk: bump to latest HEAD 2024-10-28
Bump APK to latest HEAD 2024-10-28.

- Minor fixed to index inherit
- Fixup to adb_w_copy

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-10-29 00:07:51 +01:00
Hauke Mehrtens
b97cb7b905 ubus: update to Git HEAD (2024-10-20)
65bb027 CMakeLists.txt: bump minimum cmake version
252a9b0 libubus: Make UBUS_* macros work cleanly in C++

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-20 23:59:51 +02:00
Hauke Mehrtens
9343e74e10 procd: update to Git HEAD (2024-10-20)
0f88a52 system: replace openwrt_release with os-release
ef3ab8b system: add build date to ubus output

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-20 23:59:51 +02:00
Robert Marko
f20893a6bc opkg: update to Git HEAD (2024-10-16)
38eccbb1fd69 libopkg: allow install package from https and ftps

Link: https://github.com/openwrt/openwrt/pull/16715
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-16 13:56:27 +02:00
Petr Štetiar
2cea050024
openwrt-keyring: add apk public key for signing of package indexes
apk/openwrt-snapshots.pem contains Elliptic Curve based public key which
is going to be used for signing of apk's package.adb package indexes
after the builds using `apk adbsign --sign-key <key> packages.adb`
command on the buildbot.

References: https://github.com/openwrt/buildbot/pull/46
Link: https://github.com/openwrt/openwrt/pull/16539
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-10-12 08:58:59 +00:00
Daniel Golle
85f7b629c3 rpcd: update to git HEAD
bcc091d session: Fix crash when the UCI option 'password' or 'username' is missing
 9f4b86e rpcd: iwinfo: add IEEE 802.11be support

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-09-17 19:07:53 +01:00
Roland Reinl
2fbffb3643 mediatek: Add support for Linksys EA7500 v3
Specification:
- MT7629 CPU
- MT7531 switch
- MT7761N and MT7762N wifi
- 256 MB RAM
- 128 MB NAND flash with dual-boot partitions
- 2 buttons: WPS and reset
- 1 WAN port (1G)
- 4 LAN ports (1G)
- 1 USB port

Limitations (same as other MT7629/MT7761N/MT7762N devices):
- Wifi is not working
- Second core is not working (kernel error message "CPU1: failed to come online")

Disassembly:
- There are two screws under the front rubber feet and two under the label on the bottom (in the corners towards the back, you should be able to feel them).

Serial Interface:
- UART pin header is already soldered on the board. Pinning from front to back:
1 - VCC
2 - TX
3 - RX
4 - n/a
5 - GND

GPIO:
- 1 white LED, connected to GPIO 52
- 1 reset button, connected to GPIO 60
- 1 WPS button, connected to GPIO 58

MAC Adresses:
- The MAC address printed on the device label is used for LAN and WAN
- The MAC address is stored in the devinfo partition in ASCII format (hw_mac_addr=aa:bb:cc:dd:ee)
- 2.4 GHz wifi uses MAC of the device label + 1
- 5 GHz wifi uses MAC of the device label + 2

Flashing:
- OpenWrt is only runnig in the first partition of dual boot
- To ensure to be able to go back to the factory image, flash the last OEM firmware via OEM web interface. This will ensure that the OEM firmware is present on both partitions
- Because of dual boot partitions, flashing via OEM interface is not supported
- Start a TFTP server and provide the initramfs image. Default settings:
  - Router IP: 192.168.1.1
  - TFTP server IP: 192.168.1.100
  - TFTP file name: 7531.bin
- Open the device, connect UART and select " 1. System Load Linux to SDRAM via TFTP." during startup
- Adapt the settings to your environment, if required
- After initramfs is booted, flash the sysupgrade image

Return to OEM firmware:
- Run the following commands in OpenWrt to switch to the second partition
  fw_setenv boot_part 2
  fw_setenv bootimage 2
- Reboot the device. OEM firmware will start up again

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16067
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-15 00:13:20 +02:00
Paul Spooren
ef8c1adb61 apk: switch to index-trust branch
Initially APK would sign packages and package index and verify
signatures individually. With the latest change, all packages inside a
trusted index are automatically trusted.

This is important within the OpenWrt eco-system since signing the index
happens on another machine than the package creation.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-08-06 18:07:30 +02:00
Daniel Golle
850a5caaa3 fstools: update to git HEAD
408c2cc libfstools: skip JFFS2 padding when BLOCKSIZE was given
 013050f fstools: remove redundant F2FS_MINSIZE definition

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-07-14 19:45:21 +01:00
Daniel Golle
a307f8f84b procd: bump to git HEAD
f230c11 utils: use strlcpy when appropriate
 a8cf548 jail: fix copy & paste error in parseOCIlinux()
 1e411a5 utils: get_cmdline_val: add missing error check

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-07-07 21:25:52 +01:00
Petr Štetiar
b2a84c86e3
apk: host: make the help available
Currently, the apk utility lacks accessible help documentation, making
it cumbersome for human users:

 apk-tools 3.0.0_pre20240519, compiled for x86_64.

 ERROR: This apk-tools has been built without help

This absence of help forces users to delve into the apk's build
directory to understand its functionality. To enhance usability, we will
enable the help feature for the host build. The host environment can
accommodate the 3% increase in binary size for the added convenience.

On Ubuntu 22.04, x86_64 platform, the apk size increases by 17,816 bytes
(from 594,144 to 611,960 bytes), a 2.99% increase. This is a reasonable
trade-off for improved ergonomics.

Additionally fix the Lua host build dependency as apk-tools uses during
the build Lua to convert SCDOC manpages to apk-tools help messages.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/15543
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-11 23:58:20 +02:00
Paul Spooren
eea666d583
apk: bump to 2024-05-23
containing fixes around tar and internal checksums.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Link: https://github.com/openwrt/openwrt/pull/15646
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-06 19:20:59 +02:00
INAGAKI Hiroshi
fbeff10b5a mtd: enable trx feature on ramips
Enable trx feature of mtd command to fixup trx length and crc32 while
booting for some Buffalo devices.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2024-06-05 21:14:16 +02:00
Rosen Penev
2f4bb69664 packages: refresh patches
CI is supposed to catch all of these. Some of these predate CI.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-05-31 11:30:06 +02:00
Paul Spooren
5a5d126954 apk: update to latest HEAD 2024-05-19
Upstream refactoring caused some mbedtls issues, now fixed again.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-05-20 18:10:42 +03:00
Paul Spooren
99636d4dd8
apk: update to latest HEAD 2024-05-18
Drop downstream mbedtls patch since it went upstream.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Link: https://github.com/openwrt/openwrt/pull/15522
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-05-18 15:05:55 +02:00
Paul Spooren
b773ca1a96 apk: disable helptext for host build
The host build would need Lua to compile which currently adds a race
condition. Instead of tracking that down just disable helptext for the
host build.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-05-17 23:21:26 +03:00
Paul Spooren
d788ab376f build: add APK package build capabilities
A new option called `USE_APK` is added which generated APK packages
(.apk) instead of OPKG packages (.ipk).

Some features like fstools `snapshot` command are not yet ported

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-05-17 23:21:26 +03:00
Paul Spooren
ad4bd9c5d8 apk: add missing PROVIDES
Add PROVIDES:=apk to the Makefile so we can default to install `apk` by
default as a dependency.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-05-17 21:56:20 +03:00
Paul Spooren
081a59e0f2 rpcd: fix package dependency for APK
Version dependencies must not contain spaces to be compatible with both
OPKG and APK.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-05-17 21:55:51 +03:00
Georgi Valkov
eb1b022043 opkg: fix stray \ warnings with grep-3.8
We simply grep for "src/". So no need for "\/".
Furthermore, since grep-3.8 this creates warnings.

As written in the grep-3.8 announcement:
  Regular expressions with stray backslashes now cause warnings, as
  their unspecified behavior can lead to unexpected results.
  For example, '\a' and 'a' are not always equivalent
  <https://bugs.gnu.org/39678>.

Fixes a warning during the first boot:
  grep: warning: stray \ before /

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
2024-05-14 00:27:12 +02:00
Rui Salvaterra
da0cd9d764 mtd: fix build with GCC 14
Also fix a couple of warnings while at it.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2024-05-12 12:49:39 +01:00
Christian Marangi
4b04304713
procd: make mDNS TXT record parsing more solid
mDNS broadcast can't accept empty TXT record and would fail
registration.

Current procd_add_mdns_service checks only if the first passed arg is
empty but don't make any verification on the other args permittins
insertion of empty values in TXT record.

Example:

	procd_add_mdns "blah" \
				"tcp" "50" \
				"1" \
				"" \
				"3"

Produce:

{ "blah_50": { "service": "_blah._tcp.local", "port": 50, "txt": [ "1", "", "3" ] } }

The middle empty TXT record should never be included as it's empty.

This can happen with scripts that make fragile parsing and include
variables even if they are empty.

Prevent this and make the TXT record more solid by checking every
provided TXT record and include only the non-empty ones.

The fixed JSON is the following:

{ "blah_50": { "service": "_blah._tcp.local", "port": 50, "txt": [ "1", "3" ] } }

Fixes: b0d9dcf84d ("procd: update to latest git HEAD")
Reported-by: Paul Donald <newtwen@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15331
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-29 23:24:58 +02:00
Paul Spooren
00b86168bd apk: add package
APK (Alpine Package Keeper) is the package manager of Alpine Linux and
has multiple advantages over OPKG. While Alpine uses APK version 2, this
commit adds version 3 with a heavily optimised database structure and
additional feature making it suitable for OpenWrt.

This commit will be followed by many more to add APK build capabilities
to the OpenWrt build system, firstly enabling side by side builds of APK
and OPKG packages, later replacing OPKG entirely.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-04-29 11:36:03 +02:00
Robert Marko
0fc87ddf44
ubox: update to Git HEAD (2024-04-26)
85f1053019ca kmodloader: fix insmod path logic

Signed-off-by: Robert Marko <robimarko@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15288
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-27 13:34:13 +02:00
Tony Ambardar
c6e6d26f4b ubox: update to Git HEAD (2024-03-02)
d413903016c4 kmodloader: support duplicate module names and aliases
1c9aaefc119a kmodloader: fix memleak adding to avl tree
4c5c45c6beac kmodloader: fix invalid write during insmod, CodeQL warnings
6a59975afc2c kmodloader: improve memory accounting and deallocation

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-23 20:58:18 +02:00
Robert Marko
1ea6ddacc2 nu801: update PKG_MIRROR_HASH to zst
When using zst instead of xz, the hash changes.
This was missed in the initial treewide updated.

Fixes: b3c1c57a35 ("treewide: update PKG_MIRROR_HASH to zst")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-07 11:49:53 +02:00
Paul Spooren
b3c1c57a35 treewide: update PKG_MIRROR_HASH to zst
When using zst instead of xz, the hash changes. This commit fixes the
hash for packages and tools in core.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-04-06 11:24:18 +02:00
Robert Marko
d1eb0bec39 procd: update to Git HEAD (2024-03-30)
254810d16cf1 watchdog: always close fd on watchdog stop
946552a7b598 trace: use standard POSIX header for basename()

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-02 18:35:55 +02:00
Robert Marko
ff064b68d4 procd: update to Git HEAD (2024-03-25)
79f8cfa58ee7 ci: add github test workflow
428f40e7984f test commit fixing warnings
63058d1f81a5 ci: enable ujail builds
49ea930a862c utils: add key-value offset support to get_cmdline_val()
ca8c30208d5e inittab: fallback when multiple "console=" is detected

Required for the recent Elecom multiple console commits.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-25 11:50:19 +01:00
Paul Spooren
e8725a932e treewide: use APK compatible version schema
Different from OPKG, APK uses a deterministic version schema which chips
the version into chunks and compares them individually. This enforces a
certain schema which was previously entirely flexible.

 - Releases are added at the very and end prefixed with an `r` like
`1.2.3-r3`.
- Hashes are prefixed with a `~` like `1.2.3~abc123`.
- Dates become semantic versions, like `2024.04.01`
- Extra tags are possible like `_git`, `_alpha` and more.

For full details see the APK test list:
https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/master/test/version.data

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-03-22 22:14:22 +01:00
Florian Eckert
0da116f25b ca-certificates: add missing license information
The package has no licence information. So let's fix it.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2024-03-21 21:44:53 +01:00
Paul Spooren
7ac030876c uci: fix variable declaration
Using := doesn't fly well when including other variables. In fact this
would cause the variable to be empty and break cloning of the git repo.

Fix: "c354c069b3 uci: fix Makefile formatting"

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-03-17 18:24:04 +01:00
Sergey Ponomarev
9da90971ab ubox: make logread as an alternative
The logread can be replaced with syslog-ng.
To support this it should be an alternative itself.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2024-03-08 15:38:37 +08:00
Daniel Golle
c378927ef8 procd: update to git HEAD
2f94972 hotplug-dispatch: don't filter empty env variables
 1901aba system: break infite loop resolving rootfs type

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-24 04:00:15 +00:00
Daniel Golle
ae2dced6ce
rpcd: update to latest git HEAD
8ef4c25 sys: use "Auto-Installed" field for packagelist

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-23 15:59:05 +01:00
Seo Suchan
6b904fa95b ca-certificates: update to version 20240203
Update Mozilla certificate authority bundle to version 2.64

Signed-off-by: Seo Suchan <tjtncks@gmail.com>
2024-02-18 11:49:04 +01:00
Christian Marangi
b34e6de7da
ubox: update to Git HEAD (2024-01-24)
2c5887cb4688 kmodloader: fix invalid read outside mapped region

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-01-24 13:08:36 +01:00
Christian Marangi
b66a340837
fstools: update to Git HEAD (2024-01-22)
2171f6261556 libfstools: force mkfs when formatting overlay
08cd7083cac4 libfstools: fit: improve fit_volume_find string handling

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-01-22 01:46:43 +01:00
Christian Marangi
4d2a82a73c
ubox: update to Git HEAD (2024-01-22)
b2f6da671f7c kmodloader: Fix NULL pointer dereferences error
202d7c05029a kmodloader: fix memory leak in print_modinfo
6cf7d837ee7e kmodloader: fix TOCTOU problem with scan_builtin_modules

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-01-22 01:28:52 +01:00
Christian Marangi
ced3fbcda1
ubox: update to Git HEAD (2024-01-15)
11cb29e15d68 kmodloader: remove unneeded uname() call
811ca6c2234a kmodloader: fix memory leak in scan_loaded_modules()
8c95fc7039cb kmodloader: support loadable module parameters in modinfo
4ffc29e4041c kmodloader: add basic support for builtin modules
ba3908351232 kmodloader: add modinfo support for builtin modules
c006dccecb6f kmodloader: cleanup duplicated mmap() code

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-01-19 21:45:19 +01:00
Christian Marangi
66527d28ea
fstools: update to Git HEAD (2024-01-15)
325d63d67006 mount_root: fix compilation error for wrong condition

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-01-15 17:31:47 +01:00
Christian Marangi
ba9c1b1314
fstools: update to Git HEAD (2024-01-15)
97bacb70138a libfstools: query drivers by priority
41e619ed1352 block: recognize /dev/fit* block devices
bc3b8cdd3de3 libfstools: add uImage.FIT fitblk driver
846302d09246 libfstools: partname: raise priority to 25
1a5695925ecf mount_root: add support for passing args to mount_root start
1858a492c300 mount_root: permit to pass mount options for rootfs mount

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-01-15 16:37:11 +01:00
Mohammad Sayful Islam
46a2490e8f ipq807x: add support for Linksys MX4200 V1 and V2
Linksys MX4200 is a 802.11ax Tri-band router/AP.
Specifications:
* CPU: Qualcomm IPQ8174 Quad core Cortex-A53 1.4GHz
* RAM: 512MB of DDR3
* Storage: 512Mb NAND
* Ethernet: 4x1G RJ45 ports (QCA8075)
* WLAN:
	* 2.4GHz: Qualcomm QCN5024 2x2 802.11b/g/n/ax 574 Mbps PHY rate
	* 5GHz: Qualcomm QCN5054 2x2@80MHz or 2x2@160MHz 802.11a/b/g/n/ac/ax 2402 PHY rate
	* 5GHz: Qualcomm QCN5054 4x4@80MHz or 2x2@160MHz 802.11a/b/g/n/ac/ax 2402 PHY rate
* LED-s:
	* RGB system led

* Buttons: 1x Soft reset 1x WPS
* Power: 12V DC Jack

Installation instructions:
Open Linksys Web UI - http://192.168.1.1/ca or http://10.65.1.1/ca depending on your setup.
Login with your admin password. The default password can be found on a sticker under the device.
To enter into the support mode, click on the “CA” link and the bottom of the page.
Open the “Connectivity” menu and upload the squash-factory image with the “Choose file” button.
Click start. Ignore all the prompts and warnings by click “yes” in all the popups.
The Wifi radios are turned off by default. To configure the router, you will need to connect your computer to the LAN port of the device.
Then you would need to write openwrt to the other partition for it to work
- First Check booted partition
fw_printenv -n boot_part

- Then install Openwrt to the other partition if booted in slot 1:
mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4200v(X)-squashfs-factory.bin alt_kernel

- If in slot 2:
mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4200v(X)-squashfs-factory.bin kernel

Replace (X) with your model version either 1 or 2

Signed-off-by: Mohammad Sayful Islam <sayf.mohammad01@gmail.com>
Reviewed-by: Robert Marko <robimarko@gmail.com>
2024-01-06 16:13:23 +01:00
Felix Fietkau
38eeefd060 procd: update to Git HEAD (2023-11-28)
d852f877920b service: Fix retriggering of init.d-scripts.
7e6c6efd6fbc udebug: add support for logging via udebug

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-11-30 19:19:40 +01:00
Felix Fietkau
4cb0677600 ubox: update to Git HEAD (2023-11-30)
cc34fb7b922f logd: add support for subscribing to the log object
c08709cceb55 logd: add udebug support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-11-30 13:53:14 +01:00
Felix Fietkau
889a50e266 ubus: update to Git HEAD (2023-11-28)
2b39a27d8bcc libubus: fix reconnect with auto subscribe
f84eb5998c6e libubus: fix initial subscribe with autosubscribe

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-11-28 13:57:34 +01:00
Felix Fietkau
8e7ab041ce ubox: add acl file for logd
Fixes ubus reconnect, since the process user id changes to 'logd'

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-11-28 13:57:34 +01:00
Felix Fietkau
4cd31d6c7c ubus: update to Git HEAD (2023-11-14)
b3e8c4ef07eb Add auto subscribe support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-11-20 14:10:24 +01:00
Daniel Golle
c63e3c98e8 fstools: bump to git HEAD
3a07943 block: support skipping uuid check
 56a9b4e block: consider currently mounted root device first
 9cd09d4 block: try to find the root device on both / and /rom
 c1a8d95 block: support extroot on already mounted overlay

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-11-09 11:15:42 +00:00
Hauke Mehrtens
d62726b1e4 urngd: update to version 2023-11-01
Fix compilation with glibc

44365eb Deactivate _FORTIFY_SOURCE in jitterentropy-base.c

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-11-01 22:10:46 +01:00
Christian Marangi
c0e30b17eb
treewide: disable QUILT refresh for unsupported packages
Some packages won't ever have something to patch as they normally
install files or are meta-packages.

For these special packages, disable QUILT refresh.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-10-20 16:13:13 +02:00
Oskari Rauta
c354c069b3 uci: fix Makefile formatting
Fix wrong declaration for PKG_SROUCE_URL and PKG_VERSION variables and add missing colon

Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>
2023-10-01 23:18:02 +03:00
Hauke Mehrtens
d2b5f4b2cd treewide: Add extra CPE identifier
This adds some Common Platform Enumerations (CPE) identifiers which I
found.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-09-25 23:06:33 +02:00
Erik Karlsson
fdce970dbb procd: create /dev/fd symlink
This is needed for ksh/bash style process substitution such as
<(command) and >(command) which was introduced in ash as of busybox
version 1.34.0 to work.

Signed-off-by: Erik Karlsson <erik.karlsson@genexis.eu>
2023-09-16 20:48:34 +02:00
Hauke Mehrtens
d1427863ba uci: update to git HEAD
3cda251 file: Fix uci -m import command
5781664 remove internal usage of redundant uci_ptr.last

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-08-10 23:09:37 +02:00
Felix Fietkau
fdadfb633f ubus: update to the latest version
f787c97b3489 libubus: add missing uloop_fd_delete call in ubus_shutdown

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-08-10 19:09:42 +02:00
Rafał Miłecki
4a57e786a1 urngd: fix archived tar hash
Due to some hiccup my local urngd-2023-07-25-7aefb47b.tar.xz ended up
being different from archived one. Repackaging it locally confirmed the
previous hash was incorrect.

Fixes: c74b5e09e6 ("urngd: update to the latest master")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-07-30 12:42:43 +02:00
Jo-Philipp Wich
4987a409a7 procd: improve status reporting for partially running services
The existing implementation incorrectly reported `running` for services
without any instances or with all instances stopped/terminated.

Improve the default implementation of `/etc/init.d/* status` to properly
report services with not running instances. In case a service exists,
but without running instance, the status call will now report
"not running" with exit code 5. In case some instances are running and
some are stopped/terminated, the call will report "running (X/Y)" where
`X` denoted the amount of running instances and `Y` the amount of total
registered ones.

Ref: https://forum.openwrt.org/t/x/159443
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-07-27 13:31:18 +02:00
Rafał Miłecki
c74b5e09e6 urngd: update to the latest master
7aefb47 jitterentropy-rngd: update to the v1.2.0

What's interesting about jitterentropy-rngd v1.2.0 release is that it
bumps its copy of jitterentropy-library from v2.2.0 to the v3.0.0. That
bump includes a relevant commit 3130cd9 ("replace LSFR with SHA-3 256").

When initializing entropy jent calculates time delta. Time values are
obtained using clock_gettime() + CLOCK_REALTIME. There is no guarantee
from CLOCK_REALTIME of unique values and slow devices often return
duplicated ones.

A switch from jent_lfsr_time() to jent_hash_time() resulted in many less
cases of zero delta and avoids ECOARSETIME.

Long story short: on some system this fixes:
[    6.722725] urngd: jent-rng init failed, err: 2

This is important change for BCM53573 which doesn't include hwrng and
seems to have arch_timer running at 36,8 Hz.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-07-25 10:04:34 +02:00
Hauke Mehrtens
2486841c1b rpcd: update to latest git HEAD
c07ab2f iwinfo: update byte counter to 64bit

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-07-01 12:14:07 +02:00
Hauke Mehrtens
3596380987 procd: update to latest git HEAD
122a5e3 Revert "sysupgrade: print errno on failure"
2db8365 system: add RISC-V CPU info

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-06-25 22:48:55 +02:00
Hauke Mehrtens
9d8d65322c rpcd: update to latest git HEAD
31c3907 file: strengthen exec access control

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-06-25 22:48:55 +02:00
Linhui Liu
4c5a9da869 selinux-policy: update to 1.2.5
30d503a uci jsonfilter: pipe and leak
e13cb64 rpcd leds
144781f jsonfilter, luci, ubus
1210762 rpcd and all agents get fd's leaked
ab9227c rpcd
2f99e0e luci rpcd
b43aaf3 rpcd (enable/disable services) luci peeraddr
f20f03e rpcd
7bc74f6 rpcd reads all subj state and luci-bwc leaks
9634b17 adds inotify perms to anon_inode
3d3c17c adds bare anon_inode (linux 5.15)
7104b20 dnsmasq and luci
0de2c66 luci,rpcd, ucode, wpad
14f5cf9 luci and ucode
e3ce84c rpcd, ucode and cgiio loose ends
96a2401 misc updates
9fe0490 initscript: remove redundant rules
71bd77e allow all init scripts to log to logd
f697331 sandbox: make ttydev handling more robust
a471877 simplify pty tty console access
f738984 sandbox: also remove TIOSCTI from all ttydevs

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-05-31 22:00:48 +02:00
Tianling Shen
7c83b6ac86 ca-certificates: Update to version 20230311
Update the ca-certificates and ca-bundle package from version 20211016 to
version 20230311.

Use TAR_OPTIONS instead of hacking Build/Prepare, refresh patches.

Debian change-log entry [1]:
|[...]
|[ Đoàn Trần Công Danh ]
|* ca-certificates: compat with non-GNU mktemp (closes: #1000847)
|
|[ Ilya Lipnitskiy ]
|* certdata2pem.py: use UTC time when checking cert validity
|
|[ Julien Cristau ]
|* Update Mozilla certificate authority bundle to version 2.60
|   The following certificate authorities were added (+):
|   + "Autoridad de Certificacion Firmaprofesional CIF A62634068"
|   + "Certainly Root E1"
|   + "Certainly Root R1"
|   + "D-TRUST BR Root CA 1 2020"
|   + "D-TRUST EV Root CA 1 2020"
|   + "DigiCert TLS ECC P384 Root G5"
|   + "DigiCert TLS RSA4096 Root G5"
|   + "E-Tugra Global Root CA ECC v3"
|   + "E-Tugra Global Root CA RSA v3"
|   + "HARICA TLS ECC Root CA 2021"
|   + "HARICA TLS RSA Root CA 2021"
|   + "HiPKI Root CA - G1"
|   + "ISRG Root X2"
|   + "Security Communication ECC RootCA1"
|   + "Security Communication RootCA3"
|   + "Telia Root CA v2"
|   + "TunTrust Root CA"
|   + "vTrus ECC Root CA"
|   + "vTrus Root CA"
|  The following certificate authorities were removed (-):
|  - "Cybertrust Global Root" (expired)
|  - "EC-ACC"
|  - "GlobalSign Root CA - R2" (expired)
|  - "Hellenic Academic and Research Institutions RootCA 2011"
|  - "Network Solutions Certificate Authority"
|  - "Staat der Nederlanden EV Root CA" (expired)
|* Drop trailing space from debconf template causing misformatting
|  (closes: #980821)
|
|[ Wataru Ashihara ]
|* Make certdata2pem.py compatible with cryptography >= 35 (closes: #1008244)
|[...]

[1]: https://metadata.ftp-master.debian.org/changelogs/main/c/ca-certificates/ca-certificates_20230311_changelog

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-27 22:51:18 +02:00
Tianling Shen
48ed07bc0b treewide: replace AUTORELEASE with real PKG_RELEASE
Based on Paul Fertser <fercerpav@gmail.com>'s guidance:
Change AUTORELEASE in rules.mk to:
```
AUTORELEASE = $(if $(DUMP),0,$(shell sed -i "s/\$$(AUTORELEASE)/$(call commitcount,1)/" $(CURDIR)/Makefile))
```

then update all affected packages by:
```
for i in $(git grep -l PKG_RELEASE:=.*AUTORELEASE | sed 's^.*/\([^/]*\)/Makefile^\1^';);
do
	make package/$i/clean
done
```

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-05-18 11:35:29 +02:00
Christian Lamparter
1d49310fdb ath79: add Cisco Meraki MR18
Specifications:

SOC:    Atheros/Qualcomm QCA9557-AT4A @ 720MHz
RAM:    2x Winbond W9751G6KB-25 (128 MiB)
FLASH:  Hynix H27U1G8F2BTR-BC TSOP48 ONFI NAND (128 MiB)
WIFI1:  Atheros AR9550 5.0GHz (SoC)
WIFI2:  Atheros AR9582-AR1A 2.4GHz
WIFI2:  Atheros AR9582-AR1A 2.4GHz + 5GHz
PHYETH: Atheros AR8035-A, 802.3af PoE capable Atheros (1x Gigabit LAN)
LED:    1x Power-LED, 1 x RGB Tricolor-LED
INPUT:  One Reset Button
UART:   JP1 on PCB (Labeled UART), 3.3v-Level, 115200n8
        (VCC, RX, TX, GND - VCC is closest to the boot set jumper
	 under the console pins.)

Flashing instructions:

Depending on the installed firmware, there are vastly different
methods to flash a MR18. These have been documented on:
<https://openwrt.org/toh/meraki/mr18>

Tip:
Use an initramfs from a previous release and then use sysupgrade
to get to the later releases. This is because the initramfs can
no longer be built by the build-bots due to its size (>8 MiB).

Note on that:
Upgrades from AR71XX releases are possible, but they will
require the force sysupgrade option ( -F ).

Please backup your MR18's configuration before starting the
update. The reason here is that a lot of development happend
since AR71XX got removed, so I do advise to use the ( -n )
option for sysupgrade as well. This will cause the device
to drop the old AR71xx configuration and make a new
configurations from scratch.

Note on LEDs:
The LEDs has changed since AR71XX. The white LED is now used during
the boot and when upgrading instead of the green tricolor LED. The
technical reason is that currently the RGB-LED is brought up later
by a userspace daemon.

(added warning note about odm-caldata partition. remove initramfs -
it's too big to be built by the bots. MerakiNAND -> meraki-header.
sort nu801's targets)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2023-05-14 00:08:35 +02:00
Andre Heider
07730ff346
treewide: add support for "lto" in PKG_BUILD_FLAGS
This reduces open coding and allows to easily add a knob to enable
it treewide, where chosen packages can still opt-out via "no-lto".

Some packages used LTO, but not the linker plugin. This unifies 'em
all to attempt to produce better code.
Quoting man gcc(1):
"This improves the quality of optimization by exposing more code to the
link-time optimizer."

Also use -flto=auto instead of -flto=jobserver, as it's not guaranteed
that every buildsystem uses +$(MAKE) correctly.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-03-21 18:28:22 +01:00
Andre Heider
da3700988d
treewide: add support for "gc-sections" in PKG_BUILD_FLAGS
This reduces open coding and allows to easily add a knob to
enable it treewide, where chosen packages can still opt-out via
"no-gc-sections".

Note: libnl, mbedtls and opkg only used the CFLAGS part without the
LDFLAGS counterpart. That doesn't help at all if the goal is to produce
smaller binaries. I consider that an accident, and this fixes it.

Note: there are also packages using only the LDFLAGS part. I didn't
touch those, as gc might have been disabled via CFLAGS intentionally.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-03-21 18:28:22 +01:00
Andre Heider
5c545bdb36
treewide: replace PKG_USE_MIPS16:=0 with PKG_BUILD_FLAGS:=no-mips16
Keep backwards compatibility via PKG_USE_MIPS16 for now, as this is
used in all package feeds.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-03-21 18:28:22 +01:00
Christian Marangi
6634fb00dd
rpcd: bump to latest git HEAD
d978830 rc: add option to get info for a single script in list method
632b4fc rc: add option to skip running check for list method
5577db9 rc: add support for scanning USE_PROCD and skip running if not supported
4de3f02 rc: fix and improve script scanning START and STOP

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-03-17 03:34:50 +01:00
Hauke Mehrtens
11822d8be2 uci: update to git HEAD
5de3871 cli: drop redundant uci_add_delta_path() call for -P
f49a2fd delta: simplify uci_load_delta() by using a helper
9b6605e uci: fix use-after-free uci_set on update option
b7ceda9 uci: maintain option position in uci_set
7e01d66 uci: optimize update option in uci_set
47697e6 uci: fix use-after-free uci_add_list
74f2797 uci: fix atomicity of uci_add_list
b2f3417 uci: maintain option position in uci_add_list
16e8a3b uci: fix memory leak uci_set on update section
ae61e1c uci: optimize update section in uci_set
04d0c46 uci: macro uci_alloc_element not in uci.h

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-03-05 16:39:24 +01:00
Rafał Miłecki
fdd1af9a44 fstools: update to the latest master
bfe882d libblkid-tiny: add exfat superblock support

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-02-28 10:05:19 +01:00
Daniel Golle
62e583ddb9 fstools: update to git HEAD
12155d3 libfstools: use class interface to iterate over ubi devices

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-02-15 03:27:35 +00:00
Christian Marangi
3ef655375a
fstools: bump to latest Git HEAD
14d535e partname: Correct fstools_partname_fallback_scan comparison

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-02-04 20:04:58 +01:00
Petr Štetiar
3d7d93cf65 ubus: fix wrong package mirror hash
I've somehow managed to commit wrong package mirror hash in commit 36076b5a40
("ubus: update to version 2022-06-15"), so lets fix it by using a proper
one.

Fixes: 36076b5a40 ("ubus: update to version 2022-06-15")
Reported-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2023-01-30 10:58:00 +01:00
Petr Štetiar
36076b5a40 ubus: update to version 2022-06-15
Update which contains just a following fix:

 * ubusd: add lookup command queuing support

   Defers and continues a client's lookup command to avoid unnecessary
   buffering under load.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2023-01-27 11:04:07 +01:00
Christian Marangi
114c168522
rpcd: bump libiwinfo abi requirement to >= 2023-01-21
Bump libiwinfo abi requirement to >= 2023-01-21 for rpcd.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-23 13:55:42 +01:00
Christian Marangi
fb7f4d4b54
fstool: bump to latest Git HEAD
1ea5855 partname: Introduce fstools_partname_fallback_scan option

While at it also drop AUTORELEASE from PKG_RELEASE.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-22 17:30:42 +01:00
Christian Marangi
5d409062a3
rpcd: update to latest Git HEAD
c0df2a7 iwinfo: add "band" and "mhz" to the scan output
06ad60f iwinfo: add "band" to the freqlist output
b32fd32 iwinfo: add flags to freqlist output

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-21 01:26:19 +01:00
Christian Marangi
bd0f9d8ffc
fstools: bump to latest Git HEAD
e9b59f0 partname: Ignore root=PARTUUID...

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-21 01:02:25 +01:00
Daniel Golle
f0a98bf048
procd: update to git HEAD
04d7570 jail: fs: don't overwrite existing mount target
 6b9629b jail: don't assume positive return value of creat
 190f13a init: attempt to mount efivarfs

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-01-16 22:05:01 +00:00
Hauke Mehrtens
f12bad6c19 tree-wide: Do not use package librt and libpthread
The libraries libpthread, libdl, libutil, libanl have been integrated
into the libc library in version 2.34. it is not needed to explicitly
link them any more.

Most of the functions have been moved from the librt.so into libc.so
some time ago already.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-12-29 18:50:24 +01:00
Jo-Philipp Wich
d15b1fbed7 rpcd: update to latest Git HEAD
7de4820 iwinfo: add "hwmodes_text" to the info output
b3f530b iwinfo: clean up rpc_iwinfo_call_hw_ht_mode()
c46ad61 iwinfo: reuse infos provided by libiwinfo
6c5e900 iwinfo: constify string map arg for rpc_iwinfo_call_int()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-12-16 00:55:51 +01:00
Christian Marangi
ada4d0d0ab
iucode-tool: fix compile error with musl libc and USE_CPUID_DEVICE
Add patch to fix compilation error with USE_CPUID_DEVICE enabled and musl
used as libc. Musl doesn't add limits.h header by default and this is
required if USE_CPUID_DEVICE is used.

The package currently compile because fortify headers include limits.h
by default.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-12-04 13:21:46 +01:00