Commit Graph

217 Commits

Author SHA1 Message Date
Martin Pulec
c7aad836a1 AppRun Firejail fix
Omit adding --read-only=/tmp fixed - now paths are "-enclosed, handle
eventual mutliplied leading / and evental trailing one and don't assume
space after (not needed now, " delimits that).
2025-03-21 12:58:50 +01:00
Martin Pulec
c3bc5a6ef9 AppImage Firajail: drop --ipc-namespace
breaks display vulkan_sdl2 with x11 driver (but not wayland!)
2025-03-21 12:58:49 +01:00
Martin Pulec
b6a540c552 CI mac: use macos-13
macOS 12 is no longer supported and as Homebrew has a policy, that it
compiles packages from sources on unsupported macOSes, it is needed to
switch to newer macOS to keep reasonable build times.
2024-10-21 15:04:54 +02:00
Martin Pulec
842a2427c6 create-appimage.sh: do not exclude libpipewire-0.3.so.0
ilibpipewire-0.3.so.0 was added to excludelist causing the distcheck fail,
see [1]

We do not need to exclude the lib, because we already handle the preload
in data/scripts/Linux-AppImage/AppRun:282 (the case is similar as for
libjack.so.0 as also mentioned in the related AppImage issue).

[1]:
04af461f47
2024-08-28 12:10:14 +02:00
Martin Piatka
24691102c6 CI Win: Dependencies for screen capture 2024-07-22 11:22:22 +02:00
Martin Pulec
c2c3bdc050 AppRun Firejail: allow Avahi over D-bus
needed for NDI discovery
2024-07-22 11:22:20 +02:00
Martin Pulec
d8c28fabf8 macos-wrapper: change version from 10.15 to 12
Current C/C++ workflow builds already on macOS 12, so that also macOS
versions 10.15 and 11 would be incompatible.
2024-05-22 10:05:29 +02:00
Martin Pulec
e430d1d61b macOS update.sh: added documentation
both doxygen and command-line simple help
2024-02-09 14:18:17 +01:00
Martin Pulec
a4805e5a2b macOS update.sh: fixed arm/x86_64 distinction 2024-02-09 14:14:03 +01:00
Martin Pulec
b73edbf575 scripts: remove SC2140 disable
It is not needed to split the string like this:
```
a="potentially long string on"\
"multiple lines"
```
but it is better rather to put the '\' inside the string:
```
a="potentially long string on\
multiple lines"
```
2024-02-09 12:14:21 +01:00
Martin Pulec
07e452c778 CI+make: use system location for Syphon 2023-12-04 10:50:56 +01:00
Martin Pulec
d093dbb0a9 AppRun: resolve tilde expansion (just "~/") 2023-11-30 11:26:22 +01:00
Martin Pulec
f35b046359 data/make_man.sh: fixed missing getopts shift
removed accidentally by 7c0bd41b

Now it is shifted after the while-loop (not `shift` in every while
iteration) - should behave the same but this is canonical according to
getopts man (w/o needless '$' before OPTIND).
2023-11-15 09:57:00 +01:00
Martin Pulec
01e525bfd4 data/make_man.sh: check output of binary
Since the manual page is partially generated using uv/hd-rum-transcode
output (for options), check if there is some output available.

Most importantly this should catch the situation when UG/reflector output
changes so that it is no more extracted to the manual page.
2023-11-15 09:35:34 +01:00
Martin Pulec
90e4db36e5 data/make_man.sh: remove check notice
The notice was there when the manual pages were manually generated but
as it is now generated automatically by make, it is slightly annoying.
2023-11-15 08:38:32 +01:00
Martin Pulec
84aab9aff0 man: prefer asciidoctor in macOS (also in CI)
asciidoc seems to be broken in currrent Homebrew
2023-11-14 11:42:37 +01:00
Martin Pulec
646ea19a17 make_man.sh: fixed sed cmd incompatible with mac 2023-11-14 11:29:04 +01:00
Martin Pulec
7c0bd41b6a data/make_man.sh: replace getopt with getopts
use of getopt is a bashism and it is also quite cumbersome

as a side effect, long options are no longer options
2023-11-14 11:13:45 +01:00
Martin Pulec
52d1a3325d data/make_man.sh: better debug message 2023-11-14 11:13:45 +01:00
Martin Pulec
54fbb7fd8b Makefile: build manual pages 2023-11-14 08:20:57 +01:00
Martin Pulec
8670a1d25f AppRun: set LD_LIBRARY_PATH at the end
set LD_LIBRARY_PATH just before uv (or other tool) is run

This minimizes interference when running the script.
2023-11-03 16:16:06 +01:00
Martin Pulec
e09db568f9 AppRun FJ: allow /bin/bash
Bash is needed in /bin on U23.10 when running with Firejail (even though
/bin/sh is dash on that system).
2023-11-03 16:15:43 +01:00
Martin Pulec
af33553e1c AppRun FJ: do not whitelist /dev
eg. for `-d file:n=/dev/null` - whitelisting /dev is invalid:

    Error: invalid whitelist path /dev
2023-11-01 17:01:27 +01:00
Martin Pulec
f05a200add AppRun FJ: recognize also n[ame]=<n> paths 2023-11-01 15:55:41 +01:00
Martin Pulec
bb4ad12970 AppRun: preload also VDPAU 2023-10-09 16:25:43 +02:00
Martin Piatka
1cbb716198 vcap/pipewire: Buildable without screencast dbus portal stuff 2023-10-05 16:05:17 +02:00
Martin Pulec
876869ebae Windows/update.ps1: make it working again
Currently, it always downloads continuous (regardless if invoked from
continous or release channel). But currently it doesn't remove the old
release if the name doesn't match continuous (moreover if it would be
deleted, it is moved to -bkp, possibly overriding the previous version).
2023-08-10 16:08:36 +02:00
Martin Pulec
b5cd530824 AppRun: do not disable dbus-user
Dbus is required for dbus audio and currently it even fails in Arch
without, see:

https://github.com/CESNET/UltraGrid/actions/runs/5642223630/job/15281663172
2023-07-26 09:50:44 +02:00
Martin Pulec
47be77ed94 create-appimage.sh: do not require fc-match
If not running in GitHub CI, do not fail on fc-match absence, only print
the error.
2023-07-24 14:48:12 +02:00
Martin Pulec
c6fea2249e MacOS updater: release is updated to next release
Until now, the update was done unconditionally to continuous regardless
if the updated version was release or continuous.
2023-07-20 10:39:03 +02:00
Martin Pulec
c381978ab3 create-appimage.sh: removed stdout->stderr redir
+ removed the subshell

The redirection is actually no longer neeeded - we do not need to bother
where the output goes but the reason for the redirection is no longer
valid - the created AppImage is no longer outputted.
2023-07-18 10:49:05 +02:00
Martin Pulec
74d1bf7963 CI Linux: prevent mkappimage auto upload
mkappimage now tries to automatically upload the asset if it detects
running in GitHub CI, which is not the behavior we perhaps want because
it deletes and recreates our _continuous_ release.

See following failed run:
https://github.com/CESNET/UltraGrid/actions/runs/5575039257/jobs/10185765784

+ fixed `wget` presence check in `create-appimage.sh`
2023-07-18 10:01:07 +02:00
Martin Pulec
e75a8e3e5d Makefile mac: copy all files from old to GUI bundle
the former was a bit error-prone and eg. since 2b9ed6c7 (2023-05-15),
icon.icns was not copied (just to old bundle but not re-copied to GUI
bundle). Also things like Vulcan shaderes were not copied.

Here, we use a no-clobber option not to override files specific to GUI
bundle.

+ fixed the actaull path of icon.icns inside the bundle
2023-07-03 11:13:35 +02:00
Martin Pulec
bbe5c9e986 AppRun Firejail: disable mnt only if possible
If /mnt, /media, /run/mount, /run/media is included on command-line, do
not toggle Firejail option --disable-mnt.
2023-06-23 11:19:08 +02:00
Martin Pulec
16d11f013d AppRun Filejail: whitelist -t file:<name> 2023-06-15 16:43:46 +02:00
Martin Pulec
80df5db0fd AppImage Firejail: support for spaces in names 2023-06-08 15:42:51 +02:00
Martin Pulec
1d246688d8 AppRun: accept FIREJAIL_OPTS from caller
The caller can now provide its own FIREJAIL_OPTS (if something is
needed).

+ do not pass explicitly UG_FONT_DIR to firejail - the environment isn't
  entirely pruned, the env vars usually pass to the Firejail, except of
  some, including LD_PRELOAD, LD_LIBRARY_PATH and TMPDIR, which are
  already passed.
2023-05-18 08:43:51 +02:00
Martin Pulec
e15f57c38a AppRun: do not pass SoundFont in env var
Do not use env var SDL_SOUNDFONT to pass sounfont path but let the
sdl_mixer UG module load the fonts directly (as on other platforms).
2023-05-18 08:43:51 +02:00
Martin Pulec
78796781db bundled SoundFount is sf3 2023-05-18 08:43:39 +02:00
Martin Pulec
2b9ed6c795 Makefile: mac bundle: copy icon+update.sh directly
- renamed update.mac->update.sh
- moved update.sh + icon.icns to macOS bundle skeleton path
2023-05-15 16:49:26 +02:00
Martin Pulec
9e852bfb00 update.mac: updates
- replaced 'cp -r' with 'cp -a' - the former didn't copy the symlinks
  inside VideoMasterHD[_Audio].framework (Headers)
- shellchecked
- disable debug output (but print few new status messages)
2023-05-15 16:49:22 +02:00
Martin Pulec
25d86501c7 updated macos updater
- use 'continuous', not 'nightly'
- use debug mode (better than not writing anything to output)
2023-05-15 11:19:14 +02:00
Martin Pulec
b1a46b6389 UG build fix: expired homepage SSL certificate
when SSL certificate expires, appstream is refused during validation,
see:

    https://github.com/CESNET/UltraGrid/actions/runs/4934011070/jobs/8818552835

the homepage doesn't seem to be required for the AppStream so remove it
2023-05-10 10:04:13 +02:00
Martin Pulec
b8ce258d4d sdl_mixer: try to open from common path
Copy sounfont to known path for macOS and Windows CI builds (in Linux,
this is already handled with a environment var SDL_SOUNDFONTS). And also
use that location if there is any soundfont.
2023-04-28 10:15:11 +02:00
Martin Pulec
30e9484ff7 AppImage: bundle a SoundFont file
In order to sdl_mixer being able to synthetise MIDI.
2023-04-28 10:15:11 +02:00
Martin Pulec
34f5d2d036 AppRun Firejail updates
- TMPDIR was not writtable - `--read-only=/tmp` after
  `--read-write=/tmp/something` overrides read-write, order needs to be
  reversed
- for args file, filename, make parent directory writtable - it may not
  only be read, but also written (like `--protocol sdp:file=out.sdp`)
+ FIREJAIL_DEBUG to print assembled Firejail arguments
2023-04-27 15:21:18 +02:00
Martin Pulec
47fac9109c AppRun: use $ULTRAGRID_AUTOUPDATE val as interval
If $ULTRAGRID_AUTOUPDATE is set to >= 0, use it as update interval (in
days).

Since the value 0 was used to suppress the update warning, the value
to suppress the warning was required to change to -1.
2023-04-21 10:04:56 +02:00
Martin Pulec
0bd5c1d12c AppRun: autoupdater updates
- if updated, restart the command using the new AppImage
- if update fails (eg. no error connection), AppImage will continue
  running
2023-04-20 17:30:01 +02:00
Martin Pulec
b4b138b74f AppRun: do not use LD_LIB_PATH for handle_updates()
The command-line tools used here (eg. stat) may use our custom libraries
(like libselinux) which may not be entirely compatible (it just most
likely ends up with a warning).

+ do the same for get_tools() and set_libva_ld_preload()
+ use original (if any) LD_LIBRARY_PATH for set_ld_preload()
+ removed unneeded `exit $?` (it is implicit)
2023-04-05 16:32:58 +02:00
Martin Pulec
35bf20065e AppRun: use get_loader() from preload.sh 2023-04-05 16:12:55 +02:00