Commit Graph

304 Commits

Author SHA1 Message Date
TheAssassin
2425ccc832 Extract process handling into separate class
Needed for plugins' subprocess handling.
2020-08-07 21:22:58 +02:00
TheAssassin
e1f6da17b4 Add basic subprocess micro library
cpp-subprocess does not work when linked statically for some weird reason. Therefore, we're going to ship our own.
2020-08-07 21:22:58 +02:00
TheAssassin
86d4404a16 Try to use target_link_options again 2020-08-07 21:22:58 +02:00
TheAssassin
cbfbb1ee2d Debug CI build issues mk. 1 2020-08-07 21:22:58 +02:00
TheAssassin
5b713b3bee Add support for fully static builds 2020-08-06 02:07:31 +02:00
TheAssassin
5644d5ca06 Add license notices to binary for dependencies
Was long overdue.
2020-08-06 01:19:29 +02:00
TheAssassin
557bad2241 Add --deploy-deps-only 2020-07-15 03:17:37 +02:00
TheAssassin
590a746882 Replace std::cerr messages with ldLog
Was long overdue now. Makes for a consistent logging, and helps communicate that the messages are errors to the user.
2020-07-15 03:10:12 +02:00
TheAssassin
0f3a118687 Add param to automatically rename deployed icons
Useful e.g., when passing multiple icons with different resolutions via -i, if they have the resolution in the filename.

Also removes all traces of that appName concept that has been abandoned.
2020-06-11 21:04:33 +02:00
TheAssassin
d086da38c4 Allow users to use custom patchelf
Fixes #120.
2020-02-06 02:34:37 +01:00
TheAssassin
652ef5a215 Use the right method to resolve symlinks
Just checked with absolute, it doesn't always resolve symlinks. canonical is supposed to do that according to https://www.boost.org/doc/libs/1_48_0/libs/filesystem/v3/doc/reference.html#Canonical-path.
2019-12-13 17:53:28 +01:00
TheAssassin
2b13c52452 Workaround for ldd bug
Closes #110.

See https://sourceware.org/bugzilla/show_bug.cgi?id=25263 for more information.
2019-12-13 17:49:22 +01:00
TheAssassin
c45cd46319 Move which to utils module
Also uses the native split functionality provided by the utils module
instead of some external dependency's.

Preparation for using this method in plugins such as the Qt plugin.
2019-11-19 11:28:24 +01:00
TheAssassin
1bd5453c61 Fix detection of copyright tools
CC #104
2019-11-18 23:13:44 +01:00
TheAssassin
9783db602e Quick fix unavailability of which command
CC #104
2019-11-18 20:44:53 +01:00
TheAssassin
6cfa741f40 Add missing newline (fixes #102) 2019-11-13 15:31:52 +01:00
TheAssassin
3c4580a325 Allow bundling of additional binaries without moving them
Required to bundle e.g., applications' plugins together with their
dependencies without moving them out of position so they can still
be found by the original apps.
2019-09-22 19:06:00 +02:00
TheAssassin
f20af7dc67 Refactor and improve relative directory calculation
Also makes variable names less ambiguous and adds some documenting
comments.
2019-09-22 18:58:21 +02:00
TheAssassin
0ba33879b0 Fix argument forwarding in generated AppRun script 2019-09-12 16:35:09 +02:00
TheAssassin
612bf962a3 Another missing return statement 2019-08-15 01:10:02 +02:00
TheAssassin
19d958d30f There should at least be debug messages for potential errors 2019-08-15 00:00:19 +02:00
TheAssassin
fc82028af4 More forgotten return statements in bool methods 2019-08-14 23:57:50 +02:00
TheAssassin
2d45ef4c72 Fix missing return statement in static bool method
Looks like devtoolset compiler behaves differently on bool methods
without an explicit return statement. Kind of strange.

Undefined behavior?
2019-08-14 23:42:57 +02:00
TheAssassin
470caa3db1 Replace ln based subprocess symlinking with boost functionality 2019-08-14 23:25:21 +02:00
TheAssassin
d24e6dac56 Clean up symlink helper 2019-08-14 22:47:59 +02:00
TheAssassin
de363bc90b Merge branch 'master' into apprun-hooks 2019-08-14 15:14:02 +02:00
TheAssassin
8e9114b7c5 Improve generated AppRun script 2019-08-14 14:36:06 +02:00
TheAssassin
72e4fb49e0 Don't try to move if there's no need to do so 2019-08-14 14:35:53 +02:00
TheAssassin
abdefbc0ff Use a custom variable to support test runs from IDE better
When your IDE is running as an AppImage, the $APPRUN variable is
already set in the built-in terminal. Now of course you could just
calculate the path of $APPRUN yourself and force-overwrite it in that
script; however that's more effort and more likely to break.

Therefore it's easier to just introduce and use a custom variable.
2019-08-14 14:33:25 +02:00
TheAssassin
58845cee8f Support for AppRun hooks installed by plugins, mk. 1 2019-08-14 04:13:30 +02:00
TheAssassin
5bc8840003 Mark methods const where possible 2019-08-14 04:11:36 +02:00
TheAssassin
1cb5a742db Break up deployment algorithm into independent methods
That makes maintenance easier.
2019-08-14 02:28:21 +02:00
TheAssassin
142facd986 Improve method 2019-08-14 01:35:31 +02:00
TheAssassin
aced62378a Move AppDir root deployment into separate class
Makes adding more features easier, as there's a clear defined interface
to the class and the mechanism can be split into more methods more
easily without bloating the AppDir class further.
2019-08-14 01:35:23 +02:00
TheAssassin
3fd595a63b Expose file copying helper in public interface 2019-08-14 01:33:09 +02:00
TheAssassin
9dc10fc0fc Method can be static 2019-08-14 01:08:20 +02:00
TheAssassin
3183ee2f4f Mark methods const where possible 2019-07-27 16:37:16 +02:00
TheAssassin
3d766446d9 Improve log message 2019-07-25 17:47:34 +02:00
TheAssassin
e24b46d291 Change method name to something more meaningful 2019-07-25 17:44:50 +02:00
TheAssassin
47b8370751 Method can be static 2019-07-25 17:43:45 +02:00
darealshinji
ce5aecead5 remove all comments
Otherwise the generated header contains entries like this:
``` c
    "libxcb-dri2.so.0",
    "#",
    "https://github.com/probonopd/linuxdeployqt/issues/331#issuecomment-442276277",
    "libxcb-dri3.so.0",
    "#",
    "https://github.com/AppImage/AppImages/issues/348",
```
2019-07-06 20:21:16 +02:00
Harmen Stoppels
0e95f19a75 Make deployLibrary deploy its dependencies by default, and avoid unnecessary recursion by making deployElfDependencies not deploy its deps of deps 2019-06-10 20:12:30 +02:00
Harmen Stoppels
159b082658 Remove recursion of ELF deployment since ldd already does that for us 2019-06-09 14:43:59 +02:00
TheAssassin
2a1127d7e8 Show acceptable icon sizes in error message
CC #75.
2019-05-24 23:25:03 +02:00
TheAssassin
3f81577b04 Fix missing newline in error messages 2019-05-24 22:49:19 +02:00
TheAssassin
834b467a41 Fix data printed in error message 2019-05-24 22:48:53 +02:00
TheAssassin
46ccb8965d Add missing valid resolutions (CC #75) 2019-05-24 16:19:36 +02:00
TheAssassin
77c52883f1 Remove deprecated debug code 2019-03-20 17:25:13 +01:00
TheAssassin
157861d236 Make symlinking work for older versions of ln, too 2019-03-20 17:23:14 +01:00
TheAssassin
1f498772b4 Properly handle nonexisting files 2019-02-23 18:01:47 +01:00