118 Commits

Author SHA1 Message Date
Martin Pulec
cb2834caba 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-20 08:53:20 +02:00
Martin Pulec
d8a64655c9 AppImage: don't use bundled Wayland libraries
Don't use bundled Wayland libraries when running on Wayland but use it
otherwise to satisfy possibly unsatisfied dependencies.

See also previous commit - Wayland libraries seem not to be portable and
prevent SDL2 native run on Wayland. After this change, SDL2 runs on
U22.04 in Weston (without Xwayland).
2023-04-06 14:49:57 +02:00
Martin Piatka
a18d7e0dc4 create-appimage: Bundle qt plugins with correct version
Starting from about 20th January, the wrong version (qt4) started
getting bundled on the Ubuntu runner.
2023-03-21 12:39:42 +01:00
Martin Pulec
de25c53b9e AppRun firejail: removed deprecated --shell
firejail repors it's deprecated as for 0.9.72 and refuses to run
2023-01-19 09:59:31 +01:00
Martin Pulec
030619d72c AppImage: fixed appimageupdate not running on U22.04
libfuse2 is missing there
2023-01-02 15:18:47 +01:00
Martin Pulec
fb0729bb6e AppRun: do not mount /tmp RO if will be written 2022-12-02 11:18:12 +01:00
Martin Pulec
de64f60d29 AppRun: simplify a bit
do more work in add_whitelist()
2022-12-02 11:15:20 +01:00
Martin Pulec
2714c6b3bf AppRun: watch adding /tmp
Beware not to add --whitelist=/tmp[something] because that would hide
the actual mounted image (/tmp/.mount_ultragridsomething). As /tmp is
remounted RO, just make the "whitelisted" dirs RW.

+ add to whitelist $DIR (path to executable) if it is not /tmp (eg.
  extracted AppImage somewhere)
2022-12-02 11:15:18 +01:00
Martin Pulec
0c14f1180a AppRun: supress shellcheck warning 2022-11-25 11:02:20 +01:00
Martin Pulec
2a423ef77a AppRun: whitelist+mkdir also dump/record with dir
Take explicit path from '-d dump:<dir>' or '--record=<dir>' and
whitelist + mkdir it (it may not exist yet and then whitelisting would
not work).
2022-11-22 16:40:13 +01:00
Martin Pulec
9f838ec1bb AppRun: whitelist CWD if dump requested
Dump/export dumps to current directory by default
2022-11-22 16:40:13 +01:00
Martin Pulec
19a2a336e5 AppRun: whitelist absolute paths
If user passses as the parameter relative path, it haven't worked.
2022-11-22 16:40:13 +01:00
Martin Pulec
e85988557d add tools/convert to AppImage 2022-11-22 11:29:02 +01:00
Martin Pulec
45b010f53f AppRun: print man page only if 1-2 param given
Do not interfere with UltraGrid -m parameter -- show man if only 1-2
parameters given (`uv -m 1500` doesn't make much sense for UG),
otherwise pass it to UltraGrid.

This allows using commands like `UltraGrid-continuous-x86_64.AppImage -m
1316 -t testcard -d gl` (`-m` MTU parameter at the first place).
2022-11-14 10:18:39 +01:00
Martin Pulec
a1e0d266ff excludelist.local: split to x86 and ARM variants
Currently libgdk-3.so.0 is needed for ARM but still causes a crash with
U22.04 (retested, previously tested was U21.10 which is no longer
supported).
2022-11-01 11:29:06 +01:00
Martin Pulec
9f2e748644 CI ARM: use create-appimage.sh 2022-11-01 11:11:45 +01:00
Martin Pulec
67b717ffcf CI ARM: set curl insecure by default
+ suppress wget not found messsage
2022-11-01 11:11:45 +01:00
Martin Pulec
033614338c create-appimage.sh: style + appimageupdatetool cache
Keep appimageupdatetool copy in current directory (where the script also
looks it up from previous commit) as a cache.

+ use either wget or curl (whichever available)
2022-10-26 11:37:35 +02:00
Martin Pulec
2fa1d7eff3 create-appimage.sh: allow preload/caching AI tools
cache/preload AppImage tools appimageupdatetool and mkappimage

Lookup the tools also in current directory where it is downloaded if
there isn't a system one, so this can be considered also as a cache for
future runs.
2022-10-26 11:37:33 +02:00
Martin Pulec
3b15dd2926 AppRun: do not print misleading message
Do not warn that bundled libva is used when libavcodec is not compiled
at all.
2022-10-24 15:06:53 +02:00
Martin Pulec
0ad25c6c6d create-appimage.sh: extract mkappimage if no fuse
extract mkappimage if fuse is not available, eg. in docker containers

+ use curl instead of wget - curl is already used a line above so it
  must be present, wget don't
2022-10-24 15:06:53 +02:00
Martin Pulec
3830817f17 create-appimage.sh: added another excludelist opts
- use local version if available in $CWD
- if wget fails, try curl
2022-10-24 15:06:53 +02:00
Martin Pulec
dae8192c4d CI Linux: build own SDL2
This fixed crashing on Wayland (only - Weston without XWayland) in both U20.04 and
U22.04.
2022-10-24 15:06:23 +02:00
Martin Pulec
6b6070dcef AppRun: fixed exiting if TERM is not defined
tput returns non-zero if TERM is not set (eg. run by the CI check) and
shell is set to errexit (-e). (Previously the return value was hidden by
return value of calling echo).
2022-10-21 15:27:46 +02:00
Martin Pulec
762dbb0eae AppRun: colored output 2022-10-21 14:45:22 +02:00
Martin Pulec
fba27c434b Revert "AppRun: added libva-wayland to preload"
This reverts commit e687bd35ac.

This currently cause following error on Arch:

    expr: symbol lookup error: /lib/libva-wayland.so.2: undefined symbol: wl_proxy_marshal_flags
    id: symbol lookup error: /lib/libva-wayland.so.2: undefined symbol: wl_proxy_marshal_flags
2022-10-21 14:45:22 +02:00
Martin Pulec
e687bd35ac AppRun: added libva-wayland to preload
currently will not be used by CI because U18.04 doesn't link that
library
2022-10-11 16:22:54 +02:00
Martin Pulec
4eb8f32cd1 AppImage: fixed obtaining mkappimage
GH now uses AJAX API on web so that the link is no longer there in HTML.
2022-09-20 12:11:18 +02:00
Martin Pulec
0787d10676 create-appimage.sh: improved readibility
The pattern in output of ldd that should be skipped is actually '<lib>
=> not found'. The pattern "found" of course covers that but is a little
bit misleading.
2022-09-14 08:29:24 +02:00
Martin Pulec
524ce6302a shellcheked data/scripts/**/*sh 2022-09-13 16:36:35 +02:00
Martin Pulec
045796a408 AppImage: fixed JACK LD_PRELOAD 2022-09-13 16:36:34 +02:00
Martin Pulec
6ceec5edc3 AppRun: whitelist also file=
- rewritten - allow also multiple whitelisted patterns on cmdline
- whitelist every "file=" (midi) and "filename=" occurences
2022-09-13 16:36:33 +02:00
Martin Pulec
14489deb0a AppImage: set TMPDIR to a writable path 2022-09-12 16:44:05 +02:00
Martin Pulec
56ab0c5433 AppRun: fixed shellcheck complain 2022-09-12 16:44:05 +02:00
Martin Pulec
ad5c6bd2c2 AppImage: bundle libjack.so.0 again
This effectively reverts 3c9b8293.

libjack.so.0 is a dependency also for different modules like portaudio
so if we do not want to depend on instance in the system, we must ship
our version.
2022-07-27 09:05:56 +02:00
Martin Pulec
97dd5ceecb AppRun fixed libva-x11 not being LD_PRELOADED
In the second iteration of for cycle, $NAME was derived from something
like "/usr/lib/libva.so.2:/usr/lib/libva-drm.so.2"  (s/libva/libva-x11),
which obviously didn't exist as a file.

Fixes:

    $ <AppImage> --list-modules | grep -A 2 'Errors:'
    Errors:
            ultragrid_acompress_libavcodec.so
                    ./squashfs-root2/usr/lib/libva-x11.so.2: undefined symbol: va_fool_postp
2022-07-20 14:23:04 +02:00
Martin Pulec
9bbcefc240 AppRun (Linux): bundled libva selection improve 2022-07-20 14:22:57 +02:00
Martin Pulec
00c177d6f2 CI: use AJA from GitHub [Win] 2022-06-14 14:11:50 +02:00
Martin Pulec
3978d67176 Win AJA stub: fixed compilation error + warn 2022-06-01 11:22:02 +02:00
Martin Pulec
03c024309f GLFW: allow multiple instantiation
For now, use reference counting without any synchronization -
glfwInit/Terminate should be called only from main thread, anyway.
2022-06-01 11:22:01 +02:00
Martin Pulec
a9178a0eb1 Fixed AppImage showing "bin" dir as a tool 2022-06-01 11:21:57 +02:00
Martin Pulec
735428abd2 AppImage: fixed appsteam+validation 2022-05-30 15:52:03 +02:00
Martin Pulec
189c2b4211 AppImage: use static runtime
Ubuntu 22.04 no longer contains libfuse.so.2 but ships libfuse.so.3
instead preventing AppImage from run (dlopens version 2).
2022-05-30 15:51:50 +02:00
Martin Pulec
1cf8dde8b4 AppImage: Qt6 support 2022-05-30 15:38:49 +02:00
Martin Pulec
2b45ba946b mac: display warning to use alt-build on <10.15 2022-05-17 08:56:13 +02:00
Martin Pulec
8bcaefec36 AppImage: do not use -t short opt for tool
'-t' is already used by UG (capture), which disallows use like:

    UltraGrid.AppUmage -t testcard

used '-o' instead
2022-05-12 13:37:02 +02:00
Martin Pulec
4cd5d9662f AppImage: tool selection improvements
- accept '-t' alongside '--tool'
- show accept -t/--tool help
- use bold font
2022-05-10 11:16:10 +02:00
Martin Pulec
93409cd85a Fixed AppImage -h displaying UG not AI help 2022-05-10 09:36:22 +02:00
Martin Pulec
7af87c935c Linux firejail: whitelist video (v4l2) 2022-04-01 14:13:46 +02:00
Martin Pulec
3a83770967 Fixed AppImage Firejail whitelist generation
Fixed 8e77dab6f

If no pattern was found, actually whole line was printed and
whitelisted, sample wrong input:

    UltraGrid-continuous-x86_64.AppImage -t testcard
2022-03-25 15:43:22 +01:00