TheAssassin
3fd595a63b
Expose file copying helper in public interface
2019-08-14 01:33:09 +02:00
TheAssassin
3183ee2f4f
Mark methods const where possible
2019-07-27 16:37:16 +02:00
TheAssassin
e24b46d291
Change method name to something more meaningful
2019-07-25 17:44:50 +02:00
TheAssassin
956a253428
Return final deployment path
...
deployFile allows for specifying a directory as destination, and copies
files into there, simulating the behavior of tools like cp. To do that,
it creates the directory, then appends the filename of the input file
to it and uses that as destination for the "copy file" call.
It's pretty handy for some applications to get the full path of the
new file returned by this method directly (doesn't have to implement
this concatenation more than once).
2019-02-06 23:23:48 +01:00
TheAssassin
028d85a070
Explicitly disable all copy/move(-assignment) behavior
2019-01-29 00:03:35 +01:00
TheAssassin
8df605cb19
Use shared pointer to manage PImpl object
2019-01-29 00:02:49 +01:00
TheAssassin
5374e7ece9
Switch to extracted desktop file library
2018-12-22 23:09:04 +01:00
TheAssassin
0b5ab2fc36
Fix return type of setter
2018-11-19 21:51:26 +01:00
TheAssassin
92a1370b30
Be able to use EXPECT_EQ with DesktopFile objects
...
GoogleTest internally uses operator==(first, second) instead of
first.operator==(second). By implementing the operators outside the
classes, GoogleTest can be made happy.
2018-11-15 23:36:04 +01:00
TheAssassin
1c4e4a3888
Remove redundant setters/getters
2018-11-15 20:53:16 +01:00
TheAssassin
e4bf795211
No need for a string conversion operator
...
Doesn't make sense here anyway.
2018-11-15 20:44:43 +01:00
TheAssassin
f7975f1b80
Use return types with guaranteed sizes
...
This will ensure the conversions work equally on both 32-bit platforms
(int == long on 32-bit Linux systems, on 64 bit long > int).
2018-11-15 17:19:42 +01:00
TheAssassin
fbc1d78122
Use custom exceptions for error handling
2018-11-14 10:31:41 +01:00
TheAssassin
d6e6cac6e0
Move libraries into directories following package path
2018-11-10 01:43:36 +01:00
TheAssassin
574a883733
Don't require desktop file's path to exist
2018-11-09 21:28:40 +01:00
TheAssassin
11bbe4d219
Rewrite DesktopFile using own parser
2018-11-09 16:04:40 +01:00
TheAssassin
8a2d57e8d5
Move definition of types into DesktopFile
...
Types will be shared with future DesktopFileWriter class.
2018-11-09 02:26:09 +01:00
TheAssassin
5ba8b613d6
Fix includes
2018-11-09 00:36:55 +01:00
Alexis López Zubieta
d9ca907da8
Add symlinkFile to the public AppDir interface ( #42 )
...
* Add symlinkFile to the public AppDir interface
* Rename AppDir::symlinkFile to AppDir::createSymlink
* change return value to bool
* Remove duplicated header
* Remove blank lines
* Add comment
* Fix test name
* Change createSymlink signature. Name changed to createRelativeSymlink and remove the useRelativePath argument
* Remove commented tests.
2018-11-05 22:10:18 +01:00
TheAssassin
542edaf410
Allow disabling copyright files deployment for debugging
2018-11-04 17:21:36 +01:00
TheAssassin
10df75f877
Extract subprocessing into separate library
2018-10-25 14:34:54 +02:00
TheAssassin
485507a2d1
Buffer subprocess communication
2018-10-07 00:05:59 +02:00
TheAssassin
0ced1390ce
Improve ELF library, mk. 2
2018-08-31 17:35:45 +02:00
TheAssassin
dcf1726889
Improve ELF library, mk. 1
2018-08-31 16:48:36 +02:00
TheAssassin
276c6f2d18
Improve multiplexing of subprocess output
...
Setting pipes to be non-blocking now, and reading using fgets() instead
of getline(), using std::getline() to read lines after non-blocking read
from pipes.
Fixes #14
2018-08-28 22:35:05 +02:00
TheAssassin
e8dee64447
Deprecate --app-name
...
It's been a useful parameter, but only in some rare edge cases. Instead,
we'll focus more on desktop files, e.g., using the Icon entry contents
for (re)naming icons, etc.
2018-08-25 23:46:13 +02:00
TheAssassin
4de8b6589f
Remove unused dependency libmagic
...
Our use of libmagic isn't very portable, and the checks aren't used
anyway. Therefore removing dependency on libmagic.
Fixes #17 .
2018-08-20 23:54:35 +02:00
TheAssassin
7184bcb61d
Abort if library is missing
2018-08-11 15:30:06 +02:00
TheAssassin
1c7e768b86
Provide interface to linuxdeploy_util
2018-08-03 00:56:16 +02:00
TheAssassin
bd052a5b1f
Add prefix to every line in plugin output
2018-07-10 15:08:17 +02:00
TheAssassin
f06d5e5832
Store plugin name in plugin class
2018-07-10 15:06:39 +02:00
TheAssassin
df61b059d3
Force deploy libraries specified on the CLI
2018-06-30 23:27:02 +02:00
TheAssassin
77ae6072d8
Add int-type log operators
2018-06-20 21:14:30 +02:00
TheAssassin
5f146507ef
Fix API level check
2018-06-20 20:42:09 +02:00
TheAssassin
c5d15b54ba
Add support for output plugins
2018-06-20 00:44:39 +02:00
TheAssassin
f1d8c807f3
Implement run method for plugins
2018-06-20 00:39:03 +02:00
TheAssassin
65b204ddfd
Extract exceptions into own header
2018-06-19 23:32:06 +02:00
TheAssassin
e7664d462b
Remove unused comment
2018-06-19 23:30:41 +02:00
TheAssassin
2a769ac3d9
Make findPlugins return plugin name
...
Required to let users enable them by hand.
2018-06-19 22:47:01 +02:00
TheAssassin
12c7ec7166
Implement standard mechanism to find plugins on the system
...
First searches in current directory, then searches directories in
$PATH.
2018-06-19 20:46:53 +02:00
TheAssassin
e977d16dc9
Custom plugin base exception
...
Useful to differentiate between plugin and non-plugin exceptions.
2018-06-19 20:45:16 +02:00
TheAssassin
7c06295cfd
Plugin system, mk. 1
2018-06-19 18:02:23 +02:00
TheAssassin
ee42183205
Add deployFile to AppDir class interface
2018-06-11 23:04:37 +02:00
TheAssassin
333c281c20
Add destination parameter to deployExecutable
...
Code is mostly shared with deployLibrary's destination code.
TODO: refactor: extract to separate function and use in both places
2018-06-11 23:00:28 +02:00
TheAssassin
4a31ecb8b9
Allow setting destination directory in deployLibrary()
2018-06-08 03:06:18 +02:00
TheAssassin
030b21379b
Move exception to header
...
Otherwise, it obviously can't be caught by users of the ElfFile class.
2018-06-04 14:08:24 +02:00
TheAssassin
54029b53b6
Deploy dependencies for existing files in AppDir
2018-06-03 03:24:29 +02:00
TheAssassin
96f77423d6
Remove util.h from public interface
...
It doesn't belong to the core namespace anyway.
2018-06-02 01:15:07 +02:00
TheAssassin
2bee994f53
Rename icons like <appname>_*.ext to <appname>.ext
...
This allows users to specify multiple icons like
-i app_res1.png -i app_res2.png -i [...]
linuxdeploy can sort them into the right directory structure, and
their name will be equal to the app name (which is most likely equal
to the Icon entry in the desktop file).
2018-06-01 21:52:43 +02:00
TheAssassin
d1e2f9a5d9
Add stringStartsWith utility function
2018-06-01 21:43:56 +02:00