47115 Commits

Author SHA1 Message Date
Pawel Dziepak
83fd8a6199 Closing an UDP socket should wake all blocked recv() hrev45719 2013-05-28 20:44:10 +02:00
Siarzhuk Zharski
9609ed8664 KeymapSwitcher opt.package updated to 1.2.7.10
* Fixed hotkeys selector resize issue occured on latest Haiku revisions;
* Fixed handling of system-wide keymap switch mode;
* Remove BDragger from the Deskbar replicant.
hrev45718
2013-05-28 14:39:26 +02:00
Rene Gollent
a6543e68c0 When an exception/breakpoint is hit, activate...
...the team window. Resolves #9797.
hrev45717
2013-05-27 22:01:17 -04:00
Ingo Weinhold
b361d03f93 haiku.hpkg package info: zlib is a separate package 2013-05-28 03:30:49 +02:00
Ingo Weinhold
56b43eca03 BPackageInfoContentHandler: Handle new attributes
Also add respective *Data constructors to BUser, BUserSettingsFileInfo,
and BGlobalSettingsFileInfo.
2013-05-28 02:44:13 +02:00
Axel Dörfler
0c9bc63e5c app_server: added more debug output on screen change problems. hrev45716 2013-05-27 21:54:14 +00:00
Ingo Weinhold
badd403c5e Update grep package 2013-05-27 04:27:26 +02:00
Ingo Weinhold
75c10de291 libroot_build _kern_read_dir(): reset errno before readdir()
Since we're checking errno when readdir() didn't return an entry, we
need to reset it before, or we might see a spurious error value.
2013-05-27 01:05:58 +02:00
Jérôme Duval
e6373bb39d virtio_pci: build not only for x86. hrev45715 2013-05-26 19:58:54 +02:00
Jérôme Duval
78b461d6a1 Merge branch 'virtio' hrev45714 2013-05-26 17:12:25 +02:00
Jérôme Duval
6bbf9c9da9 Virtio: added drivers for PCI busses, bus manager and block device.
* the Virtio PCI bus driver exposes a Virtio controller to the Virtio bus manager,
which in turn exposes a Virtio device consumed by Virtio drivers. Drivers follow the
new driver model.
* virtio_block handles Virtio block devices under disk/virtual/virtio_block/x/raw.
* Here is the Qemu command line option for Virtio disk devices:
  -drive file=haiku.image,if=virtio
* the PCI bus driver currently supports only legacy interrupts (no MSI(-X) yet).
* There is room for improvements in the bus manager:
  - it notifies the host for each queued request, which isn't optimal.
  - transfer descriptors should probably be simply preallocated (they are nicely
    leaked at the moment).
  - indirect descriptors are not supported yet.
and in the block driver:
  - get the id of the disk.
  - implements flushing the cache.
  - improves dma restrictions.
  - do_io() should use a page for header descriptors instead of malloc(), which
    could cross boundaries.
* The device manager tries to guess the driver based on the PCI device type, this
implies having to declare the "busses/virtio" path for each possible type
provided by Virtio. Thus future driver additions might require patching the device
manager.
* virtio.h is still private, the API is subject to changes.
* virtio_pci.h, virtio_blk.h, virtio_ring.h are copied unchanged from FreeBSD.
2013-05-26 17:02:50 +02:00
Jérôme Duval
3aae21ab63 virtio: integrate into the build and image
* device_manager: scans busses/virtio for network device types
  and scsi controllers.
2013-05-26 16:05:53 +02:00
Siarzhuk Zharski
a5862816b1 Jamfile/makefile-engines:replace -nostart with -shared
Starting from our GCC 4.7.3 the shared library -nostart option is not
valid anymore. Replace it with -shared one that works in GCC2 build
environment too.
hrev45713
2013-05-26 12:42:46 +02:00
Siarzhuk Zharski
5c190736fd ICNS/JPEGTranslators: add Jamfile deps to lib headers
* Add Jamfile dependency to LIBPNG headers on icns_png.c;
* Add Jamfile dependency to LIBJPEG headers on JPEGTranslator.cpp
  be_jdatasrc.c
hrev45712
2013-05-26 09:07:19 +02:00
Matt Madia
a196160c9a On FreeBSD, "<malloc.h> has been replaced by <stdlib.h>" 2013-05-25 19:41:18 +02:00
Niels Sascha Reedijk
3410c916d7 Update translations from Pootle hrev45711 2013-05-25 06:13:03 +02:00
Ingo Weinhold
3da422ad05 libroot_build: Fix issues with attribute FD for symlink
AttributeDescriptor: Don't use dup() directly. Check, if the given FD is
one we track and clone it respectively. This allows use with symlink FDs
which we have to fake on Linux (since symlinks cannot be opened). Fixes
extraction of packages containing symlinks with attributes.
2013-05-25 02:38:52 +02:00
Ingo Weinhold
e2f30519ab hpkg format: user big endian for chunk sizes 2013-05-25 01:55:36 +02:00
Ingo Weinhold
a98dd49a6b package info parser: allow escaping of new lines
So we can break long lines without changing the semantics.
2013-05-25 01:12:38 +02:00
Ingo Weinhold
38a0419a72 package info parser: improve parse error column numbers
Assume 4 column tab stops and compute the column numbers accordingly.
2013-05-25 01:12:38 +02:00
Ingo Weinhold
a3e070a7ff WriterImplBase: Add _AddStringAttributeList()
... and simplify some code by using it.
2013-05-25 01:12:38 +02:00
Ingo Weinhold
a11b0003ec packagefs: CachingPackageReader: Don't delete cached heap reader
... in destructor. After we create it, it belongs to the super class and
is destroyed by it.
2013-05-25 01:12:38 +02:00
Ingo Weinhold
c0ab140961 hpkg format: Add attribute for declaring post install scripts 2013-05-25 01:12:37 +02:00
Ingo Weinhold
927e070869 WriterImplBase: Some simplifications
... using the recently introduced _AddStringAttribute[IfNotEmpty]().
2013-05-25 01:12:37 +02:00
Ingo Weinhold
0f4e11e75c hpkg format: Add attributes for declaring users and groups 2013-05-25 01:12:37 +02:00
Ingo Weinhold
c82776b2fa BString: Add Split() 2013-05-25 01:12:36 +02:00
Ingo Weinhold
8698ee4521 BStringList: Declare Join() const 2013-05-25 01:12:36 +02:00
Ingo Weinhold
bf88057b26 ReaderImplBase: Fix copy and paste oversight 2013-05-25 01:12:36 +02:00
Ingo Weinhold
daa10fc3a5 Move package info string builder to its own header 2013-05-25 01:12:36 +02:00
Ingo Weinhold
6da0ce6ff2 Move package info parser to its own file 2013-05-25 01:12:35 +02:00
Ingo Weinhold
79d5ddb77b ReaderImplBase: Verify that the attribute type matches
... the one expected for the respective attribute. Before it was
possible that e.g. a uint was read and then interpreted as a
const char*, if a string was expected for that attribute.
2013-05-25 01:12:35 +02:00
Ingo Weinhold
a8de2761c7 Move package attribute ID definitions to a separate file
... <package/hpkg/PackageAttributes.h>, which also defines other
properties (name and type) for each attribute. It does so via a macro
that the caller can define to generate whatever code is desired.
2013-05-25 01:12:35 +02:00
Ingo Weinhold
fe707a23fc hpkg format: Add attributes for declaring settings files
Global and user settings files can be declared. For global ones an
update policy can be specified. If not specified, the settings file is
not included in the package, but created by the program (or user) later.
If an update type is specified, it defines what to do with the settings
file when updating the package to a newer version.

User settings files are never included in the package; they are always
created by the program or the user. If the package contains a template/
default settings file, it can be declared, but for informative purposes
only.
2013-05-25 01:12:34 +02:00
Ingo Weinhold
5497f08e5e hpkg attribute tags: use 7 bits for attribute ID
ATM the 6 bits suffice, but there isn't that much headroom.
2013-05-25 01:12:34 +02:00
Ingo Weinhold
4ffb923413 PackageFileHeapWriter::RemoveDataRanges(): Fix empty heap check 2013-05-25 01:12:34 +02:00
Ingo Weinhold
bac0bb2e8f RepositoryWriterImpl: Write the heap fields in the header 2013-05-25 01:12:34 +02:00
Ingo Weinhold
47039b852e Package/repository file format: Add a minor version header field
* Add minor_version to hpkg_header and hpkg_repo_header and make
  heap_compression uint16.
* If the minor version of a package/repository file is greater than the
  current one unknown attributes are ignored without error. This allows
  introducing new harmless attributes without making the resulting files
  unreadable for older package kit versions.
2013-05-25 01:12:33 +02:00
Ingo Weinhold
5dae1541d6 Add "source" package architecture 2013-05-25 01:12:33 +02:00
Ingo Weinhold
bc306e210f Declare some string constants actually const 2013-05-25 01:12:33 +02:00
Ingo Weinhold
46122852f1 packagefs: Add caching for the package file heap reader
* ReaderImplBase:
  - Add virtual CreateCachedHeapReader() which can create a cached
    reader based on the given heap reader.
  - Rename HeapReader() to RawHeapReader() and add HeapReader() for the
    cached heap reader.
  - Add DetachHeapReader() to allow a clients to remove the heap
    reader(s) after deleting the ReaderImplBase object.
* packagefs:
  - Add CachedDataReader class, which wraps a given
    BAbstractBufferedDataReader and provides caching for it using a
    VMCache. The implementation is based on the IOCache implementation.
  - Use CachedDataReader to wrap the heap reader. For file data that
    means they are cached twice -- in the heap reader cache and in the
    file cache -- but due to the heap reader using a VMCache as well,
    the pages will be recycled automatically anyway. For attribute data
    the cache should be very helpful, since they weren't cached at all
    before.
2013-05-25 01:12:32 +02:00
Ingo Weinhold
69a1f1f53f packagefs: Fix attribute indexing
Since the package nodes' attributes are indexed before the VFS has
accessed any of its nodes, the package wasn't open and reading the
attribute data would fail. We do now open the package explicitly in
UnpackingAttributeCookie::IndexAttribute(). Moreover, as an
optimization, we also open the package in Volume::_AddPackageContent(),
so the package file isn't repeatedly opened and closed as its nodes are
being registered.
2013-05-25 01:12:32 +02:00
Ingo Weinhold
c3bd329fa2 PackageFileHeapAccessorBase: Fix error output 2013-05-25 01:12:32 +02:00
Ingo Weinhold
b814feabd7 packagefs: PackageFile::DataAccessor: Avoid unnecessary locking
... in case of version 2 package files.
2013-05-25 01:12:32 +02:00
Ingo Weinhold
d59e0feb59 package: Suppress version mismatch errors where V1 is supported
* Add flags parameter to Init() of BPackageReader and friends.
* Introduce flag B_HPKG_READER_DONT_PRINT_VERSION_MISMATCH_MESSAGE and
  don't print a version mismatch error when given.
* package extract/list: Use the new flag.
2013-05-25 01:12:31 +02:00
Ingo Weinhold
64bb883062 Support booting with a packaged boot loader
* Add new package haiku_loader.hpkg and move haiku_loader there. The
  package is built without compression, so that the stage 1 boot loader
  has a chance of loading it.
* Adjust the stage 1 boot loader to load the haiku_loader package and
  relocate the boot loader code accordingly.
2013-05-25 01:12:31 +02:00
Ingo Weinhold
01c03710f0 BuildHaikuPackage rule: Add grist to package info file
... to avoids clashes with equally named targets.
2013-05-25 01:12:30 +02:00
Ingo Weinhold
bfa408d70a packagefs: PackageData: Fix copy and paste error 2013-05-25 01:12:30 +02:00
Ingo Weinhold
2a6f1725c6 packagefs: Resolve error output TODOs 2013-05-25 01:12:30 +02:00
Ingo Weinhold
760dee16d1 packagefs: Add va-args version ERRORV() to DebugSupport 2013-05-25 01:12:30 +02:00
Ingo Weinhold
5261923e87 Add dvprintf() 2013-05-25 01:12:29 +02:00