Commit Graph

89 Commits

Author SHA1 Message Date
James Buren f968d6032a ipodpatcher: fix warning for apple stop sign constant
Convert both instances of the apple stop sign constant
to char array instances. This ensures sizeof will work
as expected when applied to the constant.

Change-Id: I8599f7b0a00031e944e654b12a0bc59309926807
2021-04-23 01:01:31 +00:00
Dominik Riebeling 1a1338c379 rbutil: Fix ipodpatcher qmake based build on macOS.
On macOS we need to pass the used frameworks, otherwise linking will
fail.

Change-Id: I6b19eac6a460d91b567c0eb128b776558c0a4a39
2020-10-18 19:22:10 +02:00
Dominik Riebeling c8fa53050d rbutil: Add project file for building multiple binaries.
To use ipodpatcher and sansapatcher as external binaries (so we can do
proper permission elevation) we need to build them using qmake as part
of the main build. Add a subdirs template based project file to do that,
and project files for the patchers.

Move Linux appimage rules one level up, since it needs to include the
patchers as well.

Change-Id: I63ee59372668f4319402df65a77a6f04521d133b
2020-10-11 09:42:13 +02:00
Dominik Riebeling af76fa3e7a ipodpatcher: Rework exit codes.
- #define all exit codes used so they can be checked more easily.
- Use exit codes to indicate more error states.

Change-Id: I052962e3457a7cd5eca8b70256889d25b1b4b3aa
2020-09-27 09:28:10 +02:00
Dominik Riebeling 3806f57ed8 ipodpatcher: Fix some type warnings.
Change-Id: I66fa99db3f4913bafa17a1e976cbfd08e26349ce
2020-09-27 09:28:05 +02:00
Solomon Peachy 2434b6ca25 misc: Remove all 'twiki' references in favor of up-to-date 'wiki' links.
(This migration happened over a decade ago!)

Change-Id: Ib396414a16f2d763e549af49e3f3b03047dab49c
2020-06-07 01:38:55 +00:00
Cástor Muñoz cf168d4636 ipodpatcher: remove external ddk/ntddscsi.h dependency
Change-Id: Ib614f4181fe29ef04fcf64f90e37edc3a064270a
2017-06-19 02:00:30 +02:00
Dominik Riebeling 6f4beaa52c Don't add LIBSOURCES to SOURCES.
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-16 19:46:07 +01:00
Dominik Riebeling 56a9255583 OS X: change include paths to use actual paths.
The old include path is actually a symlink for compatibility. Newer SDK
versions remove that symlink to the include breaks.

Change-Id: I74317557840f1886cebc1ce099e103dc415eabc0
2014-03-20 22:26:23 +01:00
Dominik Riebeling 703bc407b4 Fix ipodpatcher on OS X.
Fix a typo and update CC handling for OS X.

Change-Id: Icde3cb5956ffe45ee1d610ff34957ed7b17f3f02
2013-04-05 20:03:45 +02:00
Dominik Riebeling ea0bfe7520 Replace the use of uname to get the build output.
Using uname has a couple of problems, especially when cross compiling. Instead
check the defines set by the preprocessor to figure the type of binaries it
produces. This improves support for cross compiling as it allows to (1) select
the correct default target and (2) makes it possible to use separate build
folders for different targets.

Change-Id: I69a32904dab97755034f2f0d63f8402309d479d2
2013-04-05 19:49:04 +02:00
Dominik Riebeling b3ef8c8e5b Put resource object into object folder.
Use correct path for windres output. Fixes windres running even if no changes
are present.

Change-Id: I2841113bab9b38f2a03ba2f168b3d8bdb5c102df
2013-04-04 22:42:22 +02:00
Dominik Riebeling 86d46b626b Remove unnecessary all target.
The target all is set in libtools.make. Setting it here breaks make knowing
about the correct default target when cross compiling.

Change-Id: Icdd022094d28e4dcd442e48bb6acd1fd8f9a6ad6
2013-04-04 22:42:22 +02:00
Dominik Riebeling d24c220d04 Remove 64bit warning by using C99 fixed width format specifier.
Change-Id: I7fecca91acb61461f6696e0bf28bdd6c1bdf6f3c
2013-01-13 19:51:48 +01:00
Dominik Riebeling b63d429c8f Provide dealloc function to ipodpatcher.
On Windows the sector buffer is allocated using VirtualAlloc, thus releasing
this buffer should be done using VirtualFree. Provide an additional function
for deallocating the buffer so users of ipodpatcher do not need to know about
this.

Change-Id: Ibb0fc575a185148a389e63935e86a392bf8d180d
2013-01-01 15:06:41 +01:00
Dominik Riebeling 24e37ddf57 ipodpatcher: move sectorbuf pointer into ipod_t structure.
The ipod_t structure holds all relevant information for ipodpatcher. Put the
global ipod_sectorbuf pointer into it as well. Allows the Rockbox Utility Ipod
class to be instanciated multiple times since each instance can now have its
own buffer.

Change-Id: Ie319cbadbc20c367ceadba9a46b4dc34b57a79a7
2013-01-01 15:05:52 +01:00
Dominik Riebeling bf1c491c2b Move check for existing bootloader to ipodpatcher.
Bootloader handling is different on nano2g compared to the other supported Ipod
models. Since ipodpatcher handles this internally make ipodpatcher also provide
a way to check this when using from Rockbox Utility to avoid duplicating the
(already existing) checks in the latter.

Fixes wrong "bootloader already installed" message on nano2g.

Change-Id: Ibc658d775fbac7cf9a7e329d445fe97828a455d8
2012-07-01 12:34:59 +02:00
Dominik Riebeling 8a3824f36a ipodpatcher: replace ipod2c with bin2c.
Change-Id: I3b339e05c9a5f4a8a60bd7581ec402b4784542e2
2012-04-28 12:06:55 +02:00
Rafaël Carré db3afb03a2 Make sure we use POSIX/C99 printf() when building for windows
Change-Id: I429ed40dc2b9d4fb238762113bd40936df896df0
Reviewed-on: http://gerrit.rockbox.org/85
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2012-02-05 20:36:31 +01:00
Dominik Riebeling ab49b5e77b MSVC compatibility adjustments.
When using a global variable from a DLL with MSVC special handling is necessary
to avoid going through additional redirection.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31640 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 19:51:11 +00:00
Dominik Riebeling 70837fb1ed sansapatcher, ipodpatcher: use MinGW C99 version of stdio functions.
The MinGW versions know additional format identifiers. Use those versions to
avoid warnings. See also http://article.gmane.org/gmane.comp.gnu.mingw.user/27539/

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31331 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 21:10:21 +00:00
Dominik Riebeling 6c6123143f ipodpatcher: move linker only options out of CFLAGS.
OS X requires some linker-only options. Remove them from CFLAGS to avoid a
compiler warning.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31330 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 20:25:56 +00:00
Dominik Riebeling b056e027fc ipodpatcher: convert to use libtools.make.
This allows building libipodpatcher, which will make it possible to stop
building ipodpatcher files in Rockbox Utility directly. Move some OS X common
values to libtools.make as well (might fix building libmkamsboot on OS X).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31324 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 18:35:01 +00:00
Dominik Riebeling 5ffd2f7598 Various adjustments for MSVC.
- MSVC uses different namings in some places. Adjust the sources via the
  preprocessor if build with MSVC.
- MSVC doesn't know about __func__, use name instead.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31185 a1c6a512-1295-4272-9138-f99709370657
2011-12-08 21:59:13 +00:00
Dominik Riebeling e23adb5386 ipodpatcher: guard platform specific files.
Use the preprocessor to make platform specific files compile as empty files if
built for a different platform. This removes the need to distinguish in the
Makefile and simplifies creating a libipodpatcher.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31169 a1c6a512-1295-4272-9138-f99709370657
2011-12-07 20:06:48 +00:00
Torne Wuff 569285794b Bulk convert all DOS line endings to UNIX.
For the git migration we want a nice clean repository with UNIX line
endings. git does not use svn:eol-style, we just need the file contents to be
sane.

Sorry everybody. I know this messes up blame.

Scumbag *NIX developer says migrating to git will make line ending issues go
away; commits giant change to svn which changes line endings anyway. :)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30924 a1c6a512-1295-4272-9138-f99709370657
2011-11-06 22:44:25 +00:00
Dominik Riebeling ccc5f4c4e1 Replace bootloader object rules with suffix rules.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30607 a1c6a512-1295-4272-9138-f99709370657
2011-09-26 20:00:26 +00:00
Thomas Jarosch e412227abb Fix off-by-one memory corruption in ipodpatcher.
strcpy() will terminate the string with zero,
the boot sector/buffer has only space for eight characters.

Credit goes to "cppcheck".

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30351 a1c6a512-1295-4272-9138-f99709370657
2011-08-25 19:58:47 +00:00
Dominik Riebeling 084d57cef4 Check if creating the dictionary worked before accessing it, not afterwards.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28860 a1c6a512-1295-4272-9138-f99709370657
2010-12-19 21:21:28 +00:00
Frank Gevaerts 037c0ef23a Remove obsolete 2nd gen nano check
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28178 a1c6a512-1295-4272-9138-f99709370657
2010-09-27 19:02:34 +00:00
Dominik Riebeling 0110e558de Remove Ipod Video 64MB handling.
Since the builds for the Ipod Video 32MB and 64MB are now unified there
is no need to handle them separately in Rockbox Utility anymore.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27966 a1c6a512-1295-4272-9138-f99709370657
2010-09-01 17:47:33 +00:00
Torne Wuff 02068ed6cd Bump ipodpatcher version number in preparation for a new ipod bootloader release
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26284 a1c6a512-1295-4272-9138-f99709370657
2010-05-25 15:43:16 +00:00
Dominik Riebeling c8d13b6a7d Implement ipod_scsi_inquiry() on OS X.
This implements the basic functionality for sending inquiries on OS X.
The current implementation has some limitations:
- it will not respect the selected device but pick the first Ipod found.
- it is inefficient due to the way ipodpatcher expects this which doesn't
  really match how it works on OS X.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24382 a1c6a512-1295-4272-9138-f99709370657
2010-01-30 17:02:37 +00:00
Dave Chapman 428064016b Revert most of r24361 - it was committed in error.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24362 a1c6a512-1295-4272-9138-f99709370657
2010-01-28 09:37:05 +00:00
Dave Chapman 4cb879d08d Update the comments describing how to build ipodpatcher - no functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24361 a1c6a512-1295-4272-9138-f99709370657
2010-01-28 09:20:32 +00:00
Dave Chapman 5742f89394 Fix ipodpatcher to work with new target names introduced in r23883
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23906 a1c6a512-1295-4272-9138-f99709370657
2009-12-09 13:13:58 +00:00
Björn Stenberg c0740440ac Rename targets to be consistent in all places. (FS #10819). Take 2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23883 a1c6a512-1295-4272-9138-f99709370657
2009-12-07 12:19:08 +00:00
Dominik Riebeling 93eefbabe3 Suppress unused warnings for functions that haven't been implemented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23785 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 19:20:38 +00:00
Dominik Riebeling bbfe57377c FS#9833: Fix Ipods being wrongly detected as MacPods on OS X
- when scanning for Ipods save the complete ipod_t structure on match. Only saving the disk name can result in the structure holding a disk name not matching the rest of the structure. This lead to wrong detection of macpod on OS X, as Mac drives might get detected later.
- reopen the Ipod in RW mode on scanning on W32 only. On OS X reopening also unmounts the player, which in turn makes resolving the mount point fail.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23707 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 16:35:35 +00:00
Dominik Riebeling 3e489c14c1 Rename print_error() in ipodpatcher and sansapatcher.
Both patchers use the same function name with one being removed when
building for rbutil. This gets in the way trying to move the patchers to
libraries, and it also results a linking dependency of sansapatcher on
ipodpatcher. Renaming the function makes both more self-contained and
avoids potential issues if the functions happen to not do the same.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23568 a1c6a512-1295-4272-9138-f99709370657
2009-11-08 13:38:10 +00:00
Dominik Riebeling 8e47406b76 Fix a compile warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23558 a1c6a512-1295-4272-9138-f99709370657
2009-11-07 20:03:36 +00:00
Dominik Riebeling 7e0fe361d7 Set svn:keywords property.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23545 a1c6a512-1295-4272-9138-f99709370657
2009-11-06 23:20:51 +00:00
Dave Chapman 8e95cc4329 ipodpatcher and rbutil support for the Nano2G - FS#10609 with a few further changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23142 a1c6a512-1295-4272-9138-f99709370657
2009-10-13 08:02:59 +00:00
Dominik Riebeling 4e4510ee91 Query RAM size when scanning for Ipods. Return the target string for Video 64MB when apropriate amount of RAM is detected. Makes Rockbox Utility detect it correctly for first time installs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22829 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 08:39:08 +00:00
Dominik Riebeling 8b32a2d473 Always format error message using ANSI functions to get rid of type-punning when building with rbutil.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22759 a1c6a512-1295-4272-9138-f99709370657
2009-09-20 17:03:58 +00:00
Dominik Riebeling 059255705b Fix SCSI inquiry on W32.
W32 returns additional bytes containing garbage on pages returning the maximum amount (i.e. 255) of bytes. Ignoring those bytes makes the output being correct. Someone needs to find out why those additional bytes are indicated at all.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22199 a1c6a512-1295-4272-9138-f99709370657
2009-08-07 22:58:20 +00:00
Dave Chapman 1eca02d863 Add support (on Linux and win32 only - I couldn't figure this out on OS X) for reading the XML device information from ipods. This information includes the RAM size, which is potentially useful for rbutil to distinguish between the two ipod video builds. This is implemented as both a new --dump-xml option (to dump the entire XML to a file) and a new 'ramsize' field in struct ipod_t.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22165 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 20:32:30 +00:00
Dave Chapman 71f0814e52 Make ipodpatcher compile on *BSD and recent Linux distributions - htole16/htole32 are standard BSD functions, and they now also appear in glibc 2.9 or later on Linux. As the functions are so simple, we just rename to avoid a clash instead of attempting to use the library versions on some platforms. Same as fix provided in FS#10428 by Alyssa Milburn.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22164 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 20:03:17 +00:00
Dominik Riebeling b22516f995 Make sure the global buffers for ipodpatcher and sansapatcher get allocated and freed only once. Fixes segfaults when the bootloader install class was instanciated multiple times.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20835 a1c6a512-1295-4272-9138-f99709370657
2009-05-01 21:35:06 +00:00
Nils Wallménius bea3abb5c3 Bump ipodpatcher version string
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18763 a1c6a512-1295-4272-9138-f99709370657
2008-10-10 16:55:45 +00:00