Commit Graph

41217 Commits

Author SHA1 Message Date
Pawel Dziepak
1238bebddc build: Add stub _get_thread_info() needed by support/Referenceable.cpp
This is a step towards fixing #10042.

When DEBUG is set BReferenceable::~BReferenceable() performs some checks
ensuring that the object is destroyed correctly. These checks require
information on thread stack, which is obtained by get_thread_info().

_get_thread_info() stub is added (actually, readded) which always returns
B_ERROR. Moreover, the check in BReferenceable destructor is modified
so that it does not fail when get_thread_info() fails.
2013-10-01 15:06:17 +02:00
Rene Gollent
88cd0fd25b HaikuDepot: improve progress tracking.
- PackageManager: Adjust progress listener interface to also supply
  the package name to the hook. Adjust implementors.

- PackageActions now get a pointer to the model. InstallPackageAction
  uses that to resolve the package name given in the download progress hook
  to the package currently being downloaded, and updates progress accordingly.
  Consequently, if one requests installation of a package that has dependencies,
  Depot now correctly updates the download progress status of those
  accordingly, rather than updating the original package repeatedly.
2013-09-30 23:07:45 -04:00
François Revol
8bf87f9341 Actually fix the build
Looks like I was too quick on previous commit.

It seems -pthread is actually not that much needed on Linux though...
although the manpage says "compile and link with -pthread". Go figure.

Now dlopen() uses RTLD_LAZY | RTLD_LOCAL for Linux, which seems
to work here.
2013-10-01 03:57:24 +02:00
François Revol
4135f9cde3 Fix build
Declare a HOST_PTHREAD_LINKFLAGS variable to hold the flags
required to link with pthreads, and use it for the solver addon.

Works on GNU/Linux, please test and fix for other platforms.
2013-10-01 02:37:54 +02:00
Ingo Weinhold
5fd3766e03 libroot_build: fs_darwin: fdopendir(): close FD on success
fdopendir() is supposed to consume the specified FD on success.
2013-09-30 21:41:56 +02:00
Niels Sascha Reedijk
a69102a1f3 Add HOST_LIBSUPC++ to fix compilation on MacOS X 2013-09-30 21:41:50 +02:00
Niels Sascha Reedijk
57405de578 Always use dlopen and dlsym to load libsolv
Previous implementation used weak symbols on all platforms except Haiku. Mac OS X also does not support this use of weak symbols. In the discussion of #10028 it was decided that probably more platforms will have problems with this approach, so instead use the approach that always works.
2013-09-30 21:41:45 +02:00
François Revol
68bccdf6b4 M68K: More gcc options fixes 2013-09-30 04:21:41 +02:00
François Revol
4046c49f88 M68K: Account for extra parameter to create_area_etc()
Would have been nice to also fix 68k code... just sayin.
2013-09-30 04:15:27 +02:00
François Revol
835545cfd1 M68K: drop dupplicate strlen
Seems we have our own now.
2013-09-30 04:09:27 +02:00
François Revol
f7d6c2f8e5 M68K: Switch to new gcc options for specifying cpu
Latest gcc converts the old ones to the new ones anyway...
including when passing to gas, which of course is not new enough,
so we have to also force gcc to pass the old one around in one case.
2013-09-30 04:02:21 +02:00
François Revol
b019bb2f4f Add definitions for M68K repositories and package infos 2013-09-30 02:35:28 +02:00
Rene Gollent
6114dd1fc2 Clean up FreeBSD build support as suggested by Ingo. 2013-09-29 19:50:00 -04:00
Rene Gollent
3d97f9a0a9 package_daemon: Cleanups.
- Remove no longer needed context object, as well as dummy
  BDecisionProvider implementation, as the base class now does the same
  directly by default.
2013-09-29 19:31:34 -04:00
François Revol
55cc9f852a Add definitions for PPC repositories and package infos 2013-09-30 01:29:03 +02:00
Axel Dörfler
cf06f96628 libshared: Factored out driver settings class from net_server.
* The new class is called DriverSettingsMessageAdapter which can translate
  between a driver_settings file, and a BMessage.
* The net_server Settings class is now just using this class.
2013-09-30 01:13:13 +02:00
Axel Dörfler
8be52869c8 Minor style cleanup. 2013-09-30 01:13:12 +02:00
François Revol
5e0e2739c9 ARM: work around too many libgcc objects when linking libroot
jam fails in execve() trying to run the command due to
a too large arguments list because of the many objects in libgcc.

We split them into two intermediate objects,
then we link them to libroot.
2013-09-30 00:37:06 +02:00
Rene Gollent
4a3649a4ac libpackage_build: Fix build on FreeBSD.
FreeBSD's gcc doesn't include /usr/local/{include,lib} in its default
search paths, but libcurl gets installed there.
2013-09-29 17:51:23 -04:00
Rene Gollent
5ef03b1bda libpackage_build: Fix build on gcc2 haiku.
- gcc2 lacks the -iquote option, and side effects of some of the other flags
  we use with it during the build cause some of libcurl's includes to fail.
  This temporarily works around the problem until gcc2 can be suitably fixed.
2013-09-29 17:25:34 -04:00
Rene Gollent
47b36c83e9 HaikuDepot: Implement download progress handling.
- PackageManager: Add simple progress listener class for other parts
  of depot to use, which in turn is notified when the user interaction
  handler's download progress hook is called.

- InstallAction: Implement progress listener interface and add self
  as listener when initiating a package installation.

This gets basic download progress reporting working in Depot, but isn't
yet complete, as, with the current implementation it doesn't properly handle
any dependent packages that might get downloaded, since InstallAction currently
only knows about the package info that it's directly responsible for. Needs a
bit more work to handle that correctly.
2013-09-29 17:25:34 -04:00
Rene Gollent
647fb4ed35 HaikuDepot: Add download progress package state.
- Add accessors for storing/retrieving current download progress.
- Adjust PackageListView to be able to create a progress state from
  the download percentage.
2013-09-29 17:25:33 -04:00
Rene Gollent
493d13f0b4 libpackage: Add missing build dependency. 2013-09-29 17:25:33 -04:00
Rene Gollent
9345049af8 Package Kit: Implement progress notifications.
- BJobStateListener: Add progress state and corresponding hook.
- FetchFileJob: Notify job progress hook on libcurl notifications.
- UserInteractionHandler: Add hooks for download progress and checksum
  validation progress.
- PackageManager: inherit from JobStateListener and watch for job
  notifications for internally generated jobs. Forward to corresponding
  UserInteractionHandler hooks as needed.
- Adapt pkgman, HaikuDepot and package_daemon to above changes.
  Neither HaikuDepot nor package_daemon's progress hooks are wired up to
  do anything yet though.
2013-09-29 17:25:33 -04:00
Rene Gollent
fe39d2eb8d BPackageManager: Eliminate RequestHandler.
- Pull functionality back into package manager itself since the extra
  indirection doesn't really buy us anything in this case, as neither
  request that it handles requires a decision provider.
- Adjust pkgman and HaikuDepot accordingly.
2013-09-29 17:25:32 -04:00
Rene Gollent
672795a37e BDecisionProvider: Make YesNoDecisionNeeded() non-abstract.
- A subset of jobs that require a BContext don't in fact make use of the
decision provider. As such, make the default implementation usable for
those cases so one doesn't need to always create a dummy derived class.
2013-09-29 17:25:31 -04:00
Rene Gollent
a7a7aaaf3d libpackage: Add global init/terminate routines.
- Currently only used to call libcurl's global initialization and
  cleanup routines.
2013-09-29 17:25:31 -04:00
Rene Gollent
e4227e934e Add libcurl dependency to haiku system package. 2013-09-29 17:25:30 -04:00
Rene Gollent
cd76e0903f libpackage: Use libcurl directly for downloads.
- Initial step towards allowing listening for download progress.
2013-09-29 17:25:29 -04:00
François Revol
f9ab70a1d1 Guard the __sync_* atomic helper with __ARM__
I didn't notice I was adding to a generic file.
2013-09-29 22:43:34 +02:00
Ingo Weinhold
d61f592d9b freebsd_network(): call uninit_hard_clock() on uninit
Not uninstalling the timer hook could lead to a crash after unloading/
reloading the driver.
2013-09-29 22:11:17 +02:00
François Revol
c436d67da4 ARM: Add note about updating libstdc++
The __sync_fetch_and_add_4() helper is deprecated in newer GCC,
and should be droped when we update libstdc++.
2013-09-29 21:02:11 +02:00
François Revol
624ba5482b Add missing architectures for packages
The list in packagefs wasn't in sync anyway.
2013-09-29 19:48:26 +02:00
François Revol
75453edc01 ARM: Add a C version of __sync_fetch_and_add_4()
It just calls atomic_add().

No need for the asm version, it doesn't need to depend on defines.
2013-09-29 19:46:41 +02:00
Alexander von Gluck IV
48ea3fca49 radeon_hd: Style fix, no functional change 2013-09-29 11:58:27 -05:00
Alexander von Gluck IV
878a8d3fdd radeon_hd: Move to using the first found monitor's EDID
* This has positive and negitive effects. Using the
  first monitor's EDID vs the VESA EDID means DisplayPort
  monitors and adaptors function.  I think the benefits
  outweigh the risks at this point.
* Haiku will use the native display mode of the first
  monitor and set it across all attached displays.
* Please open bug reports if you notice and regressions.
2013-09-29 11:58:27 -05:00
Stephan Aßmus
572c729258 HaikuDepoStore and restore column state
* Better mechanism totore and restore window
   settiings.
2013-09-29 14:57:08 +02:00
Ingo Weinhold
81a828b660 BPackageManager: Auto-refresh if repository cache is missing
This makes the initial "pkgman refresh" superfluous, that was necessary
for "install"/"search" to work.
2013-09-29 13:14:43 +02:00
Niels Sascha Reedijk
3e3ffe6858 Set defines for Mac OS X so that libsolv can be built 2013-09-29 11:56:27 +02:00
Niels Sascha Reedijk
8ce48ae581 Add HOST_LIBSUPC++ to fix compilation on MacOS X 2013-09-29 11:56:22 +02:00
Stephan Aßmus
cb67ac0163 HaikuDepot: Avoid showing ugly rating info when there are no ratings. 2013-09-29 11:41:24 +02:00
François Revol
735ec4c018 ARM: Add longjmp_return.c to the libroot built
Linking was failing with undefined reference to __longjmp_return.
2013-09-29 04:03:09 +02:00
François Revol
396fc0b0eb Add definitions for ARM repositories and package infos 2013-09-29 03:43:02 +02:00
François Revol
3d2c989bb5 disasm: Add stub for ARM 2013-09-29 03:33:19 +02:00
Ingo Weinhold
b543870a97 libpackage_build: Fix build for paths with spaces 2013-09-28 23:44:23 +02:00
Ingo Weinhold
6eb7e259e9 libpackage_build: undefined weak symbols are unsupported
... also for gcc 4 (#8288), so we have to use the dlopen() method
always when building on Haiku. Fixes the build on gcc 4 Haiku.
2013-09-28 16:38:41 +02:00
Ingo Weinhold
52b81e5a60 libpackage_build: Make sure built-in data dir path is absolute
Fixes #10022.
2013-09-28 15:07:06 +02:00
Axel Dörfler
86cdd3f81a PackageWriterImpl: improve error output. 2013-09-28 00:52:06 +02:00
Rene Gollent
c8f47aeac8 Fix build. 2013-09-26 21:00:26 -04:00
Ingo Weinhold
9f81ca838c Merge branch 'package-management'
Conflicts:
	src/preferences/network/Jamfile
2013-09-27 02:01:12 +02:00