TheAssassin
6a952b57f9
Make custom AppRun files executable
...
This eliminates the need for users to make the files executable
before running linuxdeploy.
2019-06-28 21:40:14 +02:00
TheAssassin
8fbe191d7a
Fix APPIMAGE_EXTRACT_AND_RUN support for plugins, mk. 1
2019-06-28 20:18:51 +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
5c3a51fd48
Merge pull request #71 from dbarach/master
...
Add a workspace sanity check
2019-03-27 17:12:19 +01:00
Dave Barach
44cb9466b3
Merge branch 'master' of https://github.com/dbarach/linuxdeploy
...
Signed-off-by: Dave Barach <dave@barachs.net >
2019-03-27 11:08:11 -04:00
Dave Barach
1dfcab8556
Add a workspace sanity check
...
Check to make sure that one source file in one of the git submodules
is present. If not, throw a fatal error which explains what probably
went wrong, and how to fix it:
"Missing submodule(s), please 'git clone --recurse-submodules...'"
Signed-off-by: Dave Barach <dave@barachs.net >
2019-03-27 11:03:25 -04:00
Dave Barach
e62e8d8396
Add a workspace sanity check
...
Check to make sure that one source file in one of the git submodules
is present. If not, throw a fatal error which explains what probably
went wrong, and how to fix it:
"Missing submodule(s), please 'git clone --recurse-submodules...'"
Signed-off-by: Dave Barach <dave@barachs.net >
2019-03-27 10:23:47 -04:00
TheAssassin
875842ee3b
Fix linking issues
2019-03-21 15:13:08 +01:00
TheAssassin
a4fe77305d
Reduce redundancy when adding boost header-only libs
2019-03-21 11:51:06 +01:00
TheAssassin
4f44dcf954
Fix Docker build script path issue
2019-03-21 11:28:15 +01:00
TheAssassin
44b234734b
Upload CentOS 6 binaries
2019-03-21 11:27:02 +01:00
TheAssassin
871f1d6e99
Fix permissions
2019-03-21 11:20:45 +01:00
TheAssassin
f06643ea5f
Experimental CentOS 6 build
2019-03-21 11:13:44 +01:00
TheAssassin
6baa443fd7
appimagetool is being annoying
2019-03-21 10:32:17 +01: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
32dca18eee
We don't use exceptions for error communication
2019-03-20 17:22:46 +01:00
TheAssassin
1f498772b4
Properly handle nonexisting files
2019-02-23 18:01:47 +01:00
TheAssassin
f9fc51a832
Improve search for patchelf
...
CC https://github.com/linuxdeploy/linuxdeploy-plugin-qt/issues/24 .
2019-02-20 13:13:34 +01:00
TheAssassin
a3e06e0024
Statically link desktopfile library
2019-02-07 00:46:59 +01: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
ce6597fb9d
Better handle debug-symbols-only ELF files
2019-01-29 01:00:36 +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
3a0870842c
Update linuxdeploy-desktopfile
2019-01-28 16:52:20 +01:00
TheAssassin
1510d0c333
Update README.md
...
[ci skip]
2019-01-07 15:45:43 +01:00
TheAssassin
7c8ab1c773
Fix desktop file deployment
2018-12-22 23:26:28 +01:00
TheAssassin
5374e7ece9
Switch to extracted desktop file library
2018-12-22 23:09:04 +01:00
TheAssassin
6b715c691a
Give test case more suitable name
2018-12-22 23:02:39 +01:00
TheAssassin
78f33a7190
Move linuxdeploy-specific helper out of desktop file class
2018-12-22 23:02:15 +01:00
TheAssassin
3df27ba175
Add proper desktop file
...
The auto-generated desktop file does trigger integration tools like
AppImageLauncher, this one shows it's a CLI tool and should just be
launched now.
2018-12-21 19:08:33 +01:00
TheAssassin
2ea9a367b5
Check whether parsing with comments is supported
2018-12-21 19:08:33 +01:00
TheAssassin
673ccf5691
Improve simple desktop file test
2018-12-21 19:08:33 +01:00
TheAssassin
d743e11486
Merge pull request #63 from linuxdeploy/issue-62
...
Fix handling of localized desktop file entries
2018-12-09 16:13:06 +01:00
TheAssassin
cddefc3806
Validate some constraints on localized keys
2018-12-06 12:09:18 +01:00
TheAssassin
1f5315926d
Increase readability
2018-12-06 12:08:51 +01:00
TheAssassin
a12f3ac0fe
Improve error message
2018-12-06 11:56:21 +01:00
TheAssassin
640b756a7f
Temporarily allow localization brackets in key names
...
Must be revised when introducing proper localization support.
2018-12-06 11:49:14 +01:00
TheAssassin
d486f936e2
Test localized keys support
...
This is the unit test that was missing to cover the use case described
in #69 .
2018-12-06 11:47:25 +01:00
TheAssassin
b7faefdc56
Merge pull request #60 from linuxdeploy/issue-59
...
Ship 32-bit strip binary
2018-11-24 00:44:39 +01:00
TheAssassin
4585cb1a28
Download known working version of strip for i386, mk. 2
2018-11-24 00:34:38 +01:00
TheAssassin
23c85c732a
Download known working version of strip for i386
2018-11-24 00:04:40 +01:00
TheAssassin
b3e259bda1
Merge branch 'master' into issue-59
2018-11-23 22:08:37 +01:00
TheAssassin
d42abe363c
Merge pull request #61 from linuxdeploy/debug-desktopfile-unit-tests-in-release-builds
...
Fix desktop file parser unit test failures
2018-11-23 22:08:03 +01:00
TheAssassin
ef90b09c79
Fix remaining issues with usage of assert
2018-11-23 20:52:54 +01:00
TheAssassin
ce097235f2
Note for self: -O1+ strips out expressions surrounded by assert()
2018-11-23 18:05:56 +01:00
TheAssassin
d65574544f
Ship 32-bit strip binary, mk. 3
2018-11-23 17:55:53 +01:00
TheAssassin
b38612d07e
Ship 32-bit strip binary, mk. 2
2018-11-23 17:17:38 +01:00
TheAssassin
9cddf75449
Ship 32-bit strip binary
2018-11-23 16:32:43 +01:00
TheAssassin
b974f44ffd
Debug desktop file unit tests, mk.1
...
They're only broken on non-debug builds, so it's quite likely the
optimizations break the code.
2018-11-21 00:03:20 +01:00
TheAssassin
ecaeda4533
Deactivate unit tests that fail for no apparent reason on Travis CI
...
Will re-enable and debug them eventually. Right now, they prevent
binaries from being published, which is really a problem.
2018-11-19 22:25:20 +01:00
TheAssassin
ccfd05b5e0
Improve DesktopFile's comparison operators
2018-11-19 22:12:14 +01:00
TheAssassin
6cf9bc55a7
Fix comparison editor
2018-11-19 22:06:29 +01:00
TheAssassin
1e3e074f35
Properly copy desktop file reader
2018-11-19 22:06:08 +01:00
TheAssassin
7b16864dbe
Add missing return statement
2018-11-19 21:51:26 +01:00
TheAssassin
0b5ab2fc36
Fix return type of setter
2018-11-19 21:51:26 +01:00
TheAssassin
b3d0e7f20f
Merge pull request #57 from linuxdeploy/fix-plugin-detection
...
Fix plugin detection
2018-11-19 21:09:23 +01:00
TheAssassin
132931772c
Fix directory check
2018-11-19 20:52:45 +01:00
TheAssassin
6f7a2fd54a
Reduce verbosity of debug logging related to plugin detection
2018-11-19 20:50:09 +01:00
TheAssassin
c4258759b4
Make sure directories aren't falsely recognized as plugins
2018-11-19 20:48:04 +01:00
TheAssassin
786a24cb25
Fix CMake syntax
2018-11-16 00:25:27 +01:00
TheAssassin
35f1acf00d
Cleaning up coverage data after creating them makes no sense
...
The cleanup shall take place before running the test binaries which
create the new data, not afterwards.
2018-11-16 00:23:03 +01:00
TheAssassin
be0a891770
Improve test fixture names
2018-11-15 23:45:42 +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
541da1b573
Test (in)equality operators
2018-11-15 23:32:36 +01:00
TheAssassin
f274de8045
Make sure default keys don't overwrite existing ones
2018-11-15 21:24:08 +01:00
TheAssassin
6a951558ce
Use assert to check for impossible scenarios
2018-11-15 21:23:43 +01:00
TheAssassin
a4b13a1916
Clean up coverage data before new run
...
This makes sure that reports on subsequent runs are accurate.
2018-11-15 21:19:22 +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
e994eacfa0
Prevent unnecessary log messages in unit tests
2018-11-15 19:08:03 +01:00
TheAssassin
beb2ee15be
Don't use exceptions to detect abnormal behavior
...
https://isocpp.org/wiki/faq/exceptions#why-not-exceptions
2018-11-15 18:48:58 +01:00
TheAssassin
2e1a37ccf5
Fix path to test data
2018-11-15 18:05:08 +01:00
TheAssassin
520ac6de9b
Reduce amount of implicit behavior in desktop file parser
2018-11-15 18:03:46 +01:00
TheAssassin
1bcdcab057
Restructure desktop file tests, build single binary
2018-11-15 17:58:02 +01:00
TheAssassin
1d9c907ec3
Merge pull request #55 from linuxdeploy/test_desktopfile_parser_conformance
...
Test desktopfile parser conformance
2018-11-15 17:51:06 +01:00
TheAssassin
3e584f5551
Merge branch 'master' into test_desktopfile_parser_conformance
2018-11-15 17:21:23 +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
4af76a92c5
Fix duplicate key detection
2018-11-15 13:41:53 +01:00
TheAssassin
b6f5f371b6
Avoid copying data more often than necessary c
2018-11-15 13:40:22 +01:00
TheAssassin
d10e0614a1
Increase build speed of tests
2018-11-15 13:39:17 +01:00
TheAssassin
4ffa1a66ae
Improve code style
2018-11-15 13:22:41 +01:00
TheAssassin
9707b81931
Fix basic format header checks
2018-11-15 13:14:31 +01:00
TheAssassin
21b12cc6b6
Use EXPECT instead of ASSERT
2018-11-15 13:01:10 +01:00
TheAssassin
ae61f6b9d8
Update README.md
2018-11-15 01:35:09 +01:00
TheAssassin
b43b04f693
Check for valid and invalid keys (spec/basic format)
2018-11-15 01:29:14 +01:00
TheAssassin
61fb8bebdb
Fix execution of desktop file tests
2018-11-15 00:58:56 +01:00
TheAssassin
002ba4a496
Split two checks to make sure they're tested separately
...
Otherwise, one test case is always uncovered (either the first one
passes and the second one triggers, or the first one triggers and the
second one is never tested).
2018-11-14 11:22:38 +01:00
TheAssassin
244d82fede
Test behavior on lines with multiple = characters
2018-11-14 11:19:02 +01:00
TheAssassin
9f8121ebff
Check whether invalid lines are recognized
2018-11-14 11:16:35 +01:00
TheAssassin
80adfa8872
Recognize broken section headings, mk. 4
2018-11-14 11:14:24 +01:00
TheAssassin
4a07c8151e
Make sure errors are recognized in all sections, not just the first one
2018-11-14 11:10:34 +01:00
TheAssassin
ded20c162d
Recognize broken section headings, mk. 3
2018-11-14 10:59:17 +01:00
TheAssassin
bf152a509b
Recognize broken section headings, mk. 2
2018-11-14 10:46:48 +01:00
TheAssassin
dc8f446ca4
Recognize broken section headings, mk. 1
2018-11-14 10:41:47 +01:00
TheAssassin
fbc1d78122
Use custom exceptions for error handling
2018-11-14 10:31:41 +01:00
TheAssassin
9b2ff305e0
Merge pull request #52 from linuxdeploy/generate-coverage-reports
...
Generate coverage reports
2018-11-10 19:54:05 +01:00
TheAssassin
ee0acdb6f1
Patchelf is indeed also needed by the integration tests
2018-11-10 14:18:11 +01:00
TheAssassin
e069f6cd22
Fix typos
2018-11-10 14:03:23 +01:00
TheAssassin
74d482612a
Add support for ccache
2018-11-10 14:03:11 +01:00
TheAssassin
8f2a49daf0
Fix build command syntax
2018-11-10 14:02:53 +01:00
TheAssassin
4a9e0583d0
Build in parallel before running coverage tools
...
Also, don't run tests parallelized any more, because the output is
unreadable.
2018-11-10 13:24:01 +01:00
TheAssassin
d83ca617e6
Fix release build check
2018-11-10 13:10:47 +01:00
TheAssassin
16483c38e4
Build binaries before running tests when calculating coverage
2018-11-10 13:04:21 +01:00
TheAssassin
65ef0bd7ed
Travis accepts but doesn't like multi-value env
2018-11-10 13:00:51 +01:00
TheAssassin
60f2cb78cd
Generate textual coverage reports, mk. 4
...
Fix Travis config syntax
2018-11-10 12:57:29 +01:00
TheAssassin
9b8d7698f4
Remove dependency on lcov
...
We don't use it anyway, but use the more modern and flexible gcovr.
2018-11-10 03:43:51 +01:00
TheAssassin
5b1b91da5f
Generate textual coverage reports, mk. 3
2018-11-10 03:39:34 +01:00
TheAssassin
44571a4c6b
Remove obviously broken release build check
2018-11-10 03:38:56 +01:00
TheAssassin
744368868b
Generate textual coverage reports, mk. 2
2018-11-10 03:36:33 +01:00
TheAssassin
d476f308f8
Generate textual coverage reports, mk. 1
2018-11-10 03:32:50 +01:00
TheAssassin
232a76d1ba
Merge pull request #49 from linuxdeploy/restructure-libraries
...
Restructure libraries
2018-11-10 03:08:35 +01:00
TheAssassin
b97c8b45f5
Fix linking issue
2018-11-10 02:59:31 +01:00
TheAssassin
d6e6cac6e0
Move libraries into directories following package path
2018-11-10 01:43:36 +01:00
TheAssassin
830dc50136
Avoid recompiling code if excludelist hasn't changed
2018-11-10 01:39:55 +01:00
TheAssassin
16ed8bfa6a
Merge pull request #44 from linuxdeploy/issue-39
...
Implement own desktop file parser
2018-11-09 23:06:59 +01:00
TheAssassin
dbfdc6ebe6
Merge branch 'master' into issue-39
2018-11-09 22:19:59 +01:00
TheAssassin
a6b09ee30c
Revert "Create coverage report during build"
...
We cannot test for coverage in a release build, but we don't want to
build in debug mode for released binaries.
We might consider creating a separate coverage target for testing code
coverage.
This reverts commit aaaca8b321 .
2018-11-09 22:17:49 +01:00
TheAssassin
8b8255b158
Clean up redundant includes
2018-11-09 22:04:59 +01:00
TheAssassin
a87fd648e0
Add dedicated test for values with spaces
...
CC @azubieta
2018-11-09 21:28:40 +01:00
TheAssassin
574a883733
Don't require desktop file's path to exist
2018-11-09 21:28:40 +01:00
TheAssassin
aaaca8b321
Create coverage report during build
2018-11-09 21:28:40 +01:00
TheAssassin
22bbd04304
Properly calculate processor count for coverage testing
2018-11-09 21:28:40 +01:00
TheAssassin
96b5c3c479
Generate text report for coverage
2018-11-09 21:28:40 +01:00
TheAssassin
35e67a26bb
Add missing dependencies for boost::lexical_cast
2018-11-09 20:08:11 +01:00
TheAssassin
74fb390e2f
Make sure to include boost::lexical_cast
2018-11-09 18:53:35 +01:00
TheAssassin
3b3f86f9a2
Revert "Remove unused submodule, mk. 2"
...
Was working on the wrong branch.
This reverts commit b1838315d9 .
2018-11-09 18:52:18 +01:00
TheAssassin
e6341435bd
Revert "Make sure to include boost::lexical_cast"
...
Was working on the wrong branch.
This reverts commit e388ad9eb6 .
2018-11-09 18:52:10 +01:00
TheAssassin
e388ad9eb6
Make sure to include boost::lexical_cast
2018-11-09 18:50:44 +01:00
TheAssassin
b1838315d9
Remove unused submodule, mk. 2
2018-11-09 18:50:23 +01:00
TheAssassin
6e525e0a65
Add missing newline
2018-11-09 18:31:27 +01:00
TheAssassin
b540240ba5
Improve efficiency
2018-11-09 18:31:19 +01:00
TheAssassin
5d219c99b7
Remove unnecessary dependency from target
2018-11-09 18:30:47 +01:00
TheAssassin
459c5aad9a
Fix use of DesktopFile class
2018-11-09 18:24:16 +01:00
TheAssassin
c6a517c1f5
Remove unused submodule
2018-11-09 16:07:47 +01:00
TheAssassin
11bbe4d219
Rewrite DesktopFile using own parser
2018-11-09 16:04:40 +01:00
TheAssassin
0d59a27905
Improve test workflow
...
Use ASSERT first to make sure teh function that performs the work has
run as intended, then use EXPECT to make sure all checks are run.
2018-11-09 13:41:32 +01:00
TheAssassin
a4e48db545
Fix include paths
2018-11-09 13:15:03 +01:00
TheAssassin
b56e202c40
Add targets for remaining coverage report types
2018-11-09 03:24:03 +01:00
TheAssassin
8b4feb5fd5
Add data getter
2018-11-09 03:16:14 +01:00
TheAssassin
156b45f819
Mark query function as const
2018-11-09 03:10:36 +01:00
TheAssassin
3e1d340612
Add DesktopFileWriter
2018-11-09 03:05:20 +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
be1b2c95d4
Move type definitions into class
2018-11-09 02:14:48 +01:00
TheAssassin
4bb1ef124b
Move into proper namespace
2018-11-09 01:56:05 +01:00
TheAssassin
93c947b56a
Check whether keys and values with spaces are parsed properly
2018-11-09 01:48:44 +01:00
TheAssassin
4bf295d4d6
Validate all values in desktop file
2018-11-09 01:45:36 +01:00
TheAssassin
2c40482bc0
Implement subscript operator returning sections
2018-11-09 01:44:02 +01:00
TheAssassin
a647205226
Implement conversion to double
2018-11-09 01:32:18 +01:00
TheAssassin
73832323c8
Implement actual parsing
2018-11-09 01:12:48 +01:00
TheAssassin
169275e023
Fix semantics of isEmpty()
2018-11-09 00:58:09 +01:00
TheAssassin
78e5d0858e
Add actual data structures
2018-11-09 00:57:06 +01:00
TheAssassin
b4efb2bc56
Increase test coverage
2018-11-09 00:54:32 +01:00
TheAssassin
aa2e8b9105
Allow construction from istream
2018-11-09 00:43:02 +01:00
TheAssassin
793b35dc61
Parse file in constructor
2018-11-09 00:37:58 +01:00
TheAssassin
5ba8b613d6
Fix includes
2018-11-09 00:36:55 +01:00
TheAssassin
75f2511437
Add some convenience function to convert/parse value
2018-11-09 00:08:40 +01:00
TheAssassin
9a4916fe84
Desktop file entry initial commit
2018-11-08 23:08:32 +01:00
TheAssassin
e584088656
Use already existing function to copy data
2018-11-08 22:45:50 +01:00
TheAssassin
8a79cfbe1d
Mark query functions as const
2018-11-08 22:38:29 +01:00
TheAssassin
22ecabc51b
Desktop file parser initial commit
2018-11-08 22:18:23 +01:00
TheAssassin
81dfae892c
Add support for code coverage measurements
2018-11-08 22:17:21 +01:00
TheAssassin
bedd66d161
INI parser now contains a CMake script
2018-11-07 23:20:29 +01:00
TheAssassin
62f04213ce
Use fixed fork of INI parser
2018-11-07 23:20:26 +01:00
TheAssassin
4790fabc44
Revert "Temporary workaround for #39 "
...
Fixed the issue properly in the dependency, therefore the workaround is
no longer needed.
This reverts commit 6112a6353e .
2018-11-07 22:21:52 +01:00
TheAssassin
6112a6353e
Temporary workaround for #39
2018-11-07 20:09:24 +01:00
TheAssassin
82b7ccd76a
Merge pull request #41 from linuxdeploy/integration_test
...
Improve AppDir root files deployment
2018-11-06 15:48:05 +01:00
TheAssassin
4e33e395de
Show warning if existing AppRun is overwritten
2018-11-06 15:39:35 +01:00
Alexis Lopez Zubieta
9d25fee1dc
Make "Deploying custom AppRun" a regular message
2018-11-06 08:26:15 -06:00
Alexis Lopez Zubieta
9d78e0786b
Ensure that custom AppRun are deployed even if no desktop files are found
2018-11-06 07:48:12 -06:00
Alexis Lopez Zubieta
9f20e5829d
Restructure the code in order to make it more clear
2018-11-05 21:26:48 -06:00
Alexis Lopez Zubieta
5055efdc05
Rename linuxdeploy.cpp and linuxdeploy.h to core.cpp and core.h
2018-11-05 18:33:14 -06:00
Alexis Lopez Zubieta
19ecbb2d70
remove empty line
2018-11-05 16:24:09 -06:00
Alexis Lopez Zubieta
0e92331a12
Document linuxdeploy::deployAppDirRootFiles
2018-11-05 16:23:04 -06:00
Alexis Lopez Zubieta
4bf1948774
Document linuxdeploy::getMainDesktopFile
2018-11-05 16:07:01 -06:00
Alexis Lopez Zubieta
f201c57177
Optimize imports
2018-11-05 15:57:37 -06:00
Alexis Lopez Zubieta
d7c0e94f11
Reformat
2018-11-05 15:55:13 -06:00
Alexis Lopez Zubieta
700f6fe15f
Remove declaration of getMainDesktopFile
2018-11-05 15:54:59 -06:00
Alexis Lopez Zubieta
012e621ec5
Throw an exception when no deskotp files are found
2018-11-05 15:47:11 -06:00
Alexis Lopez Zubieta
6c674aa184
Making getMainDesktopFile parameters constant references
2018-11-05 15:43:35 -06:00
Alexis Lopez Zubieta
553bb9fcb0
No need to override constructor
2018-11-05 15:41:06 -06:00
Alexis Lopez Zubieta
906dcab283
Fix code style
2018-11-05 15:40:15 -06:00
Alexis Lopez Zubieta
fc3d80c281
remove duplicated 'public'
2018-11-05 15:39:47 -06:00
Alexis Lopez Zubieta
f0bb1fb472
bring empty line back
2018-11-05 15:39:00 -06:00
Alexis Lopez Zubieta
f3f30166f2
Importing boost::filesystem as bf to keep consistency its usage across the project
2018-11-05 15:38:12 -06:00
Alexis Lopez Zubieta
2210b7e65d
Remove integration test 'build_minimal_appimage_with_custom_apprun'
2018-11-05 15:33:15 -06:00
Alexis Lopez Zubieta
cc800588d2
Optimize imports
2018-11-05 15:28:11 -06:00
Alexis Lopez Zubieta
29cda3b1ac
Change return type to bool
2018-11-05 15:27:58 -06:00
Alexis Lopez Zubieta
16b0a5948a
createLinksInAppDirRoot is capable of dealing with an empty customAppRunPath so there is no need to check it
2018-11-05 15:27:58 -06:00
Alexis Lopez Zubieta
41569a4f53
The ".DirIcon" creation seems not to be responsibility of deployAppDirRootFiles
2018-11-05 15:27:58 -06:00
Alexis Lopez Zubieta
7ff05ca98e
Removing AppRun file existence check as createLinksInAppDirRoot also perform this check
2018-11-05 15:27:58 -06:00
Alexis Lopez Zubieta
cab57f86d6
Put main desktop file lookup into a separated function
2018-11-05 15:27:58 -06:00
Alexis Lopez Zubieta
93fea697e5
Move desktop file deployment away from desktop file lookup
2018-11-05 15:27:58 -06:00
Alexis Lopez Zubieta
bd12fefc35
Complete deployAppDirRootFilesWithExistentAppRun definition
2018-11-05 15:12:27 -06:00
Alexis Lopez Zubieta
2cdedc252c
Replace args::ValueFlagList by vector<string> in deployAppDirRootFiles function signature
2018-11-05 15:12:27 -06:00
Alexis Lopez Zubieta
1fa90fbd5c
Add namespace and prepare unittest
2018-11-05 15:12:27 -06:00
Alexis Lopez Zubieta
7318d68c96
Move deployAppDirRootFiles function into a separated file to allow unit testing
2018-11-05 15:12:27 -06:00
Alexis Lopez Zubieta
e5f4755da7
Move deploy AppDir root files into a separated function
2018-11-05 15:12:27 -06:00
Alexis Lopez Zubieta
31f20a398f
Add integration test to build a minimal appimage with custom AppRun
2018-11-05 15:12:27 -06: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
e683561430
Merge pull request #38 from linuxdeploy/refactor-subprocessing
...
Refactor subprocessing
2018-10-25 15:36:57 +02:00
TheAssassin
0de7caa8ee
Document complex if query
...
[ci skip]
2018-10-25 15:33:22 +02:00
TheAssassin
f1690cc2a3
Use new subprocessing function to create symlinks
2018-10-25 15:18:55 +02:00
TheAssassin
53e0850a2b
Use new subprocessing function to handle calls to strip
2018-10-25 15:17:43 +02:00
TheAssassin
3949a5fc57
Use new subprocessing function to set rpath in ELF files
2018-10-25 15:12:27 +02:00
TheAssassin
001b8f974c
Use new subprocessing function to read rpath in ELF files
2018-10-25 14:58:47 +02:00
TheAssassin
2f5e04ec24
Increase stream buffer size again
2018-10-25 14:38:03 +02:00
TheAssassin
8d01c448d3
Increase subprocess stream reading reliability
2018-10-25 14:37:17 +02:00
TheAssassin
10df75f877
Extract subprocessing into separate library
2018-10-25 14:34:54 +02:00
TheAssassin
0c5b198e2f
Merge pull request #33 from linuxdeploy/tests
...
Add Unit Tests
2018-10-25 01:26:46 +02:00
TheAssassin
5d2984ae02
Merge branch 'master' into tests
2018-10-25 01:21:46 +02:00
TheAssassin
33829c07d0
Remove redundant variables and fix paths
2018-10-25 01:16:05 +02:00
TheAssassin
90f8ed26b8
Fix path in unit test
2018-10-25 01:12:47 +02:00
TheAssassin
cbaa343a82
Add missing trailing newline character
...
[ci skip]
2018-10-25 01:08:52 +02:00
TheAssassin
9cf0663baa
Hardcode all paths to recognize sudden changes of destination paths
2018-10-25 01:06:12 +02:00
TheAssassin
e94494ea31
Move declaration of variables to top
2018-10-25 00:48:13 +02:00
TheAssassin
2dce34daf9
Use ASSERT_* instead of if()s and FAIL()
2018-10-25 00:46:46 +02:00
TheAssassin
7260078b6c
Move test into subdirectory named like internal library
2018-10-25 00:39:45 +02:00
TheAssassin
4bdceec7d8
Use standard lower-case file extension
2018-10-25 00:30:41 +02:00
TheAssassin
ca6c710c38
Remove deprecated code
2018-10-25 00:27:32 +02:00
TheAssassin
8a31d3d677
Fix cross-compiling toolchain
2018-10-25 00:27:32 +02:00
TheAssassin
5e94977f78
Fix cpp-feather-ini-parser test execution
2018-10-25 00:27:32 +02:00
TheAssassin
2f96dec588
Fix tests' structure, code style and use of GTest
2018-10-25 00:27:32 +02:00
TheAssassin
a1308955e7
Use CMake's BUILD_TESTING instead of proprietary custom variable
2018-10-25 00:27:32 +02:00
Alexis Lopez Zubieta
7e4a320f61
Make ctest run un verbose mode.
2018-10-25 00:27:32 +02:00
Alexis Lopez Zubieta
172db51186
Add unit test for AppDir::depoloyLibrary but with an invalid path.
2018-10-25 00:27:32 +02:00
Alexis Lopez Zubieta
d09186f69f
Run unit tests on the build.sh script
2018-10-25 00:27:32 +02:00
Alexis Lopez Zubieta
376eddb14d
Add unit test for AppDir::deployFile
2018-10-25 00:27:32 +02:00
Alexis Lopez Zubieta
47ff6c8e9d
Add AppDir::deployIcon test.
2018-10-25 00:27:03 +02:00
TheAssassin
41371c9d90
Improve Travis uploading
2018-10-25 00:20:05 +02:00
Alexis Lopez Zubieta
eacc907c85
Add unit test for AppDir::deployDesktopFile
2018-10-24 13:09:59 +02:00
Alexis Lopez Zubieta
4c9943f0d1
Add unit test for AppDir::deployExecutable
2018-10-24 13:09:59 +02:00
Alexis Lopez Zubieta
a0503a7102
Add test for AppDir::depoloyLibrary
2018-10-24 13:09:59 +02:00
Alexis Lopez Zubieta
f1e752d452
Add unit test for AppDir::createBasicStructure
2018-10-24 13:09:59 +02:00
Alexis Lopez Zubieta
55b6ee19e1
Add tests infrastructure
2018-10-24 13:09:50 +02:00
TheAssassin
4c0d5ea891
Remove erroneous null termination
...
The std::string is created using char pointer _and_ buffer size, so
null termination wasn't necessary in there (might even be problematic
with other tools which aren't strictly text based).
CC #35 .
2018-10-24 12:46:24 +02:00
TheAssassin
83a8f52f98
Replace communicate() to prevent buffer overflow
2018-10-14 17:11:05 +02:00
TheAssassin
b1bf306510
Fix compatibility with newer versions of ldd
2018-10-14 17:11:05 +02:00
TheAssassin
d2a021d57b
Update README.md
2018-10-07 22:17:20 +02:00
TheAssassin
2f7ad201f1
Don't overwrite existing AppRun
...
... unless custom AppRun was specified
2018-10-07 00:10:57 +02:00
TheAssassin
485507a2d1
Buffer subprocess communication
2018-10-07 00:05:59 +02:00
TheAssassin
cdee469e60
Fix uploading of .zsync file
2018-10-05 02:03:38 +02:00
TheAssassin
a892d066cc
Improve update information
2018-10-04 15:21:38 +02:00
TheAssassin
57175e0c75
Embed update information
2018-10-04 15:16:22 +02:00
TheAssassin
88695de067
Fix desktop file filename handling
2018-09-30 21:20:36 +02:00
TheAssassin
0f19458792
Improve error message
2018-09-30 21:11:05 +02:00
TheAssassin
c8d78eb602
Remove --app-name parameter completely
...
Fixes #19 .
2018-09-30 17:12:28 +02:00
TheAssassin
6b8b59ee77
Search for plugins in current working directory
2018-09-29 21:56:58 +02:00
TheAssassin
3674af54b2
Fix syntax
2018-09-26 00:39:21 +02:00
TheAssassin
73ecd9d318
Actually copy files before running plugins
...
Some plugins like the Qt one expect libraries etc. to be deployed
already, like the plugin spec defines. We should try to adhere to the
spec.
2018-09-26 00:36:57 +02:00
TheAssassin
1ad4e5e6a9
Make sure to run ldd with LC_ALL=C
2018-09-22 23:21:00 +02:00
TheAssassin
f3b54236a6
Update build.sh
2018-09-16 04:23:17 +02:00
TheAssassin
e885b47208
Merge pull request #30 from asashnov/fix-examples-link
...
fix examples link (ancor on the target HTML page is lowercased)
2018-09-06 13:08:36 +02:00
Alexander Sashnov
89788f5e26
fix examples link (ancor on the target HTML page is lowercased)
2018-09-06 17:55:24 +07:00
TheAssassin
83a9690da1
Fix appending of trailing slash
2018-09-04 14:33:25 +02:00
TheAssassin
5fc87e1c1c
Fix brackets
2018-09-03 23:33:26 +02:00
TheAssassin
3375de8fc4
Fix path calculation
2018-09-03 23:32:07 +02:00
TheAssassin
906c948304
Move redundant code into separate function
2018-09-03 23:30:53 +02:00
TheAssassin
371343baed
Properly set rpath in existing files
2018-09-03 21:07:43 +02:00
TheAssassin
63764e2e18
Show proper version statement
2018-09-03 20:20:16 +02:00
TheAssassin
8441dbb589
Merge pull request #28 from linuxdeploy/issue-18
...
Deploy 32-bit and 64-bit libraries into separate directories
2018-08-31 20:05:13 +02:00
TheAssassin
d13814d784
Fix syntax on 32-bit platforms
2018-08-31 19:59:15 +02:00
TheAssassin
cd83c28196
Fix linker issues
2018-08-31 19:53:15 +02:00
TheAssassin
f99cac25b5
Deploy 32-bit and 64-bit libraries into separate directories
2018-08-31 19:45:21 +02:00
TheAssassin
11a923b672
Properly handle parsing error
2018-08-31 19:42:40 +02:00
TheAssassin
a8aaa09a55
Make sure to populate member variable
2018-08-31 19:41:12 +02:00
TheAssassin
0ced1390ce
Improve ELF library, mk. 2
2018-08-31 17:35:45 +02:00
TheAssassin
af310722df
Make constructor more efficient
2018-08-31 16:49:17 +02:00
TheAssassin
dcf1726889
Improve ELF library, mk. 1
2018-08-31 16:48:36 +02:00
TheAssassin
ea12263be2
Silence warnings for cpp-subprocess
2018-08-31 15:50:19 +02:00
TheAssassin
9a44a10173
Refactor copyright files deployment
2018-08-30 22:13:01 +02:00
TheAssassin
b550e4da21
Run input plugins before deploying icons and desktop files
...
The input plugins might even fetch these resources somewhere into the
AppDir, and this way, the user can make use of that.
2018-08-28 23:05:45 +02:00
TheAssassin
c4167165ad
Add note about plugin requests to README
2018-08-28 22:45:11 +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
5b54db31cc
Fix error message
2018-08-28 15:46:35 +02:00
TheAssassin
4a098896a9
Improve plugin related logging
2018-08-28 15:44:17 +02:00
TheAssassin
ec051c3e0c
Inform user about wrong usage of plugin parameters
2018-08-28 15:42:26 +02:00
TheAssassin
0741d9441b
Offset error message from previous block
2018-08-28 15:41:53 +02:00
TheAssassin
9b1b214142
Install missing dependency
2018-08-27 20:00:05 +02:00
TheAssassin
db77174f24
Don't deploy dependencies for existing symlinks
...
This might lead to unintended side effects, e.g., when bundling
additional resources in a separate prefix for which linuxdeploy is not
needed.
2018-08-27 19:52:36 +02:00
TheAssassin
a0b0378d36
Improve handling of strip tool
2018-08-27 19:49:50 +02:00
TheAssassin
388e7d5acb
Remove deprecated parameter from build script
2018-08-26 09:38:12 +02:00
TheAssassin
cc30bb6bd1
Update README
2018-08-26 09:37:47 +02:00
TheAssassin
0d60f67da3
Always create basic AppDir structure
...
Fixes #20 .
2018-08-25 23:51:06 +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
36c6be95d6
Remove redundant parameters
...
CC #22
2018-08-25 23:32:14 +02:00
TheAssassin
2c4fed2fad
Add links to docs.appimage.org
2018-08-25 19:08:47 +02:00
TheAssassin
21849f8fbf
Fix README
2018-08-25 19:05:16 +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
55d524b136
Fix argument order
2018-08-11 14:56:00 +02:00
TheAssassin
9743988c80
No longer bundle Qt plugin
...
It's almost always outdated, users will be better off downloading the
upstream AppImage.
2018-08-03 23:34:50 +02:00
TheAssassin
84b614c1ea
Fix plugin finding
2018-08-03 23:31:25 +02:00
TheAssassin
1035ef726d
Fix include path
2018-08-03 01:22:59 +02:00
TheAssassin
1c7e768b86
Provide interface to linuxdeploy_util
2018-08-03 00:56:16 +02:00
TheAssassin
a28181d98c
Fix CMake minimum required version
2018-07-31 21:35:06 +02:00
TheAssassin
fcd3ad49db
Link against shared libmagic library
...
This allows distro maintainers to build linuxdeploy more easily
CC @adrianschroeter
2018-07-31 16:21:46 +02:00
TheAssassin
cc6310cbbd
Allow icons with extension
2018-07-31 15:21:38 +02:00
TheAssassin
c58d9716b0
Quick fix patchelf build
2018-07-31 15:06:19 +02:00
TheAssassin
3e84f424e7
Debug patchelf build, mk. 5
2018-07-31 14:51:22 +02:00
TheAssassin
a386ab19fd
Debug patchelf build, mk. 4
2018-07-31 14:35:25 +02:00
TheAssassin
4f84082155
Debug patchelf build, mk. 3
2018-07-31 14:32:01 +02:00
TheAssassin
8aa1bc9d89
Debug patchelf build, mk. 2
2018-07-31 14:25:08 +02:00
TheAssassin
56d9d6b540
Debug patchelf build
2018-07-31 14:20:42 +02:00
TheAssassin
5165301a44
Merge pull request #6 from linuxdeploy/fix_deploy_library_destinationPath
...
Fix deployLibrary destinationPath construction.
2018-07-18 21:52:05 +02:00
TheAssassin
c1452fa870
Merge branch 'master' into fix_deploy_library_destinationPath
2018-07-18 21:46:25 +02:00
Alexis Lopez Zubieta
03cae41d55
Fix deployLibrary destinationPath construction.
2018-07-18 13:34:20 -05:00
TheAssassin
c10eafe823
Bundle Qt plugin
2018-07-17 14:19:07 +02:00
TheAssassin
4a7301eba5
Use patchelf v0.8
...
Seems like 0.10 breaks Qt libraries which expect a symbol called
qt_version_tag in a specific section in the symbols. Patchelf breaks
this by apparently moving the symbols to another section
(section 15 vs. 13).
We found out by looking into the readelf outputs of libQt5Core.so.5.
@azubieta spotted the different numbers, and looked up their meaning.
linuxdeployqt uses the patchelf binaries Debian jessie provides, which
is 0.8. Therefore we try to build that version from source instead,
hoping that this version won't break libraries.
If that doesn't work either, we'll try with the pre-built binaries.
2018-07-13 01:01:53 +02:00
TheAssassin
a3cc38d406
Show error message if dependency library cannot be found
2018-07-12 23:39:17 +02:00
TheAssassin
144fd2deb0
Deactivate strip calls if $NO_STRIP is set
2018-07-12 21:08:50 +02:00
TheAssassin
b96389a064
Use -n parameter to enhance search for suitable desktop file
...
In case there's more than a desktop file, the user can specify the
app name using -n <app name>, and linuxdeploy will try to find a
suitable desktop file whose filename starts with the specified app
name.
2018-07-12 18:22:43 +02:00
TheAssassin
b156ffc0cb
Add stringEndsWith helper
2018-07-12 18:19:37 +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
a0ace9f75c
Actually build 32-bit patchelf for 32-bit AppImage
2018-07-07 05:29:21 +02:00
TheAssassin
2b7a5928a5
Fix forceDeployLibrary, mk. 2
2018-07-01 02:28:44 +02:00
TheAssassin
ec862d0af9
Fix forceDeployLibrary
2018-07-01 01:06:31 +02:00
TheAssassin
df61b059d3
Force deploy libraries specified on the CLI
2018-06-30 23:27:02 +02:00
TheAssassin
5baac459b3
Don't upload AppImage plugin
2018-06-30 16:40:15 +02:00
TheAssassin
c783be934b
Fix build failure
2018-06-30 16:15:37 +02:00
TheAssassin
ae6dfcfe21
Bundle AppImage plugin in Docker friendly way
2018-06-30 16:10:35 +02:00
TheAssassin
c07025ab8a
Fix missing dependency
2018-06-30 00:52:55 +02:00
TheAssassin
c438d5ee2b
Change build type
2018-06-30 00:52:10 +02:00
TheAssassin
ee15c88978
Fix path to CImg
2018-06-30 00:22:59 +02:00
TheAssassin
80fc055373
Use bundled CImg for i386 build
2018-06-30 00:18:59 +02:00
TheAssassin
5d81258547
Bundle CImg for multiarch builds
2018-06-30 00:18:29 +02:00
TheAssassin
d57e4750c2
Re-enable parallel builds
2018-06-30 00:18:02 +02:00
TheAssassin
ddbca26b1b
Try to resolve apt package conflict
2018-06-30 00:03:14 +02:00
TheAssassin
2e503362a0
Remove unused code
2018-06-29 23:51:02 +02:00
TheAssassin
7a2390ea95
Show held packages
2018-06-29 23:47:21 +02:00
TheAssassin
312287d937
Try to fix apt issues, mk. 8
2018-06-29 23:26:33 +02:00
TheAssassin
a641ae7fac
Try to fix apt issues, mk. 7
2018-06-29 23:20:06 +02:00
TheAssassin
b332dc7e7d
Try to fix missing header
2018-06-29 22:09:36 +02:00
TheAssassin
b16329f8ba
Debug missing header
2018-06-29 21:59:52 +02:00
TheAssassin
ee6fd2e594
Try to fix apt issues, mk. 6
2018-06-29 21:38:59 +02:00
TheAssassin
4ee5a903ce
Try to fix apt issues, mk. 5
2018-06-29 21:34:00 +02:00
TheAssassin
852ac4d038
Try to get rid of duplicate i386 builds on Travis, mk. 2
2018-06-29 21:27:35 +02:00
TheAssassin
eea9a5a9f9
Try to get rid of duplicate i386 builds on Travis
2018-06-29 21:24:32 +02:00
TheAssassin
b046bef4c9
Try to fix apt issues, mk. 4
2018-06-29 21:22:16 +02:00
TheAssassin
e311bc9217
Try to fix apt issues, mk. 3
2018-06-29 21:19:26 +02:00
TheAssassin
0cb0223560
Try to fix apt issues, mk. 2
2018-06-29 21:16:30 +02:00
TheAssassin
e7b3a0987a
Try to fix apt issues
2018-06-29 21:14:22 +02:00
TheAssassin
efb59d6ea7
Install cross compilers
2018-06-29 21:09:08 +02:00
TheAssassin
39ddfc5c79
Install libpng-dev
2018-06-29 21:06:27 +02:00
TheAssassin
d5aa361eb4
Fix .travis.yml
2018-06-29 21:03:38 +02:00
TheAssassin
08a1bf9b69
Multiarch builds, mk. 1
2018-06-29 21:00:23 +02:00
TheAssassin
eba0d70576
Improve ignores
2018-06-29 20:59:56 +02:00
TheAssassin
1a4d9e8130
Add i386 toolchain
2018-06-29 20:50:14 +02:00
TheAssassin
2b94a4b408
Improve FindLibMagic
2018-06-29 12:31:20 +02:00
TheAssassin
dcf4f79059
Fix boost library types
2018-06-29 11:17:27 +02:00
TheAssassin
345fc638b6
Improve README
2018-06-29 11:08:37 +02:00
TheAssassin
8d3284c447
Merge branch 'experimental/standalone-boost'
...
Fixes #4 .
2018-06-29 02:46:35 +02:00