Commit Graph

46583 Commits

Author SHA1 Message Date
Ingo Weinhold
e85334022e Repository file format: group attributes of a package
* Introduce new package attribute B_HPKG_ATTRIBUTE_ID_PACKAGE (valid
  only in a repository file) to group the attributes belonging to a
  package.
* BRepositoryContentHandler:
  - No longer derive from BPackageContentHandler.
  - Add hooks HandlePackage() and HandlePackageDone() that bracket the
    attributes for a package. This is more explicit and robust than
    handlers having to guess when one package ended and the next began.
* BRepositoryCache: Make use of BPackageInfoContentHandler. No need to
  duplicate the code for reading a package info from package info
  attributes.
2013-07-04 19:20:14 +02:00
Ingo Weinhold
17d00ecd27 pkgman: RepositoryBuilder: add BRepositoryCache c'tor 2013-07-04 19:06:57 +02:00
Ingo Weinhold
383cd08d72 BSolverRepository: add SetTo(const BRepositoryCache&) 2013-07-04 19:06:42 +02:00
Ingo Weinhold
6a7e3406be BSolverRepository: fix gcc 4 build 2013-07-04 19:03:03 +02:00
Ingo Weinhold
c8928835c5 BRepositoryCache: use BStandardErrorOutput 2013-07-04 19:02:10 +02:00
Ingo Weinhold
69f67e6de6 BRepositoryInfo: make sure fInitStatus is always set correctly 2013-07-04 19:00:39 +02:00
Ingo Weinhold
695a1b248a repository writer: fix use of incorrect header size
The header size of the package file header was used, which resulted in
broken repository files.
2013-07-04 16:37:24 +02:00
Ingo Weinhold
32086850f7 Add HPKG to Expander's supported types 2013-07-04 12:51:26 +02:00
Ingo Weinhold
3c3dd841a7 RepositoryWriterImpl::_AddPackage(): more info in error messages 2013-07-04 12:36:55 +02:00
Ingo Weinhold
fd28164da0 Also allow source packages in a repository for any architecture 2013-07-04 12:13:21 +02:00
Ingo Weinhold
2f5551ec2a libroot_build: make path normalization more robust
In case we don't have read permission for an ancestor directory, we try
to guess the path from the CWD.
2013-07-04 10:16:15 +02:00
Ingo Weinhold
2ebcd86dfe Add configure option --host-only
When specified, the build will be configured for building build host
tools only.
2013-07-03 23:19:00 +02:00
Ingo Weinhold
87e22aa865 Make package_repo buildable for the build host 2013-07-03 23:14:31 +02:00
Ingo Weinhold
a85e46496d package_repo: fix printf() format strings 2013-07-03 23:13:09 +02:00
Ingo Weinhold
c09ec54a59 Fix MIME type creation error
DatabaseLocation::OpenOrCreateType(): BNode::WriteAttr() returns the
number of bytes written, not just an error code., so we erroneously
reported an error on success.

Fixes the first part of #9845.
2013-07-01 14:17:51 +02:00
Ingo Weinhold
4f82f6fa72 Add Expander rule for Haiku package 2013-07-01 13:55:16 +02:00
Ingo Weinhold
8d5ae262dc Add MIME type for Haiku packages
Doesn't have an icon yet (hint, hint! :-)).
2013-07-01 13:54:56 +02:00
Ingo Weinhold
178d2f9fb9 Expander: create settings directory, if necessary
Fixes #9846.
2013-07-01 13:26:29 +02:00
Ingo Weinhold
5a7d7bc5dd Remove *Kit pseudo targets from root Jamfile 2013-06-30 19:01:37 +02:00
Ingo Weinhold
ff2e520912 Remove the old "CVS" package rules
... and all their invocations.
2013-06-30 18:59:11 +02:00
Ingo Weinhold
207389a060 BResources::SetTo(): try opening read-only on error
Fixes #9843.
2013-06-30 14:06:29 +02:00
Ingo Weinhold
4c851c295d Clock: fix crash when resources could not be loaded 2013-06-30 13:51:49 +02:00
Ingo Weinhold
2a24174d9b Clock: TOffscreenView: small cleanup 2013-06-30 13:46:56 +02:00
Ingo Weinhold
301f4b463a Expander: also read rules from data directories
* ExpanderSettings: Use a settings directory "expander" and rename
  settings file to "settings".
* ExpanderRules: Read expander rules from "rules" files in the settings
  directory, then from files in expander/rules subdirectories of the
  installation location data directories, and finally add the built-in
  rules. This allows packages to provide expander rules (as already
  done by the p7zip package).
* OptionalPackages: Remove AddExpanderRuleToHaikuImage invocations.
* ImageRules: Remove Expander rule file related rules.
2013-06-30 13:29:48 +02:00
Ingo Weinhold
2cf916cbe2 ExpanderRules: Coding style update
Also makes the ExpanderRule getters const. No other functional change.
2013-06-30 13:15:35 +02:00
Ingo Weinhold
94307089f9 Update packages ffmpeg, openssh, p7zip 2013-06-30 11:49:40 +02:00
Ingo Weinhold
26ea70667a Deskbar: use a virtual directory for the user-configurable menu
* Deskbar now uses ~/config/settings/deskbar/menu_entries for its menu,
  falling back to /system/data/deskbar/menu_entries, when the former
  doesn't exist. The latter always exists and is a virtual directory
  merging the deskbar/menu subdirectories of ~/config/settings/ and
  <any installation location>/data/. So, if a package provides a
  deskbar menu symlink, it is added automatically when the package is
  activated. The user can add own menu items by putting stuff into
  ~/config/settings/deskbar/menu/, only use their own organization by
  symlinking it to menu_entries, or do fun stuff by making menu_entries
  a customized virtual directory.
* HaikuImage: No longer create any deskbar menu symlinks in the user's
  settings directory. Instead add them to the Haiku package.
* OptionalPackages: At least for the optional packages that do have
  hpkgs, no longer create deskbar menu symlinks in the user's settings
  directory.
* Move all Deskbar settings files to ~/config/settings/deskbar/ and
  drop the "Deskbar_" prefix.
2013-06-29 14:58:52 +02:00
Ingo Weinhold
dbd97804ea SetType rule: add optional type parameter
If not specified the executable MIME type is used as before.
2013-06-29 14:58:52 +02:00
Ingo Weinhold
1c29b26e7c Add virtual directory feature to Tracker
Similar to stored queries, files of the virtual directory type behave
like directories -- i.e. they open in a list-mode Tracker window and
show up as an item with submenu in navigation menus. The file itself is
a plain text file in driver settings format. It can have an arbitrary
number of "directory" entries, which specify the paths of (actual)
directories for which the virtual directory provides a merged view. The
view will not show duplicate entries. For non-directory entries the
first one encountered (according to the order the directory paths are
specified in the file) will be shown. A subdirectory entry will again
behave like a virtual directory.

The support in Tracker isn't perfect yet. I'm afraid major refactoring
would be necessary to get it there.

The virtual directory file type uses a differently colored version of
the folder icon. Alternatives welcome.
2013-06-29 14:58:51 +02:00
Ingo Weinhold
de85051c81 BPoseView::AttributeChanged(): additional check in icon case
Model::AttrChanged() requires the model to be open and so does
IconCache::IconChanged(), so add the check. Not sure if the block is
ever executed now (or ever worked before). This does at least prevent
asserts being triggered when compiled with debugging enabled.
2013-06-29 13:58:10 +02:00
Ingo Weinhold
e19f9091cd BPathMonitor: add "from path" to B_ENTRY_MOVED notifications 2013-06-29 13:44:08 +02:00
Ingo Weinhold
b5b9388a28 Add C++ API for driver settings
Copied from the userlandfs utility classes, adjusted coding style, did
some renaming and small interface changes.
2013-06-29 13:42:00 +02:00
Ingo Weinhold
c143884fdf Use incorrect use of BPathMonitor in input/midi/net server
The B_ENTRY_* constants aren't valid watch flags.
2013-06-27 21:57:44 +02:00
Ingo Weinhold
04382d496e BPathMonitor: rewrite
This resolves all issues the test suite uncovered. It should also deal
with hard links correctly, though that hasn't been tested. Still
unsupported are:
* changes due to mounting/unmounting a volume,
* tracking of symlinks in the path components.
2013-06-27 21:57:44 +02:00
Ingo Weinhold
cc4d194aeb Add test suite for BPathMonitor
749 / 1504 tests fail
2013-06-27 21:57:43 +02:00
Ingo Weinhold
8c974aa800 node monitor: add TODO regarding the syscalls 2013-06-27 21:57:43 +02:00
Ingo Weinhold
0d603ac65c Fix node monitoring slot accounting for stop_watching()
NodeMonitorService::RemoveUserListeners() didn't decrement
io_context::num_monitors when removing a listener, so limit checks
would be off afterwards.
2013-06-27 21:57:43 +02:00
Ingo Weinhold
1eda8517f1 BOpenHashTable: Add IsEmpty() 2013-06-27 21:57:43 +02:00
Ingo Weinhold
3e8daeb7bc Add BMessenger::HashValue() 2013-06-27 21:57:42 +02:00
Ingo Weinhold
cb4a05cfdf Missed B_WATCH_FOLDERS_ONLY occurrence 2013-06-27 21:57:42 +02:00
Ingo Weinhold
38afe232de BPathMonitor: pass BMessenger by reference 2013-06-27 21:57:42 +02:00
Ingo Weinhold
7b198d812e B_WATCH_FOLDERS_ONLY -> B_WATCH_DIRECTORIES_ONLY
Stick to the nomenclature generally used in the public API.
2013-06-27 21:57:42 +02:00
Ingo Weinhold
8d572c9264 Add class NotOwningEntryRef
A entry_ref subclass that avoids cloning the entry name.
2013-06-27 21:57:41 +02:00
Ingo Weinhold
3209bc40c5 BPathMonitor: PathHandler::_NotifyTarget(): simplify
* Add optional entry_ref return parameter to _HasFile().
* Simplify _NotifyTarget() by using _HasDirectory() and _HasFile().
2013-06-27 21:57:41 +02:00
Ingo Weinhold
ddd775f5ac BPoseView::FSNotification(): fix issue in debug build 2013-06-27 21:57:41 +02:00
Ingo Weinhold
77ca66cdb7 BPathMonitor: make the node watching mechanism configurable
Add inner class BWatchingInterface and method SetWatchingInterface().
This abstracts the calls to watch_node() and stop_watching(), thus
making it possible to use the path monitor in Tracker.
2013-06-27 21:57:41 +02:00
Ingo Weinhold
ad1875fd70 BPathMonitor: use pthread_once for initialization 2013-06-27 21:57:40 +02:00
Ingo Weinhold
6ca95bd813 PathMonitor.cpp: some style cleanup 2013-06-27 21:57:40 +02:00
Ingo Weinhold
62b0b64124 BStringList::Add(): fix ref counting problem
Handle the case that the private data of the given string is not
shareable.
2013-06-27 21:57:40 +02:00
Ingo Weinhold
5fa3519dec BString::Private: Add IsShareable() 2013-06-27 21:57:40 +02:00