Commit Graph

589 Commits

Author SHA1 Message Date
TheAssassin
8ee0e43c23 Switch to new subprocess lib in type 0 plugins, mk. 3
This commit fixes the remaining buffer issues by introducing a little more complexity. It shall be refactored in the future to decrease complexity again, but for now, it works well and function is more important than form at this point.

CC #143
2020-09-04 18:02:40 +02:00
TheAssassin
e9bbbc80f4 Switch to new subprocess lib in type 0 plugins, mk. 2
Apparently fixes all buffer-related crashes, but there's a few minor bugs left.

CC #143
2020-08-31 08:39:43 +02:00
TheAssassin
68f4655fc4 Add method to write from buffers to ldLog streams 2020-08-31 06:30:06 +02:00
TheAssassin
1072c6d9f0 Improve check_output performance 2020-08-31 05:08:24 +02:00
TheAssassin
f33dc8dd34 Switch to new subprocess lib in type 0 plugins, mk. 1 2020-08-31 04:41:01 +02:00
TheAssassin
6621f1edf7 Forgot to add pipe reader to CMake 2020-08-31 04:20:40 +02:00
TheAssassin
ee73ac6c8e Use new pipe_reader in subprocess's check_output
The class will read until the process quits (or until memory's up).

TODO: reduce load on CPU with some sleep (right now, it's pretty much some busy waiting)
2020-08-31 04:20:03 +02:00
TheAssassin
66691ee882 Add new helper class pipe reader
Implements synchronous, non-block reading from pipes.
2020-08-28 17:36:56 +02:00
TheAssassin
e91b459fce Use std::distance instead of pointer arithmetics 2020-08-08 11:54:58 +02:00
TheAssassin
3f86f178a5 Use classic C string handling
That way, we don't have to allocate memory, and it's also shorter.
2020-08-08 11:49:17 +02:00
TheAssassin
a8975e0e50 Clean up memory in case exec* fails
Prevents memory leaks.
2020-08-08 11:44:21 +02:00
TheAssassin
6c47939fdc Fix initialization bug 2020-08-08 11:34:02 +02:00
TheAssassin
8663e5bf26 Update license information in help text 2020-08-08 01:06:51 +02:00
TheAssassin
89493e399b Build fully static strip binary 2020-08-08 00:47:54 +02:00
TheAssassin
4d999ef5c6 Build somewhat static strip ourselves 2020-08-08 00:30:28 +02:00
TheAssassin
b39dfa6591 Fix static binaries handling 2020-08-08 00:30:28 +02:00
TheAssassin
484ff3f004 Fix C string processing bug
Well, makes sense now that I look at it... but caused a couple of hours worrying why my child processes were crashing until I noticed it'd only happen if I specified custom environment variables...
2020-08-08 00:30:28 +02:00
TheAssassin
8b604871cc Refactor duplicate code into static method 2020-08-08 00:30:28 +02:00
TheAssassin
88dd09f2d1 Set all variables to defaults in header 2020-08-08 00:30:28 +02:00
TheAssassin
d43e8a42bf Fix whitespace 2020-08-08 00:30:28 +02:00
TheAssassin
5feef7880e Try to fix waitpid issues 2020-08-08 00:30:28 +02:00
TheAssassin
2b2c6a913f Set default value 2020-08-07 21:22:58 +02:00
TheAssassin
aeb0bfa98b Use consistent error message for all plugins 2020-08-07 21:22:58 +02:00
TheAssassin
37aa37f5fe Fix behavior of close()
The implementation was obviously wrong/incomplete.
2020-08-07 21:22:58 +02:00
TheAssassin
59a8ec41ba Replace cpp-subprocess with own linuxdeploy-subprocess 2020-08-07 21:22:58 +02:00
TheAssassin
4a0cfe323d Require newer CMake version only for static builds 2020-08-07 21:22:58 +02:00
TheAssassin
c895a1dc59 Add kill and poll features for processes 2020-08-07 21:22:58 +02:00
TheAssassin
80a5667ca7 Check waitpid() for errors 2020-08-07 21:22:58 +02:00
TheAssassin
2425ccc832 Extract process handling into separate class
Needed for plugins' subprocess handling.
2020-08-07 21:22:58 +02:00
TheAssassin
55b2d00f23 Add reusable assert template 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
326b002ed5 Fetch up-to-date CMake for AppImage builds 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
5fde708954 Improve CMake check 2020-08-06 14:44:00 +02:00
TheAssassin
dc07fbd401 Build static binaries for releases on Travis 2020-08-06 14:10:57 +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
a609adb4f5 Merge pull request #135 from komputerwiz/master
Fix update information used by Travis builds
2020-07-05 20:41:00 +02:00
Matthew Barry
591e21a766 fix update information used by Travis builds
Seems like this was overlooked by commit 2af5430 when fixing #126
2020-07-05 12:50:47 -05: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
1c0ce6a0a5 Merge pull request #132 from X0rg/patch-1
Update README.md with CPU-X project
2020-05-24 01:50:12 +02:00
Xorg
2f00292756 Update README.md with CPU-X project 2020-05-24 01:00:32 +02:00
TheAssassin
f24c167722 Add $LINUXDEPLOY for input plugins
The input plugins can use this environment variable to call linuxdeploy themselves. This can be very handy to have it deploy additional dependencies on libraries they copy themselves.

An alternative approach is to simply use liblinuxdeploy inside the plugin, like the Qt plugin does.
2020-05-03 18:32:55 +02:00
TheAssassin
2af54304e2 Fix update information
Closes #126.
2020-04-08 23:41:58 +02:00
TheAssassin
4391ad24d9 Merge pull request #125 from d1vanov/master
Fix links in README.md
2020-04-04 16:19:13 +02:00
Dmitry Ivanov
f3ae65bc57 Fix links in README.md 2020-04-04 17:17:41 +03:00
TheAssassin
d086da38c4 Allow users to use custom patchelf
Fixes #120.
2020-02-06 02:34:37 +01:00