The Alpine Package Keeper is the default package manager for Alpine
Linux. They manage their own repositoriy with thousends of packages and
as musl is used for compilation, their binaries can directly run on
OpenWrt.
Signed-off-by: Paul Spooren <mail@aparcar.org>
The aarch64_cortex-a53 architecture is used by more targets and should
therefore be tested rather than the relatively rare _generic one.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Better a separate package than enabling it via busybox.
Special thanks to @neheb for the Makefile patches.
Signed-off-by: Paul Spooren <mail@aparcar.org>
As announced in the 2.21.0 release notes, the experimental gRPC API v2
has been removed.
[CHANGE] web: Remove APIv2. #7935
[ENHANCEMENT] React UI: Implement missing TSDB head stats section. #7876
[ENHANCEMENT] UI: Add Collapse all button to targets page. #6957
[ENHANCEMENT] UI: Clarify alert state toggle via checkbox icon. #7936
[ENHANCEMENT] Add rule_group_last_evaluation_samples and
prometheus_tsdb_data_replay_duration_seconds metrics. #7737#7977
[ENHANCEMENT] Gracefully handle unknown WAL record types. #8004
[ENHANCEMENT] Issue a warning for 64 bit systems running 32 bit
binaries. #8012
[BUGFIX] Adjust scrape timestamps to align them to the intended
schedule, effectively reducing block size. Workaround for a regression
in go1.14+. #7976
[BUGFIX] promtool: Ensure alert rules are marked as restored in unit
tests. #7661
[BUGFIX] Eureka: Fix service discovery when compiled in 32-bit. #7964
[BUGFIX] Don't do literal regex matching optimisation when case
insensitive. #8013
[BUGFIX] Fix classic UI sometimes running queries for instant query when
in range query mode. #7984
Signed-off-by: Paul Spooren <mail@aparcar.org>
Previously the test.sh script would also run for the `vim-help` package
which isn't a binary package but just a tar archive.
Signed-off-by: Paul Spooren <mail@aparcar.org>
The PKG_NAME is the installable name of a package while PKG_SOURCE is
the folder containig both `Makefile` and possibliy `test.sh`
This approach previously worked for packages where both NAME and SOURCE
are the same, e.g. `vim`, however fore more complex packages like
`mariadb` (SOURCE) the NAMES are partly
*mariadb-server-plugin-handlersocket*, which is no existing folder.
With this commit the `PKG_SOURCE` is used to find the `test.sh` script.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Also surround binaries and variable names with ticks so it's clearer
what they are.
Markdown formating via `remark-cli`.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Currently the passed VERSION includes the release, which is usually not
part of the compiled binary. Removing it simplifies the `grep` command
to check for correct package output during runtime tests.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Run trivial check if the compiled binary works on the architecture. Do
so by comparing the printed version by the binary with the Makefile
version. The release is OpenWrt specific, so cut it off.
Signed-off-by: Paul Spooren <mail@aparcar.org>
The CI only tests packages if a Makefile changed, e.g. containing a
version or release bump. This covers package related files as at least
the package release must change whenever a file was touched.
The `test.sh` file is a runtime test used to verify working packages
within OpenWrt containers. This file can independently change and will
never be included in the package ipk files, therefore trigger the CI on
its changes as well.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Additional to manual runtime tests this CI addition runs a custom test
script per package. Ideally this lowers the errors of package bumps,
something which is time consuming when done manually for multiple
architectures.
This CI uses the official OpenWrt containers and tries to install and
run compiled packages. The run depends on the content of `test.sh`,
which is an `ash` script. It's called with the *packge name* and
*package version* as arguments. This allows different behaviour if
a single package generates multiple IPK files. The version is usable for
the most trivial runtime check, e.g. `tmux -V | grep "$2"`.
The current approach uses the qus project[1] which contains multiple
QEMU binaries to run various architectures.
[1]: https://github.com/dbhi/qus
Signed-off-by: Paul Spooren <mail@aparcar.org>
This commit adds a linter which checks most common filetypes, including
Shell and Lua. Ideally this improves the quality of especially `init`
scripts written in Shell.
Signed-off-by: Paul Spooren <mail@aparcar.org>
This release is built with Go 1.15, which deprecates X.509 CommonName
in TLS certificates validation.
In the unlikely case that you use the gRPC API v2 (which is limited to TSDB
admin commands), please note that we will remove this experimental API in the
next minor release 2.22.
[CHANGE] Disable HTTP/2 because of concerns with the Go HTTP/2 client. #7588#7701
[CHANGE] PromQL: query_log_file path is now relative to the config file. #7701
[CHANGE] Promtool: Replace the tsdb command line tool by a promtool tsdb subcommand. #6088
[CHANGE] Rules: Label rule_group_iterations metric with group name. #7823
[FEATURE] Eureka SD: New service discovery. #3369
[FEATURE] Hetzner SD: New service discovery. #7822
[FEATURE] Kubernetes SD: Support Kubernetes EndpointSlices. #6838
[FEATURE] Scrape: Add per scrape-config targets limit. #7554
[ENHANCEMENT] Support composite durations in PromQL, config and UI, e.g. 1h30m. #7713#7833
[ENHANCEMENT] DNS SD: Add SRV record target and port meta labels. #7678
[ENHANCEMENT] Docker Swarm SD: Support tasks and service without published ports. #7686
[ENHANCEMENT] PromQL: Reduce the amount of data queried by remote read when a subquery has an offset. #7667
[ENHANCEMENT] Promtool: Add --time option to query instant command. #7829
[ENHANCEMENT] UI: Respect the --web.page-title parameter in the React UI. #7607
[ENHANCEMENT] UI: Add duration, labels, annotations to alerts page in the React UI. #7605
[ENHANCEMENT] UI: Add duration on the React UI rules page, hide annotation and labels if empty. #7606
[BUGFIX] API: Deduplicate series in /api/v1/series. #7862
[BUGFIX] PromQL: Drop metric name in bool comparison between two instant vectors. #7819
[BUGFIX] PromQL: Exit with an error when time parameters can't be parsed. #7505
[BUGFIX] Remote read: Re-add accidentally removed tracing for remote-read requests. #7916
[BUGFIX] Rules: Detect extra fields in rule files. #7767
[BUGFIX] Rules: Disallow overwriting the metric name in the labels section of recording rules. #7787
[BUGFIX] Rules: Keep evaluation timestamp across reloads. #7775
[BUGFIX] Scrape: Do not stop scrapes in progress during reload. #7752
[BUGFIX] TSDB: Fix chunks.HeadReadWriter: maxt of the files are not set error. #7856
[BUGFIX] TSDB: Delete blocks atomically to prevent corruption when there is a panic/crash during deletion. #7772
[BUGFIX] Triton SD: Fix a panic when triton_sd_config is nil. #7671
[BUGFIX] UI: Fix react UI bug with series going on and off. #7804
[BUGFIX] UI: Fix styling bug for target labels with special names in React UI. #7902
[BUGFIX] Web: Stop CMUX and GRPC servers even with stale connections, preventing the server to stop on SIGTERM. #7810
Signed-off-by: Paul Spooren <mail@aparcar.org>
Similar to `syncthing` also `prometheus` build environment sets
variables later shown in the `--version` string. Set those varialbes.
Signed-off-by: Paul Spooren <mail@aparcar.org>
This release adds the advanced folder option caseSensitiveFS
(https://docs.syncthing.net/advanced/folder-caseSensitiveFS.html) to
disable the new safe handling of case insensitive filesystems.
Bugfixes:
#1787: Case-only renames break stuff
#5708: Properly handle upper-/lowercase-only file name collisions
#6613: TestWatchRename test fails on FreeBSD.
#6793: Error status should take precedence over Local Additions
#6850: Global state incorrect when ignoring local change
#6864: Folder incorrectly marked “Up to Date” after switching from “Receive Only” to “Send & Receive”
#6867: Certificate error when built with Go 1.15
#6886: chmod permission after editing .stignore via WebUI not preserved
#6889: test failures with Go 1.15
#6892: Syncthing 1.8.0 trying to connect via wrong network route
#6898: tests in TestCopyRange fail on ppc64le with "inappropriate ioctl for device"
#6908: NAT service fails to terminate during Shutdown
#6910: Local Additions when deleting file after changing folder type from SR to RO
#6922: Auto accepted folders not saved
#6938: Modifying config during first scan corrupts folder state
Enhancements:
#2739: Syncthing should be case insensitive by default
#5579: Avoid anti-aliasing artifacts for svg device icons
#6873: Don't fail dirs in receive-only folders that were removed elsewhere but exist locally
Signed-off-by: Paul Spooren <mail@aparcar.org>
By using `feeds install -d y` the CI tries to install e.g. `libcxx`
which fails, unrelated to the tested packages. Now follow the approach
of the current CircleCI implementation.
Signed-off-by: Paul Spooren <mail@aparcar.org>
The CI adds the `packages.git` repository to the `feeds.conf`, which
makes the repository redundant. Once called `packages` including the
upstream status, once `packages_ci` (previously `action`) including the
PRs changes.
This commit changes the binary artifact folder from `packages` to
`packages_ci`, as the SDK choses packages from the modified PR branch
over the `packages` branch.
Also add additional targets to test, as each target only takes a few
minutes to test: aarch64_cortex-a53, arm_cortex-a15_neon-vfpv4 and
i386_pentium4.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Test all GitHub pull requests for multiple architectures and store build
logs and created packages. This is the first commit of a series of
patches to simplify the life of maintainers.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Move package over from openwrt.git based on the Hamburg 2019 decision
that non essential packages should be maintained in packages.git
Signed-off-by: Paul Spooren <mail@aparcar.org>
Fix shellcheck SC2230
> which is non-standard. Use builtin 'command -v' instead.
Once applied to everything concerning OpenWrt we can disable the busybox
feature `which` and save 3.8kB.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Setting the GO_PKG_LDFLAGS_X after including golang-package does not
include them anymore after commit 25a7f00. By adding flags before they
are correctly loaded and included in `syncthing` binary.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Since upstream commit dc92994 the LDFLAGS used for settings the version
(and build host and user) changed resulting in "unknown" versions in
syncthing.
Correct version detection is important for syncthing to assure
compatibility with other running instances. The "unknown" version fails
to communicate and sync with correctly compiled instances.
This patch updates the syncthing Makefile to inject the correct
variables and thereby fixes the version detection in syncthing.
Signed-off-by: Paul Spooren <mail@aparcar.org>
As discussed on GitHub[0] the package should be removed.
[0]: https://github.com/openwrt/packages/issues/7832
> The package is effectively orphaned upstream and has been for some
time. Given the security-sensitive nature of the package, an active
maintainer community is essential for safe usage. Racoon's lack of
support for IKEv2, despite it being stable for a long time, and the
availability of next-generation tunneling systems such as wireguard,
also would seem to limit its future value. Setkey's functionality
has been subsumed by 'ip xfrm'.
> If you disagree that ipsec-tools should be removed from OpenWRT,
please say so now. If there are still use cases for it that are
not met by other IKE implmenentations that would be good to
know. But more importantly, I think you'll need to convince us
that ipsec-tools is actually safe to operate on today's Internet
given its current state of development.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Installing all packages via ./scripts/feeds install -a produces a lot of
error messages, it is also possible to only install the packages which
were touched by the PR.
Signed-off-by: Paul Spooren <mail@aparcar.org>
Yggdrasil builds end-to-end encrypted networks with IPv6. Beyond the
similarities with cjdns is a different routing algorithm. This
globally-agreed spanning tree uses greedy routing in a metric space.
Back-pressure routing techniques allow advanced link aggregation bonding
on per-stream basis. In turn, a single stream will span across multiple
network interfaces simultaneously with much greater throughput.
Authored by: William Fleurant <meshnet@protonmail.com>
Signed-off-by: Paul Spooren <mail@aparcar.org>
In collaboration with @dangowrt the server makes use of `ucert`. Active
workers sign created firmware and clients check if the signature is
valid. Certs of *hacked* or inactive workers can be revoked. Private CA
key is **not** stored on the upgrade server.
Only for devices already supporting ucert via firmware metadata.
Signed-off-by: Paul Spooren <mail@aparcar.org>
This program has been created to aid open source spectrum analyzer
development for Qualcomm/Atheros AR92xx and AR93xx based chipsets.
Find more information about the package here:
https://github.com/simonwunderlich/FFT_eval
This package is used in LibreMesh, however our CI doesn't support
multiple architecures as all LibreMesh code is lua. Adding this package
to the official repos allows us to offer it in our tool chain.
Signed-off-by: Paul Spooren <mail@aparcar.org>
simple package to manipulate gpio pins via the web interface. This was
tested on a UBNT EdgePing R6 turining on and off the 4 PoE ports
(496-500).
Signed-off-by: Paul Spooren <mail@aparcar.org>
Prometheus introduced some new conventions on how to name metrics.
Read here https://prometheus.io/docs/practices/naming/
This PR breaks compatibility with past versions, just like the officials
node exporter! 💥
Signed-off-by: Paul Spooren <mail@aparcar.org>
Some releases may have non letters in it's name currently resulting in
an empty ("") output which is then discarded, resulting in *missing*
labels in the metric.
Now it uses `.-` to catch as little as possible, but anything.
Signed-off-by: Paul Spooren <mail@aparcar.org>