Commit Graph
50 Commits
Author SHA1 Message Date
Paul Spooren 78b22d532a iftop: add package
Moved over from openwrt.git

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-12-09 23:36:29 -10:00
Paul Spooren 3f7542e4ce whois: add package
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>
2020-11-20 08:24:38 -10:00
Paul Spooren 08ba430c7d prometheus: bump to 2.22.0
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>
2020-10-18 10:18:53 -10:00
Paul Spooren d964a3ba92 vim: run test.sh only for vim{-full,-fuller}
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>
2020-10-09 15:54:04 -10:00
Paul Spooren 014e02ab07 CI: use PKG_SOURCE instead of PKG_NAME
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>
2020-10-01 23:39:04 -10:00
Paul Spooren 85b7750327 CONTRIBUTING: add CI information
Describe briefly the details on the new runtime CI.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-30 10:47:12 -10:00
Paul Spooren fe19272b38 CONTRIBUTING: format Markdown and fix some typos
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>
2020-09-30 10:47:12 -10:00
Paul Spooren 3f00d28adf tmux: add runtime test
Run test script to see if compiled binary prints sane output.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-22 07:42:45 -10:00
Paul Spooren edb8bda1f7 vim: add runtime test
Run test script to see if compiled binary prints sane output.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-18 13:18:06 -10:00
Paul Spooren ab30ab04c0 syncthing: simplify runtime test
Passed argument no longer contains the release.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-17 22:19:49 -10:00
Paul Spooren bc57c8d0ec prometheus: simplify runtime test
Passed argument no longer contains the release.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-17 22:19:49 -10:00
Paul Spooren 4f4207be0c CI: pass only VERSION to test.sh
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>
2020-09-17 22:19:49 -10:00
Paul Spooren 64cf9fb779 prometheus: add runtime test
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>
2020-09-17 09:48:23 -10:00
Paul Spooren b36bb173b3 CI: run also on test.sh changes
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>
2020-09-17 09:05:16 -10:00
Paul Spooren da111fd095 CI: add runtime tests for packages
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>
2020-09-16 10:40:16 -10:00
Paul Spooren 0cc2a8dde3 syncthing: add runtime test
Run trivial check if the compiled binary works on the architecture.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-16 10:40:16 -10:00
Paul Spooren 2b5de22202 CI: add super-linter for pull requests
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>
2020-09-14 11:05:33 -10:00
Paul Spooren 69c8cb4129 prometheus: bump to 2.21.0
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>
2020-09-14 11:03:21 -10:00
Paul Spooren 43f4ebb532 CI: add compile test for arc_archs
A package recently failed building exclusively for this architecture,
therefore test it as well.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-12 14:16:11 -10:00
Paul Spooren 5882c3adc3 prometheus: set build info via x-flags
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>
2020-09-10 10:06:07 -10:00
Paul Spooren 84763c8480 syncthing: bump to 1.9.0
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>
2020-09-09 10:58:25 -10:00
Paul Spooren 0dfa53bfba syncthing: add specific USERID
Instead of randomly adding a UID this follows the Gentoo numbering and
uses 499.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-09 10:58:25 -10:00
Paul Spooren 69c91a23a5 CI: fix compilation of all packages
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>
2020-09-08 11:02:27 -10:00
Paul Spooren f712546f45 prometheus: bump to 2.20.1
Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-09-05 20:31:16 -10:00
Paul Spooren b4c70ed7dd CI: fix artifact folder and add more test SDKs
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>
2020-09-05 13:21:04 -10:00
Paul Spooren b787aa9c81 CI: use GitHub action for Pull Requests
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>
2020-09-04 15:36:07 -10:00
Paul Spooren efed611029 curl: add package (previously in base)
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>
2020-08-26 08:27:24 -10:00
Paul Spooren 30ea917518 treewide: replace which with command -v
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>
2020-08-09 13:58:14 -10:00
Paul Spooren 172221104c syncthing: bump to 1.6.1
Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-06-29 15:05:21 -10:00
Paul Spooren e2fe9bda3d syncthing: Fix GO_PKG_LDFLAGS_X position
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>
2020-06-27 10:30:29 -10:00
Paul Spooren 3a651638ce syncthing: bump to 1.4.0
Release information:
https://github.com/syncthing/syncthing/releases/tag/v1.4.0

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-03-23 17:18:01 -10:00
Paul Spooren b85e387cc2 syncthing: fixup version detection
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>
2020-03-23 16:37:36 -10:00
Paul Spooren 87afddea5a prometheus: bump to 2.15.2
Also remove fsnotify patch as compiling without it worked for mipsel64le

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-02-07 10:53:19 -10:00
Paul Spooren 7c1d6571ca syncthing: bump to 1.3.4
Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-02-07 10:51:36 -10:00
Paul Spooren 5cb49c776f python-zipp: remove myself as maintainer
Jan Pavlinec <jan.pavlinec@nic.cz> stays maintainer for the package.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-02-06 11:51:35 -10:00
Paul Spooren 96be603258 ipsec-tools: remove
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>
2019-08-31 10:26:21 -10:00
Paul Spooren 4dcb01af8d opennhrp: remove
The package requires ipsec-tools which will be removed from packages.git

Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-08-31 10:26:21 -10:00
Paul Spooren 373d3b2420 syncthing: add package
Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-08-21 15:21:36 -10:00
Paul Spooren b8931afc94 build: only install changed packages
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>
2019-07-08 16:55:07 +02:00
Paul Spooren e83152151b prometheus: update to 2.10
Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-05-28 21:35:01 +02:00
Paul Spooren 86ea25cec3 prometheus: update to 2.8.0 + bzr-less backport
Update to 2.8.0 and add patch to get rid of the bzr requirement

Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-03-25 08:33:03 +01:00
Paul Spooren aa4a59b715 routing-yggdrasil: add package
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>
2019-03-19 15:53:28 +01:00
Paul Spooren 54a2c8d087 attendedsyuspgrade-common: add key and set server
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>
2019-03-06 23:24:08 +01:00
Paul Spooren 6ddfe18e31 fft-eval: add package
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>
2019-02-21 08:56:43 +01:00
Paul Spooren b239d933d4 rpcd-mod-poe: add package
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>
2019-02-12 16:20:02 +01:00
Paul Spooren 6f5fabc5c8 prometheus: update to 2.7.1
Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-02-04 10:11:14 +01:00
Paul Spooren bd577f1d57 prometheus: update to 2.6.1
Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-01-21 19:05:55 +01:00
Paul Spooren fa8347c042 dhcpdiscover: add package
Signed-off-by: Paul Spooren <mail@aparcar.org>
2018-12-22 23:15:14 +01:00
Paul Spooren de9f3656c7 prometheus-node-exporter-lua: adapt 0.16 metrics
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>
2018-06-28 23:53:12 +09:00
Paul Spooren fc44f87dc5 prometheus-node-exporter-lua: handle fancy release
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>
2018-06-17 17:07:36 +09:00