summaryrefslogtreecommitdiffstats
path: root/rbutil
AgeCommit message (Collapse)AuthorFilesLines
2017-01-02mkimxboot: add the concept of soft MD5 sumAmaury Pouly3-3/+187
Change-Id: I7e83218ce0dccc1f4c4a7a6bb9c1df00dacf260b
2016-12-19mkimxboot: don't forget to pass model if given on command lineAmaury Pouly1-0/+1
Change-Id: I1d20b38ff5b0f337d9a2eef6e2e1d6c170aabce7
2016-12-16Fix linking with C++ files.Dominik Riebeling1-9/+17
When linking with C++ files the linker also needs to link against the C++ libraries. This is done automatically when invoking the compiler upon linking. Since we don't want C++ dependencies on C-only projects we check if we actually have C++ files and use either the C or C++ compiler. Rename CFLAGS since it's now used for both C and C++ compiler and add dedicated CFLAGS, CXXFLAGS and LDFLAGS variables. Change-Id: I9cc068a8038f21e8fd96b20173a8f790e6ab4b6e
2016-12-16Support C++ in libtools.make and rewrite dependency handling.Dominik Riebeling1-21/+21
- Change suffix of objects and depencency files to keep the original file suffix. This makes it easy to distinguish between C and C++ files when building and avoids implicit make rules trying to build in a way we don't want to. - Implicitly handle dependencies instead of having an explicit rule. Simplifies things a bit. - Support C++ files by adding an explicit rule for them. With keeping the original file suffixes this becomes quite simple. To use C++ files simply add them to SOURCES (or LIBSOURCES). Change-Id: I22c56a6e153e281cfa675e91ad4a70fd18e2c43c
2016-12-16Don't add LIBSOURCES to SOURCES.Dominik Riebeling8-24/+17
Split source files for library and stand-alone binary and use library as dependency when building the stand-alone binary. This avoids dependencies getting added multiple times. Remove outdated RBARCH handling, we always create fat binaries on OS X these days. Change-Id: Ia15a731296edcbe90869a1bf66dda2c3d6c7e317
2016-12-16Create local file URL using QUrl.Dominik Riebeling1-1/+1
Don't construct the local file URL from string. On Windows the URL needs to start with file:/// instead of file://. QUrl handles this. Change-Id: I3dea29a8d368ebdc20eeff6b1f1cf5058d1b5d05
2016-12-16Fix various unit test compilation.Dominik Riebeling3-3/+3
There's now a dependency on Logger.h, add stub folder to includes to stub it. Change-Id: I1afdc6bd878182b03cb3c1f3538779eaa9f83f28
2016-12-12imx233: add capability to boot OF or updater instead of RockboxAmaury Pouly5-156/+292
This commit adds the necessary code in the dualboot stub (bootloader) to let rockbox control the boot process. In particular, rockbox can now choose if the next boot will be normal (boot rockbox or OF on magic key), to OF or to updater. The intents (to be added in follow-up commits) are: 1) Let the user more easily reboot to the OF. On some targets it is not trivial, especially in USB mode. 2) Automatically reboot to updater when the user drop firmware.sb at the root of the drive (currently, the user needs to do that in OF USB mode) 3) Document this OF magic Change-Id: I86df651dec048c318c6a22de74abb8c6b41aa9ad
2016-09-22imx233: fix dualboot, forgot a fileAmaury Pouly1-0/+22
Change-Id: I8d5817d75f76a201c3a8b76db0d1e11f71548179
2016-09-22imx233: fix dualboot stubsAmaury Pouly1-21/+21
They did not compile anymore after the register hearder rework. This change only fixes the syntax, the generated binaries are exactly identical. Change-Id: Iec2347aa3deb1ddfe2ca36f0db1e481c4e2d329c
2016-08-15rbutil: add abort signal for bootloader install/uninstallCástor Muñoz4-0/+13
During the bootloader install/uninstall process, a signal is emitted when "Abort" button is pressed, the installers can attach this signal and cancel the process. Change-Id: I7f297b8031d7a2d93da0022081aaef03ef041baf
2016-08-15rbutil: show progress bar during bootloader uninstallCástor Muñoz5-1/+4
Useful for targets that needs multi-stage uninstall. On current targets (with Uninstall capability) the progress is updated to 100% when bootloader uninstall is successfully finished. Change-Id: I61be1c4f5cfc2d2f35fa5005962be9703888447d
2016-08-15rbutil: enable "done" signal on bootloader uninstallCástor Muñoz7-2/+8
This allows to implement multi-stage uninstallers. Should not affect the behaviour on current targets. Change-Id: Idf8aec5caf76cf9317798890d094a7cebdbcabec
2016-05-25mkimxboot: remove code for NWZ-370/380Amaury Pouly3-41/+42
Since the stub code is shared with NWZ-360, it enables the pullup for the hold button, but the NWZ-370/380 doesn't have a hold button so don't compile this code in, it could potentially have unexpected effets or increase consumption Change-Id: I28c8aa40fc7f9373593ff105fb6df557a6f57ccd
2016-05-25mkimxboot: make cross compiler for dualboot stubs overridableAmaury Pouly1-4/+4
Change-Id: I90d2048f622b355eae7091e536b940b2ac828583
2016-05-04Reverting 4327cbc9b8886eMihail Zenkov1-9/+54
I do testing incorrectly: fix don't work as expected. Change-Id: Ie32672ec213861c02295ae0a14e22b9ca9035585
2016-05-03C2X0v2: use GPIO to check button state in dualbootMihail Zenkov1-54/+9
C240v2 freeze on booting OF if SD card inserted. Use GPIO instead DBOP should help. Change-Id: Idec0028040f91c6d2c7c04327ca0e1af204f58eb
2016-03-27Fix wrong typecast in test.Dominik Riebeling1-1/+1
Change-Id: I01acae450bcbb9c9e2b45d3ee62817b9256540c3
2016-03-27Improve handling of Qt5 subversions on OS X.Dominik Riebeling1-2/+10
Qt 5.6 on OS X requires targeting at least OS X 10.7, while for earlier versions we can still target 10.6. Handle this case and inform the user about the used target version. Change-Id: I78e426037e2966241ab9a63105e04e7366b469ed
2016-03-27Use Gestalt to get number of CPUs on OS X.Dominik Riebeling1-17/+17
MPProcessors has been deprecated with 10.7. When targeting 10.7 (required when building with Qt 5.6 on OS X) this causes a warning. Use Gestalt instead (Gestalt has been deprecated with 10.8, but when targeting 10.7 this doesn't cause a warning, and Gestalt is used for other values as well). Change-Id: Iaf82147ad47115e228f5c08f8198a6a7e92102a3
2016-03-27Fix compile warning on OS X.Dominik Riebeling1-1/+1
Current clang on OS X suggests placing parens so add them (-Wbitwise-op-parentheses enabled by default). Change-Id: I31b49386aa184fe27f72f7f58909b97524d96f44
2016-03-27Fix C++11 compile error with version strings.Dominik Riebeling2-2/+2
C++11 requires a space between literal and identifier. When compiling with Qt 5.6 on OS X C++11 support is automatically enabled, causing an error due to this. Change-Id: Ifbedc894a3cef23fc67ed1da75558e92e44d1077
2016-01-17Fix building with Qt 4.7.Dominik Riebeling1-1/+1
QUrl::isLocalFile() is available starting with Qt 4.8. We can safely check for a file:// url instead. Qt 4.8 dropped support for OS X 10.4 / 10.5. Since we're still supporting those we need to keep using Qt 4.7 on OS X. We might want to consider requiring at least 10.6 on OS X with the next major release of Rockbox Utility. Change-Id: I18998fe3c7a38773479bc7a1c32ca6e4966359e9
2016-01-17Fix uninstallation for mi4 based bootloader installs.Dominik Riebeling1-1/+1
On case sensitive systems (i.e. Linux) uninstalling the bootloader could fail when renaming the original bootloader file back. Fix this by using the case-resolved filename. Change-Id: I504656f70e7ccc7c0752f5252ddb14a625131f5b
2016-01-17Return process IDs in Utils::findRunningProcess().Dominik Riebeling2-22/+34
Rework to return mapping between (filtered) process names and their pid values (if running). Note that this functionality is not implemented for Linux (but as it's mostly intended to detect Itunes currently not needed on that platform). Change-Id: Ie348bfed46bda390f469c37635a96c75e5782616
2016-01-17Add color to trace debug output.Dominik Riebeling1-0/+2
Change-Id: Id2c90220ab695a8195af50cdea8437b49744f720
2016-01-17rbutil: fix writing to rbutil.log after bootloader uninstallCástor Muñoz1-0/+2
Change-Id: I722d4d5a83fc57bd8df33bfb23a0ab16e5ac4861
2016-01-17rbutil: fix resolveDevicename() on WindowsCástor Muñoz1-5/+6
Solves some eject issues (FSCTL_LOCK_VOLUMEN ioctl failures) ocurring when resolveDevicename() is ejecuted prior to ejectDevice(), tested with Qt5. Change-Id: Iff9240abd9d2f71bec1a1070f4ef194916e13b65
2015-12-20Handle mixed case in Windows USB ID detection.Cástor Muñoz1-3/+4
Windows XP might use mixed case in hardware ID (VID / PID) string. Cherry-picked from G#1221. Change-Id: I86fa63e050cd9b9de5a1beac65b81028e0f86a9d Signed-off-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2015-12-20Fix and extend HttpGet unit test again.Dominik Riebeling1-2/+8
Fix wrong initialization (why did that compile?) and add check for progress signal. Change-Id: I83a193252afcf66acaa333750b0ac2ef83e38478
2015-12-18Fix compiling HttpGet unit test.Dominik Riebeling2-1/+12
Provide a stub for Logger class to make the test compile. Change-Id: I142eaf443c1f9026506100b82c9341e83b619ab6
2015-12-18Use random port for HttpGet unit tests.Dominik Riebeling1-24/+31
Make local HttpDaemon for testing use a random unused port instead of a fixed one. Avoids possible issues with the port chosen already being used on the local machine. Change-Id: I1ca10b7e5ce198350e14321afc50c36d78b1c0b4
2015-12-18Add documentation to HttpGet and remove unnecessary return value.Dominik Riebeling2-6/+33
HttpGet::getFile() always returns the same value. Remove the return value since it isn't necessary. Add some missing function documentation comments. Change-Id: I1cee242211272a996437b10dbc8de791b3fc3d67
2015-12-18Add support file:// URLs in HttpGet.Dominik Riebeling2-2/+26
QNetworkAccessManager can handle file:// URLs without additional work. Make HttpGet aware of that so you can now also use it to retrieve file:// URLs. Add a unit test for it as well. Change-Id: If64b57453460b70bca9e5b0c725bb78344617bcd
2015-12-18Fix static compilation with Qt5.Cástor Muñoz1-0/+4
Qt5 uses a different name for the accessibility plugin. Cherry-picked from G#1221. Change-Id: If32eafa053a176ba24b4595826593023ed808164 Signed-off-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2015-06-20Fix USB IDs for Sansa c200v2.Dominik Riebeling2-4/+4
The wrong IDs made a connected c200v1 get detected as c200v1 and c200v2 in MTP mode. Change-Id: I9048910ca9d768b17b9d23e4679c96d9ab8d6831
2015-06-07Win32: fix possible crash when listing USB devices.Dominik Riebeling1-12/+18
Make sure to handle if retrieving the device description ends up with a NULL data buffer pointer. Also switch handling the retrieved string using QString. Fixes a crash reported in the forums. Change-Id: I6e95a411308e85656cd78ddcecb1bcee165864d0
2015-05-30Make lrelease detection work on Windows.Dominik Riebeling1-2/+2
Make sure to expand variable before testing. Change-Id: I6b6f11782677c178fe3f2209f84887084940976a
2015-05-30Make lrelease detection work on Windows.Dominik Riebeling1-3/+6
Windows doesn't have which, so building natively on Windows didn't create translations anymore. Use a which-less approach instead. Change-Id: I7b4c40b26d68da54277a148e8e2d76ac81061c8b
2015-05-18Initially scroll to changelog end.Dominik Riebeling1-1/+1
Since currently new entries are at the bottom scroll down when opening the changelog window. Change-Id: I3cec84f5d9251e268c34335d8032dd11f42098ae
2015-05-18Extend project file message output and always run lrelease.Dominik Riebeling1-7/+12
Check for lrelease and always try to run it if found. If not found show a warning. This avoids build problems for certain setups which previously required -config dbg to complete. Change-Id: I60f0f49adc8455743afc5e4d23294ce0729f38d2
2015-05-14Fix building with MSVC.Dominik Riebeling1-1/+1
MSVC doesn't like function style call to the logger. Change-Id: I98480442cafbec6728198e5f3bc40f992d4ea477
2015-05-13Fix libs path for building with MSVC.Dominik Riebeling1-1/+1
Change-Id: Iaa0a20c8bff1faaa191de70d6f02c62dafec1591
2015-05-02Add information about compiler used to startup log.Dominik Riebeling1-0/+9
Change-Id: I47442ea0458461d0ae0a1af40e7719f8543b1992
2015-05-02Apply -Wno-unused-local-typedefs for gcc only.Dominik Riebeling1-1/+1
Change-Id: I098882ea1c1a3f5265a763046400d79aed8eb43f
2015-05-02Separate logger / quazip project file parts.Dominik Riebeling4-23/+47
Move to separate project include file for better readability and reusability. Change-Id: If75805be8fad4aec8ede600f5c616a9412ac0505
2015-05-02Update quazip to release 0.7.1.Dominik Riebeling22-1998/+5650
Update to latest quazip release. Note that quazip is now LGPL and not GPL / LGPL dual licensed anymore. Change-Id: Ie1e975b5b546dd31218eef9df472527493fe81e0
2015-05-02Remove unnecessary Id line.Dominik Riebeling1-1/+0
Change-Id: I48428eb1e455a841f9f1295cf6a61631bd925977
2015-05-02Update german translation.Dominik Riebeling1-30/+47
Change-Id: Ieb9b94d39009db4954df05cc1f54161b76b44f61
2015-05-02Improve update check information dialog.Dominik Riebeling5-15/+60
Show the user both the current and updated version. Change-Id: Ief693cce020a39a0c79bf2705da4a44b7bd15928