aboutsummaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAge
* download: add support for gitweb snapshotsMichael Pratt2025-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When downloading a snapshot archive from gitweb, the filename is not part of the URL, and adding the filename to the URL causes errors. The gitweb API exclusively uses query parameters instead of paths in order to execute snapshot downloads. Add a condition to the Perl download script that removes the filename if the relevant query parameter matches in the URL. Also, to reduce server load of the original sources try the Openwrt CDN servers first for these downloads. Even though snapshot downloads are not ideal due to the impact on the source's server health, they are better for download performance than using git only. Therefore, attempting it last will reduce the impact and thus encourage maintainers to keep the option enabled. This change is partly inspired by a conversation linked below about snapshot downloads and server performance issues which led to the feature being disabled for a particular server. Link: https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00124.html Signed-off-by: Michael Pratt <mcpratt@pm.me> Link: https://github.com/openwrt/openwrt/pull/16522 Signed-off-by: Robert Marko <robimarko@gmail.com>
* projectsmirrors: remove kernel mirror ftp.riken.jpShiji Yang2025-07-26
| | | | | | | | This mirror has not been synchronized for over a year. Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/19509 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* projectsmirrors: update Apache mirror apache.cs.utah.eduShiji Yang2025-07-26
| | | | | | | | The original URL no longer works. Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/19509 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* projectsmirrors: remove some GNOME mirrorsShiji Yang2025-07-26
| | | | | | | | These removed sites no longer provide GNOME mirror services. Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/19509 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* Note inspiration for this script to give credit where it's dueBradley M. Kuhn2025-07-21
| | | | | | | | | | | | | | | | There is some confusion in the Git log of this file. Specifically, the commit message on 7b7f1702 incorrectly indicates that there was "potential fear" about copyright infringement. Upon review of this situation, there is, in my opinion, no concern of copyright infringement here. This is not legal advice; it is my opinion based of years of work on copyright policy for FOSS. However, Elliott Mitchell's idea was obviously helpful as inspiration in writing this script and deserves credit. Ideas alone, however, are not to my knowledge copyrightable anywhere in the world. Signed-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>
* targets: add USES_PM auto-featureDaniel Golle2025-07-20
| | | | | | | | | Not all targets support power management, some older or more simple targets don't have CONFIG_PM set. Allow kernel module packages to depend on USES_PM to only be available on targets which got CONFIG_PM=y in their kernel config. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* targets: add PINCTRL_SUPPORT auto-featureDaniel Golle2025-07-19
| | | | | | | | | | Not all targets have CONFIG_PINCTRL=y set in their kernel config. Let's introduce a feature for that so kernel module packages which select or depend on CONFIG_PINCTRL=y may depend on that, so we can try to prevent leaking CONFIG_PINCTRL=y also into targets which do not require it. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* projectsmirrors: drop ftp.kddilabs.jpYanase Yuki2025-07-19
| | | | | | | | | ftp.kddilabs.jp has been shutdown and now returns 404. Signed-off-by: Yanase Yuki <dev@zpc.st> Link: https://github.com/openwrt/openwrt/pull/19407 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* build: fix ipkg-remove: add support for removing apk filesFelix Fietkau2025-07-15
| | | | | | | Use apk adbdump to extract metadata from .apk files to derive the real package name. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: ipkg-remove: fix source name / package confusion, optimizeFelix Fietkau2025-07-15
| | | | | | | | The script always gets passed the package name, not the source name. Optimize for the default case where the package name matches the filename prefix. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts/ext-toolchain: adjust with recent glibcKonstantin Demin2025-07-12
| | | | | | | | glibc 2.39 has removed libcrypt completely. Signed-off-by: Konstantin Demin <rockdrilla@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19293 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* image: add support for EROFS rootfs image generationGao Xiang2025-07-05
| | | | | | | | | | | | | | | | | | | | Add support for generating EROFS rootfs images. The EROFS filesystem can offer competitive I/O performance while minimizing final image size when using the MicroLZMA compressor. Target platform: linux-x86_generic (target-i386_pentium4_musl) Filesystem Image Size ============= ========== root.erofs 4882432 root.ext4 109051904 root.squashfs 4903302 Co-Developed-by: Gao Xiang <hsiangkao@linux.alibaba.com> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> Link: https://github.com/openwrt/openwrt/pull/19244 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* imagebuilder: implement STRIP_ABI option for manifest targetEric Fahlgren2025-07-03
| | | | | | | | | | | | | | | | | | | When using apk as the package manager, imagebuilder make command make manifest STRIP_ABI=1 does not strip package names of their ABI-version suffix. The ASU server relies on this to validate builds, so many snapshot build requests are failing. Fix this by using the already existing package data parser in make-index-json.py and augment it to write the result in manifest format. Fixes: https://github.com/openwrt/openwrt/issues/19274 Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19278 Signed-off-by: Robert Marko <robimarko@gmail.com>
* scripts: getver.sh: approximate version from dateEric Fahlgren2025-06-26
| | | | | | | | | | | | | | | When doing package support and management it is often the case that knowing the corresponding openwrt repo's release version is useful. For example, when adding package changes to the ASU server, the openwrt revision is used as the cutoff for applying those changes. Knowing a package change's hash in its remote feed repo allows us to look up its change date, which we can now use with getver.sh to approximate the revision in openwrt at which it was made. Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17817 Signed-off-by: Robert Marko <robimarko@gmail.com>
* scripts: make-index-json: rework for old Python versionsEric Fahlgren2025-06-24
| | | | | | | | | | The current code uses functions and features only found in newer versions of Python, so rework to allow use on systems only supporting older Python. Tested on Python 3.8 (released Oct 2019), but should work on 3.7 also. Suggested-by: Chen Minqiang <ptpt52@gmail.com> Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
* build: add dtb support for sysupgrade-tarINAGAKI Hiroshi2025-06-22
| | | | | | | | | | Add dtb support for Build/sysupgrade-tar definition and sysupgrade-tar.sh script. This changes are required for updating dtb separately. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16904 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* package: rework contents of package index.jsonEric Fahlgren2025-06-11
| | | | | | | | | | | | | | | | Rework the generation of the index.json version of the package indexes to match the original intent (i.e., for use by the ASU server and other downstream projects). The current file contains package names that have ABI versioning, making them unusable by ASU, so we now remove the ABI suffixes. Also adds a 'version' field to the json, so downstream utilities can detect the new semantics of the package name fields. Links: https://github.com/openwrt/openwrt/commit/218ce40cd738f3373438aab82467807a8707fb9c Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19051 Signed-off-by: Robert Marko <robimarko@gmail.com>
* treewide: strip trailing whitespaceMieczyslaw Nalewaj2025-05-20
| | | | | | | | | | | | Strip trailing whitespace in all code: find . -type f | grep "\.c$" | xargs sed -i 's/[ \t]\+$//' find . -type f | grep "\.h$" | xargs sed -i 's/[ \t]\+$//' find . -type f | grep "\.dts$" | xargs sed -i 's/[ \t]\+$//' find . -type f | grep "\.dtsi$" | xargs sed -i 's/[ \t]\+$//' Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/18626 Signed-off-by: Robert Marko <robimarko@gmail.com>
* imagebuilder: exclude metadata for profiles that have no kernelEric Fahlgren2025-05-09
| | | | | | | | | | | | | | | | Device profiles that specify 'DEFAULT := n' are being included in the imagebuilder metadata, specifically in .profiles.mk, even though there is no kernel built for the device. This results in 'make info' showing the device as valid, but then 'make image PROFILE=xxx' failing with 'No rule to make target xxx-kernel.bin ...' We exclude these profiles from the imagebuilder, avoiding these errors. Fixes: https://github.com/openwrt/openwrt/issues/18410 Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18748 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq50xx: add support for GL.iNET GL-B3000Scott Mercer2025-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for GL.iNET (AX3000) B3000. Speficiations: * SoC: Qualcomm IPQ5018 (64-bit dual-core ARM Cortex-A53 @ 1.0Ghz) * Memory: Winbond W634GU6NQB-11 (512 MiB DDR3-933) * Serial Port: 3v3 TTL 115200n8 * Wi-Fi: IPQ5018 (2x2 2.4 Ghz 802.11b/g/n/ax) * Wi-Fi: QCN6102 (2x2:2 5 Ghz 802.11an/ac/ax) * Ethernet: IPQ5018 integrated virtual switch connected to an external QCA8337 switch (3 Ports 10/100/1000 GBASE-T) * Flash: Winbond W25N01GWZEIG (128 MiB) * LEDs: 1x single-color blue LED (GPIO 24 Active High) 1x single-color white LED (GPIO 23 Active High) * Buttons: 1x Reset (GPIO 27 Active Low) Flash Instructions: *** The .img files are now universal ! *** Openwrt --> openwrt-qualcommax-ipq50xx-glinet_gl-b3000-squashfs-factory.img GL.iNet OEM --> openwrt-b3000-4.5.18-0731-1722397535.img Either file can be flashed, in any of the available upgrade options, in both Firmwares. Pick a file .. pick a method .. and SEND IT !! Signed-off-by: Scott Mercer <TheRootEd24@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17903 Signed-off-by: Robert Marko <robimarko@gmail.com>
* build: include size-limits to device-metadataDavid Bauer2025-04-18
| | | | | | | | | Include the image and kernel size limitations defined for each device to the device metadata JSON. These informations are only added if defined. Signed-off-by: David Bauer <mail@david-bauer.net>
* qualcommax: ipq807x: Create working factory images for EAP620 HD v1 and ↵Shymon Samsel2025-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EAP660 HD v1 Create factory tar for EAP620 HD v1 and EAP660 HD v1 which is accepted by the stock UI. Fix bug in ipq807x and ipq60xx makefiles so TPLINK_SUPPORT_STRING is handled properly. Modify tplink-mkimage-2022 script and relevant makefiles to allow spaces in support strings (required for EAP620 HD v1 and EAP660 HD v1). Installation steps are identical to EAP610-Outdoor: Web UI method ------------- Set up the device using the vendor's web UI. After that go to Management->SSH and enable the "SSH Login" checkbox. Select "Save". The connect to the machine via SSH: ssh -o hostkeyalgorithms=ssh-rsa <ip_of_device> Disable signature verification: cliclientd stopcs Rename the "-web-ui-factory" image to something less than 63 characters, maintaining the ".bin" suffix. * Go to System -> Firmware Update. * Under "New Firmware File", click "Browse" and select the image * Select "Update" and confirm by clicking "OK". If the update fails, the web UI should show an error message. Otherwise, the device should reboot into OpenWRT. Signed-off-by: Shymon Samsel <ssamsel@umass.edu> Link: https://github.com/openwrt/openwrt/pull/18340 Signed-off-by: Robert Marko <robimarko@gmail.com>
* scripts/feeds: shallow clone submodulesCedric CHEDALEUX2025-03-04
| | | | | | | | | | When a feed has submodules, all its submodules are fully cloned whereas the feed itself is shallowed. Let's be consistent and perform shallow clones as well for the submodules. Signed-off-by: Cedric CHEDALEUX <cedric.chedaleux@orange.com> Link: https://github.com/openwrt/openwrt/pull/18003 Signed-off-by: Robert Marko <robimarko@gmail.com>
* scripts/feeds: shallow clone for specific commit updateCedric CHEDALEUX2025-03-04
| | | | | | | | | | | | | | | | When a feed is referenced with a specific commit (i.e. <git_url>^<sha1>), a full clone was performed and a branch was created from the sha1 and named with the sha1. Other git clones operations are shallowed. As Git does not support clone at a specific commit, let's first perform a shallow clone to latest commit, then fetch the relevant commit and finally checkout it (no more 'pseudo' branch). It saves bandwith and significantly speeds up the feed update process. Signed-off-by: Cedric CHEDALEUX <cedric.chedaleux@orange.com> Link: https://github.com/openwrt/openwrt/pull/18003 Signed-off-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq60xx: add TP-Link EAP610-Outdoor supportAlexandru Gagniuc2025-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link EAP610-Outdoor is a 802.11ax AP claiming AX1800 support. It is wall or pole mountable, and rated for outdoor use. It can only be powered via PoE. Specifications: --------------- * CPU: Qualcomm IPQ6018 Quad core Cortex-A53 * RAM: 512 MB * Storage: ESMT PSR1GA30DT 128MB NAND * Ethernet: * Gigabit RJ45 port with PoE input * WLAN: * 2.4GHz/5GHz * LEDs: * Multi-color System LED (Green/Amber) * Buttons: * 1x Reset * UART: 4-pin unpopulated header * 1.8 V level, Pinout 1 - TX, 2 - RX, 3 - GND, 4 - 1.8V Installation: ============= Web UI method ------------- Set up the device using the vendor's web UI. After that go to Management->SSH and enable the "SSH Login" checkbox. Select "Save". The connect to the machine via SSH: ssh -o hostkeyalgorithms=ssh-rsa <ip_of_device> Disable signature verification: cliclientd stopcs Rename the "-web-ui-factory" image to something less than 63 characters, maintaining the ".bin" suffix. * Go to System -> Firmware Update. * Under "New Firmware File", click "Browse" and select the image * Select "Update" and confirm by clicking "OK". If the update fails, the web UI should show an error message. Otherwise, the device should reboot into OpenWRT. TFTP method ----------- To flash via tftp, first place the initramfs image on the TFTP server. setenv serverip <ip of tftp server> setenv ipaddr <ip in same subnet as tftp server> tftpboot tplink_eap610-outdoor-initramfs-uImage.itb bootm This should boot OpenWRT. Once booted, flash the sysupgrade.bin image using either luci or the commandline. The tplink2022 image format ============================ The vendor images of this device are packaged in a format that does not match any previous tplink formats. In order for flashing to work from the vendor's web UI, firmware updates need to be packaged in this format. The `tplink-mkimage-2022.py` is provided for this purpose. This script can also analyze vendor images, and extract the required "support" string. This string is checked by the vendor firmware, and images with a missing or incorrect string are rejected. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Link: https://github.com/openwrt/openwrt/pull/14922 Signed-off-by: Robert Marko <robimarko@gmail.com>
* target/metadata: set OpenWrt One as the default menuconfig target/profileJohn Crispin2024-12-02
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* build: profiles.json: add kernel version informationEric Fahlgren2024-11-26
| | | | | | | | | | | | | | | | | | | | | | Currently downstream tools like ASU lack information about kernel version to find out the relevant kmod build folder on downloads server. So lets fix it by providing a new `linux_kernel` JSON array which would for the start provide Linux kernel version, revision and vermagic information. "linux_kernel": { "release": "1", "vermagic": "b57450c07d3a786158c3601fc5cee57d", "version": "6.6.61" }, Fixes: openwrt/openwrt#17036 Fixes: efahl/owut#9 Co-developed-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17042 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* scripts: download-check-artifact.sh: fix shellcheck and improvePetr Štetiar2024-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes following shellcheck's recommendations: In scripts/download-check-artifact.sh line 24: exit $1 ^-- SC2086 (info): Double quote to prevent globbing and word splitting. In scripts/download-check-artifact.sh line 53: local sum="$(shasum -a 256 "$image_file")"; ^-^ SC2155 (warning): Declare and assign separately to avoid masking return values. In scripts/download-check-artifact.sh line 72: cd "/tmp/verify.$$" ^-----------------^ SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd fails. In scripts/download-check-artifact.sh line 114: printf "Keyserver to use? [$keyserver_url] > " ^-- SC2059 (info): Don't use variables in the printf format string. Use printf '..%s..' "$foo". In scripts/download-check-artifact.sh line 115: read url; case "${url:-$keyserver_url}" in ^--^ SC2162 (info): read without -r will mangle backslashes. While at it make it clear, that it is possible to download/check any build artifacts like even SDK or ImageBuilder. Link: https://github.com/openwrt/openwrt/pull/16871 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* scripts: add download-check-artifact.sh scriptDavid S. H. Rosenthal2024-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While checking wiki documentation about GPG signatures checking I found this nice script and I've thought, that it would be nice to provide it officially instead of some random internet site. Usage example: $ ./scripts/download-check-artifact.sh https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb 1) Downloading image file ========================= ########################################### 100.0% 2) Downloading checksum file ============================ ########################################### 100.0% 3) Downloading the GPG signature ================================ ########################################### 100.0% 4) Verifying GPG signature ========================== gpg: Signature made Tue 05 Nov 2024 05:21:50 PM UTC gpg: using EDDSA key 92C561DE55AE6552F3C736B82B0151090606D1D9 gpg: Good signature from "OpenWrt Build System (Nitrokey3) <contact@openwrt.org>" [ultimate] Primary key fingerprint: 8A8B C12F 46B8 36C0 F9CD B36F 1D53 D187 7742 E911 Subkey fingerprint: 92C5 61DE 55AE 6552 F3C7 36B8 2B01 5109 0606 D1D9 5) Verifying SHA256 checksum ============================ openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb: OK Verification done! ================== Downloaded artifact placed in '/var/home/ynezz/dev/openwrt/openwrt.git/openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb' Cleaning up. Adding file in a state as downloaded from https://www.abitare.org/bin/download.sh References: https://openwrt.org/docs/guide-quick-start/verify_firmware_checksum?s[]=gpg#linux Signed-off-by: David S. H. Rosenthal <dshr@abitare.org> Link: https://github.com/openwrt/openwrt/pull/16871 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build: introduce support to declare skip packageChristian Marangi2024-10-29
| | | | | | | | | | | | | | | | It seems some target started declaring package in DEVICE_PACKAGES just to call InstallDev and generate binary for the image firmware. This is very much used by layerscape target where trusted-firmware-a and dependency are called for final image generation. This is problematic for APK since it's more sensible to non exisiting package. To handle this, introduce a prefix '~' for a package that will signal to build the package but not install it in the final image. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* Revert "scripts/download.pl: read file natively"Christian Marangi2024-10-27
| | | | | | | | This reverts commit 65560de58de7a3cde8f960849e3c7c640b9456d8. Seems to broke CI and require more testing. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* scripts/download.pl: read file nativelyMatteo Croce2024-10-27
| | | | | | | | Read files natively instead of execing /bin/cat. Signed-off-by: Matteo Croce <teknoraver@meta.com> Link: https://github.com/openwrt/openwrt/pull/16784 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* scripts: Add script to reorder kernel config-* filesHauke Mehrtens2024-10-22
| | | | | | | | | This script will reorder the content of all config-* files in the target folder. It will also remove duplicates. It will not remove options already defined in the generic configuration. Link: https://github.com/openwrt/openwrt/pull/16743 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* scripts: linksys-image: add NAND devicesMarkus Stockhausen2024-10-22
| | | | | | | | | | | | | The larger switches of the Linksys LGS series (e.g. LGS352C) make use of NAND. So the vendor firmware uses other commands to upload an image through the WebUI. Add the required scripts. With this we can upload an image to all devices of that series. Independant of NOR or NAND. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/16711 Signed-off-by: Robert Marko <robimarko@gmail.com>
* scripts/download.pl: use perl builtins instead of system()Matteo Croce2024-10-12
| | | | | | | | | Perl natively supports renaming files and create directories. Do it without calling system(). Signed-off-by: Matteo Croce <teknoraver@meta.com> Link: https://github.com/openwrt/openwrt/pull/16542 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* realtek: scripts: fix error in belkin-headerMarkus Stockhausen2024-10-11
| | | | | | | | | | | | | | | | | | | | For some reason the new belkin-header.py script works without issues in a local Fedora build environment. In the OpenWrt build pipeline it produces the following errors: Traceback (most recent call last): File "/builder/shared-workdir/build/scripts/belkin-header.py", line 92, in <module> head = create_header(buf, args.belkin_header, args.belkin_model) File "/builder/shared-workdir/build/scripts/belkin-header.py", line 68, in create_header head[28:29] = VERSION1.to_bytes(1) TypeError: to_bytes() missing required argument 'byteorder' (pos 2) This may be related due to different python version. Fix this by handing over the needed parameters Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/16667 Signed-off-by: Robert Marko <robimarko@gmail.com>
* scripts/feeds: force kernel package scan after a target installationThomas Richard2024-10-10
| | | | | | | | | | | | | | | | When a target is installed from a feed, the linux kernel package is scanned before the installation of this target. If some kernel module packages are defined in this feeds at the target level, there were not parsed during the scan of linux kernel package, as the target didn't exist yet. So these kernel module packages don't exist. Once the target is installed, clean the linux kernel packageinfo to force the scan of the linux kernel package next time this script (or the make command) is called. Signed-off-by: Thomas Richard <thomas.richard@bootlin.com> Link: https://patchwork.ozlabs.org/project/openwrt/patch/mailman.117548.1727195440.1280.openwrt-devel@lists.openwrt.org/ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* realtek: add support for Linksys LGS310CMarkus Stockhausen2024-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification ---------------------- * RTL8380M SoC, 1 MIPS 4KEc core @ 500MHz * 256MB DRAM * 32MB NOR Flash * 8 x 10/100/1000BASE-T ports * 2 x SFP ports * Power LED, Fault LED * Reset button on front panel * UART (115200 8N1) via populated standard pin header marked JP1 TODO: The SFP ports use a shared SCL GPIO that the driver cannot handle. The left SFP port (lan9) is defined and fully functional while the laser on the right SFP port (lan10) is off by default. UART pinout ----------- [o]ooo|JP1 | ||`------ GND | |`------- RX | `-------- TX `---------- Vcc (3V3) Installation using OEM webinterface ----------------------------------- 1. Make sure you are running OEM firmware in secondary slot 2. Install squashfs-factory.imag to primary slot by upload via http Installation using serial interface ----------------------------------- 1. Press "a" "c" "p" during message "Enter correct key to stop autoboot" 2. Load image with "upgrade runtime <TFTP IP>:squashfs-sysupgrade.bin" command 3. Switch to primary slot with "setsys bootpartition 0" 4. Store config with "savesys" 5. Boot the image with `boota` command Dual-boot with stock firmware using writable u-boot-env ------------------------------------------------------- From stock to OpenWrt / primary image 1 (CLI as admin): - > boot system image1 - > reboot From OpenWrt to stock / boot image 2: (shell as root) - # fw_setsys bootpartition 1 - # reboot Debrick using serial interface ------------------------------ 1. Press "a" "c" "p" during message "Enter correct key to stop autoboot" 2. Load vendor image with "upgrade runtime <TFTP IP>:LGS310xxxxx.imag" 3. switch to primary partition "setsys bootpartition 0" 4. safe config "savesys" Further documentation --------------------- See https://openwrt.org/toh/linksys/lgs352c It has been developed and tested on device with v1 revision. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/16068 [Add missing 'w' in name of firmware partition] Signed-off-by: Sander Vanheule <sander@svanheule.net>
* scripts: config.guess: update to 2024-07-27Robert Marko2024-09-28
| | | | | | | | | | | | | | | This script hasn't seen an update in multiple years, update it to the latest version provided upstream. Both `config.guess` and `config.sub` are copied from upstream[1] and not modified. The full changelog is available within the upstream repository[1]. [1]: https://git.savannah.gnu.org/git/config.git Link: https://github.com/openwrt/openwrt/pull/16536 Signed-off-by: Robert Marko <robimarko@gmail.com>
* scripts/feeds: Support feed update with git pull --rebase --autostashHannu Nyman2024-09-08
| | | | | | | | | | | | | | | Add feed update option '-s' that performs 'git pull --rebase --autostash': * possible local uncommited changes are autostashed before pull, * local commits are then rebased on top of the new commits pulled from origin and * finally git does 'stash pop'. This enables feed update while there are local development commits and possibly also local uncommited changes. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> Link: https://github.com/openwrt/openwrt/pull/15377 Signed-off-by: Robert Marko <robimarko@gmail.com>
* scripts/feeds: Support feed update with git pull --rebaseHannu Nyman2024-09-08
| | | | | | | | | | | Add feed update option '-r' to perform "git pull --rebase" so that possible local commits are rebased on top of the new commits pulled from origin. That enables git pull while there are local development commits. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> Link: https://github.com/openwrt/openwrt/pull/15377 Signed-off-by: Robert Marko <robimarko@gmail.com>
* scripts/download.pl: fix broken link for KERNEL projectsChristian Marangi2024-06-19
| | | | | | | | | | | | | Fix broken link generation for KERNEL projects. Using $1 in projectsmirrors sub was still referencing the caller $1 instead of the remaining args of projectsmirrors sub. Use shift and put the second arg of projectsmirrors sub in $append to correctly handle the sub args. Fixes: 465cf358881c ("scripts/download.pl: detach mirror URLs from script file") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* scripts/download.pl: detach mirror URLs from script fileChristian Marangi2024-06-18
| | | | | | | | | | | Detach URL from download script to make it easier to change and update the URLs. The mirror list is moved to a JSON file in the scripts directory called projectsmirrors.json. Link: https://github.com/openwrt/openwrt/pull/15745 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* scripts/ext-toolchain: add missing libc library specsChristian Marangi2024-06-17
| | | | | | | | Add missing libc library spec that weren't added to the ext-toolchain script when the library were introduced in the packages libs toolchain Makefile. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* build: add explicit timezone in CycloneDX SBOMRoman Azarenko2024-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. Per the CycloneDX 1.4 spec, the `metadata.timestamp` field contains the date/time when the BOM was created [1]. Before the change, the value generated by the package-metadata.pl script would look like this: 2024-06-03T15:51:10 CycloneDX 1.4 relies on the JSON Schema specification version draft-07, which defines the `date-time` format [2] as derived from RFC 3339, section 5.6 [3]. In this format, the `time-offset` component is required, however in the original version of package-metadata.pl it is omitted. This is causing problems with OWASP Dependency-Track version 4.11.0 or newer, where it now validates submitted SBOMs against the JSON schema by default [4]. SBOMs with incorrect timestamp values are rejected with the following error: { "detail": "Schema validation failed", "errors": [ "$.metadata.timestamp: 2024-06-03T15:51:10 is an invalid date-time" ], "status": 400, "title": "The uploaded BOM is invalid" } Add explicit `Z` (UTC) timezone offset in the `timestamp` field to satisfy the CycloneDX schema. [1]: https://github.com/CycloneDX/specification/blob/1.4/schema/bom-1.4.schema.json#L116-L121 [2]: https://json-schema.org/draft-07/draft-handrews-json-schema-validation-01#rfc.section.7.3.1 [3]: https://datatracker.ietf.org/doc/html/rfc3339#section-5.6 [4]: https://github.com/DependencyTrack/dependency-track/pull/3522 Signed-off-by: Roman Azarenko <roman.azarenko@iopsys.eu>
* scripts: Add GNU ftp mirror redirector for GNU and SavannahSahil Dhiman2024-05-29
| | | | | | | | | Add GNU's redirector which automatically redirect user to nearby online mirror. Signed-off-by: Sahil Dhiman <sahil@hopbox.in> Link: https://github.com/openwrt/openwrt/pull/15557 Signed-off-by: Robert Marko <robimarko@gmail.com>
* build: fix version info in cyclonedx sbomAkshay Bhat2024-05-25
| | | | | | | | | | | | | Prior e8725a932e16eaf6ec51add8c084d959cbe32ff2, version used to be VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) After e8725a932e16eaf6ec51add8c084d959cbe32ff2, the version is: VERSION:=$(PKG_VERSION)-r$(PKG_RELEASE) Hence the gen_*_cyclonedxsbom functions need to be updated to remove the trailing -r prefix in the version in order to generate correct version info in the SBOM. Signed-off-by: Akshay Bhat <nodeax@gmail.com>
* scripts: fix revision calculation using new "main" branchMarius Dinu2024-05-21
| | | | | | | | | Fix revision calculation when local branch is rebased on new "main" branch instead of "master". Signed-off-by: Marius Dinu <m95d+git@psihoexpert.ro> Link: https://github.com/openwrt/openwrt/pull/15538 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* build: add APK package build capabilitiesPaul Spooren2024-05-17
| | | | | | | | | 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>
* scripts/kernel_bump: Fix commit text formattingTony Ambardar2024-04-29
| | | | | | | | Text of a commit message body should wrap at 75 characters. Manual commits are expected to do so, but automated commits *must* do so to avoid adding repeated ugly commits. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>