Commit Graph

48257 Commits

Author SHA1 Message Date
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
Oliver Tappe
bbecca8c24 Update libsolv and zlib packages for consolidation.
* only the source package are actually relevant, as the source paths
  within older versions of those source packages no longer match the
  expectations of the build system
2013-10-01 01:00:03 +02:00
Oliver Tappe
ec5bf7bdf8 Adjust paths in source packages to what haikuporter produces. 2013-10-01 01:00:02 +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
f04f7042c5 Determine how to invoke sed with extended regexp
This will require re-running configure
2013-09-30 21:41:54 +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
Adrien Destugues
b617a7b410 Vim syntax files for haikuporter recipes. 2013-09-30 17:37:43 +02:00
François Revol
58c82e4fb7 Make sure the boot driver tgz doesn't overflow the boot floppy
At least on 68k it does. Seems to be ok on x86, for now...
2013-09-30 04:38:50 +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
ddb1aa7353 revert 787843b
Restore the Clean action as "together".

Jam splits the args according to MAXLINE, which was too large.
2013-09-30 04:02:20 +02:00
Rene Gollent
a11cd14453 Cleanups. 2013-09-29 20:55:54 -04:00
François Revol
b019bb2f4f Add definitions for M68K repositories and package infos 2013-09-30 02:35:28 +02:00
François Revol
787843b286 Drop the together keyword on the Clean action
Since the PM merge we now have way too many targets,
here jam clean just fails in execve() due to too long arguments.

jam clean is now very verbose but at least it works.

Another option could be to override the Clean rule itself
to clean in batch by splitting the list...
Patches welcome.
2013-09-30 02:26:12 +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
Rene Gollent
9549402d30 Add libcurl build feature. 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
b5a871b1bf shasum -a 256 is an alternative for sha256 on Mac OS X
First set of patches from #10028
2013-09-29 11:56:38 +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
Niels Sascha Reedijk
0e1ec24ac0 Merge all the documentation from Archivable.h together 2013-09-29 11:48:33 +02:00