Commit Graph

162 Commits

Author SHA1 Message Date
Dmitry Baryshkov
3b089f313e device: separate backend operations
Separate backend operations into control and console operations. Main
idea is that each device has single set of console ops (conmux or
console) and at most one way to control it. Each backend driver exports
a structure with the set of callbacks.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
2023-10-02 17:33:10 +03:00
Dmitry Baryshkov
fb23cabbc4 device: change device_usb logic
Allow PPPS function even if there is no device->usb callback. PPPS is
useable even with no control interface.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
2023-10-02 17:32:13 +03:00
Dmitry Baryshkov
f09b3e1b2b Merge pull request #14 from superna9999/meson-build
Introduce meson.build
2023-10-02 16:21:03 +02:00
Neil Armstrong
4225dc819c Remove Makefile
Remove the Makefile and all the references in the README
and CI scripts.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-10-02 15:19:21 +02:00
Neil Armstrong
93a2e192e6 Use autobuild for CodeQL
This detects Meson automatically and drops custom build step

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-10-02 15:18:57 +02:00
Neil Armstrong
6cbe23c92e Generate meson cross compile file
Meson requires a cross_compile file for foreign architectures,
and also needs the CPU family.

Add FAMILY to all matrix entries
Remove unused MODE
Print PKG_CONFIG_PATH
Add i386 special Meson setup case
Add cross-compile Meson setup case

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-10-02 15:18:56 +02:00
Neil Armstrong
f7d7054933 Add meson build to CI
Add x86_64 only meson build for now, meson requires some
cross-compile files to be passed.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-10-02 15:18:56 +02:00
Neil Armstrong
606a242dcf Introduce meson.build
Introduce meson.build to be used with the Meson build system,
which handles the dependency and advanced compiler options
for when used on various linux distributions.

The libftdi .so for example has different names on different
distribution, using meson makes sure we can handle those easily,
and easily integrate with other package build systems like
Yocto or Buildroot.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-10-02 11:10:51 +02:00
Dmitry Baryshkov
3e8e3bbcf5 conmux: switch to getaddrinfo
On ARM the conmux.c around gethostbyname() results in a compiler
warning/error:

conmux.c:269:27: error: cast increases required alignment of target type [-Werror=cast-align]
  269 |         saddr.sin_addr = *(struct in_addr *)hent->h_addr_list[0];

Instead of trying to fix the (deprecated) gethostbyname() call, switch
conmux to use getaddrinfo(), which is the proper way to resolve
addresses.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
2023-10-02 11:07:32 +02:00
Konrad Dybcio
c403782f8e Merge pull request #32 from lumag/buf
Extract message sending helpers
2023-09-28 23:45:40 +02:00
Dmitry Baryshkov
771910e186 cdba-server: extract message-sending helper
Instad of hand-coding message sending, create a single wrapper that
sends messages to the client.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
2023-09-29 00:45:25 +03:00
Dmitry Baryshkov
74e51393b9 cdba: extract message-sending helper
Instad of hand-coding message sending, create a single wrapper that
sends messages to the server.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
2023-09-29 00:45:24 +03:00
Dmitry Baryshkov
363bac3232 Merge pull request #33 from calebccff/ppps
support ppps usb control
2023-09-28 12:40:13 +02:00
Caleb Connolly
d36097392e device: add fcntl.h for musl
Musl requires that this header be explicitly included for O_CREAT,
O_CLOEXEC, etc.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
2023-09-28 11:09:46 +01:00
Caleb Connolly
91daddcb7c support ppps usb control
Since Linux kernel 6.0, PPPS capable USB hubs expose a simple sysfs
attribute for power control. Allow overwriting the usb control callback
to use PPPS hub control instead.

Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
2023-09-28 11:09:46 +01:00
Dmitry Baryshkov
757f8e5ba6 Merge pull request #18 from lumag/acl
add ACL support
2023-09-23 15:53:48 +02:00
Dmitry Baryshkov
926ca248fd cdba-shell: set the CDBA_USER variable
Set and export the CDBA_USER variable to enable ACL in cdba-server.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
2023-09-23 16:50:11 +03:00
Dmitry Baryshkov
5164ca9234 README: update config file syntax
Describe optional user/group/device mapping in the config file example.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
2023-09-23 16:50:11 +03:00
Dmitry Baryshkov
3ea8df6c70 device: implement access control to the boards
Limit access control to the boards according to the passed username. If
the user has no access, the board becoms completely invisible: it is not
listed, it is not possible to fetch board description, etc.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
2023-09-23 16:50:11 +03:00
Dmitry Baryshkov
b5664c2c79 Merge pull request #31 from krzk/ci-clean
Ci clean
2023-09-23 00:19:24 +02:00
Krzysztof Kozlowski
b55f011d1a ci: remove stale links
Remove stale CI script links (unused).

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2023-09-22 22:03:09 +02:00
Krzysztof Kozlowski
1353a029aa ci: keep env variables ordered by name
Put 'pkg_config_path' before 'variant' so the environment variables are
ordered alphabetically.  No functional changes.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2023-09-22 22:03:06 +02:00
Konrad Dybcio
85f802323c Merge pull request #19 from krzk/ci-scheduled-builds
ci: run builds periodically
2023-09-22 21:34:14 +02:00
Krzysztof Kozlowski
2c2e9d46b4 ci: fix Arch Linux GLIBC_2.38 not found
Arch Linux builds can fail if system is not upgraded while installing
new packages, probably due to mismatched libraries:

  clang: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /usr/lib/libstdc++.so.6)

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2023-09-22 21:06:13 +02:00
Krzysztof Kozlowski
04f83b65f2 ci: run builds periodically
Without big development activity, thus workflows triggered on changes,
CI builds might never run.  In the same time distros actually change, so
things can get be broken due to external (distro) reasons.  This is
especially true for development versions, like Debian testing.

Run at least once per week, to be sure everything still builds even
without development activity.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2023-09-22 21:06:06 +02:00