- Fixes https://github.com/termux/termux-packages/issues/20913
- The `lsusb` command from Desktop Linux
- Brief comparison with `/system/bin/lsusb` showcasing obvious benefits:
```
~ $ /system/bin/lsusb --help
Toybox 0.8.6-android multicall binary (see toybox --help)
usage: lsusb [-i]
List USB hosts/devices.
-i ID database (default /etc/usb.ids[.gz])
~ $ lsusb --help
Usage: lsusb [options]...
List USB devices
-v, --verbose
Increase verbosity (show descriptors)
-s [[bus]:][devnum]
Show only devices with specified device and/or
bus numbers (in decimal)
-d vendor:[product]
Show only devices with the specified vendor and
product ID numbers (in hexadecimal)
-D device
Selects which device lsusb will examine
-t, --tree
Dump the physical USB device hierarchy as a tree
-V, --version
Show version of program
-h, --help
Show usage and help
~ $ sudo /system/bin/lsusb
Bus 001 Device 017: ID 17ef:a395
Bus 001 Device 018: ID 17ef:a38f
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 016: ID 17ef:a394
Bus 001 Device 015: ID 17ef:a387
Bus 001 Device 014: ID 17ef:a392
Bus 001 Device 019: ID 17ef:30d1
Bus 002 Device 001: ID 1d6b:0003
~ $ sudo lsusb
unable to initialize usb specBus 001 Device 001: ID 1d6b:0002 Linux 4.14.190-lineage-gef0cb31b13 xhci-hcd xHCI Host Controller
Bus 001 Device 014: ID 17ef:a392 VIA Labs, Inc. USB2.0 Hub
Bus 001 Device 015: ID 17ef:a387 Realtek USB-C Dock Ethernet
Bus 001 Device 016: ID 17ef:a394 VIA Labs, Inc. USB2.0 Hub
Bus 001 Device 017: ID 17ef:a395 Lenovo USB2.0 Hub
Bus 001 Device 018: ID 17ef:a38f Cypress Semiconductor 40AS
Bus 001 Device 019: ID 17ef:30d1 Lenovo ThinkPad USB-C Dock Gen2 USB Audio
Bus 002 Device 001: ID 1d6b:0003 Linux 4.14.190-lineage-gef0cb31b13 xhci-hcd xHCI Host Controller
~ $
```
- Unfortunately, it seems like it must be in root-packages because it doesn't really show all the useful information such as device names if run through `termux-usb` rootlessly:
```
~ $ termux-usb -r -E -e "lsusb" /dev/bus/usb/001/019
unable to initialize usb specBus 001 Device 019: ID 17ef:30d1
~ $
```
- See https://github.com/termux/termux-packages/pull/27664#discussion_r2629631209
- New global function `termux_download_ubuntu_packages()`
- Replaces all per-package instances of `_install_ubuntu_packages()` and `obtain_deb_url()`
- Arguments:
- Comma-separated list of Ubuntu packages to download and extract (required)
- Directory path to extract the packages into (optional)
- Architecture of the remote repository from which to download the packages (optional)
- Base URL of the remote repository from which to download the packages (optional)
%ci:no-build
- Fixes https://github.com/termux/termux-packages/issues/27588
- Nested LLVM version 20.X.X now required - bumped to 20.1.8
- Replace `-DLLVM_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/bin/llvm-tblgen` with `-DLLVM_NATIVE_TOOL_DIR=$TERMUX_PKG_HOSTBUILD_DIR/bin` to resolve an error `Exec format error... llvm-min-tblgen`
- Out of space - add to `big-pkgs.list`