hrev46113 adds 1179 changesets to branch 'master' old head: 23afdc2ba493acf05dd9bd892e95c568d0d35670 new head: 9f81ca838ce7b92b5689e57d3f86765db4705a7b overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=9f81ca8+%5E23afdc2 ---------------------------------------------------------------------------- 3dfd9cb: Flat commit of all changes from package-management branch in svn [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] bc93eff: Added BuildPlatformStaticLibraryPIC rule. It works like BuildPlatformStaticLibrary, but generates position independent code. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bd9d1df: Added very simple BLooper class to libbe_build. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1044b2e: Added missing <StorageDefs.h> include. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 41f39d0: Removed obsolete TODO. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5eedc38: Fixed printf() format related warnings. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1cb2d5a: Use fs_close_attr()/write_pos() instead of close()/pwrite(). This makes it easier to reuse the code on non-Haiku platforms. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f1eeb32: Fixed x86_64 handling by the build system. * Map build variables HOST_CPU and HOST_ARCH to x86_64, if it they are * x86 and 64 bit and define the __x86_64__ C macro instead of __INTEL__ in that case. * <OS.h>: Also handle __x86_64__. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b795c9c: Made the check for B_BUFFER_OVERFLOW more flexible. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 62fef8b: Added driver settings and find_directory() support. find_directory() is a very simplified implementation, only supporting what we currently need. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e781b1b: Open/close attribute support for xattrs backend For the xattr/BSD (untyped) attribute backend implement fs_fopen_attr() and fs_close_attr(). A new AttributeDescriptor is created. It is currently used in write_pos() only. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a7bcad8: Updated to current Haiku version [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 14c34be: Fixed host build issues/warnings [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d451f7a: Added several APIs to libbe_build/libshared_build [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0ee9bc9: Build libpackage for the build platform [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 922e7ba: Build the package tool for the build platform [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] efec892: Added .gitignore [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a1cada9: Fix x86_64 BuildConfig issues * Resolve TODO: HOST_GCC_BASE_FLAGS should not be included in HOST_LDFLAGS. Enable adding "-fno-strict-aliasing -fno-tree-vrp" accordingly. * Fix handling of HOST_PLATFORM_IS_64_BIT and HAIKU_HOST_USE_32BIT: The former does now state whether the platform is effectively treated as 64 bit platform, i.e. it actually is 64 bit and the 32 bit mode is not enforced. HAIKU_HOST_USE_32BIT is now only set when the platform is actually 64 bit, but 32 bit mode is enforced. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] abd5edc: libroot_build: fix error.ccp build Since USES_BE_API is set by default on all libroot_build sources, the error.cpp was broken, since it wouldn't be exempt from the error mapping. Define the BUILDING_HAIKU_ERROR_MAPPER for it directly in the Jamfile, now. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e272fb5: <build>package: attribute iteration, license dir PackageWriterImpl: * Iterate through attributes using fs_read_attr_dir() instead of readdir(). Makes it work correctly on the build platform. * On the build platform look up the system licenses in their source directory rather than based on find_directory(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9e3bdfb: Generalize some image rules Pulled generalized *ToContainer versions out of several *ToHaikuImage rules. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 355b8ba: Build a system Haiku package * Create rules (build/jam/PackageRules) and a script, build_haiku_package, to build hpkg files. * Move all rule invocations that copy files and created symlinks and directories in the "system" directory from HaikuImage to HaikuPackages, which creates a package "haiku.hpkg". * build_haiku_image: Comment out adding the copyrights info to AboutSystem for the moment. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 93211f3: PackageWriterImpl: Build platform symlink issues On a non-Haiku build platform map openat(), fstat(), and FileDescriptorCloser to _kern_open(), _kern_read_stat(), and BuildFileDescriptorCloser respectively, so symlinks can be opened and stat()ed. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d1f40ef: HaikuPackages: Remove the "system" path component [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dcdeed6: AddDirectoryTo{HaikuImage,...} refactoring Move common code from AddDirectoryToHaikuImage/AddDirectoryToPackage to AddDirectoryToContainer. AddDirectoryToPackage was incorrect, using an incorrect search directory for the attribute files. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2bda1e8: Package rule: introduce current package notion The HaikuPackage rule now sets the variable HAIKU_CURRENTLY_BUILT_HAIKU_PACKAGE to the given package and all *ToPackage rules use that instead of a parameter. This saves passing the package in each of those rule invocations. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 624b7c8: Add system package to image [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d11ea2b: Introduce BootVolume abstraction class BootVolume is initialized from a root directory of a volume. It finds the system directory, and -- not implemented yet -- mounts the system package, if the system is packaged, replacing the system directory with it. Adjusted several functionality (main(), the loader functions, user_menu()) to use BootVolume instead of the root directory. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8f583b2: Build fix [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 898396e: Increase boot loader heap size We need more for packagefs support. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] abc3c57: KernelLd rule: opt-out linking against libsupc++ Introduced HAIKU_NO_LIBSUPC++ variable on target to prevent linking against libsupc++. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9a8c133: Split package kit DataReader.cpp Pull AttributeDataReader and FDDataReader implementations out of DataReader.cpp into own source files. Thus we can avoid dependencies (e.g. to fs_attr code) we don't need/want. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2ef572b: ReaderImplBase::ParseStrings(): Avoid new[0] [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b232be5: Boot loader build: add strerror,... * Don't link against libsupc++ anymore. We use kernel_cpp.* instead. * Link twice against boot_loader.a, so undefined symbols in FSs are resolved. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3057223: Add BReferenceable to boot loader Also force include kernel_cpp.h, so it doesn't have to be included in every file (still is included in most, though). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cbc8591: Add boot loader packagefs support * Add pread(). * Add Node::ReadLink() to read a symbolic link path. * Add Directory::LookupDontTraverse() and make Lookup() non-abstract. Lookup() is implemented via LookupDontTraverse() and Node::ReadLink(). * Adjust all FS implementations accordingly. * Add a packagefs implementation. Unlike other FS implementations it isn't a pseudo-module, but provides a function to explicitly mount a package file (packagefs_mount_file()). * Finish BootVolume::SetTo() implementation, mounting the package file and replacing fSystemDirectory. Now the boot loader can load the kernel and boot modules from a packaged system. The kernel boots up to the point where the boot volume is mounted. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 533833f: Add kernel args boot volume "packaged" flag * Add BOOT_VOLUME_PACKAGED boot volume message field name constant. * register_boot_file_system(): - Now takes a BootVolume& parameter. - If the boot volume is packaged, add that info to the boot volume message. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 441b85e: Assign node IDs to packagefs nodes Fixes module loading. elf_load_image() checks the node ID to verify whether an image was already loaded, so giving all nodes the same ID only gets one image loaded. The IDs don't necessarily match the ones the kernel packagefs assigns, which could be a problem later on. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 02b57b3: Bump boot loader heap size [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cb89356: Boot loader packagefs: Fix ".." lookups * PackageDirectory::Lookup(): Support "." and ".." lookups. * PackageLoaderContentHandler::HandleEntry(): If the entry doesn't have a parent directory, use the volume's root directory directly. This makes PackageVolume::AddNode() superfluous and also always passes a non-NULL parent directory to PackageNode::Init(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6d7953e: Add boot module symlink for packagefs [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ba65f94: Fix image rules wrt system/ relative entries * Introduce on-container jam variable HAIKU_CONTAINER_SYSTEM_DIR_TOKENS containing the directory tokens relative to the container root to refer to system. * Use the variable in *ToContainer rules that need to put something in system. * AddFilesToContainer: Fix overlooked reference to AddFilesToHaikuImage. * AddBootModuleSymlinksToContainer: Use relative symlinks. This avoids special-casing in the boot loader for packagefs. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 18e7d26: Mount the /boot/system packagefs on boot [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8ba0205: Add atomic_*() functions to boot loader [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 55a34b6: fs_write_attr(): Allow 0-length NULL buffer [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 52e0796: write_pos(): Fix return value for attribute writes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d971dfb: Nicer error output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 05384d6: Changed architecture to x86_gcc2 This needs to be created dynamically somehow, but for the time being we want things to work for gcc2 and x86 at least. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f724ec0: ExtractArchive: Add hpkg support [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fdc30d6: Fix gcc2 and ICU optional packages * InstallOptionalHaikuImagePackage: In case of hpkg packages, copy them to the target directory, instead of extracting them. * Correct gcc 2 package download URL. * The ICU gcc 2 optional packages has been repackaged as hpkg. Use that. For gcc 4 things are broken, now. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0d792bb: Fixed input server start fallback After failing to start the input server by signature, the fallback didn't append the input server name to the servers directory returned by find_directory(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d00bcc1: Hard code "Public Domain" as acceptable license [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3f6ca2f: Move remaining /boot/system contents into packages * Build system: Create packages haiku-devel, haiku-welcome, haiku-userguide, and makefile-engine. * The TimGMSoundFont and BeBook zip files have been repackaged as hpkg files. * Adjust the optional package definitions accordingly. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 253e6ee: Ignore build/user_config_headers [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9280379: Comment typo fixes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3cc7107: Replaced fs_mount::covers_vnode by Vnode::covers Introduce a Vnode::covers field. It is currently only used for the root node of an fs_mount, replacing fs_mount::covers_vnode. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2e21fc5: Generalize use of Vnode::covered_by/covers * Introduce Vnode flags for covered and covering. Can be used as a quick check when one doesn't already hold sVnodeLock. * Rename resolve_mount_point_to_volume_root() to resolve_vnode_to_covering_vnode(). * Adjust all code that deals with transitions between mount points and volume root vnodes to generally support covered/covering vnodes. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 313e1e3: Add vfs_ prefix to resolve_vnode_to_covering_vnode() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d61a854: Add support for bind-mounting directories * Add support function vfs_get_mount_point(), so a file system can get its own mount point (i.e. the node it covers). Re-added fs_mount::covers_vnode for that purpose -- the root node isn't know to the VFS before the mount() hook returns. * Add function vfs_bind_mount_directory() which bind-mounts a directory to another. The Vnode::covers/covered_by mechanism is used, so this isn't true bind-mounting, but sufficient for what we need ATM and cheaper as well. The vnodes connected thus aren't tracked yet, which is needed for undoing the connection when unmounting. * get_vnode_name(): Don't use dir_read() to read the directory. Since we have already resolved vnode to the covered vnode, we don't want the dirents to be "fixed" to refer to the covering nodes. Such a vnode simply wouldn't be found. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 314cb5f: Add support for shine-through directories * packagefs_mount(): Initialize the fs_volume earlier, so it is more usuable in Volume::Mount(). * The new mount parameter "shine-through" can be used to specify which shine-through mode shall be used. Can be "system", "common", "home", and "none". Depending on the setting it is decided which directories of the underlying file system are bind-mounted on top of ours. * Fix infinite loop in Volume::_RemovePackageContent(). * Use the RETURN_ERROR() macro in more places to help with debugging. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 51191b1: Remove debug output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6004315: Mount packagefs with "system" shine-through mode [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b478cc3: Put TimGMSoundFont package in the right directory [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4ef5b63: Implement packagefs_get_vnode_name() hook [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9561ddc: remove_vnode(): Also consider covering vnode busy [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 19c48aa: fix_dirent(): Fix ref count leaks * Only get an additional parent reference, when going to call vnode_path_to_vnode(). * Put the reference of the vnode vnode_path_to_vnode() returns. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0be138a: vfs_bind_mount_directory(): Fail if unmounting [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fe59288: Completed vfs_bind_mount_directory() support We don't need to explicitly track the covered/covering nodes per mount after all. In fs_unmount() we iterate through all vnodes multiple times anyway and can deal with the covers/covered_by vnodes there. Also, the root vnode doesn't need to be handled specially anymore. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5957270: Print the package version nicely [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6e6ca8c: Fix resolvable name [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ddabac2: Rename Package "name" property to "fileName" [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 01102ee: WIP towards packagefs package links support * Introduce Version class representing a version. * Introduce Dependency and Resolvable class and add lists of either to Package. * Parse package attributes and add dependencies and resolvables to Package. * Add a mount type to Volume and add a respective mount parameter "mount-type" (values "system", "common", "home", "custom"). Also implies the shine-through type, if that's not given. * Introduce class PackageFamily which groups equally named and versioned packages. * Add class PackageFSRoot. Each instance represents a possible file system root (separate roots for different chroot environments). Tracks Volumes belonging to the same root and their packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 31cd721: Change package and resolvable version [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4b5dbac: Make Volume::Read{Lock,Unlock} const [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 22a8088: Remove kernel_interface.cpp LeafNode dependency Introduce abstract virtual Node::ReadSymlink() method that is now used in packagefs_read_symlink() instead of casting to LeafNode. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8ae81ef: Kernel interface abstraction for attribute access * Introduce interface AttributeCookie and currently only implementation UnpackingAttributeCookie. This is an interface for reading/stat()ing an attribute. * Add abstract virtual Node::OpenAttribute() method that returns an AttributeCookie and implemented it for derived classes. * In the kernel interface attribute hooks use AttributeCookie now. The attribute directory hooks are unchanged. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fa9fde9: Remove unused Node fields [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b5ff7ab: Remove unused LeafNode::SymlinkPath() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3ad1037: Move set_dirent_name() to Utils.h [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e807d80: Attribute dir access kernel interface abstraction * Introduce interface AttributeDirectoryCookie and currently only implementation UnpackingAttributeDirectoryCookie. This is an interface for reading/rewinding an attribute directory. * Add abstract virtual Node::OpenAttributeDirectory() method that returns an AttributeDirectoryCookie and implement it for derived classes. * In the kernel interface attribute directory hooks use AttributeDirectoryCookie now. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e85e0ae: Remove package related dependencies from Node * Move package related methods from Node to new interface UnpackingNode. * LeafNode and Directory derive from UnpackingNode now. * Adjust Volume implementation accordingly. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 876a16a: Rename LeafNode to UnpackingLeafNode [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 511b4fe: Pull derived UnpackingDirectory out of Directory Move all package specifics from now abstract Directory to new derived class UnpackingDirectory and adjust the Volume implementation accordingly. This concludes the Node/Directory refactoring. Neither class is aware of packages anymore. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5d5bdb4: Update copyright year [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5663e91: UnpackingDirectory: Remove unnessary methods Remove Read() and ReadSymlink() methods which are already implemented in Directory. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ffc66d8: Specify mount type when mounting packagefs [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dce13a0: Node: Add setters for ID and parent [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b8a96de: Add yet empty package-links directory * Add PackageLinksDirectory Directory subclass. Currently not doing anything. * PackageFSRoot: Create a PackageLinksDirectory. * Volume: Add/remove the package links directory for the system volume. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7e57d12: Move PackageFamily table to PackageLinksDirectory [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a2fc40b: Move EmptyAttributeDirectoryCookie to own files [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 05d7d48: Add support function get_real_time() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4031a32: WIP: Create empty package links directories * Rename PackageFamily to PackageLinkDirectory and derive from Directory. * PackageLinksDirectory: Add the PackageLinkDirectory objects as children and remove the no longer needed hash table (we use the Directory's child hash table). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3e7333b: Add package link directories to system volume * Add PackageLinksListener interface. It is used by PackageLink[s]Directory to notify a listener about changes. * Volume does now implement PackageLinksListener and recursively adds/ removes package link directories. This makes the package link directories appear at least. They are still empty. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1becdcc: Empty Node::VFS{Init(),Uninit}() implementations [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 70c2780: PackageLinksDirectory::AddPackage(): Fix check [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1d8edd9: Create self package link [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 724fba1: Add Node::Init() flags parameter * Add Node::Init() flags: - NODE_FLAG_KEEP_NAME: Take over ownership of the name. - NODE_FLAG_CONST_NAME: Don't copy the name -- it's a constant that lives at least as long as the object. * Remove Init() implementations in derived classes that just call the base class version. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1382ade: If none is given pick volume name by mount type [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fc009a2: Fix NODE_FLAG_OWNS_NAME value [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5f80e51: Fix Volume::_RemovePackageLinksNode() Don't use _RemoveNode() as it also removes the node from its parent. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 77574d4: Init fSelfLink [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 59acdf5: Volume: Remove all package contents on destruction [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fd6d5d5: Reordered methods to match declaration order [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 83d5997: Add node monitoring for package link directories [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 35eeebd: Missing locking when adding/removing package nodes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cd81fea: Fix package link updates/node monitoring * PackageLinksListener: Rename methods from *Directory*() to *Node*() and change parameter to Node*. Also add a *Changed() method. * PackageLinkDirectory: Update only when necessary and what is necessary (currently only the self link). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 38a7f76: Add TODOs regarding broken add/remove behavior [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9320567: WIP towards dependency package links * Add ResolvableFamily and DependencyFamily classes for grouping equally named resolvables/dependencies. * Add hash tables to PackageFSRoot to track resolvables and dependencies. That is done in {Add,Remove}Package. * Resolvable does now have a list of Dependency objects, the ones it satisfies. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5e972a6: Dependency: Add Package() getter [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8a85232: Add Dependency::ResolvableVersionMatches() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0d7d179: Resolvable: Add Version() getter [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4081d37: ResolvableFamily: Add ResolveDependency() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bd66b7e: Resolve dependencies to resolvables [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a39e95c: Move PackageLinkDirectory::Link to own file And rename it to PackageLinkSymlink. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dd9554a: Add dependency package links The links appear, but the dependency resolution doesn't seem to work correctly yet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b143a5a: Notify when removing a package link directory [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5165b6b: Fix adding order dependent dependency resolution PackageFSRoot::_AddPackage(): When adding a resolvable which isn't known yet, make sure all already added matching dependencies are resolved. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 835ecf5: Fix dependency resolution on resolvable removable ResolvableFamily::RemoveResolvable(): Move the resolvable's dependencies to the update list. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2d132da: Optional dependency resolution tracing [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c99aa60: Allow symlinks in the packages directory [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2a5bef0: Volume:Mount(): Better failure output Also use the FATAL() instead of the ERROR() macro, so something is printed also with debugging disabled. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c6739b6: Paranoia: Handle unknown mount type [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ecf2e3d: Cleanup [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a83fe53: Added default cookie Close() implementation Added trivial implementation for AttributeCookie::Close() and AttributeDirectoryCookie::Close() and removed the identical Close() implementations in derived classes. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 59e76db: Support for auto-generated package node attributes * Add utility class AutoPackageAttributes and AttributeCookie subclass AutoPackageAttributeCookie. * UnpackingAttributeCookie::Open() does now try to create a AutoPackageAttributeCookie, when it doesn't find the attribute in the PackageNode. * Adjust UnpackingAttributeDirectoryCookie to also list auto-generated attributes. Currently the only supported attribute is "SYS:PACKAGE", which is the file name of the package containing the node. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 42ae644: Fix printf() format string warnings [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5f039cf: Fix copy'n'paste error for minor version part [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ed6d59a: Introduce a pre-release version component * The version string pattern is now: <major>[.<minor>[.<micro>]][-<pre>][-<release>] * Introduce B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_PRE_RELEASE package attribute. * Add "preRelease" field to BPackageVersionData. * Add "preRelease" property to BPackageVersion and packagefs's Version. * Adjust package reader and writer code accordingly. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e1a3931: Adjust system package versions They all use package and provides version "R1-alpha3_pm-1", now. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b85a268: Coding style: Fix indentation [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3a56aae: BPackageResolvableData: Compatible version field Add fields haveCompatibleVersion and compatibleVersion. This allows us to have a minimum version a resolvable is backwards compatible with. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c2f56ca: BPackageResolvable: Add compatibleVersion property [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 22e1ec0: Add package attribute for compatible version [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2db69df: Support for parsing the compatible version In the .PackageInfo the compatible version for a resolvable can optionally be given after the resolvable version via "'compat[ible]' '>=' <version>". [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b2709d8: Write resolvable compatible version to the package To avoid a clash with the regular version or an extra attribute level we use the "package:provides.compatible" package attribute instead of "package:version.major". [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ee9c935: Support for reading compatible version attribute [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 71120ca: Print the resolvables' compatible version [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 89f1807: Add compatible version support to packagefs [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2ae9a14: Declare the system package as backwards compatible [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ba1bc0a: Small cleanup [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] acdcba8: Remove "copyright" and "license" keywords There's "copyrights" and "licenses" which can be used. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 78ceed5: Allow single-element string/flag lists without [] As syntactic sugar string and flag lists no longer need to be enclosed in brackets when they have exactly one element. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3614511: Adjust "copyright"/"licenses" fields Use the plural keyword name and omit brackets when only one element is specified. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2ec6e02: Small cleanup [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] eadc3c8: Add architecture property to Package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ba926f3: Extract architecture from package file [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7e346f1: Include architecture in package links dir names [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 91698de: Make .PackageInfo more driver-settings-ish * Use braces instead of brackets for lists. * Semicolons and newlines separate items now. Remove handling for comma. * Allow '\'' as quotation character. * Remove assignment after variable name. This should make the .PackageInfo format driver settings compatible, but not vice versa. It is still stricter. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1feaa8a: Adjust to changed .PackageInfo format [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 941ec45: Don't include architecture in package links names This reverts commit a491e591c86cec4b2ce52df86f7b0d32545b4169. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 430689a: Move hpkgBaseURL definition before its first use [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ee453e8: Add url and sourceURL properties to BPackageInfo Also extend the parser to accept "url" and "source-url" attributes. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8b684dd: Add URL/source URL hpkg package attributes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 122597e: Simplify BPackageInfo::Parser::_Parse() This also fixes the memory leak due to the previously used on-stack BObjectLists not having been defined owning the elements. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d4701a2: Simplify BPackageInfo::Parser::_Parse() further * Match the attribute in a loop, use an attribute ID switch, do the "seen" checks without the switch. * Explicitly handle the case when encountering an unknown attribute. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2826880: Change source URL package info attribute name Use "-" instead of "_". [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 116852f: Support package info [source] URL attributes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1bcc0f6: .OPD -> .PackageInfo conversion tool [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1ef3557: package extract: Delay setting node permissions In HandleEntry() create the file/directory with sufficient permissions for the user and set the archived permissions in HandleEntryDone(). This makes sure child attributes and entries can be created. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] df18eb8: Fix gcc 2 build by making Parser a friend [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 64b8c37: Move post install files to system package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d3deb18: Repackage default optional packages as hpkg files [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 775b8d7: _kern_read_link() ignored the path [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 18d457f: Add helper is_unknown_or_system_descriptor() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4dbc245: Wrap POSIX FD functions in libroot_build This makes opening symlinks work universally in the build system tools. Two mechanisms have been implemented, both of which don't always work. The first is remapping via preprocessor macros. This fails where equally named methods are used (e.g. STL fstream::open()). The other is using hidden functions in the new libroot_build_function_remapper.a that is linked into everything that is linked against libroot_build.so. This one fails for functions that are defined inline in headers (Linux/glibc does that). Together they seem to cover our build system needs ATM. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e954868: Disable function remapping via macros STL fstream::open() is used, so the macros break the build. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bd530a0: Remove the build platform work-arounds [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a6e73cb: Remove installoptionalpackage [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 075913f: Move gutenprint data files to system [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 78c665f: lpe symlink is in the pe package now [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 80399d6: Don't create empty non-writable common directories [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b0533d6: Add missing "cache" shine-through directory [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 57af748: Also mount "common" packagefs on boot [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 00043b5: Use InstallOptionalHaikuImagePackage for gcc too [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dfa6888: Remove InstallCommonPackage rule [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fd0e9e3: Fix bison hpkg package name [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4cf5f92: Cleanup [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5b48678: Improve FileDescriptorCloser * Add SetTo()/Unset() methods and no-argument constructor. * Detach() returns the FD now. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bfbb410: BPackageInfo::ReadFromConfigFile() BFile& version [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4512e8d: Add optional FD parameter to AddEntry() If a FD is specified, instead of using the file with the given the FD is used. Allows for adding entries without first copying them into the directory structure. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6707be5: Add create -i option for specifying a package info [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3208166: Make use of package create -i option [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 55191c9: Remove debug output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4f5d405: Add package extract -i option Allows to specify an alternate location for the .PackageInfo. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5845e79: Missing include [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4796acb: Support for extracting only specified entries [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 52232db: Print relative paths in error messages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 285f4a3: Remove debug output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 697b954: BLowLevelPackageContentHandler interface extension HandleAttributeDone(): Add parentToken parameter. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 82af91f: SubPathAdder: Check for overflows, omit initial / [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ffa2b21: PackageWriterImpl::_AddEntry(): Improve output Print the relative path instead of only the leaf name. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] eb601f8: Move Debugger's Array class to headers/shared [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5518472: Declare Array destructor inline [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 85759ab: Add RangeArray utility class Templatized class for managing a set of sorted non-overlapping integer ranges. Merges and splits ranges as necessary. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fce74fa: Add Array.h and RangeArray.h build headers [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b321131: Define IDs for package section [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 97aabbe: Add BLowLevelPackageContentHandler section hooks * Add hooks HandleSectionStart() and HandleSectionEnd(). They are invoked to bracket package file section, so the handler can discriminate which section the attributes belong to. HandleSectionStart() features a return parameter _handleSection, which allows to handler to pick which sections it wants to handle. * "package dump" does now print the section names. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c83c542: Add PackageReaderImpl heapOffset/Size getters [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] abbeb15: Move RegisterPackageInfo() to Finish() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 04258e4: Use fHeapOffset instead of sizeof(hpkg_header) [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7b6bcdb: Write uncompressed package attributes if necessary When compression doesn't save space, using it nonetheless results in a file that the reader complains about. So we fall back to writing an uncompressed package attributes section in such a case. The same still needs to be done for the TOC section. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 327b38d: Add support for adding/updating package entries Add flags parameter to BPackageWriter::Init() (and the private implementation classes) to indicate that an existing package file shall be updated instead of created. Currently that always happens in-place. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1bd38c4: Move PackageWriterListener to separate file [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 35f8c67: Move directory iteration helper to own file [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c1b5ec4: Add "package add" command. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6f78574: Write uncompressed package file TOC, if necessary [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cc3f28c: PackageWriterImpl::_MoveHeapChunk(): better output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f79277d: Fix "package add" heap compacting PackageWriterImpl::_CompactHeap(): Incorrectly used fHeapEnd instead of the heap size. So the last copied chunk was too large. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 161d45f: Support for package "update" build profile action * Add global HAIKU_PACKAGES_UPDATE_ONLY build system variable, which is set for the "update" and "update-all" build profile actions. * Change the HAIKU_INCLUDE_IN_CONTAINER_VAR variable on packages to HAIKU_INCLUDE_IN_PACKAGES for all packages. The variable is also set for the "update" and "update-all" build profile actions. * Introduce HAIKU_CONTAINER_INHERIT_UPDATE_VARIABLE on container variable. If set, the contained variable will be set on the container when one or more files in it are updated. It is set on packages so an update of a file in a package causes the package to be updated in the image. * Introduce HAIKU_CONTAINER_ALWAYS_CREATE_DIRECTORIES on container variable. If set, directories will be created also in update mode. It is set on packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 204261b: AddFilesToContainer: avoid unnecessary work * If after filtering the list of targets is empty, return. * Get the directory only afterwards. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 319b1a7: Don't add directories explicitly to packages Directories are added implicitly when entries are added, so there's no need to add those directories. Directories without content don't need to be added either, since due to the read-only nature of packages they will remain empty. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fd03be4: ExtractArchiveToContainer: Add update support Add an alwaysUpdate parameter like the ExtractArchiveTo{Image,Package} rules have and do the handling in the base rule. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5e2b650: Update support for update-* targets Set HAIKU_PACKAGES_UPDATE_ONLY and HAIKU_INCLUDE_IN_PACKAGES when one of the pre-build-profile update-* targets are used. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b059c5e: Add PropagateContainerUpdateTargetFlags rule It propagates the HAIKU_INCLUDE_IN_IMAGE and HAIKU_INCLUDE_IN_PACKAGES variables from one target to another. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c9c6e36: Use PropagateContainerUpdateTargetFlags rule Propagate all update variables in CopySetHaikuRevision and for the kernel pseudo target. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3095cb1: Remove copy'n'paste left-over [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 718fba9: PackageWriterImpl::_AddEntry(): Fix update logic * Don't only look up the entry attribute when the entry is implicit. Look it up, when it is a directory instead. This aligns it the logic with _UpdateCheckEntryCollisions(). * When the entry attribute exits and the entry is not implicit, add file attributes, but not stat data. This also aligns the logic with _UpdateCheckEntryCollisions(), which removes colliding attributes, but keeps stat data. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 76ca983: Postpone setting gBootDevice until after packagefs The modules code uses gBootDevice as an indicator that modules can be loaded from the boot volume. This is not the case until packagefs has been mounted, though, so we postpone setting gBootDevice. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b750c6b: Fix Dependency version comparisons [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a77ad30: Fix loading the resolvable compatible version [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b5831cd: Disable WonderBrush until repackaged [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b489481: Create /boot/apps and /boot/preferences symlinks [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7210d7a: Create a generalized version of BFS's query code The new version is templatized over a QueryPolicy which provides the interface to the file system specifics. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 44de970: Add TwoKeyAVLTree to kernel utils This is a tree implementation with elements with primary and secondary key. The code is a cleaned up version of ramfs's implementation. ramfs doesn't use this version yet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 67f11c4: Add a global node listener mechanism [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 804a92d: Add Index base class and index table in Volume [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3897e72: Add NameIndex class and create instance in Volume [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a3f9767: Add Query class and query management in Volume [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b8dae0f: Implement query FS hooks, add empty index FS hooks [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 216ba45: Automatic whitespace cleanup [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d612248: Cleanup [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 20b22df: AVLTree: Add Previous()/Next() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0c19263: AVLTreeMap/TwoKeyAVLTree: More access to nodes both: * Add Previous()/Next(). * Add Insert() version that returns a Node* instead of an Iterator. * Add Remove() version that takes a Node* instead of a key. TwoKeyAVLTree: * Add GetIterator() version that takes an additional Node*, i.e. initializing an iterator to point to the node. * Add Iterator::CurrentNode(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9811f22: QueryParser: Explicitly suspend/resume iterators Extended policy by IndexIteratorSuspend() and IndexIteratorResume() methods that are invoked for the index iterator by Query::GetNextEntry() after entering respectively before exiting. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 747578c: Fix NameIndexPrimaryKeyCompare It was actually returning whether the names where not equal. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 32ad4ce: Simplify [Abstract]IndexIterator interface * Remove Current() and Previous() and add a HasNext() instead. * Reimplement NameIndexIterator. It directly works with tree nodes instead of using an iterator, now. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 49d2f60: Name::Index(): Fix initialization order Add the node listener directly after calling the base class Init(). Otherwise, on error, the we could try to remove the listener although it wasn't added in the first place. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fb88975: ~NameIndex(): Make more robust Remove the listener only, if it was registered. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9b2a170: PackageLinkSymlink: Init fLinkPath in constructor [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7730052: NodeListener::NodeChanged(): Provide old value * Add interface OldNodeAttributes an instance of which is passed to NodeListener::NodeChanged() to provide the old attribute values (currently only modification time and file size). * Also extend PackageLinksListener::PackageLinkNodeChanged() with a OldNodeAttributes parameter. * Add OldNodeAttributes implementations for PackageLinkSymlink (inner class OldAttributes) and UnpackingNode (OldUnpackageNodeAttributes). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a3463d1: Refactor NameIndexIterator into template class Create template class GenericIndexIterator from NameIndexIterator. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 46368f4: Small cleanup [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a058fbe: TwoKeyAVLTree: Add FindFirstClosest() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1441294: GenericIndexIterator: Fix NameIndex dependency Next() was still copying the name. Add a GetNodeValue() method to the policy that fetches the value instead. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0780073: GenericIndexIterator::SetTo(): Find fuzzily Use TwoKeyAVLTree::FindFirstClosest() instead of FindFirst(), so, if the value isn't in the index, we find the closest greater value. That's the semantics Index::InternalFind() is expected to have. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0209c40: Add comment [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d56e19f: GenericIndexIterator: Add node change helpers Add NodeChangeBegin()/NodeChangeEnd() methods that can be used by the index when the respective node attribute has changed. They make sure that the iterator doesn't move with the node, should it be inserted into the index at a different position. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d35565b: Add size index support * Add class SizeIndex. * Create and add an instance of it in Volume mount. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8c8e925: QueryParser: The last_modified index is time_t * Changed value type from B_INT64_TYPE to B_INT32_TYPE. * Changed QueryPolicy::NodeGetLastModifiedTime() return value from bigtime_t to time_t. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a5d15ca: Removed left-over commented code [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0c63c77: Add last modified index support * Add class LastModifiedIndex. * Create and add an instance of it in Volume::Mount(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 28559a4: Build fix [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3877a7f: AVLTreeMap fixes * AVLTreeMap::_GetKey(): Change return type from const Key& to Key, so the strategy can do that as well and doesn't have have a Key object in the node. * Fix the Auto strategy: It was using the undefined _GetKey() instead of GetKey(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 01f7f92: Move helper function out of QueryParser.h They live in the new QueryParserUtils.{h,cpp} now. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 901749c: Remove TwoKeyAVLTree from kernel utils again It's not ready for shared use yet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3e29244: Move B_MIME_STRING_TYPE to <TypeConstants.h> [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a52387c: compareKeys(): Also handle B_MIME_STRING_TYPE [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2789252: Remove unused PackageNodeAttribute::fParent [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 51ee03b: QueryPolicy::NodeGetAttribute(): Get the type too [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4d67e78: More abstraction in GenericIndexIterator * Move tree node operations to a subpolicy TreePolicy. * Add a GenericIndexIteratorTreePolicy templatized over the policy, implementing the tree policy for the standard indices. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 55b969b: Attribute index support for non-special attributes * Add AttributeIndex class. * Each attribute does now have an attribute index cookie. The new attribute index service methods Node::IndexAttribute() and IndexCookieForAttribute() create+set/retrieve the cookie. The cookie is actually the attribute index's tree node. * Add OldNodeAttribute::IndexCookieForAttribute() so the cookie is available when the node changes. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 061337b: Create a "BEOS:APP_SIG" index by default [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4006e48: Check key length, if index keys are fixed length [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ac67068: Remove superfluous checks [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 29ee895: Remove references in index iterator interface This avoids checks. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7915349: Remove unused IndexIterator constructor [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bf20808: Add set_dirent_name() without name length parameter [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 139bd32: Implement packagefs index (dir) hooks [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 207a28e: Declare packagefs persistent Besides that it is kind of correct, it also makes tracker queries work correctly. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c98a59c: Don't show packagefs on desktop or in disks window More generally: Any volume that is mounted at a directory of a persistent volume is not shown on the desktop or the disks window any longer. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e94674c: cmake 2.8.5 optional package repackaged as hpkg [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 70de928: Move <directories.h> to headers/private/system [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e96cbb1: Update cmake package, create doxygen package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3773b47: Tracker: Sort volumes like folders Volumes no longer have a higher sorting priority than folders when "sort folders first" is enabled. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 407c09e: Create /packages symlink on boot Rename the package links directory from /package-links to just /packages and create it when booting. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a0f6347: Fix location of the Deskbar menu symlinks [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e6067d0: Change Haiku package name to lower case [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d7227df: BPackageWriter: Add SetCheckLicenses() The default is still "true", but now it is possible to disable the license check. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f19957b: Add a package info "install-path" attribute The attribute is intended for simplifying package building. The package's install path will be used for the package's .self package symlink, allowing installation to a temporary directory when building the package. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6f0f81e: Add options -b and -I to package command * With -b building a build package can be requested. It will be empty save for the .PackageInfo. No license check is performed. * -I allows to specify an install path. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 48a8980: Add install path support to packagefs [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 437651f: Force package names and versions to lower case [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 15e694e: Add UnpackingNode::IsOnlyPackageNode() It returns whether the given package node is the only package node attached to that node. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0c7ef63: Notify earlier when removing a package node Volume::_RemovePackageNode(): Notify listeners before removing the last package node from the node, . This prevents the size/last modified indices from not finding the node anymore, since the node would return a default value instead of the value it was added to the index with. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f642202: Updated gcc 2.95.3 package The /boot/common include paths are now built in. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 30ab133: Handle the newer package attributes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c3057c3: Initialize BRepositoryInfo::fInitStatus [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c710720: GetRepositoryCache/Config(): return valid entry Always create the common repository cache/config paths so the BEntry that is returned is valid at least. Fixes BRefreshRepositoryRequest failing when the common repository cache path didn't exist yet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f19b93f: Missing newline in error message [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 61b0ae0: Implement more virtuals in Node and Directory * Node: Add default implementations for UserID(), GroupID(), OpenAttributeDirectory(), and OpenAttribute(). * Directory: Add default implementations for Mode() and FileSize(). * Remove the respective hook implementations in the PackageLink* classes. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3ac7efb: Fix debug output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f361dbb: Fix notifications when adding package link dir When adding a new package link directory, the volume would only be notified about the addition of the directory itself, not of the addition of its contents. Add a new PackageLinkDirectory::NotifyDirectoryAdded() which does the whole job and use it in PackageLinksDirectory::AddPackage(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6c9fa46: Fix handling of shine-through directories * Add a new class ShineThroughDirectory for shine-through directories instead of using UnpackingDirectory. * Split up setting up the shine-through directories in two steps. First the directories are only created. That happens before adding the initial package domains. After publishing the root node we bind the shine-through directories to the underlying directories. * This makes adding a package directory with the same name as a shine-through directory fail in _AddPackageNode() as originally intended. Since we no longer want it to fail -- the package daemon will copy the files in the respective directories as part of the activation process -- we simply skip the directory now. Adjust _AddPackageNode() and _AddPackageContentRootNode() accordingly. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5bc6952: Add error output in case of invalid compression ID [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] abf1023: Handle the newer package attributes This unbreaks reading repository cache files using the respective attributes. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5a54e15: Add HashValue() methods to BString [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 10e1bc5: BRepositoryCache: Add iteration, etc. * Remove InitCheck() and the initializing constructor. * Rename PackageCount() to CountPackages(). * Use BOpenHashTable instead of HashMap for the internal PackageMap. * Allow multiple packages with the same name. Equally named packages are in a singly linked list after the first package with that name. * Add an Iterator inner class and a GetIterator() method, so one can now iterate through the packages in the repository. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d0c4178: BString::Private class to access BString internals [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 808a511: Add a BStringList class [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2021c98: Use BStringList in package kit Replace all instances of BObjectList<BString> by BStringList. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f195cdc: Removed left-over code [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] db9a50a: Pull class BPackageInfoSet out of BRepositoryCache [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 99ee453: find_directory(): Fix package links path [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 10b8f70: Add class BPackageInfoContentHandler A BPackageContentHandler subclass that initializes a BPackageInfo from the read package attributes. Pulled out of RepositoryWriterImpl's PackageContentHandler. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8c29f58: Add BPackageRoster::GetActivePackages() The implementation is temporary. Currently it reads through the packages in the respective packages directory and checks against the package links. Once package activation is tracked explicitly we'll use the activation file/directory. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e99df3a: Fix build due to <directories.h> move Apparently I should have done a complete rebuild after moving directories.h from headers/private/libroot to .../system, since a lot of stuff didn't build anymore. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b55bd1d: configure: Update required gcc 2 version [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8212d04: Repackage BeZillaBrowser as hpkg [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d5c52cc: Fix typo [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 25d31cc: Fix package removal with skipped directories Volume::_RemovePackageContentRootNode(): Check whether a directory corresponding to the package directory does actually exist. This might not be the case when the package directory has been skipped due to clashing with a shine-through directory. Would crash in this case. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7279672: Fix node handling on package addition/removal * UnpackingLeafNode: Add a fFinalPackageNode attribute. It is set when the node is about to be removed and will point to the node's previous head package node and be used in its stead. From the perspective of the FS hooks this leaves the node in an unchanged state. * Unpacking[Leaf,Directory]Node: - Add WillBeFirstPackageNode(), returning whether the given package node would become the head package node when added. - Add PrepareForRemoval() which removes all package nodes. In case of UnpackingLeafNode it also sets fFinalPackageNode. - Add CloneTransferPackageNodes(). It is only implemented for UnpackingLeafNode. It clones the node, transfers all package nodes to the clone and sets fFinalPackageNode on this node. * Volume::_{Add,Remove}PackageNode(): Solved the following TODO: When a package is added or removed and a file present in both the added/removed package and another package with the version in the former having precedence, we have to remove the node (leaving it unchanged) and replace it by a new node. This prevents clients having the node opened or mapped from suddenly seeing different data. It also fixes unbalanced calls to PackageNode::VFSInit()/VFSUninit() which would result in file descriptors to package files being leaked. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c6a11ed: Fix removing dependencies on package removal The dependencies must also be dissociated from the resolvables they have been resolved to. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b779a87: Node: Keep track of VFS init status * Node::VFSInit() and VFSUninit() set/clear the new node flag NODE_FLAG_KNOWN_TO_VFS. They need to be called by overriding methods, now. * Add Node::IsKnownToVFS() which returns the VFS init status. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7723ae9: Volume::_RemoveNodeAndVNode(): Squash TODO Only get/remove/put the vnode when the node is actually known to the VFS. This does not only save unnecessary work, it also solves a (temporary) deadlock -- at least partially. If another thread caused a call to our get_vnode() hook just before, it would block on the volume lock we're holding when adding/removing packages. The vnode would be marked busy until the other thread's request was fulfilled and our call to get_vnode() would block until timing out. Now we're calling get_vnode() only, if we already know that the VFS already has a valid vnode. There still remains a race condition. If the VFS discards the vnode right before we call get_vnode(), we essentially have the same situation as before (i.e. us calling get_vnode() although the vnode is no longer known to the VFS) with the same potential problem. For a real solution we need a get_vnode() variant which can be told not to block. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 19ae20e: Merge branch 'master' into pm-flat Conflicts: build/jam/HaikuImage build/jam/OptionalBuildFeatures build/jam/OptionalPackages build/jam/UserBuildConfig.sample data/bin/installoptionalpackage src/apps/deskbar/DeskbarMenu.cpp src/servers/debug/DebugServer.cpp src/system/kernel/fs/vfs.cpp [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c1ef23b: PackageLinkDirectory::_Update(): Don't unlock after delete When using an AutoLocker on an object, the lock must be released explicitly before releasing the last certain reference to that object. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 403bb7a: haiku package info: declare a few provided commands sh, awk, wget, etc. are currently provided by haiku.hpkg. Declare them accordingly, since they are already referenced by some HaikuPorts packates. For the generic ones ("sh", "awk") I've used version 0.0.0 for the time being; we may need to reconsider that. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4e87ae1: Repackaged xz-utils package It is now declared with architecture x86_gcc2, though it probably has been built with gcc4. That issue has to be solved for real eventually, since the package resolver won't allow mixing of gcc2 and gcc4 packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7105134: haiku package info: Add more provided resolvable Also add a compat version to a few. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 90692f4: Rebuilt packages required for bootstrapping [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dd60d4e: OptionalPackages: Fix CVS URL Due to a copy'n'paste error the curl package was used. While at it, use the rebuilt package. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a8026c5: haiku package info: List zlib in provides [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e3926e5: haiku package info: Fix zlib provides declaration [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3f98650: Rebuilt packages for subversion and its dependencies [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9992342: package_repo: command_create(): Fix argument count check [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 10efbe6: BRepositoryInfo::SetTo(): driver settings unloaded too early The string pointers retrieved from the driver settings are only valid until the settings handle is freed. The were also used afterwards, though. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 479ca81: Beginnings of the PackageKit dependency solver Not functional (or tested) yet. The libsolv setup for a somewhat simplified installation case should be more or less complete, though. The solution conversion to to-be-created Haiku data structures and the handling of problems is still missing, though. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0816749: package_repo: Removes dependency to package * Move StandardErrorOutput to libpackage and into proper namespace to avoid "package_repo" having to reuse the "package" source file. * package_repo: Fix incorrect includes of "package.h". [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] df65c31: Add BNoErrorOutput to package kit [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dfb5fa8: Add convenience methods BPackageInfo::ReadFromPackageFile() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7c29395: Add some missing build headers [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bcdf492: Simplify/fix the ExtractArchive rule and friends * The call to the dummy actions isn't needed * The calls to Extract{Zip,Tar,HPKG}Archive1 couldn't work like that. The directory has to be the main target, since ExtractArchive is potentially invoked multiple times with different extracted file targets and the Extract*Archive1 is only invoked the first time. Tested only with the HPKG actions, but they others should work as well. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 04d1ede: Fix the libpackage_build build * The recently introduced {No,Standard}ErrorOutput.cpp were still missing. * Add hack to allow building more correctly on Haiku. We were using the installed package kit headers, not the ones from the working directory. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fc75f2d: <build>package: Fix build * StandardErrorOutput.cpp no longer exists (respectively has been moved to libpackage). * Add hack to allow building more correctly on Haiku. We were using the installed package kit headers, not the ones from the working directory. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dd6ec1d: Add libsolv build feature [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a3dd6ca: Add public package version parsing API * BPackageVersion: Add respective constructor and SetTo(). * BPackageInfo: Add static ParseVersionString() utility method. It's only there because the parser lives in the BPackageInfo implementation. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2d0563f: Fix BPackageResolvableExpression::ToString() The operator was inserted as a number. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1a4d020: Flesh out the package kit solver API quite a bit more * Reorganize things a bit: - BSolver is now an abstract base class. - A libsolv based implementation, LibsolvSolver, lives in a new add-on, which is loaded lazily. - Get rid of libpackage_solver. Save for LibsolvSolver everything is moved to libpackage. - This is a nicer solution for the cyclic dependency caused by libsolv (libsolvext to be precise) using the package kit for reading repositories and package files. * Add a solver result data structure and and an accessor the solver. * Add problem reporting support to the solver. There aren't data structures for the problem solutions yet and support for selecting solutions and re-solving is missing as well. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1acf2be: pkgman: Add command resolve-build-dependencies This is a service command for haikuporter. It resolves the dependencies for a package to be built and lists them, so that haikuporter can prepare the build environment accordingly. The implementation isn't quite finished yet. Currently the packages are printed only with name and version, while it would probably be more helpful to print the path of the package file. Also, the package itself (respectively a dummy package) is printed as well. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 07a4d4e: BSolverRepository: Add SetPriority() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 19f3eaa: pkgman: Simplify and rename resolve-build-dependencies * Now it only gets a package (info) file and a single list of repository directories, optionally with priority, and resolves the package's dependencies. The more complex two resolving steps it did before can just as well be done by haikuporter, and this way the command is more flexible. * Rename to resolve-dependencies. * Some TODOs still remain. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 65502bb: BSolver: Add VerifyInstallation() ... and implement it in LibsolvSolver. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7498842: pkgman resolve-dependencies: Verify result * Make sure that the computed dependencies don't themselves depend on the specified package. * Print only the actual dependencies, not the specified package. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a8b832b: BSolverRepository::AddPackage(): Add optional return parameter ... returning the added BSolverPackage object. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4b8aabf: pkgman resolve-dependencies: Print package paths ... instead of package name and version. The command should now work as required by haikuporter. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 046f1c4: pkgman resolve-dependencies: Avoid code duplication [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7216c89: pkgman resolve-dependencies: Improve usage text formatting [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1add554: Make LibSolv a mandatory package ... so it is actually installed on the image. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6d04dfb: bindfs: Fix double deletion of root node on unmount The VFS calls the FS's put_vnode() for all nodes, including the root node, prior to calling unmount(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ce1d048: packagefs: Fix adding package links twice to volume PackageLinkDirectory::NotifyDirectoryAdded() first notified the listener (Volume) about the directory itself, then about the links it contained. Since Volume adds the nodes recursively, the latter were added twice, resulting in a corrupted ID hash table. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dedc136: packagefs: Acquire missing reference for the root dir We need one for the ID table and one for the volume itself. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c7382d4: packagefs: Acquire missing reference for shine-through dirs Since we publish shine-through directories directly to the VFS, we need to acquire an additional reference, because we release a reference when a node is put. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 05940bc: packagefs: Fix handling of package-links directory on unmount * Volume::_RemovePackageLinksDirectory(): We don't want to call _RemovePackageLinksNode(). Besides that the ID hash table has already been emptied before and we would thus release a reference to the node erroneously, the method doesn't do anything we want anyway. We don't want any children to be removed, since we have unregistered the volume's packages already (which removes the respective package link directories); the remaining ones are from other volumes and not ours to remove. * PackageFSRoot: Release a reference to the package links directory in the destructor. We create the directory in Init() after all and no one else takes over ownership. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ce577d8: packagefs: AttributeIndex: Support duplicates correctly The tree comparisons didn't allow for different Nodes having the same attribute value. Therefore only the first node would be added and later we would try to remove a node not actually in the tree, leading to a crash. packagefs seems to finally unmount cleanly, now. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d482342: VM: Fix vm_block_address_range() area protection B_ALREADY_WIRED, which was erroneously passed for the area protection parameter to map_backing_store(), has the value 7 which implies user readable and writable. Hence the address ranges around 0xdeadbeef and 0xcccccccc could actually be read and written from anywhere. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 259046a: Fix build without xattrs being used * need to invoke fs_fopen_attr() instead of fs_open_attr() [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] daf7cb4: Bring back libroot_build.a for now. * the corresponding TODO has to be dealt with at a later stage [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 5b6fb78: VFS: _kern_open_dir(): Fix NULL path case It would create an empty path buffer and pass that on to dir_open(), which accepts NULL, but not empty paths. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 91586bd: packagefs: Fix handling of package domain paths * The package directory path specified when mounting must be interpreted in the caller's I/O context. We did always interpret it in the kernel's I/O context, so that a relative path or a path in a chroot environment wouldn't work correctly. Now opening the directory is done in PackageDomain::Init() where we can at least guess the path's origin. * We also normalize the path, though merely to get more conclusive debug output, since after opening the directory the path isn't used for anything else anymore. * Make the "packages" mount parameter optional. If not specified, use the "packages" folder at our mount point. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0c6927b: packagefs: Add ioctl to get basic volume information Also rename the MountType enum and members, since they are no longer packagefs private. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 26296b0: Add the humble beginnings of the package daemon It doesn't really do anything yet save for tracking what packagefs volumes are mounted and unmounted. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2d8ec1d: Add the obvious node_ref constructor [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 27197fd: packagefs Package: Add getters for device and node ID [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e85e9da: packagefs: Move the package loading code to Package * Volume::_LoadPackage() -> Package::Load() * Volume::_DomainEntryCreated(): Pull a bit of code into a new _LoadPackage() method for reuse. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 17bb54d: packagefs: ioctls for getting and changing package activation * Add PACKAGE_FS_OPERATION_GET_PACKAGE_INFOS which returns the node refs of all packages activated. * Add PACKAGE_FS_OPERATION_CHANGE_ACTIVATION to activate/deactivate multiple packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3d53bd4: package daemon: Add package monitoring and de-/activation * packagefs: Disable (comment out) node monitoring of the packages directory. * package daemon: - When a packagefs volume is added load the respective packages directory and get from the volume which of the packages are activated. - Add node monitoring for the packages directory and activate/deactivate packages as packages are added/removed. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] af5c10a: packagefs: Remove the packages directory node monitoring [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6978941: packagefs: Remove support for multiple package domains per volume That also get rid of the job stuff and the package loader thread. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7136419: Add shared PthreadMutexLocker, an AutoLocker for pthread_mutex_t [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8fb3930: package daemon: Make all work with the packages asynchronous There's now a worker thread per Root that does all the work that can take time. Node monitoring notifications received in the main thread are just pushed into the worker's job queue, so the application looper remains responsive. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9e40961: package daemon: Add a Listener interface for Volume * This way, Volume doesn't have to know Root. * Suppress listener notifications for node monitoring events when there are were already events pending. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 91a9b5f: package daemon: Volume: Make sure move entry events don't get split [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 379131d: BString: Add StartsWith() and EndsWith() methods [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] def92c0: packagefs/daemon: Ignore packages/ entries without .hpkg suffix [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bb88fea: PackageFSActivationChangeRequest: Make items array 0 sized That's more convenient to use and the actual size of an item is variable anyway. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2508cd6: packagefs: Volume::_ChangeActivation(): Check 0 request size [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ebbefc0: package daemon: Root: Use a common job for volume work Add VolumeJob which, besides the Volume, takes a Root method to be invoked. That allows to replace the specific job classes by simple methods. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a6c7f5e: package daemon: De/-activate all changed packages together * We first process the node monitoring events, collecting the required package activation changes, then apply all changes together. * Change the PackageFSActivationChangeItem/-Request structs. The former is no longer variable in size, which makes it easier to work with. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1047e84: package daemon: Volume::InitPackages(): Fix error case Don't assign fListener, when starting node monitoring fails. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5e01af3: package kit: Add data structures for problem solutions ... and add the problem solutions in LibsolvSolver. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4b3ca45: BSolverProblemSolution: Fix ToString() template strings [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 92b6d58: package daemon: Check volume package dependencies initially Dumps the result (i.e. found problems and solutions) to the syslog. Eventually the user should be asked what to do when inconsistencies are encountered. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 19a268a: Update libiconv and sqlite packages The new package files haven't been rebuilt, just repackaged. Only small details in the package-info changed. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a96531f: package daemon: On changes write a file with the active packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 19dc1d0: packagefs: Use the package activation file If the file exists load only the packages specified in it. If it doesn't exist or any kind of error occurs, fall back to loading all packages in the packages directory. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 40cbf17: packagefs: don't dup() the packages directory FD Volume::_AddInitialPackagesFromDirectory(): Use openat() instead of dup() to get a FD for the packages directory. Currently our fdopendir() implementation doesn't use it directly anyway, but in theory it could and would then change the state of the original FD. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 50888eb: BSolverRepository: Add a change count ... so we can easily check whether the repository has changed since the last time we used it. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 483d499: LibsolvSolver: Make repeated use of object possible * _Solve(): Clean up the old solver before creating a new one. * _AddRepositories(): Don't do anything, if the repositories haven't changed. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5776551: pkgman: Move some classes into own file for reuse Namely RepositoryBuilder and PackageInfoErrorListener. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1a34656: BPackageVersion: Make version string constructor explicit [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6c6460e: BPackageInfo: Add GetConfigString() and ToString() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b254217: package daemon: Properly qualify private package headers ... instead of adding the private package header directory to the include paths. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 62f7022: package kit: get active packages list from daemon * daemon: Implement private message protocol to retrieve the active packages. * BPackageRoster::GetActivePackages(): Get the active packages list from the daemon. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a78a254: LibsolvSolver: Fix the lazy re-/initialization * _Init() was a bit too enthusiastic, throwing really everything away. So, after calling it at the beginning of _AddRepositories() there wouldn't be any repositories anymore. * Rename _Init() to _InitPool() to make its purpose clearer. * Pull a _CleanupPool() out of _Cleanup() that only deletes the pool and anything depending on it. * RepositoryInfo::HasChanged(): Always consider changed when there's no libsolv repo yet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fc57db4: BSolver/LibsolvSolver: Add FindPackages() Given a search string it finds all matching packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7898675: pkgman RepositoryBuilder: Add BRepositoryConfig constructor [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dd46d98: pkgman: Add "search" command [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] eb13a35: Rename "packages" subdir "config" to "administrative" ... to avoid the impression that it contains something the user can play with. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 663e351: BSolver/pkgman: Support for searching in provides * BSolver/LibsolvSolver: * Add B_FIND_IN_NAME and make searching in the names explicit. * Add B_FIND_IN_PROVIDES to search the packages' provides list. * pkgman: Also search in provides. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 01758ed: Rework SolverPackageSpecifier * It no longer consists of a BPackageResolvableExpression and a repository. Instead it can now either refer to a package directly or consist of a search string. * SolverPackageSpecifierList: Add AppendSpecifier() convenience versions. * Adjust LibsolvSolver and pkgman accordingly. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 38e528b: pkgman: C++-ify the command handling There's now a Command class that must be derived and registered with a CommandManager, all simplified by a REGISTER_COMMAND macro. That gets rid of the print_command_usage_and_exit() function copy for every command, moves the short usage texts to the command implementations, and avoids any repetition of the command name. When implementing a new command only a new source file needs to be created, nothing else needs to be touched. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 115eae7: LibsolvSolver::Install(): Fix broken B_PACKAGE case [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 334a5a5: BSolverRepository: Change priority from uint8 to int32 This allows us to specifies priorities below and above the user definable range. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 71293f8: BSolverPackageSpecifier: Fix string constructor [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0d8ed3f: BSolver::Install(): Add optional unmatched specifier return param [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0d50fa8: pkgman: Add beginnings of the "install" command So far it only solves the dependencies and prints the result. No problem handling, no actual installation. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 82ce868: Add missing build header Referenceable.h [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 711a2a6: BPackageInfoSet: Add copy constructor, assignment operator * Implement copy-on-write support. * Add copy constructor and assignment operator. * Remove Init(). Initialize lazily instead. Since AddInfo() can fail and we check initialization anyway, there's no point in having an explicit Init(). Given that there was only one invocation of Init() in the package kit and its users, it was very likely missing in some places. * Fix a few places where we ignored that the PackageMap actually contains lists of PackageInfo objects. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bbb2dc2: Add BReferenceable to libbe_build Unbreaks the build on non-Haiku build platforms [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8a4ebe2: Make BPackageInfo archivable [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b2d96da: BPackageInfoSet::Iterator: Fix NULL pointer dereference Since the BPackageInfoSet's map is created lazily, it can be NULL when an Iterator is constructed. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d7d9497: Add BInstallationLocationInfo [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e6216e3: Implement getting a BInstallationLocationInfo * Rename PackageDaemonDefs.h to DaemonDefs.h. * Replace the MESSAGE_GET_PACKAGES by the new B_MESSAGE_GET_INSTALLATION_LOCATION_INFO, which not only returns the packages, but also other information about the installation location. * daemon: Volume: Implement a change count which is bumped whenever packages are activated/deactivated/added/removed. Cache the reply for a location info request, using the change count to check whether it is still up-to-date. * Add private BDaemonClient for communication with the daemon. * BRoster: - Add GetInstallationLocationInfo() using BDaemonClient. - Reimplement GetActivePackages(), using GetInstallationLocationInfo(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bd59e0d: BPackageInfo: Fix Linux build ... including an actual bug (operator "|" instead of "||"). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 202c1da: BPackageVersion: Rename property release to revision * ... to avoid confusion with the preRelease property. It's also called "revision" in the HaikuPorts recipes. * Update libsolv package. Was necessary due to the BPackageVersion change, but also includes a few more changes. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e7563b8: Updated several base packages [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 6185f6e: Fix libtool file name [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 88f22c9: InstallOptionalHaikuImagePackage: Remove first parameter Instead deduce the file name from the URL. A long overdue change. Avoids unnecessary name duplication, which only led to errors. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4210ed0: Fix BMessage::GetInfo() return value check Since B_OK is 0, the change doesn't affect the semantics. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8d85f8e: Update libsolv package The Haiku repository support has been upstreamed and the maintainer, Michael Schroeder, has fixed and improved a few things. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] caba55e: Revert to previous libsolv package In the latest one the version comparison is broken. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a8b23e3: pkgman resolve-dependencies: Allow specifying multiple packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ceb18a3: packagefs: Fix typo in debug output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d0367de: packagefs: Switch to new rule for pre-release version part [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] defc1f7: BPackage{Version,Info}: Switch to new pre-release rule Also add several checks in the package-info parser to enforce the <alphanum_underscore> requirement of package/resolvable names and version components. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7b2d062: Enforce current package rules for packages built from tree * Replace '-' in package name by '_'. * Use new '[...]' notation for pre-release version component. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5e6adff: BPackageVersion::ToString(): Return empty string, if invalid [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7fa3699: BOpenHashTable::Clear(): Set fItemCount to 0 If not empty, the count would afterwards be out of sync with reality. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b7c89d4: packagefs: Use '~' as pre-release separator "[...]" turns out to be not so good an idea after all. In the shell it would require escaping. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9d81dc7: BPackage{Info,Version}: Switch to '~' as pre-release separator Also allow '.' in the pre-release string (as in "alpha4.1") and in package and resolvable names. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 06b4ebe: package-infos in tree: use '~' as pre-release separator [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ea8b5c2: BPackageInfo parser: Allow '.' in micro version component Otherwise we'd have to encode e.g. "cvs-1.12.13.1" differently. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b50e5e3: package[_repo]: Print version correctly Use BPackageVersion::ToString() instead of assembling the version string manually. This fixes the incorrect pre-release separator. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f16dbba: Update libsolv package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cba6030: BPackageInfo::Parser: Relax package/resolvable name rules Now we allow any character but '-', '/', and whitespace. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 00b5554: pkgman: Print correct error when parsing package info failed [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3c6784e: BPackageInfo::Parser: Be a bit stricter wrt. names after all Also disallow the operator characters in names. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cf0a957: BMessage: Add {Add,Find}Strings() They add a BStringList to/extract it from a B_STRING_TYPE field. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7a27bcd: BPackageInfo: Make use of BMessage::{Add,Find}Strings() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 85d2bad: package daemon: Add support for activation change request * daemon: Handle new request B_MESSAGE_COMMIT_TRANSACTION. It activates and deactivates given sets of packages. The new packages must be placed in a directory in the administrative directory. The daemon moves them to the packages directory and the deactivated packages to a subdirectory it creates. It also save the old activation state there. * Add private BActivationTransaction, describing an activation change transaction. * BDaemonClient: Add CommitTransaction(), which sends a given BActivationTransaction as a B_MESSAGE_COMMIT_TRANSACTION request to the daemon. Completely untested yet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f71be99: BRequest: Add Process() The method creates the initial jobs for the request and processes the jobs from the job queue until empty or an error occurs. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e0d4161: pkgman: Make use of BRequest::Process() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 74233e2: Re-apply cf0a957 for the build-version of libbe. * fixes build on non-Haiku platforms [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] bab6caf: Another lap of updating base packages: * binutils has now been split off gcc * adjusted other packages to new naming scheme [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] e2678ec: pkgman refresh: Include the repository name in error message [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2e3f500: package daemon: Fix check in Volume::_PackagesEntryCreated() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a3b1c7b: package daemon: Volume::_WriteActivationFile(): Init _entry [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] be8f5e0: BPackageInfo: Add CanonicalFileName() The name of the package file is not part of the package-info. CanonicalFileName() constructs the name the file should have (not enforced anywhere (yet)). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4ea7f45: BRequest: Change attribute protection from private to protected Particularly fInitStatus is of interest for derived classes. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e14b247: Add StringChecksumAccessor A ChecksumAccessor implementation for an already known checksum. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cca3f3b: package daemon: Fix Volume::_WriteActivationFile() * Wasn't using the toActivate and toDeactivate parameters, but the attributes. Thus failed when called from the CommitTransactionHandler. * Volume::_ChangePackageActivation(): Fix debug output. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 69a53ac: Add DownloadFileRequest Downloads a file and optionally checks its checksum. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6a14307: BDaemonClient: Add support for creating activation transactions * BActivationTransaction: - Remove non-trivial constructor. - Remove package list parameters from SetTo(). - Add AddPackageTo{Dea,A}ctivate(). * BDaemonClient: - Add CreateTransaction(). It creates a transaction directory and initializes a BActivationTransaction. Packages to de-/activate have to be added afterwards. - Add BCommitTransactionResult::FullErrorMessage(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] eee120f: pkgman install: Complete basic functionality Download package files to install from the respective repositories and use BDaemonClient to perform the package de-/activation. Still missing is the interactive problem solution support. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7c092d4: Add build profile action update-packages Equivalent to "jam <list of all hpkgs> && jam @... <list of all hpkgs>", i.e. it makes sure all hpkgs that are supposed to be in the image are rebuilt respectively downloaded and copied to the image. It doesn't remove old packages nor the activation files -- that still has to be done manually. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] adc49c4: pkgman install: better out-of-memory error messages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ec41ff5: pkgman install: Refresh repositories first [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8e6c363: BSolver/LibsolvSolver: Add problem solution selection support ... and re-solving. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2f028e9: pkgman install: Add problem solution selection support [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7466fa2: pkgman install: Simplify transaction creation [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c128275: <Archivable.h>: Fix conflict with BPackageKit::BPrivate ... when "using BPackageKit::BPrivate". [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3ac0de3: pkgman: Refactoring -> PackageManager Move common and reusable functionality from "search" and "install" to new PackageManager class. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] de62d76: BSolver/LibsolvSolver: Add Uninstall() Also fix incorrect check in LibsolvSolver::GetResult(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8ba41d6: pkgman install: Fix typo in usage text [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] df2685d: pkgman: Add "uninstall" command [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 458a86a: pkgman: Organize commands by category [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 212c636: BSolver/LibsolvSolver: Add Update() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a5999f6: pkgman: Add "update" command [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5c01289: Adjust configure script to changed compiler version [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 4b30375: Update prerequired packages with current versions. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 86b3c7a: Drop symlink common/develop/tools/current * drop the symlink itself (system development tools are now symlinked from /boot/common/bin directly) * remove that symlink from PATH [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 083234d: Drop legacy scripts 'cc' and 'c++' * no longer put compiler wrappers onto image * removed corresponding environment variables [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 5be84d5: Update yasm package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 237127f: Fix _user_entry_ref_to_path() in chroot * Add "bool kernel" parameter to vfs_entry_ref_to_path(), so it can be specified for which I/O context the entry ref shall be translated. * _user_entry_ref_to_path(): Use the calling team's I/O context instead of the kernel's. Fixes the bug that in a chroot the syscall would return a path for outside the chroot. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ef40a60: Update Vision package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dbcaf9e: Update WQY-MicroHei package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d6a80eb: Add private headers to haiku_devel package Also include the freebsd_network and freebsd_wlan headers. Their final location and which of them to include in the first place might need some adjustments. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 60ac56d: Update wpa_supplicant package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 15565a0: Repackaged WonderBrush zip as HPKG [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 78d1b92: Adjust pkgman to consider symlinks to both package-infos and packages. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 8980423: Override File actions to be whitespace-safe [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0d452c8: Remove the TrackerNewTemplates optional package Instead add the files to the tree and generate the resulting files on the fly. This also avoids the undesired attributes the files in the package had. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f3b11fc: Update p7zip package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e49c739: Update groff optional package to hpkg [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ffeecbc: Add more provides to haiku[_devel].hpkg [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3f85cfc: Add a few missing directory_which constants [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f7d5bd4: finddir: Print more useful message in error case [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3b5cb32: find_directory(): Actually handle the new constants [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4b42e1a: Update man optional package to hpkg [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ad1d8a9: Remove ncurses from the haiku_devel package Besides that this version is very old, eventually we want to outsource ncurses anyway. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] db88e44: Add ncurses optional package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8e452bc: Update gcc, ncurses, and nano packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 44f6033: SetupEnvironment: Remove BELIBRARIES It is no longer needed with the current gcc 2 package. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 13321f4: Update sqlite package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 603c764: Update openssl package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4d6fe71: Update sqlite package (fix pkgconfig) [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e25f5f7: Update required version of legacy compiler in configure [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 4e8a27c: Update libxml2 package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d26ca29: Update mkdepend package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b87aa11: Update ncurses package It now includes both the wchar and the non-wchar libraries. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6ff8ef5: Add libedit package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] abfcf6a: Fix copy and paste error in NCurses optional package section [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c704b13: Update packages libtool, texinfo, sed, tar [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8aa0b0d: Update packages apr, apr_util, curl, flex, jam, libpcre and Pe. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 4521d4c: Updated package for Pe (lpe symlink was borked). [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 212cb73: packagefs: Fix deadbeef when using a file after package removal When closing a file whose package had been removed, PackageFile::VFSUninit() would crash due to calling Package::Close() on an already destroyed Package object. PackageNode does now hold a reference to the package between VFSInit() and VFSUninit(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 49da4a2: Update cmake and libsolv packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3cd0059: Update packages for CARootCertificates, curl, BePDF [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] d287414: Update BeBook package and fix URL of BePDF package. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] bd3c533: Update openssh package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0302ce8: Update bzip2 package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e17463f: Update gettext package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 87a36d2: PackageFSMountType: Add *_ENUM_COUNT [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5808138: packagefs: Add a .settings package symlink It points to the settings directory appropriate for global settings. When a package is installed in ~/config, we cannot use the settings/ subdirectory for global settings, since then the files could clash with equally named user specific settings files (e.g. in case of ssh/known_hosts). So we use ~/config/settings/global for global settings instead. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5d41bc9: Add AddPackageFilesToHaikuImage rule [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4fd280d: Simplify use of InstallOptionalHaikuImagePackage When invoked for a hpkg only the installation location (i.e. "common" or "system") has to be specified now and "common" is the default. The rule uses AddPackageFilesToHaikuImage now. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ece8449: Pimp up AddTargetVariableToScript to support a list of targets [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c10119f: BStringList: Add Join() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 330cb41: package list: Add option "-p" It prints just a list of paths for all entries. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e0f7f68: Extract packages' settings dir to common/settings in image That's a somewhat crude initial approach to installing the default settings of packages when building the image. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bbd4272: Add passwd, login to the provides of haiku.hpkg [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f803a8a: packagefs: Fix .settings package link for install path case [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c476e9a: Update openssh package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7cbdf4f: Update packages for several ports * apr * apr_util * curl * expat * libxml2 * ncurses * neon * pcre * subversion This corrects the use of develop/lib paths and a few other things. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6c6d649: ExtractArchive rule: Allow the directory to have a grist [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 98a0dd5: Update ICU packages We extract both packages to the same directory now, since the icu_devel package depends on the base package and contains relative symlinks to the libraries. ATM that isn't really relevant, since we link directly against the libraries from the base package, but we might want to change that eventually. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0c66189: BPackageInfo::Parser: Fix error output The "=" operator isn't actually allowed in a resolvable expression. It has to be "==" instead. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a82e49a: Update cdrtools and keymapswitcher packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6b17895: Update/add packages for readline, cvs, doxygen, python, ... and timgmsoundfont. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0d6e950: Update mercurial and python packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 25a7b01: Merge branch 'master' into package-management Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature "gcc2" to allow for easier checks. * Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter is not needed and prevents building for the build platform. * zlib/zutil.h: Fix gcc 2 build. We really should use the external package instead. Conflicts: .gitignore build/jam/BuildSetup build/jam/FileRules build/jam/FloppyBootImage build/jam/HaikuImage build/jam/ImageRules build/jam/KernelRules build/jam/NetBootArchive build/jam/OptionalBuildFeatures build/jam/OptionalLibPackages build/jam/OptionalPackageDependencies build/jam/OptionalPackages build/scripts/build_haiku_image configure data/bin/installoptionalpackage data/system/boot/Bootscript headers/os/app/Message.h headers/os/package/PackageInfo.h headers/os/package/PackageInfoAttributes.h headers/os/package/PackageInfoSet.h headers/os/package/PackageRoster.h headers/os/package/PackageVersion.h headers/os/package/hpkg/PackageInfoAttributeValue.h headers/os/storage/FindDirectory.h headers/os/storage/Node.h headers/os/support/StringList.h headers/private/system/directories.h src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp src/add-ons/kernel/file_systems/packagefs/Jamfile src/add-ons/kernel/file_systems/packagefs/Package.cpp src/add-ons/kernel/file_systems/packagefs/Package.h src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp src/add-ons/kernel/file_systems/packagefs/PackageDomain.h src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageNode.h src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp src/add-ons/kernel/file_systems/packagefs/Version.cpp src/add-ons/kernel/file_systems/packagefs/Version.h src/add-ons/kernel/file_systems/packagefs/Volume.cpp src/add-ons/kernel/file_systems/packagefs/Volume.h src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c src/apps/deskbar/BarApp.cpp src/apps/deskbar/BarMenuBar.cpp src/apps/deskbar/BarMenuBar.h src/apps/deskbar/BarView.cpp src/apps/deskbar/BarView.h src/apps/deskbar/BarWindow.cpp src/apps/deskbar/BarWindow.h src/apps/deskbar/DeskbarMenu.cpp src/apps/deskbar/DeskbarMenu.h src/apps/deskbar/DeskbarUtils.cpp src/apps/deskbar/DeskbarUtils.h src/apps/deskbar/ExpandoMenuBar.cpp src/apps/deskbar/ExpandoMenuBar.h src/apps/deskbar/TeamMenu.cpp src/apps/processcontroller/ProcessController.cpp src/apps/remotedesktop/RemoteDesktop.cpp src/bin/bash/config-top.h src/bin/finddir.c src/bin/package/Jamfile src/bin/package/command_add.cpp src/bin/package/command_create.cpp src/bin/package/command_list.cpp src/bin/package_repo/command_list.cpp src/bin/pkgman/command_refresh.cpp src/build/libbe/support/Jamfile src/build/libpackage/Jamfile src/build/libroot/Jamfile src/build/libroot/fs.cpp src/build/libroot/remapped_functions.h src/kits/locale/MutableLocaleRoster.cpp src/kits/opengl/GLRendererRoster.cpp src/kits/package/PackageInfo.cpp src/kits/package/PackageInfoSet.cpp src/kits/package/PackageRoster.cpp src/kits/package/PackageVersion.cpp src/kits/package/RepositoryCache.cpp src/kits/package/hpkg/PackageWriterImpl.cpp src/kits/package/hpkg/ReaderImplBase.cpp src/kits/package/hpkg/WriterImplBase.cpp src/kits/print/PrintTransport.cpp src/kits/print/Printer.cpp src/kits/screensaver/ScreenSaverRunner.cpp src/kits/support/StringList.cpp src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/PoseView.cpp src/libs/print/libprint/Transport.cpp src/preferences/printers/AddPrinterDialog.cpp src/preferences/screensaver/ScreenSaverWindow.cpp src/servers/debug/DebugServer.cpp src/servers/input/AddOnManager.cpp src/servers/media_addon/MediaAddonServer.cpp src/system/boot/Jamfile src/system/boot/loader/Jamfile src/system/boot/loader/loader.cpp src/system/boot/loader/vfs.cpp src/system/kernel/fs/vfs.cpp src/system/kernel/fs/vfs_boot.cpp src/system/libroot/os/find_directory.cpp src/system/runtime_loader/runtime_loader.cpp src/tools/package/Jamfile [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d0e6e17: rule KernelStaticLibrary: Fix comment [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2bf492b: Add optional package Man to alpha, nightly release profiles [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bcbf22a: x86[-64]: Fix arch_cpu_user_strlcpy() for small buffers The case for small buffers was broken, since scasb operates on edi/rdi, not esi/rsi. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b38b279: Move package definitions to their own files [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bc07db8: Declare more package dependencies Probably still a lot missing, but we want to get rid of the file soon, anyway. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6fa5d4a: Add liblocale symlink until packages have been rebuilt [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5be0b18: Drop provides-declarations for commands that are no longer provided [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 415f424: Fix bash's default value for PATH [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b923a50: Fix merge defect in ICU optional package declaration [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4bee3d6: Add more rules to simplify dealing with build features * Introduce the notion of build feature attributes and add rules SetBuildFeatureAttribute and BuildFeatureAttribute to set respectively get a build feature attribute. * Add rule ExtractBuildFeatureArchives to download and extract archives and set build feature attributes to extracted entries. * Add rule UseBuildFeatureHeaders as a shorthand for getting a build feature attribute and adding it as a system header search directory. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7c6bff1: Complete outsourcing of zlib * Add optional packages Zlib and Zlib-devel. * Simplify the build feature section for zlib and also extract the source package. * Replace all remaining references to the zlib instance in the tree and remove it. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9abd3e6: Fix race condition during build of some file systems. * make sure the zlib package is available before trying to use zlib.h [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 853b8a4: CreateAppMetaMimeThread: Use open_type() ... instead of constructing the MIME type file path manually. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] eef74ff: Remove packages Zlib[-devel] from ReleaseBuildProfiles Instead add Zlib as a mandatory package and Zlib-devel as a Development dependency. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fa5dff5: Replace various boolean rule parameters by flags Instead of the boolean alwaysUpdate, isCDPackage, and stripDebugSymbols parameters use a uniform flags parameter which can contain any of the respectively supported flags (alwaysUpdate, cdPackage, stripDebugSymbols, !stripDebugSymbols). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d6a6e2c: rule CopyDirectoryToContainer: Add flags isTarget The flags indicates that the passed sourceDirectory is a target, not a path. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e387e24: Move MIME DB creation from build_haiku_image to jam build system * build_haiku_image: Remove MIME DB creation code. * Rename beos_mime source directory to mime_db. * Add rules to build the MIME DB in the source directory's jamfile. * Add MIME DB directory to haiku.hpkg in data/mime_db. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 38e3973: Add private class BMergedDirectory to storage kit An arbitrary number of directories can be added, which the implemented BEntryList interface presents as a single merged entry list. Three different merge policies are supported which define how entries that appear in more than one directory are treated. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 59a653b: Support multiple MIME DB directories Each installation location (system, common, common/non-packaged, ~/config, ~/config/non-package) can now have a read-only data/mime_db directory. ~/config/settings/beos_mime is now named mime_db as well. The contents of all directories makes up the MIME DB. Entries in more specific locations shadow entries in more general locations. Only the directory in ~/config/settings is where the registrar writes changes to. The new layout allows packages to contribute entries to the MIME DB by simply providing the respective files in data/mime_db. Consequently the user settings directory is supposed to contain only the things the user has actually changed. Seems to work fine as far as tested. A few issues, though: * The registrar doesn't monitor the directories yet, so it doesn't notice entry changes due to package de-/activation. * ATM it is not possible to remove a MIME type that is not in the user settings directory, although the FileTypes GUI suggests that it is. We'd have to work with white-outs, since we cannot remove the files in the data/mime_db directories. Or, alternatively, the API has to be extended and the FileTypes GUI adjusted to disable the "Remove" button in such a case. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f8d6e1f: mimeset: Style update [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 937b6e0: pkgman resolve-dependencies: Remove bogus option [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a625f55: mimeset: Change options style * Use "--" prefix for long options and switch to getopt parsing. There's still compatibility support for "-apps" and "-all", but they are considered obsolete, now. * Add short options "-a" for "--apps", "-A" for "--all", and "-h" for "--help". [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9cda9c9: Move MIME DB code back from registrar to src/kits/storage/mime * Together with database_{access,support}.cpp it is built into a static library. * Add new interfaces MimeSniffer and Database::NotificationListener for plugging in registrar specific functionality (the sniffer add-on support and the notification mechanism). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b94857b: Refactor MIME DB access * Add class DatabaseLocation. It contains a list of the MIME DB directory paths plus methods to access type files. * Move all low-level MIME DB access functions from database_{support,access} to DatabaseLocation. All code that formerly used those now requires a DatabaseLocation object. In BMimeType and in the registrar the default object is used, but the low-level classes can now be reused with different locations. * Move get_icon_data() from database_access to database_support and delete the former, which is now empty. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b6a89f4: Pull class AppMetaMimeCreator out of CreateAppMetaMimeThread Instead of using a BMimeType to set the MIME type properties, it operates directly on the Database object, though. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dcb2158: storage/mime: Some host platform build fixes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ed92790: mime/Database::Install(): Fix subtype without supertype case If the supertype directory for a given subtype didn't exist yet, the method would fail. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 57a7a6b: mime/database_support: Make buildable for host platform [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d0815ca: Add private MIME DB classes to libbe_build * This pulls in some more stuff, like libicon and agg which are also included in libbe_build, now. * Update a few libbe_build classes and headers needed to get things building. * This likely breaks the <build>mimeset build on Haiku. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9ea1940: mimeset: WIP to support custom MIME DB directories Add option -m/--mimedb for specifying one or more directories to be used as the MIME DB instead of the system MIME DB. Currently only works with --apps and only non-recursive. When fully implemented the new feature will be used in the build system and on Haiku when building packages to generated the MIME DB entries for applications, so those can be included in the same package. Furthermore it will be possible to use the MIME DB the build system already generates to identify files before packaging them. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 865ab28: Pull class MimeInfoUpdater out of UpdateMimeInfoThread * Pull out base class MimeEntryProcessor out of AppMetaMimeCreator. * Pull class MimeInfoUpdater out of UpdateMimeInfoThread and derive it from MimeEntryProcessor. * MimeInfoUpdater: Instead of BMimeType::GuessMimeType(), use Database::GuessMimeType() directly. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c92c12d: libroot_build: Fix incorrect skipDot check in find_dir_entry() Would result in the _kern_open_parent_dir() failing for "/" and maybe in other cases as well. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 00090d2: boot loader: print max heap usage info before entering kernel [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f132bdf: boot loader: Add 256 KB additional heap packagefs is using quite a bit additional memory for the MIME DB entries and with all files identified. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5fb3348: MimeEntryProcessor: Add DoRecursively() While Do() only process the specified entry, DoRecursively() also recurses into directories. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] baadb25: Add te MimeInfoUpdater to libbe_build [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0c61965: mimeset: Complete custom mime DB support * Don't require the first MIME DB directory to exist anymore. Database creates it anyway. * Make use of MimeInfoUpdater to support updating MIME info with a custom MIME DB. * Make use of MimeEntryProcessor::DoRecursively() to support recursive operation with a custom MIME DB. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fa4511f: AddDriversToContainer: Handle duplicate invocations Since the same driver can be added in more than one category, in a few cases AddDriversToContainer was invoked twice for the same target. Avoid adding the driver twice to add-ons/kernel/drivers/bin in such a case. Didn't really cause any problem, but no need to copy the file twice. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f666576: CopyDirectoryToContainer: fix typo in comment [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 518840e: Complete MIME related support for image/package creation * Update MimeSet rule to use the MIME DB the build system creates. * Add CreateAppMimeDBEntries rule and call it from Link for targets that might be applications that need to be registered with the MIME DB. For the target the rule is invoked with it creates a directory into which the entries for the types to be registered are written. The directory is associated with the target via the HAIKU_MIME_DB_ENTRIES variable. * AddFilesToContainer: If a target is added that has MIME DB entries, also add those to the container. * build_haiku_package: Call mimeset for the package contents. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bbd9807: Remove update_mime_info() support from libbe_build It was there only for <build>mimeset, which is now always invoked with a custom MIME DB and thus won't use the function anymore. We could actually easily implement it using MimeInfoUpdater, if the MIME DB directory the build system generates was compiled in. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3272998: Remove the no longer needed mime_update.sh post install script [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0c53204: JPEGTranslator: Add missing jpeg headers dependency [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 204dee7: Use libbe_build also on Haiku This means the build tools will no longer be built against the host platform's libbe, which avoids compatibility problems -- e.g. an older Haiku host libbe may not have certain features the build tools require -- and also makes the build behave more similiar on Haiku and other platforms. The host libroot dependency still remains and is not easy to get rid of. Also remove some bits of BeOS/Dano/Zeta build support. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 826a109: MimeInfoUpdater: Fix is_shared_object_mime_type() The comparison must be case insensitive. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3271dcd: Update be_book and vision packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8a916d8: Don't create most empty installation dirs in home/config Create them in home/config/non-packaged instead. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a085e81: Move ~/config/boot to ~/config/settings/ [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0bfcf73: Move deskbar menu directory to ~/config/settings/deskbar/menu Also remove the "be" symlink in ~/config/settings. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 85bf48f: packagefs: Remove no longer working userland build support [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1e7416d: packagefs: Organize sources into subdirectories [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1848fdc: util/khash: Add hash_hash_string_part() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d07c930: packagefs: Share string instances globally Introduce a class String which refers to shared private data that is registered in a global hash table (in class StringPool) and use the class consequently. This eliminates duplicate allocations for the same string and also speeds up tests for equality. There's quite a bit overhead for the management structures (apparently even more than for the string data itself), but due to almost all strings being used multiple times this still almost halves the memory usage for string data. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3c94ecf: packagefs: Move NodeListener to nodes/ [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c663ca2: Merge branch 'master' into package-management Conflicts: build/jam/HaikuImage src/system/kernel/arch/x86/64/arch.S [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bfc4df8: Merge remote-tracking branch 'haiku/master' into package-management [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dff45df: Updated version of compiler to match BuildtoolsPM [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 7733189: Add new package haiku_cross_devel.hpkg * This package is meant for providing haikuporter with a development environment for building cross packages. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] f7712ca: Update package-infos to match current Haiku version * additionally, unify packager (to "The Haiku build system") [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 7e7232a: Update cmake and libsolv packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 171fd58: package kit: some fixes for multi-version support * Use enums/constants/functions instead of preprocessor macros. * Missing include in PackageInfoAttributeValue.h. * PackageReaderImpl::Init(): Check version before header size and return B_MISMATCHED_VALUES instead of B_BAD_DATA, if the version doesn't match. This allows callers to determine the condition and try a reader for a different version. A more flexible interface for that case would be nice, but since we want to support the old package version only temporarily, the current solution should be good enough. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7575abb: Clone read support functionality for HPKG format version 1 It uses sub-namespace BPackage::BHPKG::V1. Unlike the one for the current format version, the V1 version of BPackageInfoContentHandler lives in BHPKG(::V1) sub-namespace and is private. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fc0cec5: Bump HPKG format version [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ab5755a: packagefs: PackageLeafNode: remove superfluous declaration [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dd0b33c: BPackageInfo: Support reading both HPKG format versions [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b5786b0: BPackageDataReader: Remove unused Size(), BlockSize() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 175ff8e: package kit: Add BAbstractBufferedDataReader It doesn't do much in terms of buffering, but defines an interface buffered readers can implement, namely the additional ReadDataToOutput() which currently BPackageDataReader specifies. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2c32402: package kit: internalize BPackageDataReader It is no longer public (or even private) API. BPackageDataReaderFactory returns a BAbstractBufferedDataReader instead. The advantage is that the latter doesn't have hpkg format specific dependencies. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 11cecf9: packagefs: Add support for hpkg format V1 * Add union-like class PackageData which wraps the V1 and V2 BPackageData classes. * GlobalFactory: Create a data reader depending on the data format version. * Package: Add a loader for V1 format and try that, if the other one fails. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9172ffd: package list/extract: Add support for hpkg format V1 [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] df29539: Remove resolvable provides type * Remove BPackageResolvableType and respective property from BPackageResolvable. * Remove package attribute B_HPKG_ATTRIBUTE_ID_PACKAGE_PROVIDES_TYPE. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7adfd76: Add "base package" package attribute [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0ee1651: Rename BBlockBufferCache and friends to *Pool* Also move BBlockBufferPoolNoLock into BHPKG namespace with the other classes. Not sure why it wasn't there before. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 21ee6d5: Some comment updates [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 16e5e5e: Some *DataReader improvements * BFDDataReader: Add SetFD(). * BBufferDataReader: Derive from BAbstractBufferedDataReader. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1f63381: hpkg format: compress the whole heap Instead of handling compression for individual file/attribute data we do now compress the whole heap where they are stored. This significantly improves compression ratios. We still divide the uncompressed data into 64 KiB chunks and use a chunk offset array for the compressed chunks to allow for quick random access without too much overhead. The tradeoff is a limited possible compression ratio -- i.e. we won't be as good as tar.gz (though surprisingly with my test archives we did better than zip). The other package file sections (package attributes and TOC) are no longer compressed individually. Their uncompressed data are simply pushed onto the heap where the usual compression strategy applies. To simplify things the repository format has been changed in the same manner although it doesn't otherwise use the heap, since it only stores meta data. Due to the data compression having been exposed in public and private API, this change touches a lot of package kit using code, including packagefs and the boot loader packagefs support. The latter two haven't been tested yet. Moreover packagefs needs a new kind of cache so we avoid re-reading the same heap chunk for two different data items it contains. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 18b19ba: ZlibCompressor: Allow setting the compression level [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 796343e: Allow specifying the compression level for package creation * Introduce BPackageWriterParameters which comprises all parameters for package creation, currently flags and compression level. Such an object can be passed to BPackageWriter::Init() and is passed on to PackageWriterImpl and WriterImplBase. * PackageFileHeapWriter: Add compressionLevel property and pass the value on to ZlibCompressor. * package add/create: Add options -0 ... -9 to specify the compression level to be used. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 06f5437: Add HAIKU_PACKAGE_COMPRESSION_LEVEL build variable It allows to control the compression level used for package creation and update. The default (9) is *very* slow, so developers may want to use a smaller level during the regular development process to keep turn-around times low. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 96af1d2: PackageFileHeapWriter: Small style fix [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 172f25f: PackageWriterImpl: Fix reading the package-info in update mode [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 520a7a7: PackageFileHeapAccessorBase: small refactoring * Pull method DecompressChunkData() out of ReadAndDecompressChunkData() for potential reuse. * Also fix/improve some error output strings. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b05413e: PackageFileHeapWriter: Fix update case * Pull _UnwriteLastPartialChunk() out of Reinit() for reuse. * _UnwriteLastPartialChunk(): fPendingDataSize wasn't set. * _PushChunks(): Some simplifications for clarity. * ChunkBuffer/RemoveDataRanges(): Use data reading and decompression methods provided by our base class instead of duplicating the implementation. * RemoveDataRanges(): - _FlushPendingData() before starting, so we don't ignore the pending data and _UnwriteLastPartialChunk() when done, so a partial chunk is read back into the pending data buffer. - fUncompressedHeapSize wasn't reset before the main processing loop, thus resulting in an erroneous size later on. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d03ac96: ReaderImplBase: Fix gcc 4 build [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 88adb4a: PackageFileHeapWriter: Add error message ... in case compression fails unexpectedly. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5d3de03: libroot_build: Fix fs_read_attr() in fs_attr_untyped.cpp * With a specified buffer size smaller than the attribute size the function would fail with ERANGE on Linux although it should just read as much as possible. Now we always read into our temporary data buffer with the full buffer size. * Fix return value in case pos is > 0. pos must be subtracted from the bytes actually read. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 521545f: Add padding in HPKG/HPKR headers ... so that the different alignment on 32 and 64 bit machines doesn't change the layout. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1559102: ReaderImplBase: Fix strings subsection validity check A strings section with 0 strings is still 1 byte long. Also improve the error output in the error case. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1471350: packagefs: Fix debug build [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5261923: Add dvprintf() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 760dee1: packagefs: Add va-args version ERRORV() to DebugSupport [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2a6f172: packagefs: Resolve error output TODOs [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bfa408d: packagefs: PackageData: Fix copy and paste error [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 01c0371: BuildHaikuPackage rule: Add grist to package info file ... to avoids clashes with equally named targets. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 64bb883: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d59e0fe: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b814fea: packagefs: PackageFile::DataAccessor: Avoid unnecessary locking ... in case of version 2 package files. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c3bd329: PackageFileHeapAccessorBase: Fix error output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 69a1f1f: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4612285: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bc306e2: Declare some string constants actually const [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5dae154: Add "source" package architecture [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 47039b8: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bac0bb2: RepositoryWriterImpl: Write the heap fields in the header [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4ffb923: PackageFileHeapWriter::RemoveDataRanges(): Fix empty heap check [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5497f08: hpkg attribute tags: use 7 bits for attribute ID ATM the 6 bits suffice, but there isn't that much headroom. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fe707a2: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a8de276: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 79d5ddb: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6da0ce6: Move package info parser to its own file [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] daa10fc: Move package info string builder to its own header [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bf88057: ReaderImplBase: Fix copy and paste oversight [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8698ee4: BStringList: Declare Join() const [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c82776b: BString: Add Split() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0f4e11e: hpkg format: Add attributes for declaring users and groups [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 927e070: WriterImplBase: Some simplifications ... using the recently introduced _AddStringAttribute[IfNotEmpty](). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c0ab140: hpkg format: Add attribute for declaring post install scripts [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a11b000: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a3e070a: WriterImplBase: Add _AddStringAttributeList() ... and simplify some code by using it. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 38a0419: package info parser: improve parse error column numbers Assume 4 column tab stops and compute the column numbers accordingly. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a98dd49: package info parser: allow escaping of new lines So we can break long lines without changing the semantics. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e2f3051: hpkg format: user big endian for chunk sizes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3da422a: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a196160: On FreeBSD, "<malloc.h> has been replaced by <stdlib.h>" [ Matt Madia <mattmadia@xxxxxxxxx> ] 75c10de: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] badd403: Update grep package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 56b43ec: BPackageInfoContentHandler: Handle new attributes Also add respective *Data constructors to BUser, BUserSettingsFileInfo, and BGlobalSettingsFileInfo. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b361d03: haiku.hpkg package info: zlib is a separate package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e63bdfe: Rename post_install dir to post-install [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 30c2352: Adjust buildscript for gcc4 to configure with a sysroot. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 7ea6bb1: Add c++-libs to haiku_cross_devel.hpkg [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 7b2016c: Update libsolv package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ba96552: Support extracting archives to the packages we build * BuildHaikuPackage rule: Create the script that contains the extraction commands. * build_haiku_package: Add extractFile() function (stripped down version from build_haiku_image). In build_haiku_image the functionality was mainly used to extract the optional packages, which is no longer done. We still need it e.g. for the Wifi firmware packages that want to be extracted. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fa962e6: build_haiku_package: Print some progress info Remove the output in extractFile(), though. The extracted packages are so small that it doesn't matter anymore. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1180286: Fix reading attributes of directories When reading an attribute of a directory there was no guarantee that the underlying package would be open. When it wasn't reading an attribute would fail, unless the attribute data were already cached. The reasons for this are: * UnpackingDirectory didn't forward the {Init,Uninit}VFS() calls to the underlying PackageDirectory. * Only PackageFile was actually opening the package in InitVFS(). Now we forward the {Init,Uninit}VFS() calls in all cases -- even in {Add,Remove}PackageNode(), when the active package node changes -- and opening/closing the package is now done in PackageNode::{Init,Uninit}VFS(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d055934: QueryParser: Fix some debug macros [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 10e9f49: QueryParser: Equation::Match(): Fix generic attribute case Init size to the buffer size before passing it to QueryPolicy::NodeGetAttribute(). Since size was 0 by default, we would only read 0 length data. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b23d504: packagefs: UnpackingAttributeCookie: Open package ... when reading non-inline attribute data. Generally the package should already have been opened by the PackageNode owning the attribute (in InitVFS()), but that isn't the case for queries, which can read attributes from entirely unsuspecting nodes. Together with the QueryParser fix that should fix queries involving non-indexed attributes. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 28fd71c: Installer: CopyEngine: Remove some debug/uncommented code [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fb5f0bb: Installer: Move path string constants to new InstallerDefs.h/cpp [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a601eaa: Installer: Remove "/boot/var" directory check The PM Haiku Installer doesn't need support installing ancient Haiku versions. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c2be967: Installer: CopyEngine: Externalize decision making * Add interface EntryFilter, an instance of which can be passed to the CopyEngine. The object is asked whether to copy entries/clobber directories. * Move the _ShouldCopyEntry()/_ShouldClobberFolder() code to new WorkerThread::EntryFilter. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e8eb6ae: Installer: WorkerThread::_PerformInstall(): get rid of goto [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 348d9ea: Installer: WorkerThread: Remove InstallerWindow dependency * Move message constants to InstallerDefs.h. * Determine the source and target partition ID already in InstallerWindow and pass those to WorkerThread instead of fiddling with menu items in _PerformInstall(). And instead of the window object pass a messenger to the constructor. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ba6f7c8: Installer: CopyEngine: Pass relative path to EntryFilter ... instead of the file name. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f4953ba: Installer: WorkerThread::EntryFilter: Use path map ... instead of implicit comparisons. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6c36ad1: Installer: Restrict entry filter to files from the BFS volume We generally want to skip the contents of the packagefs volumes (save for the shine-through directories). That makes Installer usable again. In what direction we want to develop it (e.g. integrate some PM support, so that a subset of packages can be selected) needs further discussion. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 59e2e2f: Adjust handling of package infos. * add HAIKU_PACKAGING_ARCH, which is set to the target packaging architecture * introduce support for generic package infos, which are package infos that are the same for all architectures, except for the declaration of the package architecture itself * move package info files underneath architecture-specific or generic folder [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 02783d5: Add new package haiku_cross_devel_wrapper. * this package wraps the haiku_cross_devel package (i.e. it contains that package in /develop/cross) * the wrapper package is meant to be installed into the system hierarchy, from where haikuporter will fetch the contained package when needed [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] eeddc9f: Fix paths in haiku_cross_devel packages. * since this is now meant to be installed into an architecture-specific (sysroot-)folder, we need to drop the architecture-specific subpaths [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] c915f7b: Fix haiku_cross_devel package(s). * those packages need to be installed on any system that wants to build for the respective target architecture, so they need to have the package architecture 'any' * adjust to not require 'haiku', as that isn't needed and wouldn't be available either * use concatenation by macro to inject the target architecture into the provides definition [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 25601cf: Minor fix: extend copyright in all package infos to 2013. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 872e7aa: Rename haiku_cross_devel packages. * haiku_cross_devel is now haiku_cross_devel_sysroot * haiku_cross_devel_wrapper is now haiku_cross_devel [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] a532c57: Remove /boot/{apps,preferences} symlinks And adjust all remained occurrence in the tree accordingly (-> /boot/common/{apps,preferences}). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fa374ad: Remove config.log files [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 48581f9: FHaikuPackageGrist: Avoid potential package name clashes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a6e03f4: find_directory(): Fix B_{APPS,PREFERENCES}_DIRECTORY paths [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9938009: add_catalog_entry_attributes.sh: Remove optional directory [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0050b4b: Runtime loader: don't fall back to OS-ABI directories. * when an executable with a different ABI is being loaded and some needed image isn't found, don't retry using the standard ABI folders of the system - those are now considered incompatible [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 729c633: Runtime loader: rename compatibilitySubDir to abiSpecificSubDir. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 8944824: rm_attrs: Fix for parameters with whitespace [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4489c88: hpkg format: Generalize user/global settings file attributes * For all identifiers: Rename global settings file to global writable file. We want to use the respective attribute also for other writable files, not only settings files. * User settings file/global writable file info/attribute: Add isDirectory property/child attribute. This allows declaring global/ user settings directories associated with the package. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a266b57: ReaderImplBase: Handle new ...IS_WRITABLE_DIRECTORY attribute [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 280b7cb: libroot_build: Improve/fix get_path() In fs_attr_generic() get_path() is used with a symlink FD, which didn't work at all. Handle symlink descriptors explicitly now. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 01176bd: Add basic BUuid class ATM it's only able to generate random UUIDs. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bc96e8f: Add more robust generic attribute emulation variant The new configure option "--use-xattr-ref" enables an xattr assisted variant of the generic attribute emulation. Instead of using the inode ID of a node to identify its attribute directory, we use a reasonably unique random 128 bit number, which we generate and attach as an attribute to the node. This way, when a node changes its inode ID (defragmentation?) or the inode ID of a removed node with a left-over attribute directory is reused, attributes won't get mixed up. The old method is still used for symlinks (since on Linux only priviledged users can write attributes on symlinks), but those usually only have a rather boring BEOS:TYPE attribute, so mix-ups wouldn't be that problematic anyway. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 69de9c6: MIME DB build: Fix name clashes * Make grist for subtype source files unique. * Our MakeLocate only appends to LOCATE, so we have to call it before ResComp, if we want a different location. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 52a43b1: MakeLocate rule: Avoid directory dependency, if already located Only create the directory dependency for a target, if that's where the target will actually end up. If it has already been located before, do nothing. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3b8f8e0: 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 Conflicts: src/add-ons/translators/jpeg/Jamfile [ Siarzhuk Zharski <zharik@xxxxxx> ] 3dadb47: boot loader tarfs: Declare dependency to zlib package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c80c798: boot packagefs: Fix zlib dependency declaration [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 444b035: BuildHaikuPackage rule: Locate extract script Missed that when adding the script. Therefore it would be created in the current directory and when building multiple packages concurrently the script would be overwritten. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] beeaf37: HaikuDevel: Fix copying the build feature headers We have to use actual targets that cause the respective download and extract the packages. Otherwise the build fails when the packages haven't been extracted yet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a1832a0: <resolv.h>: Make self-contained [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7b6d45c: LibsolvSolver: Use Solvable only where necessary repo_internalize() apparently reorganizes the storage for Solvable objects so that our fSolvablePackages and fPackageSolvables maps could contain invalid pointers. Now the maps use the solvables' ID instead. Also use the IDs instead of the Solvable objects in most other places, which in some cases even simplifies the code a bit. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c625c5f: <langinfo.h>/<select.h>: don't use C++ comments [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c46f596: Update zlib, gettext, libiconv, ncurses packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5ce950a: BuildFeature: missing ";" [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ebb78dd: Update openssl package Also use the new build feature rules [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 178da21: Update icu package Also use the new build feature rules. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e97e4b7: Update glu and mesa package Also use the new build feature rules. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 14d5e30: Update ffmpeg package and its requirements Also make use of new build feature rules. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e2c74e4: Remove unused MikMod build feature [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 29f8805: Update freetype package Also use the new build feature rules [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e9f440f: Update libpng package Also make use of new build feature rules [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e4bd005: Update jpeg package * Also make use of new build feature rules. * Since the hacky long_jump_buffer field has been removed from the jpeg_error_mgr struct in the new package, the structure is now wrapped in the JPEGTranslator code to achieve the same behavior. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1d14716: Some renaming of zlib related jam variables [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a20eb7f: Update libsolv package Also make use of new build feature rules. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 12629b1: Update expat package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] de2188e: Fix #7824: failure to build a cross-compiler on Haiku. * force creation of a cross-compiler for both gcc2 and gcc4 when building on Haiku (by suffixing the build and host machine with '_buildhost') (cherry picked from commit df69e209bbacd07fdfea9d9efcfc8e1c0dfedaa0) Conflicts: build/scripts/build_cross_tools_gcc4 [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 49f8422: Remove whole sys-include folder when cross-compiler has been built. * at least for gcc2, we used to leave the 'os' subfolder in there, which may have caused problems when Haiku's headers have changed since the last time the compiler was built. (cherry picked from commit 92bb2fb33e2d0f4aa766be095057fe63ff17bc8e) [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 46792e5: Update basic development packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8d1a954: Update apr[_util], be_book, bepdf, jam packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0ac19e7: Update several packages * bzip2 * ca_root_certificates * cdrtools * cmake * ctags * curl * cvs * doxygen * freetype * git * groff * libsolv * man * nano * readline * sqlite * python [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 98c399b: Update packages keymapswitcher, libedit, libxml2, libpcre [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 676cc5a: Update packages mercurial, mkdepend [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e31d588: Update several packages * neon * openssh * p7zip * pe * subversion * tar * timgmsoundfont * wonderbrush [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7f453e3: Update packages vision, wpa_supplicant, wqy_microhei, yasm [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 56c3ef1: Disable xz-utils optional package for gcc 2 [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 01293f6: OptionalPackages: fix syntax errors [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b6163fd: Update openssh package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2551c12: Update wonderbrush package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b4dc51b: Fix behaviour of towlower(), towupper() and towctrans(): * all those functions need to return the given wc unchanged in case of error, not 0 * towctrans() didn't actually look at the requested transition, but always acted as if _ISlower was given [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 51bce88: Fix behaviour of localtime(), gmtime() and mktime(). * In case the locale backend could not be loaded, these functions (and their reentrant counterparts) just returned an error. So we reactivate parts of the BSD-/Olson-implementation in localtime_fading_out.c in order to use them as fallback. * Cleanup localtime_fading_out.c (remove a lot of unused cruft). [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] ece5825: Improve robustness of asctime() and asctime_r(). * Return NULL and set EINVAL if the given tm pointer is NULL. This isn't mandated by the POSIX base specs, but it just makes sense. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 1055112: Move PUuid from shared to support [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 535207a: BPoseView::AddPosesTask(): fix count checks In case GetNextDirents() returned an error, the wrong blocks were executed. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2752612: BMergedDirectory::GetNextDirents(): fix end-of-list return value [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5fa3519: BString::Private: Add IsShareable() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 62b0b64: BStringList::Add(): fix ref counting problem Handle the case that the private data of the given string is not shareable. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6ca95bd: PathMonitor.cpp: some style cleanup [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ad1875f: BPathMonitor: use pthread_once for initialization [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 77ca66c: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ddd775f: BPoseView::FSNotification(): fix issue in debug build [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3209bc4: BPathMonitor: PathHandler::_NotifyTarget(): simplify * Add optional entry_ref return parameter to _HasFile(). * Simplify _NotifyTarget() by using _HasDirectory() and _HasFile(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8d572c9: Add class NotOwningEntryRef A entry_ref subclass that avoids cloning the entry name. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7b198d8: B_WATCH_FOLDERS_ONLY -> B_WATCH_DIRECTORIES_ONLY Stick to the nomenclature generally used in the public API. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 38afe23: BPathMonitor: pass BMessenger by reference [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cb4a05c: Missed B_WATCH_FOLDERS_ONLY occurrence [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3e8daeb: Add BMessenger::HashValue() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1eda851: BOpenHashTable: Add IsEmpty() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0d603ac: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8c974aa: node monitor: add TODO regarding the syscalls [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cc4d194: Add test suite for BPathMonitor 749 / 1504 tests fail [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 04382d4: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c143884: Use incorrect use of BPathMonitor in input/midi/net server The B_ENTRY_* constants aren't valid watch flags. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b5b9388: Add C++ API for driver settings Copied from the userlandfs utility classes, adjusted coding style, did some renaming and small interface changes. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e19f909: BPathMonitor: add "from path" to B_ENTRY_MOVED notifications [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] de85051: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1c29b26: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dbd9780: SetType rule: add optional type parameter If not specified the executable MIME type is used as before. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 26ea706: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9430708: Update packages ffmpeg, openssh, p7zip [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2cf916c: ExpanderRules: Coding style update Also makes the ExpanderRule getters const. No other functional change. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 301f4b4: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2a24174: Clock: TOffscreenView: small cleanup [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4c851c2: Clock: fix crash when resources could not be loaded [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 207389a: BResources::SetTo(): try opening read-only on error Fixes #9843. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ff2e520: Remove the old "CVS" package rules ... and all their invocations. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5a7d7bc: Remove *Kit pseudo targets from root Jamfile [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 178d2f9: Expander: create settings directory, if necessary Fixes #9846. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8d5ae26: Add MIME type for Haiku packages Doesn't have an icon yet (hint, hint! :-)). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4f82f6f: Add Expander rule for Haiku package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c09ec54: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a85e464: package_repo: fix printf() format strings [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 87e22aa: Make package_repo buildable for the build host [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2ebcd86: Add configure option --host-only When specified, the build will be configured for building build host tools only. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2f5551e: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fd28164: Also allow source packages in a repository for any architecture [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3c3dd84: RepositoryWriterImpl::_AddPackage(): more info in error messages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3208685: Add HPKG to Expander's supported types [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 695a1b2: repository writer: fix use of incorrect header size The header size of the package file header was used, which resulted in broken repository files. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 69f67e6: BRepositoryInfo: make sure fInitStatus is always set correctly [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c892883: BRepositoryCache: use BStandardErrorOutput [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6a7e340: BSolverRepository: fix gcc 4 build [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 383cd08: BSolverRepository: add SetTo(const BRepositoryCache&) [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 17d00ec: pkgman: RepositoryBuilder: add BRepositoryCache c'tor [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e853340: 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. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bf5b4b2: package_repo list: add missing cases It probably would be better to share code with package's list, since it is very similar. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 001e906: LibsolvSolver: missing include [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 43d96d8: haiku package-info: fix some provides/requires [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 98c6dfa: Switch build system from optional package to repositories * Build libsolv and the dependency solver part of the package kit for the build platform. * Add build tool get_package_dependencies. Given a list of package files and a list of repository files it determines the additional packages that need to be retrieved from the repositories and prints their URLs. * Add rules to work with external repositories in the build system (build/jam/RepositoryRules): - PackageRepository declares an external repository with all its packages. The URL of the repository file isn't specified. It is computed from a given base URL and the SHA256 hash of the list of package files. - GeneratedRepositoryPackageList generates a file containing the file names of all packages in a repository. - IsPackageAvailable returns whether a package is available in any repository. - PackageURL returns the URL for a package. * Declare the HaikuPorts repository for x86_gcc2 (build/jam/repositories/HaikuPorts/x86_gcc2). * Add rule AddHaikuImagePackages to add a package to the image and rule IsHaikuImagePackageAdded to determine whether a package has been added. * OptionalPackages: Remove all entries that just downloaded and installed an external package. AddHaikuImagePackages can be used instead and is used in the remaining entries. Also move the remaining optional package dependency declarations from OptionalPackageDependencies here. * ExtractBuildFeatureArchives: Instead of the URL parameter a package name must be specified now. This allows to simplify BuildFeatures significantly, since there's no dealing with URLs anymore. "if" out the entries that aren't supported yet. * build_haiku_image: For the packages installed in system and common resolve their dependencies and download and install them as well. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 812baf3: libsolv_build: declare missing dependency [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bd915d9: BSolver: fix build host build for gcc 2 gcc 2 doesn't support the weakref attribute. Rather use the regular (target) method to initialize sCreateSolver instead (pthread once, dlopen()). Since we know that we're on Haiku, that doesn't add any dependencies that aren't available anyway. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a65099b: libsolv_build: fix build on gcc 2 Haiku * Fix the "UseHeaders" invocation for libsolvext to use the correct directory. * Reorder things slightly, merely for aesthetical reasons. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1faf747: Update packages binutils, gcc, add missing bepdf source package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fdf111a: libsolvext requires libz [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4dd0ed4: BSolver: fix for gcc 2 Missed one #if, so sCreateSolver was never initialized. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f027320: devel packages for mandatory packages must be in system as well [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 458b56a: Also install the be_book package in system [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 627626a: GeneratedRepositoryPackageList: defeat localization Set LC_ALL=C, so "sort" produces useful results. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4174191: BPackageInfo: fix range check in c'tor [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a28a0ac: BPackageInfo::_ExtractUsers(): fix no group case [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3758560: BuildSetup: remove obsolete dir variables [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 30cdb26: Add BDriverSettings to libbe_build [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ee64a0a: BRepositoryConfig::SetTo(): fix use after deallocation The strings retrieved from the driver settings were used after unload_driver_settings(). Use BDriverSettings which also simplifies things quite a bit. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bbd644b: libsolv_build: add support for building on FreeBSD Also fail immediately when an unsupported platform is encountered. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2a5d0aa: configure: set new variable HOST_SHA256 sha256sum and sha256 are detected. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 46686fe: Download*File rules: add optional source target If specified the path to the source target can be used in the URL via "$source". [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 531a3d4: Add rule ChecksumFileSHA256 [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f4e265d: Add build tool create_repository_config Given a repository base URL and a repository info, it creates a repository config file. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d72ce06: Adjust to changed HaikuPorts repository layout The package kit actually requires the files "repo", "repo.info", "repo.sha256" to be located under the repository base URL, so the approach to name the repository file "repo-<hash>" doesn't work. Now there's a directory "<hash>" which contains the files. This commit moves the computation of the hash and downloading the repository file from the build_haiku_image script to the jam build system. The repo.info is also downloaded and a repository config file is generated. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2afaeda: Copy repository config files to the image ... to common/settings/package-repositories. This way the used repositories are already known to pkgman. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3942ca0: configure: fix sha256sum/sha256 checks [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 600620e: package_daemon: create the administrative dir when mounted [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 014eed8: Change repository directory layout * Under the base URL there are supposed to be the repository files and a subdirectory "packages". * Fix the repository URL related confusion introduced earlier. The URL in the repository info (and thus in the repository file) is supposed to be the base URL for the repository. It is not a (potentially) different base URL for the package files. Package and repository files were supposed to live in the same directory. Now, by requiring the package files to live in a subdirectory -- which can also be a symlink -- we gain some flexibility. The URL in the repository config is usually the same as the in the repository info, unless it refers to a mirror site. This allows for mirrors to copy the original repository verbatim. * Remove the PackageURL rule and introduce a DownloadPackage rule instead. The URL for a package file cannot be computed in the jam parsing phase anymore, as it contains the hash value of the package list. * BRepositoryConfig: Add PackagesURL() for convenience. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 056e9bb: Add some more packages to the HaikuPorts repository [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e8c5236: Move image definition jamfiles to build/jam/images [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2bab285: Remove OptionLibPackages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7418499: Remove more optional package related left-overs [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] db11a11: Move common image building code to HaikuImageCommon [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7aa46ed: Move common image building code to HaikuImageCommon [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 78f4c16: Beginnings of support for building a bootstrap Haiku image Copy: * packages: Haiku -> HaikuBootstrap * images: HaikuImage -> HaikuImageBootstrap ... and remove some unncessary content. Setting the jam variable HAIKU_BOOTSTRAP_BUILD enables using the bootstrap files. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ec945b7: ReleaseBuildProfiles -> Default*, add bootstrap profiles [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c01380b: Move package info pre-processing to jam build system Also, pre-process all package infos (not only the generic ones) and define the macro HAIKU_BOOTSTRAP_BUILD, if building a package for a bootstrap image. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2f3dc94: haiku package info: drop some requires in bootstrap mode [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7e78b43: Merge remote-tracking branch 'haiku/master' into package-management Conflicts: build/jam/HaikuImage build/jam/OptionalPackageDependencies build/jam/OptionalPackages build/scripts/build_cross_tools_gcc4 src/add-ons/translators/icns/Jamfile src/add-ons/translators/jpeg/Jamfile [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0361a1d: Debugger: ElfFile::_CheckRange(): fix check [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 276c321: BPackageInfo::Parser::_ParseFlags(): fix indentation [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0e9ec70: package info parser: improve string parsing * Instead of two string token types (TOKEN_WORD, TOKEN_QUOTED_STRING), there's now only one (TOKEN_STRING). Whether the string meets the criteria is checked where needed. In most cases the check was already done or not necessary anyway. * Strings can now consist of an arbitrary sequence of quoted and unquoted strings and escaping is also supported in unquoted string segments. * Among other things this fixes incorrect restrictions for resolvable names and should also make quoting paths superfluous (unless they contain separator characters). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f20d944: Update packages grep, ncurses, sed, tar [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3e58289: DownloadLocatedFile: fix use with older wget version The option "--no-use-server-timestamps" is apparently newer than Haiku's wget. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4387d6b: Merge remote-tracking branch 'remotes/haiku/master' into package-management [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 38f0787: rule AddRepositoryPackages: add debugInfoPackage parameter It works just like the sourcePackages parameter. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 916e7e7: Add debug info packages to HaikuPorts repository [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ed156ea: package[_repo] list: reduce code duplication Introduce helper class PackageInfoPrinter that does the printing and is used by both commands. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4e6141b: package list: add option '-i' to list only the meta info [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4ce282c: package list: also support package info files [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 03d70b4: Add package architecture constant for x86-64 [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ebb8576: Update bootstrap image/package Should have been part of the recent merge. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 983aba2: Adjust configure script to new version of legacy compiler. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 579f1db: _G_config.h: don't include <cstddef> <stddef.h> is just fine and it doesn't break the use of libroot headers when compiling something with -nostdinc++ (in C++ mode). Not particularly important, but this gets compiling the libio C++ stuff when building a native gcc a bit further. It still fails, since our <printf.h> header is actually not usable (it includes <features.h>, which is not available in Haiku) -- something we should fix eventually. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 111204e: build_cross_tools: make the cross compiler more reuse friendly [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4ddd7f8: Make public glibc header printf.h usable. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 21b3820: Add libbsd to cross devel package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fc8967f: Determine HAIKU_CPU and HAIKU_PACKAGING_ARCH in configure ... instead of in BuildSetup. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 67e8400: rule ExtractBuildFeatureArchives: implement placeholders Add support for placeholders in the attribute values. The values of the currently supported placeholders depend on the package file name (package version, actual package and port name, etc.). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d1fe5b9: BuildFeature: get rid of hard-coded package versions ... using the new placeholder feature of ExtractBuildFeatureArchives. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b9eec51: Include DefaultBuildProfiles earlier DefaultBuildProfiles is now included earlier (right after BuildSetup). This allows us to set HAIKU_BOOTSTRAP_BUILD earlier, so it can be used for the repository selection. The actual build profile definitions, which cannot be done that early, live in the rule DefineDefaultBuildProfiles, which is invoked where the file was previously included. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 33f23ea: Remove more stuff from the Haiku bootstrap packages/image Namely GL/Mesa and libtiff. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e173a1e: Integrate building the HaikuPorts bootstrap packages * Add configure option --bootstrap which allows specifying the haikuporter and HaikuPorts repository paths. * Add rules for supporting a second repository type. The PackageRepository rule is now private and RemotePackageRepository is used for remote repositories. The new BootstrapPackageRepository rule is for defining a bootstrap repository (there will probably be only the HaikuPorts cross repository) whose packages can be built as needed via haikuporter. * Rename DownloadPackage to FetchPackage. * Define repository HaikuPortsCross. * HaikuCrossDevel package(s): There are now two sets of packages: A "stage1" set with the same content as before and a final set additionally containing the libraries libbe, libnetwork, libpackage. Those are needed for building the libsolv bootstrap package while for building them we need other bootstrap packages (ICU, libz). This is basically all that's required to build a bootstrap Haiku completely from sources, with a few caveats: * There's no ICU bootstrap recipe yet (so one has to cheat and use the prebuilt package ATM). * Probably doesn't work on Haiku yet (tested on Linux only). * A 32 bit environment must be used (otherwise building the gcc 2 bootstrap package fails). * Building with multiple jobs doesn't work yet, since haikuporter uses common directories for building different packages and there's no explicit serialization yet. * Haven't tested the resulting image save for booting it. So it probably needs a bit more work before it can actually build the final HaikuPorts packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a7ab22a: HaikuPortsCross repository: icu_bootstrap is now available [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7b2174a: BootstrapPackageRepository: serialize package creation Since haikuporter uses a common directory for building the ports, we can't build them concurrently. This makes jamming with multiple jobs safe again. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 26b0aa1: HaikuPortsCross repository: fix binutils, gcc revision mismatch I don't think it makes that much sense to increment the revisions in the cross recipes anyway, since there isn't any actual package repository. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 81bd962: Add haikuporter and python to Haiku bootstrap image [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 48b1ed4: Add all bootstrap packages in DefaultBuildProfiles * Don't handle the bootstrap case in the main Jamfile. Add all bootstrap packages to the image in the profile definition. That's less confusing, hopefully. * Add the missing bootstrap packages (ncurses*, libtool_libltdl). The would normally be added in build_haiku_image when the package dependencies are resolved, but we don't do that for the bootstrap image, since we intentionally leave some dependencies out (e.g. perl) because they can be built. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5bb173c: Add STXT-translator to the bootstrap image * without this, StyledEdit wouldn't work [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] e2732c0: Fix 'package extract' with multiple explicit entries * before adding a child to a parent entry, we need to check if the parent already contains that child, as otherwise duplicate children with identical names would be added, which in turn messes up the handling of the entries that are to be extracted [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] ef57df3: configure: remove BeOS support Likely doesn't work anymore anyway. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c0e8cc1: configure: prepare for hybrid support The goal is to do hybrid builds in a single jam (instead of calling a sub-jam to build parts with the secondary tool chain). This changeset adds support to configure to prepare multiple tool chains. configure: * Merge option --build-cross-tools-gcc4 into --build-cross-tools. The option does now always require a packaging architecture parameter, i.e. x86_gcc2 for the legacy tool chain. * Multiple occurrences of the --build-cross-tools and --cross-tools-prefix options are allowed. The first one specifies the primary tool chain, the subsequent ones the secondary tool chains. * All architecture dependent jam variables are now suffixed with the name of the packaging architecture. The new HAIKU_PACKAGING_ARCHS contains the packaging architectures for the prepared tool chains. The first element is for the primary tool chain. * No longer generate a separate libgccObjects file. Just put the respective variable into BuildConfig as well. build_cross_tools[_gcc4]: * Replace the <haiku output dir> parameter by a <install dir> parameter. This allows to create different cross-tools directories. They are simply suffixed by the packaging architecture. Jamrules: * For the moment map the variables for the primary tool chain to the respective suffix-less variables, so that everything still works as before. The next step is to actually support the secondary tool chains in the jam build system. This will require quite a bit more butchering, though. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0c59a38: Drop debug leftover. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 13dc541: libroot: os/arch: remove unsupported architectures [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 30f0d45: Remove unused Haiku64Image [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 159663c: Remove no longer needed HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b0944c7: More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 833b668: cross devel hpkg: use suffix/subdir for secondary arch * Libraries for a secondary architectures must be placed in a respective subdir. * Add a suffix to the package name when building for a secondary architecture. Looks a bit weird ("haiku_cross_devel_sysroot_x86_gcc_x86.hpkg"), but is consistent. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f975dc6: build_cross_tools_gcc4: move sysroot dir into install dir This allows us to sneak in system include and library search dirs in haikuporter without doing anything outside the cross tools dir. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 68ccc98: Build the cross gcc for the secondary arch as such Pass --enable-hybrid-secondary to gcc's configure when building it as a secondary compiler. Doesn't make a difference for building Haiku itself, but makes it easier to match the Haiku cross devel package with the compiler when building bootstrap packages with haikuporter. gcc 4 only ATM. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f30881d: Replace makeinfo_bootstrap with texinfo_bootstrap. * using texinfo_bootstrap has the advantage of allowing implicit mapping between _bootstrap packages and the corresponding non-bootstrap packages [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] d31a50e: Move build feature rules to separate file [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5719016: Fix usage of obsolete HAIKU_BUILD_FEATURE_OPENSSL_ENABLED [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] de799f7: MultiArch* rule: support optional architecture parameter [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f7d5e4c: ArchitectureSetup: fix library map for secondary arch The libraries where resolved to the library targets for the primary architecture. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a36a166: MergedDirectory: missing include [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7bd562a: lib{network,package,shared,agg,icon}: secondary arch support [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 93cfb72: build features/bootstrap repo: support secondary arch * Add rule FSplitPackageName. It splits a package name into port name and package suffix. * FSetConditionsHold: Rename to FConditionsHold and replace the set parameter by a predicate rule parameter, thus adding more flexibility. * FIsBuildFeatureEnabled: Use the faster check. * Add rule FQualifiedBuildFeatureName. Given a build feature name, it prepends the current packaging architecture to yield a qualified feature name. Is used by the other build feature rules so that the same build feature can be configured differently for each arch. * ExtractBuildFeatureArchives: The supplied list is now filtered via FFilterByBuildFeatures, allowing for build feature conditions in the list. * Add rule InitArchitectureBuildFeatures. It is called early for each configured architecture, setting up some basic build features for it. "primary" is set for the primary architecture and a "secondary_<arch>" is set for each secondary architecture. * BuildFeatures: Add secondary architecture support: Use the correct paths for libraries and headers (subdir for secondary architecture) and configure the icu and zlib sources only for the primary architecture. * BootstrapPackageRepository: The package lists are now filtered via FFilterByBuildFeatures, allowing for build feature conditions in the lists. * IsPackageAvailable, FetchPackage: Add secondary architecture support. * HaikuPortsCross/x86_gcc2: Add icu and zlib x86 secondary packages. The second stage Haiku cross devel package for the secondary architecture can now be built. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b2b6052: ArchitectureSetup: fix library name map It's too early to use the MultiArch* rules yet, since the TARGET_* variables haven't been initialized yet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0b171ae: Fix two problems when building without secondary architecture. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] d20975d: Fix negated predicate relating to input_server. * without a secondary arch, jam would complain about not knowing how to build <x86_gcc>input_server [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 69c69a7: Replace build system vars [PRIVATE_]SYSTEM_LIBS by rules ... HaikuImageGetSystemLibs and HaikuImageGetPrivateSystemLibs. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e9a0ad7: Remove SYSTEM_LIBS*_ALIASES build variables [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 779b940: PreprocessPackageInfo: define macro for secondary architecture [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c591ff1: Support building libpackage-add-on-libsolv.so for secondary arch [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8a2643d: libtracker: VirtualDirectoryManager::_RemoveDirectory(): typo Should have caused infinite recursion when the directory still had children. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 040a814: Add node_ref::operator < Moved from VirtualDirectoryManager. Defining the operator static doesn't work with gcc 4 and it's useful to have globally available anyway. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 225b638: Support building most system libraries for secondary arch Also adjust the HaikuImageGet[Private]SystemLibs rules to support to return the library targets matching the current architecture. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] db16bcb: Add package definition HaikuSecondaryBootstrap A haiku_<arch>.hpkg package is produced for each secondary architecture. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 85eed25: AddHaikuImagePackages/IsHaikuImagePackageAdded: 2ndary arch fix For the secondary architecture the same specified package name means a different package, so we need to use the mapped name IsPackageAvailable returns. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2f2f436: package info haiku_secondary: fix description Using the C preprocessor doesn't work particularly well. The replacements are rather unhandy. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 096c687: HaikuDevel: a few simplifications [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b4d3e05: Add HaikuDevelSecondary package definition It defines the haiku devel package for a secondary architecture (haiku_<arch>_devel.hpkg). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cade865: Add secondary arch haiku [devel] packages to image [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d125147: Add the missing secondary arch bootstrap packages The Haiku bootstrap image is now built with (hopefully) all required primary and secondary architecture packages. The runtime loader is still resisting our wish to run secondary architecture programs, though. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bddca41: runtime loader: fix secondary arch search paths [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3842301: Filter package infos through sed %HAIKU_PACKAGING_ARCH% and %HAIKU_SECONDARY_PACKAGING_ARCH% in the package infos are replaced before filtering them through the C preprocessor. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c965ee6: bootstrap image: build needed source packages and add them * IsPackageAvailable, FetchPackage: Add flags parameter. The only flag supported ATM is nameResolved, indicating that the specified package name does not need to be resolved with respect to a secondary architecture anymore. * Add build profile action "build-package-list". As an argument the file to which the list of all packages needed for the image is written. The rule BuildHaikuImagePackageList implements the action. * BuildBootstrapRepositoryConfig: Does now require the variable HAIKU_REPOSITORY_TREE_PATH to be set on the config file target instead of hard-coding the path. Allows reuse of the actions. * Add rules BuildHaikuPortsSourcePackageDirectory and BuildHaikuPortsRepositoryConfig. The former builds all HaikuPorts source packages needed to build the packages for an alpha image. The latter generates a haikuports.conf file for use on the bootstrap Haiku. * HaikuImageBootstrap: Add directory /boot/home/haikuports which contains a subdirectory with the source packages and a haikuports.conf. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0097966: haiku_devel_secondary package info: fix provides [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 394c099: build_cross_tools_gcc4: use --with-hybrid-secondary [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f81fbb0: Adjust to renamed option of haikuporter. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 47fd9e6: rule AddLibrariesToContainer: fix for gristed libraries [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f51bf7d: Support building more libraries for secondary architecture [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 393c223: HaikuPorts/x86_gcc2: add x86 packages, add/update packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 271e948: Build secondary architecture Haiku package for regular image Also add secondary architecture packages to image. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a94f6aa: Image rules: filter packages list via FFilterByBuildFeatures AddPackageFilesToHaikuImage, AddHaikuImagePackages: For convenience filter the given package file/package list through FFilterByBuildFeatures. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 00b8bfd: EnableBuildFeatures: deal with duplicate invocations [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dd0bd44: BuildFeatures: print the packaging arch in error messages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 39f7d00: HaikuPorts/x86_gcc2: add haikuwebkit and xz_utils [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4f57a2b: DefineDefaultBuildProfiles: simplify things a bit [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2910d9a: PreprocessPackageInfo: add substitution ... HAIKU_SECONDARY_PACKAGING_ARCH_SUFFIX. It's "_<arch>" for a secondary architecture and "" for the primary one. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1c9bc20: BuildFeatures: re-add webkit build feature [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 555b02d: Add webpositive package to image [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b57470a: Remove setgcc [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 483b28e: Add option --target-arch On Haiku it allows to specify the target architecture to build for using one of the installed native compilers. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4e822fe: HaikuPorts/x86_gcc2: Update gcc and binutils Also add secondary architecture packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f56958c: Add development packages for the secondary architecture [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4c6b3ef: Increase size of bootstrap image to 4 GB. * 1 GB isn't enough to build the basic set [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 3ea3725: haiku_devel* package infos: add compat version and base package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7ff288e: packagefs: fix dependency resolution without compat version [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 623331e: packages: PackageFSRoot: fix, improve, add debug output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b8ab901: packagefs: replace ':' with '~' in the package link names Otherwise paths containing those symlinks cannot be used in colon separated search path lists. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 86233b1: HaikuPorts: update several packages ... and add some missing devel packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 998ef89: package daemon: Volume: fix package removal after transaction Volume::_ChangePackageActivation(): Refactoring oversight: fPackagesToBeDeactivated was still used instead of the packagesToDeactivate parameter, so the packages wouldn't be removed from the hash tables when invoked from the CommitTransactionHandler. Fixes #9921. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 37cfff1: build_haiku_image: filter duplicate packages Resolving the package dependencies for system might yield packages that are already given for common. Filter those out of the list for common before resolving the common dependencies. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ce76b7e: Fix strrchr() * For the comparison cast the character parameter to char as required by the spec. * Fix broken handling of strrchr(..., 0). It is supposed to return a pointer to the end of the string. It did return a pointer to the start. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9a19dcd: pkgman search: '-i' option wasn't handled [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f73d05a: HaikuPorts/x86_gcc2: Update git packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 64264fa: Use Objects instead of KernelObjects Should we actually require differently built glue code for the kernel or kernel add-ons, which should build a separate set. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 13f2fbb: Add build variable HAIKU_PORTER_CONCURRENT_JOBS It can be set to the number of jobs specified on the haikuporter command line. Speeds up the bootstrap build quite a bit. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2479671: Bootstrap Haiku image: add source for more required packages * Introduce build variable HAIKU_IMAGE_ADDITIONAL_PACKAGES which can be set to add additional packages to the image. * Use HAIKU_IMAGE_ADDITIONAL_PACKAGES to support specifying a list of additional packages via the build-package-list build profile action. * Add htmldoc and texi2html when building the list of the packages for which we need source packages when building the bootstrap Haiku image. We don't want them on the regular image, but they are needed to build some packages that are on it. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 77b9f01: Add a few standard build tools to the Development meta package [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 418071b: MIME DB support: avoid static initialization order issue [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 145189e: packagfs: fix header order [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f6e836d: packagefs: PackageNode: fix protection issue Only gcc 2 allows us to use a pointer to a protected method as a template argument. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 536ff12: pkgman: missing include [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 464ee61: pkgman: link against needed libstdc++ [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 987d25a: build_cross_tools: use --with-hybrid-secondary when needed [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4ddd2c7: Don't try to build xz_utils for a mere gcc2 system. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] a510155: packagefs: PackageFSRoot: fix variable redeclaration [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b35337e: Add repositories for x86 Almost complete. bepdf is still missing, since it doesn't build with gcc 4 and a few source packages are missing as well (binutils and gcc because haikuporter doesn't build them correctly ATM, mesa due to an oversight). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cc91b33: configure: update required legacy compiler version [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5657c5e: Fix #9928: broken printf specifiers "%La" and "%LA" * fix unitialized variables in __printf_fphex() in case of architectures without support for long double - this triggered unreliable results or crashes when using %La or %La on x86 * activate long double implementation in use for x86_64 for x86, too, as they share the long double format (cherry picked from commit d1716b277cbaf2b4265728d559b819d73330c1ef) [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 86de8c3: Use GNU make also for building gcc 2 Should fix the build on {Free,Open}BSD. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 648a97f: HaikuPortsCross: update gcc package versions [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 82655a5: HaikuPorts/x86[_gcc2]: update gcc packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] abf4b0f: HaikuPorts/x86: add some missing source packages [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f5821a1: Set file type of Tracker New templates correctly Fixes #9927. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ab9a117: package kit: JobQueue::Pop() fix invalid iterator access [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c33daf2: package kit: fix JobQueue::_RemoveDependantJobsOf() * Delete the right job (the removed dependant job). * Sever the depencency link between the jobs or the next iteration of the loop would process the same job again. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 03191ec: pkgman: make JobStateListener a bit more flexible Flags can be passed to the constructor to specify whether to exit() when a job failed/was aborted. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8f9efca: pkgman: PackageManager: no longer auto-exit() when a job fails This way search and uninstall no longer fail when there's no connection to the internet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0214aef: pkgman search: add -a/--all Can be specified instead of a search string. Lists all packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e64db4d: Also mount the packagefs at ~/config [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f118c41: pkgman [un]install: fix option '-H' [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c4ce29a: pkgman search: enable search in ~/config [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8b26ef6: pkgman: PackageManager: Use flags instead of bools in ctor [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ce4f367: pkgman: auto-refresh repositories only for update/install [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a1e6816: Rework rule CopySetHaikuRevision * Remove support for VCSs other than git. * Make the haiku-revision file a regular build target and make sure it is built only once. * Make determine_haiku_revision an actual shell script and simplify it a bit. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 1af1494: Add missing case for x86_64 as host CPU architecture. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] eb65869: Add definitions for x86_64 repositories and package infos. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] af0200d: Fix build problem in glue code for x86_64. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] be3833c: BString: Add SetToFormatVarArgs() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 39d0e79: copyattr: Fix error output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 48e17c1: BPackageResolvableExpression: Add Matches() Checks if the given BPackageResolvable respectively the BPackageVersion pair satisfies the expression. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bc0491a: BPackageInfo: Add Matches() Checks whether the package satisfies the given BPackageResolvableExpression. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 617be97: Add private storage kit class BCopyEngine It provides the functionality to copy file system entries (also recursively). The code originates from the copyattr sources. Some copyattr specific functionality has been removed and the code has been adjusted for library use (i.e. no exit()s or fprintf()s). An optional controller object can be set to customize the behavior. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 90f9f13: pkgman install: Add base package support If any of the packages to install has requires a base package, that is installed in a more general installation location, we copy the package to the target installation location. Ideally we'd hard-link, but BFS doesn't support that. Symlinks would be a small nightmare to maintain. We might want to choose the installation location intelligently depending on the base package requirement -- e.g. install curl_devel in system rather than common, since curl is installed in system -- so we can avoid duplicating packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3db97b7: Enable -Werror for package_repo and pkgman [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 106d401: rule ArchitectureSetup: Remove superfluous arch macro definition The macro for the architecture is already defined by the compiler. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 86297ca: actions DownloadLocatedFile: fail, if wget fails [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9269362: package daemon: DebugSupport.h: fix (64 bit) printf() formats [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2ada08d: LibsolvSolver: Automatic whitespace cleanup [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 682bf41: BSolverRepository: make polymorphic [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 220b5e1: BSolverRepository: Add {Remove,Delete}Package() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 75d15eb: BSolver: Extend FindPackages() functionality * Add flag B_FIND_INSTALLED_ONLY to only return installed packages. * Add FindPackages() version that finds packages like Install() or Uninstall() do. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 89cb001: BSolver::VerifyInstallation(): Add flags parameter Only flag ATM is B_VERIFY_ALLOW_UNINSTALL. It tells to solver to suggest uninstalling packages when necessary instead of considering such a case a problem. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3381a1b: pkgman uninstall: improve correctness ... with respect to inter-installation-location dependencies. E.g. uninstalling a package from common should only uninstall packages depending on it, when system doesn't still provide those dependencies. We don't consider uninstalling packages from more specific installation locations when dependencies are uninstalled from a more general one yet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 03aa965: Move UsePrivateSystemHeaders into arch-specific block. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 7104695: Fix build of pkgman on x86_64 by use of B_PRI... define. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 1e6177c: Fix broken build of package kit (due to warnings) for x86_64. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] d1246f3: Drop use of non-existing variable in KernelAddon rule. * TARGET_KERNEL_PIC_FLAGS was probably meant to be TARGET_KERNEL_PIC_CCFLAGS at the time this had been added in 2005. As correcting the name would mean that kernel add-ons would be compiled such that they wouldn't be position independent, dropping the variable makes more sense (which is just a cleanup and doesn't change anything due to that variable being always empty) [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] c5c787e: Fix build problems of btrfs and packagefs for x86_64. * Both filesystems used to link to a static kernel-zlib, which was being built with -fno-pic. This doesn't work on x86_64 as the filesystem add-ons are meant to be relocatable, which requires their code to be compiled as position independent. Solve that by moving zlib into the kernel, so any add-on can just use it from there (packagefs is mandatory, so we can't really do without zlib anyway). [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] c92aabd: Fix build of pkgman with gcc2. * I have no idea why, but gcc2 considers BSolverRepository* and PackageManager::InstalledRepository* as distinct pointer types, which it doesn't like to compare without a cast. Circumvent by static casting to BSolverRepository*. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] a54a50b: pkgman: add support for [un]installing/updating in system [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7af664c: LibsolvSolver: change handling of fInstalledRepository We update/set it in _AddRepositories() instead of in AddRepository(). In code needing it earlier _InstalledRepository() can be used. This change allows calling to SetInstalled() on a repository that has already been added to the solver. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 08fb013: pkgman uninstall: Verify more specific locations ... after having determined the packages to remove from the selected installation location. This uninstalls packages from the more specific locations when their dependencies have been removed. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6692db5: BPackageInfo: Add fileName property The property is archived and unarchived, but otherwise not yet stored. If not set, FileName() returns CanonicalFileName(). Can be used for packages like haiku.hpkg etc. that don't have a properly qualified file name (yet). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dda51ad: package daemon: Package: Set the package info file name [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a0cb235: pkgman: Use BPackageInfo::FileName() instead of Canonical*() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 83462cc: Refactor reusable pkgman code into libpackage * Move RepositoryBuilder class to libpackage and add B* prefix to name. * Pull BPackageManager class out of PackageManager and move to libpackage. The base class is customizable via three handler objects responsible for transaction handling, request execution, respectively user interaction. * Reorganize _ApplyPackageChanges(): Now we first prepare the transactions for all affected installation locations (downloading files etc.) and then commit them. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0cb3f70: Revert "Fix build problems of btrfs and packagefs for x86_64." This reverts commit f272e63f393449d3a816970ca632764895a78cd6. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 64c4bd1: 2nd attempt at fixing build of btrfs and packagefs. * adding zlib to the kernel unfortunately introduces a cyclic dependency with respect to the zlib, haiku and haiku_devel packages (AFAICS) * circumvent this by building kernel_zlib as a static library again, this time with PIC, such that it can be used by kernel add-ons [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] fb99605: Handle rigged source packages when determining port name. * I'm not sure this makes much of a difference, but I thought it's better to play it safe. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 818ed1e: Remove blocks for secondary packages for x86_64. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] a84cf45: Add missing search path for <build>package_repo. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 797c1a7: Update x64_64 to current state of things. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] a4b13ed: Increase size of bootstrap image to 20 GB. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] c138f1f: BRepositoryBuilder: Add constructor for pre-init'ed repository [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cf3bb0d: BPackageManager: Abstract installed repository initialization * Rename TransactionHandler -> InstallationInterface and DaemonClientTransactionHandler -> ClientInstallationInterface. * Add InstallationInterface::InitInstalledRepository(). Use in _AddInstalledRepository() to get the repository packages instead of using the package roster. The ClientInstallationInterface implementation does it that way. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 43bd5a4: <package/Request.h>: Don't leak JobQueue into public namespace [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] a87c7d6: Don't use BPackageKit::BPrivate; avoids clashes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 18f5cd1: Explicitly denote BPrivate to avoid clashes [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 46d77ed: package daemon: Delay handling node monitor events to group them [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 94dc74b: More explicit denoting the BPrivate namespace [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9b2fd34: Add BSolverPackageSpecifierList::AppendSpecifiers() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d4f9c46: BDaemonClient: add comment [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 56b1376: BActivationTransaction: Make BArchivable [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5a5d146: BPackageManager: Make _InstallationRepository() protected [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7e0d2c4: BPackageManager: Add alternate Install()/Uninstall()/Update() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c032903: BPackageManager: Add VerifyInstallation() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 018173a: BPackageManager: Add ResultComputed() callback [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3620402: BPackageManager: Add InstalledRepository::EnablePackage() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] d3c96ad: BPackageManager: Support pre-added packages ... as needed for the package daemon. _PreparePackageChanges() doesn't try to clone them in this case. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 99f9333: BPackageManager::_CommitPackageChanges(): Fix error handling The error returned by CommitTransaction() is just indicates whether transactionResult has been initialized. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 383ac67: package daemon: Let Root know whether it is the system root [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 38c62df: package daemon: Implement dependency resolution support ... for package changes performed manually by the user (i.e. adding/removing files in a packages directory). Currently only done for the system root. Alternative roots should still work as before, so this shouldn't affect haikuporter (not tested yet). Needs some more work (e.g. the GUI part). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 406ad5b: BString::SetToFormat(): Add printf format function attribute [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b1c3379: _user_debug_output(): Fix for long strings The wrong length was passed to debug_puts(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4a8da96: BLayoutUtils: Add GetLayoutTreeDump() Returns a debug output string listing the basic layout properties of the view/item hierarchy. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5c56812: BControlLook::ComposeSpacing(): Avoid non-integers [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 88f12ad: Add private BViewPort class * It simplifies putting regular layout-aware views or layout items into a BScrollView. * Not quite complete yet: Height-for-width support is missing, but that also requires fixing BScrollView in this respect. Scroll bar auto-hide support would be nice as well. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b53a2e6: package daemon: ProblemWindow: Use a scroll view [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c159d0c: BActivationTransaction: Fix unarchiving constructor [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9f12d25: package daemon: ProblemWindow: Simplify getting the font height [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f2cba19: package daemon: ProblemWindow: Fix message constant types [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6c88312: package daemon: Replace changes alert by a window [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b3eaedd: Add missing packages for x86_64 to repository. * the Pe package doesn't work (Pe won't start), I'm still investigating as to why that is [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] dee358f: AddBootModuleSymlinksToContainer: Fix symlink target The symlink was only correct, if the container was a package. For containers with a non-empty path to the system directory the link would duplicate the system directory path. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] b0d7a45: FloppyBootImage: Add packagefs [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 3465e71: boot tarfs: Support resolving "." and ".." directory entries This makes resolving the boot module symlinks work. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cc0838d: VFS boot: Mount packagefs when booting off an image ... and the mounted boot volume looks like a PM Haiku. This gets the CD boot going. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 76cd5b0: Move stuff from HaikuImageCommon to new rule ... AddPackagesAndRepositoryVariablesToContainerScript. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] f11d742: HaikuCD: Support package resolution [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] cf70d34: Merge remote-tracking branch 'haiku/master' into package-management This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (OpenGL: Upgrade to Mesa 9.2). Conflicts: build/jam/BuildFeatures build/jam/HaikuImage build/jam/OptionalPackages build/scripts/build_cross_tools_gcc4 src/add-ons/opengl/swpipe/Jamfile src/apps/diskusage/Jamfile src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/Jamfile [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c911075: Drop debug output. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 689cebd: Add version of Pe working on x86_64 [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 8f3f0ee: Added next version of Pe for x86_64. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] af8587c: Added new jam command 'build-remote-repository'. * build-remote-repository <packages> uploads the given set of packages to the server and builds the remote repository [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 33dc65c: package daemon: Ignore only entry events of packages to remove [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0af009d: package daemon: Fix use of destroyed objects Fixes #9957. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 278f66b: x86[_64]: Enable NX on non-boot CPUs as soon as possible [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ] 1a6ebaa: Update translations from Pootle [ Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx> ] 28390f6: ext2: access the parent variable once checked it's non null * cleanup * add some inode flags we don't use [ Jérôme Duval <jerome.duval@xxxxxxxxx> ] a933ad6: virtio_net: initial skeleton driver. [ Jérôme Duval <jerome.duval@xxxxxxxxx> ] 5594217: Fix accidentally truncated addresses in call frame unwind. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 672b260: ARM: kernel: Fix compilation issue with new gas. Turns out the new gas does not like spaces :( [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] 1ea8fd5: Debugger: Add missing std::nothrow. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 5077cb0: Debugger: add Inspect context item to Registers view. - Allows one to treat the value of a register as a memory address and jump directly to inspecting said address. [ Rene Gollent <anevilyak@xxxxxxxxx> ] eb86163: virtio_net: add feature labels. [ Jérôme Duval <jerome.duval@xxxxxxxxx> ] 28cf626: virtio_net: allocate queues, read macaddress, handle ioctl. [ Jérôme Duval <jerome.duval@xxxxxxxxx> ] 5a2c582: add a constant for 10G base T ethernet. [ Jérôme Duval <jerome.duval@xxxxxxxxx> ] acd58c2: ARM: boot: Make dd on MacOS happy Turns out dd on MacOS does not like '1M' as size descriptor, but wants '1m'. To prevent us breaking Linux builds (as it does not accept 1m), just use the actual number of bytes explicitely instead. [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] a7e9ce6: Use uname -s instead of uname -o ...since BSD uname (on OS X at least) doesn't have a -o param, only a -s, Haiku has both, and both print "Haiku". [ John Scipione <jscipione@xxxxxxxxx> ] 736c1f8: Localize bitsinfo Closes ticket #7162. Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx> [ Jorma Karvonen <karvonen.jorma@xxxxxxxxx> ] cae234a: Localize bmpinfo Closes ticket #7164 Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx> [ Jorma Karvonen <karvonen.jorma@xxxxxxxxx> ] 6a66acd: Localize tgainfo Closes ticket #7168 Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx> [ Jorma Karvonen <karvonen.jorma@xxxxxxxxx> ] 89f89a0: ARM: boot: pass boot disk identifier This to stop the vfs_boot.cpp code from complaining. [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] b9e8ec7: debugger/debuganalyzer: Remove the explicit -Werror from Jamfile Specifying -Werror in the Jamfiles directly prevents the build system from disabling error-on-warning for some arch specific warnings (or even globally), breaking the ARM build. The "src/apps" directory is already setup to compile with -Werror by the build system anyway, so remove the explicit setting here. [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] 0fa2d68: ARM: stub out missing int64 atomic functions Also, add an item to the TODO list for this. Really need to figure it out soon... [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] ae4ad70: ARM: stub out makebootable so we can build a full haiku-image [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] 38bd76a: u-boot: make sure host makebootable builds too Somehow missed these few lines in my last commit. [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] ed6722a: norflash: Add hack to hide start of NOR flash This is a workaround for hiding U-Boot that is stored in the first 2 128k blocks, so we can put a BFS image into NOR to boot from (since we do not have support for SD/MMC yet in Haiku). When manually putting a BFS filesystem at block 3 we actually get right up to the point where BootScript is attempted to be executed! [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] 5308f23: usb_disk: returns B_DEV_NOT_READY for SCSI_SENSE_KEY_NOT_READY ...instead of B_DEV_NO_MEDIA. The latter seems to imply we stop testing the unit is ready in usb_disk_device_added(). Based on a patch provided by markh in #9589. [ Jerome Duval <jerome.duval@xxxxxxxxx> ] 92ab471: ntfs: make sure our confidence is higher then the intel partition add-on This as the intel partition addon just does a very weak test, and the NTFS test is much safer. This prevents NTFS filesystems that have a valid boot sector signature but no partition table, from being picked up by the intel partition table add-on instead of the ntfs add-on. Patch provided by markh, thanks! [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] dc377ab: beos_mime: add sniffer rule for .mp3 files Patch from markh (ticket #9790), thanks! [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] c75ca47: dpc: fix comments spelling. [ Jerome Duval <jerome.duval@xxxxxxxxx> ] 02cac49: Debugger: Implement #9960. - DebugReportGenerator now retrieves and dumps disassembly for the crashing function up to the crashing line. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 779d821: HaikuDepot: Use PackageInfoRefs instead of PackageInfos Instead of storing PackageInfo objects directly in the PackageLists, store PackageInfoRefs instead. This makes a lot of operations much cheaper, and it also allows making changes to a PackageInfo (which now exists only once) and have those changes reflect everywhere. In particular, it will be easier to populate some information of the PackageInfo lazily, and to listen for changes on a PackageInfo object. [ Stephan Aßmus <superstippi@xxxxxx> ] 9202a71: HaikuDepot: Add interface for PackageInfoListener. Also defines PackageInfoEvent. [ Stephan Aßmus <superstippi@xxxxxx> ] 697c0d7: hdaudio: check pin sense on init, don't wait for a switch event with headphones plugged on boot, sound was still enabled on speakers. see #9956 [ Jerome Duval <jerome.duval@xxxxxxxxx> ] 92dbf18: HaikuDepot: Added some listener support to PackageInfo [ Stephan Aßmus <superstippi@xxxxxx> ] 1c38517: ListView: More safe ScrollToSelection implementation The Problem was observed in the Time Preferences Zone view - the selection was set inside of TimeZoneView::DoLayout() call on the OutlineListView control that had zero-sized Bounds. After the control was resized the selection stay mainly hidden "under" the upper edge. The Problem looks like generic so should be fixed in the interface kit code. Proposed fix introduces additional check for the scroll position to not cross the top edge of control. [ Siarzhuk Zharski <zharik@xxxxxx> ] 6b48fa0: usb_disk: fixes 64bit trace build [ Jerome Duval <jerome.duval@xxxxxxxxx> ] 1a07e84: usb_disk: fixed mounting a USB disk on x86_64 * usb_disk_prepare_partial_buffer() was miscalculating the offset in the temp buffer, which led to a page fault later when copying to the user buffer. [ Jerome Duval <jerome.duval@xxxxxxxxx> ] 8f284ef: intel_extreme: don't expose overlay in accelerant when not allocated ... in the driver. [ Jerome Duval <jerome.duval@xxxxxxxxx> ] af8e2aa: Debugger: add settings manager for source location mappings. - If it was necessary to help the debugger locate a particular source file due to it not being found on disk at the location specified in the debug information, the associated user-supplied path mappings are now saved and restored in the team settings. The file manager still needs a bit of extra work to apply these as files are added though. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 64aae11: Fix incorrect name usage. [ Rene Gollent <anevilyak@xxxxxxxxx> ] ad054cf: Debugger: Implement #9961. - FileManager now saves any explicitly located file mappings, and properly restores them when reloading the same team/files later. [ Rene Gollent <anevilyak@xxxxxxxxx> ] f7e1dc6: Debugger: Add selection support to MemoryView. - The Inspector's memory view now supports selecting chunks of the hex display in the manner one would in a TextView. The selection can also be copied to the clipboard, or if it matches the size of a target address, can be used as input for an address to inspect directly. Still needs some fine tuning, but basically works. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 59cef1f: Build fix. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 153c6c4: Debugger: Fix data copy issue. - B_PRIx8 unfortunately doesn't necessarily strictly stay within the bounds of an 8-bit hex constant, so force the size passed to snprintf to make it that way. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 62b27e6: Fix previous format problem more correctly. Thanks Ingo, Oliver and Ithamar for the hint. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 7eec822: HaikuDepot: Package information can be retrieved asynchronously [ Stephan Aßmus <superstippi@xxxxxx> ] b9898c4: HaikuDepot: Also lock the model when updating the list [ Stephan Aßmus <superstippi@xxxxxx> ] f7628f8: HaikuDepot: Fixed selecting the right package when the list is sorted. [ Stephan Aßmus <superstippi@xxxxxx> ] 72b9e4a: Fix gcc2 build. [ Rene Gollent <anevilyak@xxxxxxxxx> ] ed6f171: BColumnListView: Enable invalidating rows, fix SetField() * Seems like there was no easy way to simply invalidate a given BRow. Introduced BColumnListView::InvalidateRow(). * BRow::SetField() tried to invalidate the row, but invalidated the listview instead of the BOutlineView responsible for drawing the list contents. Use the new InvaalidateRow(). [ Stephan Aßmus <superstippi@xxxxxx> ] b748950: HaikuDepot: Update package list when necessary * Pass the Model lock to the PackageListView. * Register a PackageInfoListener with every listed package. * Update the rating when it is fetched. [ Stephan Aßmus <superstippi@xxxxxx> ] 533036d: libroot: Make sure PTHREAD_STACK_MIN is in the allowed range [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ] 772568c: system: Use B_PAGE_SIZE to define stack sizes As korli suggested use B_PAGE_SIZE for defining stack size related definitions what seems to be more natural for them and also may help if we ever support an architecture with page size different than 4kB. [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ] 4efb0a6: posix: Update PTHREAD_STACK_MIN to match MIN_USER_STACK_SIZE Thanks for pointing this out Pete! [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ] c315b2b: Revert "ScreenSaver: ScrollToSelection off-by-one" This reverts commit fb90f7ffe49c07e82cd8cf68012929c87319f656. Underlying issue fixed in hrev46066 [ John Scipione <jscipione@xxxxxxxxx> ] 4f4270c: loader/u-boot: fix alignment of uimage components. The "blobs" in a U-Boot uimage are aligned at 4 bytes, which we did not take into account. Found this when adding a 3rd blob containing the Flattened Device Tree for ARM. [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] ba06f07: ARM: kernel: fix timer resolution and implement basic timekeeping. The previously used method for programming the timer did not take into account that our timespec is 64bit while the register we poke it into is 32 bit. Since the PXA (SoC in Verdex target) has a limited scale of resolution (us,ms,second) we dynamicly determine the one that we can most closely match, and set that. For f.ex. snooze to work however, we also need system_time to work. The current implementation uses a system timer at microsecond resolution to keep track of time. Although the code is far from perfect, committing it now before it gets lost, since I'm working on the infrastructure code to properly factor out the SoC specific code out of the core ARM architecture code (so the kernel can support more then our poor old Verdex QEMU target ;)) [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] 102ce46: norflash: do not accept any device as a valid 'norflash' Seems the original code was a little *too* simple ;-) [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] dfa5aa0: device_manager: Move init_node_tree to after kdl cmd registration This helps when debugging, since when a driver/module causes a crash while registering with the device manager, you can actually look at the device manager state ;-) [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ] 2c130f0: Debugger: Fix calculation in MemoryView. - The offset calculation for mapping the current point wasn't taking into account the number of bytes per hex block, causing it to be proportionally further off if one switched to 16/32/64-bit hex mode. Gets mouse selection working properly in said modes. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 98c5cb2: Debugger: Fix RegistersView context menu. - Always grab the address value from the actual register value column, rather than the one that's in fact under the mouse. Fixes the "Inspect" item sending you to inspect address 0 if you happened to right click over the register name rather than the value. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 89d18e9: Debugger: MemoryView - Tweak target address drawing. - Since we actually draw a selection now, change the target address highlight to clearly distinguish it. Rather than inverting it, it's now drawn with a normal background and red text in the hex display. The text mode subcomponent still shows it as an invert though, since the latter doesn't currently indicate the selection. [ Rene Gollent <anevilyak@xxxxxxxxx> ] eeebe28: Manually merge 1410faca6c30d39dc08a7bf7caa7630ce5a16d35. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 6f17e7a: Remove references to HAIKU_LOCALE_LIBS. - No longer exists in PM branch, and isn't really necessary any more as it only refers to liblocalestub anyhow. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 1f67148: Automatic whitespace cleanup. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 176041c: Build fix. [ Rene Gollent <anevilyak@xxxxxxxxx> ] d6f41e8: Debugger: Fix off by one error in report generator. - The disassembly dump would consequently stop at the instruction prior to the actual crash culprit, and also erroneously mark it as such. (cherry picked from commit 7de035619bf4e660f3f2243b343de4dffc7ab79b) [ Rene Gollent <anevilyak@xxxxxxxxx> ] 34d0d4d: dump_page_queue(): fix output * Determine the cache type per page instead of printing the first page's cache type for all pages. * Use vm_cache_type_to_string(). [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 93495b0: X86PagingStructuresPAE: clear fVirtualPageDirs in constructor ... not just the first element. Fixes a crash in X86VMTranslationMapPAE destructor when running out of memory when initializing the map. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] bcb7463: arch_vm_translation_map_early_map(): Fix debug output [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6508ce9: X86VMTranslationMapPAE::Map(): More info in assert [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 372a666: X86VMTranslationMapPAE: Add some ktracing for page (un)mapping [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6dee665: When switching to PAE don't copy not needed PTEs Now we check whether the virtual address corresponding to the PTE lies in an allocated virtual address range. This fixes a cause of #8345: The assertion would trigger when such an entry was encountered. There might be other causes that trigger the same assertion, though. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 30a517b: Add handling of B_PACAKGE_INFO_CHECKSUM to PackageInfoPrinter. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 50ae264: Add support for adding a package-info to BRepositoryWriter. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] da33bea: Add command 'update' to package_repo. * 'update' takes an existing repository and a package list file and then creates a new repository from that, avoiding expensive checksum-recomputations where possible [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 93cb796: Context: Add more uniqueness to temp directory names. - If a single thread attempted to establish multiple package kit contexts, it would fail due to a collision between their respective temporary directories. As such, use both the thread ID and system_time() as a random elements in the directory name to ensure this doesn't occur. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 0c5468e: HaikuDepot: Stub out various support classes for package kit use. - DecisionProvider and JobStateListener will be needed in order to interact with the package kit in various ways eventually, though the implementations are currently all empty. - Adjust HaikuDepot's PackageManager class to inherit from BPackageManager, so as to be able to actually interface with the package repositories. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 2f89f68: MainWindow: Initial hooks into package kit. - MainWindow now attempts to refresh all available repositories and fetch their respective package lists on startup. Much still remains to be done, such as factoring this out into a background process so it doesn't prevent the window from showing, and making the refresh step optional if we already have valid repository information, but this at least gets us showing the available package list from HaikuPorts. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 85caa04: Use BPackageInfoContentHandler in package_repo 'update'. * Ingo has pointed me at this class which already does the collecting of package attributes into a PackageInfo - so there's no need to do it manually. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] d7cbcb1: Fix build of <build>package_repo. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 53b1625: Fix host-only build. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7d09a8d: Fix build of '<build>package_repo' for real. * add missing command_update.cpp [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 9a85313: X86PagingStructuresPAE: Zero fPageDirPointerTable in constructor ... and use it as a guard in the destructor. Fixes crash when running out of memory and Init() is not called. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] c13744f: useradd: Improve usage text [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 222fb7a: getgrgid_r()/getgrname_r(): Fix group not found return value [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] fb8a9c4: getpw{nam,uid}[_r]: Fix return value behavior ... when the user is not found. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] de15b85: getgr{nam,gid}[_r](): Fix retrieving group members [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0e9e586: useradd: Support specifying group by name [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e9d9ac7: Add userdel [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 82a064b: useradd: small style fix [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 032ea9a: useradd: Create the new user with a locked password [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 6c346b8: passwd: Add option -d to delete a user's password [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] dc3be29: Enable -Werror in src/bin/multiuser [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 519bb60: Add group{add,del,mod} [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] e12c26e: ModelWindow: Populate publisher URL if available. - Also rework things a bit to fix passing the same reference into the installed package list repeatedly, thus causing only the first package to be marked as actually being installed. [ Rene Gollent <anevilyak@xxxxxxxxx> ] f7c99dc: Remove unnecessary function. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 2c287f5: Model: Add Clear() method to empty out existing depot info. [ Rene Gollent <anevilyak@xxxxxxxxx> ] d882cc2: HaikuDepot: Move repo fetch to background worker thread. - Factor out functions for refreshing the repositories and retrieving the package lists. - Add a background worker thread which handles those tasks and then notifies the window when the model is ready. - Check if we already have a repository cache, and if so, skip the refresh step, unless forced. The latter will eventually be possible via the UI. [ Rene Gollent <anevilyak@xxxxxxxxx> ] c6a952d: Add HaikuDepot to image. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 52660ce: gcc2.x build fix. [ Rene Gollent <anevilyak@xxxxxxxxx> ] b162bda: Add HaikuDepot to Deskbar menu. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 0a345af: Separate notification from deletion in repository-handlers. * Add NotifyDone() to all repository-attribute handlers and invoke that to notify any listeners. * Unify deletion to a single implementation of Delete() in the base class. Before, the root handler for a repository didn't do that, but just triggered the notification. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] b3a05ee: Fix keeping of package info during repository update. * actually write the package info read from the repository, not the one from the package, as the latter is missing the checksum [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] 976b547: HaikuDepot: Implement publisher hyperlink handling. - Clicking the publisher link now actually attempts to open the site in the browser. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 8b600ba: package daemon: Use CommitTransactionHandler in all cases ... also when only activating/deactivating already moved packages. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] be2254e: package daemon: Handle post-installation scripts, users/groups ... specified by a package when it is going to be activated. We don't try to remove users/groups when deactivating packages yet, nor is the user properly identified in all error cases. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 5af9dc2: Style fix. [ Rene Gollent <anevilyak@xxxxxxxxx> ] db25958: HaikuDepot: Flesh out PackageActions a bit. - Add background worker thread for asynchronous processing of package actions. - Implement InstallPackageAction. As such, installing packages now actually works. - Wrap requests in exception handlers, as the package manager uses those for various error cases. Fixes several cases of HaikuDepot spontaneously closing if a problem occurred. Still TODO: user error reporting, errors are currently reported on the console. [ Rene Gollent <anevilyak@xxxxxxxxx> ] f7bf1d3: HaikuDepot: Add UninstallPackageAction class. Not yet used. [ Rene Gollent <anevilyak@xxxxxxxxx> ] adde35f: HaikuDepot: Flesh out PackageManager::GetPackageActions(). - Now actually checks if and where the package is installed, and correspondingly returns back the appropriate install/uninstall actions. Consequently, HaikuDepot now allows uninstallation of (non-system) packages. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 50792d1: Update openssh and perl for x86_gcc2. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] b4c8d2f: HaikuDepot: Show installation state in list view. - Add package installation state to PackageInfo and update accordingly in Model. - Add package listener event for installation state change (not yet used). - PackageListView now fetches installation state from package and displays accordingly. [ Rene Gollent <anevilyak@xxxxxxxxx> ] cea0269: HaikuDepot: Fix a few issues pointed out by Stephan. Thanks! [ Rene Gollent <anevilyak@xxxxxxxxx> ] 4bee7f0: HaikuDepot: Add "Refresh repositories" menu item. - Allows the user to request manually updating the package list from the server. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 44698a4: HaikuDepot: Start implementing UserInteractionHandler hooks. - Use package daemon's ProblemWindow/ResultWindow for the HandleProblems() and ConfirmChanges() hooks respectively. [ Rene Gollent <anevilyak@xxxxxxxxx> ] b967ea4: Debugger: Temporarily disable file manager mappings. - There seem to be cases where the file manager is incorrectly reapplying stored mappings, resulting in no source being displayed. As such, the functionality is being disabled until the cause can be found. [ Rene Gollent <anevilyak@xxxxxxxxx> ] c848949: Debugger: Fix crash in Inspector. - If a selection was active, and the hex mode was switched to not display, a divide by zero crash would occur. Spotted by Olivier Coursiere. [ Rene Gollent <anevilyak@xxxxxxxxx> ] efcb3de: Debugger: Fix #9961. - The previous solution was applying source path mappings too early, with the consequence that the file manager would incorrectly adjust some relocations due to not being aware of the presence of all the possible parent paths yet, leading to the observed "Source not available" behavior when restoring some combinations of mappings. We now lazily apply the mappings at the point when the source code itself is actually requested to be loaded, which doesn't occur until after all image loading, etc. has completed, so the information map is complete. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 1c521f0: BString::Split(): Fix check [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 59f1891: Change volume label for MOUNT_TYPE_HOME to "config". Fixes #9968. Signed-off-by: Ingo Weinhold <ingo_weinhold@xxxxxx> [ Jessica Hamilton <jessica.l.hamilton@xxxxxxxxx> ] 4f9db8d: Should have been part of previous commit. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 7092893: Actually rename the updated repository to the target name. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] acc6f83: Update x86 openssh and perl packages, add libedit_devel [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 7cf0e76: HaikuDepot: Cleanups. - Fix passing the force parameter to the refresh worker. This makes the refresh depots menu item actually work. - Make failure messages regarding depot initialization/refresh visible to the user. [ Rene Gollent <anevilyak@xxxxxxxxx> ] fdcd014: HaikuDepot: Only send package status change notifications... ...if the package status actually did change. [ Rene Gollent <anevilyak@xxxxxxxxx> ] e550d7b: HaikuDepot: Miscellanous improvements to package state tracking. - MainWindow now listens for package installation state changes so it can keep Model's package location lists in sync. - PackageListView now updates its status column on package state changes. - PackageInfoView now updates the available action list when package installation state changes. - PackageManager populates the expected user-specified install/uninstall package sets for ProblemWindow so that one can properly filter those out. There still remain some issues with the installed locations for ResultWindow not being entirely correct though, which causes issues for package uninstallation. [ Rene Gollent <anevilyak@xxxxxxxxx> ] c996b65: HaikuDepot: Init with correct repo flags before performing actions. Still something not entirely correct with the uninstall case though. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 9e8ffcb: HaikuDepot: Rework to get actions working properly. - BPackageManager doesn't (currently) support being reused for multiple differing actions, so instantiate it on the fly for each action to be performed. - As such, pull the package action worker out of PackageManager and into MainWindow. Define abstract interface PackageActionHandler for other parts of Depot to use to instruct it to queue actions. - Adjust other parts of code to take the above into account. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 99b3982: PackageListView: Force status field to update properly. [ Rene Gollent <anevilyak@xxxxxxxxx> ] d68208f: Use double parenthesis for math expressions. This allows FreeBSD with a pure /bin/sh (not a symlink to /bin/bash) to build the cross-tools to a dedicated directory, outside of the generated folder. [ Matt Madia <mattmadia@xxxxxxxxx> ] 34f4c3e: HaikuDepot: Fix #10000. - When switching selected packages, compare the new and old package action list. If they're the same, don't bother rebuilding the button bar. [ Rene Gollent <anevilyak@xxxxxxxxx> ] f4058a3: HaikuDepot: Adjust displayed publisher. - If available, show the package's copyright information for the publisher rather than the vendor, as the latter simply indicates the maintainer of the repository rather than the actual developers of the software contained in the package. [ Rene Gollent <anevilyak@xxxxxxxxx> ] dd9658f: HaikuDepot: Sort package list by name column on startup. [ Rene Gollent <anevilyak@xxxxxxxxx> ] a5d9833: HaikuDepot: Minor optimization. - PackageAction now stores/returns a type code indicating the embodied action. Adjust PackageActionView accordingly in its comparison of the old/new package action list. [ Rene Gollent <anevilyak@xxxxxxxxx> ] 43ff23e: <NotOwningEntryRef.h>: Denote BPrivate explicitly [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 4cf3529: BCopyEngine: Add base class BEntryOperationEngineBase It contains a helper class Entry, which allows to generalize the BCopyEngine::CopyEntry() parameters. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 0ee677e: Add BRemoveEngine Similar to BCopyEngine, but it (surprise!) removes an entry. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 99f1939: package daemon: Package: Add RevisionedName[Throws]() [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 2373352: package daemon: Implement writable files handling * Move Volume::Exception to top level and into own files. * Add utility class FSUtils, move Volume::RelativePath there and add a bunch of FS utility functionality. * Add FSTransaction, a helper class to record FS operations and revert them. * When activating a package we now extract the writable files/directories it declares. The handling is not quite complete: - We don't handle merges yet. I.e. the user will have to do that manually for now. - We don't propagate issues/infos regarding the writable files (e.g. that a manual intervention is required) to the user yet. [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 8129130: Merge remote-tracking branch 'haiku/master' into package-management Conflicts: build/jam/BuildSetup build/jam/HaikuImage build/jam/board/sam460ex/BoardSetup build/jam/board/verdex/BoardSetup data/catalogs/apps/icon-o-matic/fr.catkeys src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp src/apps/debugger/files/FileManager.cpp src/apps/debugger/files/FileManager.h src/apps/debugger/user_interface/gui/inspector_window/MemoryView.cpp src/apps/haiku-depot/MainWindow.cpp src/apps/haiku-depot/MainWindow.h src/apps/haiku-depot/Model.cpp src/apps/haiku-depot/PackageInfo.h src/apps/haiku-depot/PackageInfoListener.h src/apps/haiku-depot/PackageInfoView.cpp src/apps/haiku-depot/PackageInfoView.h src/apps/haiku-depot/PackageListView.cpp src/apps/haiku-depot/PackageListView.h src/system/kernel/arch/arm/arch_timer.cpp src/system/libroot/os/arch/arm/atomic.S src/tools/translation/bitsinfo/Jamfile src/tools/translation/bmpinfo/Jamfile src/tools/translation/tgainfo/Jamfile [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] 9f81ca8: Merge branch 'package-management' Conflicts: src/preferences/network/Jamfile [ Ingo Weinhold <ingo_weinhold@xxxxxx> ] ---------------------------------------------------------------------------- 1477 files changed, 63224 insertions(+), 53182 deletions(-) Jamfile | 189 +- Jamrules | 40 +- build/config_headers/tracing_config.h | 2 + build/jam/AlternativeGCCArchive | 63 - build/jam/ArchitectureRules | 785 ++++ build/jam/BeOSRules | 64 +- build/jam/BootRules | 9 +- build/jam/BuildFeatureRules | 455 ++ build/jam/BuildFeatures | 872 ++-- build/jam/BuildSetup | 949 +---- build/jam/CommandLineArguments | 12 + build/jam/DefaultBuildProfiles | 201 + build/jam/FileRules | 157 +- build/jam/HaikuPackages | 60 + build/jam/HeadersRules | 33 +- build/jam/HelperRules | 53 +- build/jam/ImageRules | 739 ++-- build/jam/KernelRules | 15 +- build/jam/LocaleRules | 18 +- build/jam/MainBuildRules | 57 +- build/jam/MiscRules | 227 +- build/jam/OptionalLibPackages | 356 -- build/jam/OptionalPackageDependencies | 44 - build/jam/OptionalPackages | 2585 ++--------- build/jam/OptionalTestPackages | 63 +- build/jam/OverriddenJamRules | 98 +- build/jam/PackageRules | 380 +- build/jam/ReleaseBuildProfiles | 55 - build/jam/RepositoryRules | 656 +++ build/jam/UserBuildConfig.ReadMe | 28 +- build/jam/UserBuildConfig.sample | 3 - build/jam/board/beagle/BoardSetup | 8 +- build/jam/board/neo_freerunner/BoardSetup | 6 +- build/jam/board/overo/BoardSetup | 8 +- build/jam/board/raspberry_pi/BoardSetup | 6 +- build/jam/board/verdex/BoardSetup | 3 +- build/jam/{ => images}/AnybootImage | 0 build/jam/{ => images}/CDBootImage | 0 build/jam/{ => images}/CDBootPPCImage | 0 build/jam/{ => images}/FloppyBootImage | 19 +- build/jam/{ => images}/HaikuCD | 15 +- build/jam/images/HaikuImage | 341 ++ build/jam/images/HaikuImageBootstrap | 263 ++ build/jam/images/HaikuImageCommon | 157 + build/jam/{ => images}/NetBootArchive | 15 +- build/jam/packages/Haiku | 393 ++ build/jam/packages/HaikuBootstrap | 308 ++ build/jam/packages/HaikuCrossDevel | 102 + build/jam/packages/HaikuDevel | 94 + build/jam/packages/HaikuDevelSecondary | 64 + build/jam/packages/HaikuLoader | 13 + build/jam/packages/HaikuSecondary | 49 + build/jam/packages/HaikuSecondaryBootstrap | 24 + build/jam/packages/HaikuUserguide | 9 + build/jam/packages/HaikuWelcome | 9 + build/jam/packages/MakefileEngine | 12 + build/jam/packages/WebPositive | 11 + build/jam/repositories/HaikuPorts/x86 | 251 ++ build/jam/repositories/HaikuPorts/x86_64 | 198 + build/jam/repositories/HaikuPorts/x86_gcc2 | 251 ++ build/jam/repositories/HaikuPortsCross/x86 | 74 + build/jam/repositories/HaikuPortsCross/x86_64 | 57 + build/jam/repositories/HaikuPortsCross/x86_gcc2 | 74 + build/scripts/build_cross_tools | 36 +- build/scripts/build_cross_tools_gcc4 | 44 +- build/scripts/build_haiku_image | 187 +- build/scripts/build_haiku_package | 125 + build/scripts/determine_haiku_revision | 103 +- build/scripts/host_build_only | 6 + build/scripts/rm_attrs | 4 +- configure | 775 ++-- data/artwork/icons/Folder_virtual | Bin 0 -> 10341 bytes data/bin/freetype-config | 160 - data/bin/installoptionalpackage | 962 ----- data/bin/setgcc | 99 - .../post_install/add_catalog_entry_attributes.sh | 3 +- data/common/boot/post_install/mime_update.sh | 44 - data/config/boot/UserBootscript | 2 +- data/system/boot/Bootscript | 11 +- data/system/boot/SetupEnvironment | 31 +- headers/build/host/haiku_host/Errors.h | 1 + .../host/haiku_host/config_build/HaikuConfig.h | 1 + .../build/host/haiku_host/config_build/types.h | 1 + headers/build/os/app/Message.h | 3 + headers/build/os/interface/Gradient.h | 1 + headers/build/os/interface/IconUtils.h | 1 + .../build/os/package/BlockBufferCacheNoLock.h | 1 - headers/build/os/package/DownloadFileRequest.h | 1 + .../build/os/package/GlobalWritableFileInfo.h | 1 + .../build/os/package/InstallationLocationInfo.h | 1 + headers/build/os/package/User.h | 1 + headers/build/os/package/UserSettingsFileInfo.h | 1 + .../build/os/package/WritableFileUpdateType.h | 1 + headers/build/os/package/hpkg/BlockBufferCache.h | 1 - headers/build/os/package/hpkg/BlockBufferPool.h | 1 + .../os/package/hpkg/BlockBufferPoolNoLock.h | 1 + headers/build/os/package/hpkg/BufferCache.h | 1 - headers/build/os/package/hpkg/BufferPool.h | 1 + headers/build/os/package/hpkg/NoErrorOutput.h | 1 + [ *** stats truncated: 1378 lines dropped *** ] ############################################################################ Commit: 3dfd9cb95ce45f59160d50975210bc55e3fc0709 URL: http://cgit.haiku-os.org/haiku/commit/?id=3dfd9cb Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Thu Jun 16 07:00:06 2011 UTC Committer: Ingo Weinhold <ingo_weinhold@xxxxxx> Commit-Date: Sun Jul 17 14:54:06 2011 UTC Flat commit of all changes from package-management branch in svn ---------------------------------------------------------------------------- diff --git a/build/jam/AlternativeGCCArchive b/build/jam/AlternativeGCCArchive deleted file mode 100644 index 5a7827f..0000000 --- a/build/jam/AlternativeGCCArchive +++ /dev/null @@ -1,63 +0,0 @@ -# This file defines what ends up in the alternative GCC archive and it executes -# the rules building the archive. Included by HaikuImage. - - -#sanity check - make sure the primary gcc is different than the alternative gcc -if $(HAIKU_PRIMARY_GCC) = $(HAIKU_GCC_VERSION[1]) { - Exit "Error: Your alternative gcc is the same as the main gcc!" - "You need to reconfigure your generated directories." ; -} - -#pragma mark - Build The Archive - - -# archive target -HAIKU_ALTERNATIVE_GCC_ARCHIVE = alternative_system_libs.zip ; -MakeLocate $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) : $(HAIKU_OUTPUT_DIR) ; - -# the pseudo target all archive contents is attached to -NotFile $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) ; - -# prepare the script that initializes the shell variables -local initVarsScript = <AlternativeGCCArchive>haiku-alternative-gcc-init-vars ; -local script = $(initVarsScript) ; -MakeLocate $(script) : $(HAIKU_OUTPUT_DIR) ; -Always $(script) ; - -AddVariableToScript $(script) : tmpDir : $(HAIKU_TMP_DIR) ; -AddVariableToScript $(script) : addBuildCompatibilityLibDir - : $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ; -AddTargetVariableToScript $(script) : <build>copyattr ; -AddTargetVariableToScript $(script) : <build>zip ; -if $(HOST_RM_ATTRS_TARGET) { - AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ; -} else { - AddVariableToScript $(script) : rmAttrs : rm ; -} - -# create the other scripts -local makeDirsScript = <AlternativeGCCArchive>haiku-alternative-gcc-make-dirs ; -local copyFilesScript - = <AlternativeGCCArchive>haiku-alternative-gcc-copy-files ; -MakeLocate $(makeDirsScript) $(copyFilesScript) : $(HAIKU_OUTPUT_DIR) ; - -CreateAlternativeGCCArchiveMakeDirectoriesScript $(makeDirsScript) ; -CreateAlternativeGCCArchiveCopyFilesScript $(copyFilesScript) ; - -# build the archive - -BuildAlternativeGCCArchive $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) : - $(initVarsScript) - $(makeDirsScript) - $(copyFilesScript) -; - -# remove the scripts we have generated -RmTemps $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) : - $(initVarsScript) - $(makeDirsScript) - $(copyFilesScript) -; - -NotFile haiku-alternative-gcc-archive ; -Depends haiku-alternative-gcc-archive : $(HAIKU_ALTERNATIVE_GCC_ARCHIVE) ; diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 5099d52..59f8163 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -29,15 +29,6 @@ HAIKU_CONTAINER_GRIST on $(HAIKU_NET_BOOT_ARCHIVE_CONTAINER_NAME) HAIKU_INSTALL_TARGETS_VAR on $(HAIKU_NET_BOOT_ARCHIVE_CONTAINER_NAME) = HAIKU_NET_BOOT_ARCHIVE_INSTALL_TARGETS ; -# alternative gcc archive -HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME - = haiku-alternative-gcc-archive-container ; -HAIKU_CONTAINER_GRIST on $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) - = AlternativeGCCArchive ; -# HAIKU_INCLUDE_IN_CONTAINER_VAR -- update only mode not supported -HAIKU_INSTALL_TARGETS_VAR on $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) - = HAIKU_ALTERNATIVE_GCC_ARCHIVE_INSTALL_TARGETS ; - # boot floppy HAIKU_FLOPPY_BOOT_IMAGE_CONTAINER_NAME = haiku-boot-floppy-container ; HAIKU_CONTAINER_GRIST on $(HAIKU_FLOPPY_BOOT_IMAGE_CONTAINER_NAME) @@ -151,13 +142,6 @@ if $(HAIKU_GCC_VERSION[1]) = 2 { HAIKU_GCC_HEADERS_DIR = [ FDirName $(HAIKU_TOP) headers build gcc-2.95.3 ] ; } -# the subdirectory into which the alternative GCC libraries are to be installed -if $(HAIKU_GCC_VERSION[1]) = 2 { - HAIKU_ALTERNATIVE_GCC_LIB_SUBDIR = gcc2 ; -} else { - HAIKU_ALTERNATIVE_GCC_LIB_SUBDIR = gcc4 ; -} - # initial state for flags etc. HAIKU_C++ ?= $(HAIKU_CC) ; HAIKU_LINK = $(HAIKU_CC) ; diff --git a/build/jam/FloppyBootImage b/build/jam/FloppyBootImage index ea05ca5..a0f0c11 100644 --- a/build/jam/FloppyBootImage +++ b/build/jam/FloppyBootImage @@ -59,23 +59,28 @@ AddFilesToFloppyBootArchive system add-ons kernel busses ide : generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 legacy_sata it8211 ; AddFilesToFloppyBootArchive system add-ons kernel busses scsi : ahci ; -AddFilesToFloppyBootArchive system add-ons kernel console : vga_text ; +AddFilesToFloppyBootArchive system add-ons kernel console + : vga_text ; AddFilesToFloppyBootArchive system add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ; AddFilesToFloppyBootArchive system add-ons kernel generic : $(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph ; -AddFilesToFloppyBootArchive system add-ons kernel partitioning_systems +AddFilesToFloppyBootArchive + system add-ons kernel partitioning_systems : intel session ; -AddFilesToFloppyBootArchive system add-ons kernel interrupt_controllers +AddFilesToFloppyBootArchive + system add-ons kernel interrupt_controllers : $(PPC_ONLY)openpic ; if $(USB_BOOT) = 1 { - AddFilesToFloppyBootArchive system add-ons kernel busses usb + AddFilesToFloppyBootArchive + system add-ons kernel busses usb : <usb>uhci <usb>ohci <usb>ehci ; } if $(TARGET_ARCH) = x86 { - AddFilesToFloppyBootArchive system add-ons kernel cpu : generic_x86 ; + AddFilesToFloppyBootArchive system add-ons kernel cpu + : generic_x86 ; } # drivers @@ -89,7 +94,8 @@ if $(NET_BOOT) = 1 { } # kernel -AddFilesToFloppyBootArchive system : <revisioned>kernel_$(TARGET_ARCH) ; +AddFilesToFloppyBootArchive system + : <revisioned>kernel_$(TARGET_ARCH) ; # scripts and data files @@ -103,13 +109,17 @@ if $(NET_BOOT) = 1 { # add-ons AddFilesToFloppyBootArchive system add-ons kernel network : stack socket ; - AddFilesToFloppyBootArchive system add-ons kernel network devices + AddFilesToFloppyBootArchive + system add-ons kernel network devices : $(SYSTEM_NETWORK_DEVICES) ; - AddFilesToFloppyBootArchive system add-ons kernel network datalink_protocols + AddFilesToFloppyBootArchive + system add-ons kernel network datalink_protocols : $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ; - AddFilesToFloppyBootArchive system add-ons kernel network ppp + AddFilesToFloppyBootArchive + system add-ons kernel network ppp : $(SYSTEM_NETWORK_PPP) ; - AddFilesToFloppyBootArchive system add-ons kernel network protocols + AddFilesToFloppyBootArchive + system add-ons kernel network protocols : $(SYSTEM_NETWORK_PROTOCOLS) ; } diff --git a/build/jam/HaikuCD b/build/jam/HaikuCD index e88ba3b..25a49eb 100644 --- a/build/jam/HaikuCD +++ b/build/jam/HaikuCD @@ -8,13 +8,6 @@ HAIKU_CD = $(HAIKU_CD_NAME) ; HAIKU_CD_LABEL ?= $(HAIKU_DEFAULT_CD_LABEL) ; MakeLocate $(HAIKU_CD) : $(HAIKU_CD_DIR) ; -# Detect a hybrid GCC2/GCC4 image. -local isHybridBuild ; -if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1 - && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) { - isHybridBuild = 1 ; -} - # prepare the script that initializes the shell variables HAIKU_CD_INIT_VARIABLES_SCRIPT = <HaikuCD>haiku.cd-init-vars ; local script = $(HAIKU_CD_INIT_VARIABLES_SCRIPT) ; diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage index c5a8b03..6ab711f 100644 --- a/build/jam/HaikuImage +++ b/build/jam/HaikuImage @@ -47,14 +47,14 @@ SYSTEM_BIN = "[" addattr alert arp base64 basename bash bc beep bzip2 mkfifo mkfs mkindex mktemp modifiers mount mount_nfs mountvolume mv netcat netstat nl nohup notify nproc od open - passwd paste patch pathchk pc ping ping6 play playfile playsound playwav - pr prio printenv printf profile ps ptx pwd + package package_repo passwd paste patch pathchk pc ping ping6 pkgman play + playfile playsound playwav pr prio printenv printf profile ps ptx pwd query quit rc readlink ReadOnlyBootPrompt reindex release renice rlog rm rmattr rmindex rmdir roster route safemode screen_blanker screenmode screenshot sdiff setdecor settype - setversion setvolume seq sha1sum shar shred shuf shutdown sleep sort - spamdbm + setversion setvolume seq sha1sum sha256sum shar shred shuf shutdown sleep + sort spamdbm split stat strace stty su sum sync sysinfo tac tail tcpdump tcptester tee telnet telnetd test timeout top touch tput tr traceroute translate trash true truncate tsort tty @@ -89,8 +89,8 @@ SYSTEM_LIBS = liblocale.so libmail.so libmedia.so libmidi.so libmidi2.so libnetwork.so - libpng.so - <revisioned>libroot.so libroot-addon-icu.so + libpackage.so libpng.so + <revisioned>libroot.so libscreensaver.so libtextencoding.so libtiff.so libtracker.so libtranslation.so libz.so @@ -101,6 +101,7 @@ PRIVATE_SYSTEM_LIBS = libfluidsynth.so libilmimf.so liblpsolve55.so + libroot-addon-icu.so ; SYSTEM_SERVERS = app_server cddb_daemon debug_server input_server mail_daemon media_addon_server media_server midi_server mount_server net_server @@ -190,8 +191,8 @@ SYSTEM_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com $(X86_ONLY)atheros813x SYSTEM_ADD_ONS_BUS_MANAGERS = $(ATA_ONLY)ata pci $(X86_ONLY)ps2 $(X86_ONLY)isa $(IDE_ONLY)ide scsi config_manager agp_gart usb firewire $(X86_ONLY)acpi ; -SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs btrfs cdda exfat ext2 fat iso9660 nfs - attribute_overlay write_overlay ntfs reiserfs udf googlefs ; +SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs bindfs btrfs cdda exfat ext2 fat iso9660 nfs + attribute_overlay write_overlay ntfs packagefs reiserfs udf googlefs ; # wifi firmware for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) { @@ -232,7 +233,8 @@ AddFilesToHaikuImage system add-ons kernel busses scsi : ahci ; AddFilesToHaikuImage system add-ons kernel busses usb : <usb>uhci <usb>ohci <usb>ehci ; -AddFilesToHaikuImage system add-ons kernel console : vga_text ; +AddFilesToHaikuImage system add-ons kernel console + : vga_text ; AddFilesToHaikuImage system add-ons kernel debugger : <kdebug>demangle $(X86_ONLY)<kdebug>disasm <kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>run_on_exit ; @@ -241,13 +243,16 @@ AddFilesToHaikuImage system add-ons kernel file_systems AddFilesToHaikuImage system add-ons kernel generic : $(ATA_ONLY)ata_adapter dpc $(IDE_ONLY)ide_adapter locked_pool mpu401 scsi_periph <module>tty ; -AddFilesToHaikuImage system add-ons kernel partitioning_systems +AddFilesToHaikuImage + system add-ons kernel partitioning_systems : amiga_rdb apple efi_gpt intel session ; -AddFilesToHaikuImage system add-ons kernel interrupt_controllers +AddFilesToHaikuImage + system add-ons kernel interrupt_controllers : $(PPC_ONLY)openpic ; if $(TARGET_ARCH) = x86 { - AddFilesToHaikuImage system add-ons kernel cpu : generic_x86 ; + AddFilesToHaikuImage system add-ons kernel cpu + : generic_x86 ; } # drivers @@ -276,10 +281,11 @@ AddDriversToHaikuImage ports : usb_serial ; #AddDriversToHaikuImage power : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ; # kernel -AddFilesToHaikuImage system : <revisioned>kernel_$(TARGET_ARCH) ; +AddFilesToHaikuImage system + : <revisioned>kernel_$(TARGET_ARCH) ; # libs -AddLibrariesToHaikuHybridImage system lib +AddLibrariesToHaikuImage system lib : $(SYSTEM_LIBS) $(PRIVATE_SYSTEM_LIBS) ; # libnetwork.so replaces quite a few libraries @@ -289,12 +295,12 @@ SYSTEM_LIBS_LIBNETWORK_ALIASES if $(HAIKU_GCC_VERSION[1]) = 2 { local lib ; for lib in $(SYSTEM_LIBS_LIBNETWORK_ALIASES) { - AddSymlinkToHaikuHybridImage system lib : libnetwork.so : $(lib) - : : true ; + AddSymlinkToHaikuImage system lib + : libnetwork.so : $(lib) ; } - AddSymlinkToHaikuHybridImage system lib : libbnetapi.so : libnetapi.so - : : true ; + AddSymlinkToHaikuImage system lib : libbnetapi.so + : libnetapi.so ; } @@ -305,7 +311,8 @@ SYSTEM_LIBS_LIBGL_ALIASES if $(TARGET_ARCH) = x86 { local lib ; for lib in $(SYSTEM_LIBS_LIBGL_ALIASES) { - AddSymlinkToHaikuHybridImage system lib : libGL.so : $(lib) : : true ; + AddSymlinkToHaikuImage system lib + : libGL.so : $(lib) ; } } @@ -319,10 +326,12 @@ SYSTEM_LIBS_ALIASES = AddFilesToHaikuImage system servers : $(SYSTEM_SERVERS) ; # apps -AddFilesToHaikuImage system : runtime_loader Deskbar Tracker ; +AddFilesToHaikuImage system : runtime_loader ; +AddFilesToHaikuImage system : Deskbar Tracker ; AddFilesToHaikuImage system bin : $(SYSTEM_BIN) consoled ; AddFilesToHaikuImage system apps : $(SYSTEM_APPS) ; -AddFilesToHaikuImage system preferences : $(SYSTEM_PREFERENCES) ; +AddFilesToHaikuImage system preferences + : $(SYSTEM_PREFERENCES) ; AddFilesToHaikuImage system demos : $(SYSTEM_DEMOS) ; SEARCH on which = [ FDirName $(HAIKU_TOP) data bin ] ; @@ -330,15 +339,18 @@ AddFilesToHaikuImage system bin : which ; SEARCH on installoptionalpackage = [ FDirName $(HAIKU_TOP) data bin ] ; AddFilesToHaikuImage system bin : installoptionalpackage ; SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ; -AddFilesToHaikuImage system bin : install-wifi-firmwares.sh ; +AddFilesToHaikuImage system bin + : install-wifi-firmwares.sh ; +# TODO: remove! # Add the files to be used by installoptionalpackage. AddDirectoryToHaikuImage common data optional-packages ; local optional-pkg-files = OptionalBuildFeatures OptionalPackageDependencies OptionalPackages OptionalLibPackages ; for name in $(optional-pkg-files) { local file = [ FDirName $(HAIKU_TOP) build jam $(name) ] ; - AddFilesToHaikuImage common data optional-packages : $(file) ; + AddFilesToHaikuImage common data optional-packages + : $(file) ; } AddInstalledPackagesFileToHaikuImage ; @@ -352,8 +364,9 @@ AddDirectoryToHaikuImage home mail draft ; AddDirectoryToHaikuImage home mail in ; AddDirectoryToHaikuImage home mail out ; +AddSymlinkToHaikuImage home config settings : deskbar : be ; # Deskbar Application links -AddDirectoryToHaikuImage home config be Applications ; +AddDirectoryToHaikuImage home config settings deskbar Applications ; DESKBAR_APPLICATIONS = ActivityMonitor CharacterMap CodyCam CDPlayer DeskCalc Devices DiskProbe DriveSetup DiskUsage Expander Icon-O-Matic Installer Magnify Mail MediaConverter MediaPlayer MidiPlayer People PoorMan @@ -361,32 +374,33 @@ DESKBAR_APPLICATIONS = ActivityMonitor CharacterMap CodyCam CDPlayer DeskCalc ; local linkTarget ; for linkTarget in $(DESKBAR_APPLICATIONS) { - AddSymlinkToHaikuImage home config be Applications + AddSymlinkToHaikuImage home config settings deskbar Applications : /boot/system/apps/$(linkTarget) : $(linkTarget) ; } # Deskbar Desktop applets links -AddDirectoryToHaikuImage home config be Desktop\ applets ; +AddDirectoryToHaikuImage home config settings deskbar Desktop\ applets ; DESKBAR_DESKTOP_APPLETS = LaunchBox NetworkStatus PowerStatus ProcessController Workspaces ; for linkTarget in $(DESKBAR_DESKTOP_APPLETS) { - AddSymlinkToHaikuImage home config be Desktop\ applets + AddSymlinkToHaikuImage home config settings deskbar Desktop\ applets : /boot/system/apps/$(linkTarget) : $(linkTarget) ; } # Deskbar Preferences links -AddDirectoryToHaikuImage home config be Preferences ; +AddDirectoryToHaikuImage home config settings deskbar Preferences ; DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ; for linkTarget in $(DESKBAR_PREFERENCES) { - AddSymlinkToHaikuImage home config be Preferences - : /boot/system/preferences/$(linkTarget) : $(linkTarget) ; + AddSymlinkToHaikuImage home config settings deskbar Preferences + : /boot/system/preferences/$(linkTarget) + : $(linkTarget) ; } # Deskbar Demo links -AddDirectoryToHaikuImage home config be Demos ; +AddDirectoryToHaikuImage home config settings deskbar Demos ; for linkTarget in $(SYSTEM_DEMOS) { - AddSymlinkToHaikuImage home config be Demos + AddSymlinkToHaikuImage home config settings deskbar Demos : /boot/system/demos/$(linkTarget) : $(linkTarget) ; } @@ -431,14 +445,15 @@ local spellFiles = words geekspeak ; spellFiles = $(spellFiles:G=spell) ; SEARCH on $(spellFiles) = [ FDirName $(HAIKU_TOP) src apps mail ] ; -AddFilesToHaikuImage system data spell_check word_dictionary : $(spellFiles) ; +AddFilesToHaikuImage system data spell_check word_dictionary + : $(spellFiles) ; local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ; local etcFiles = inputrc profile ; etcFiles = $(etcFiles:G=etc) ; SEARCH on $(etcFiles) = [ FDirName $(etcDir) ] ; etcFiles += <etc>termcap <etc>sysless <etc>sysless.in ; -AddFilesToHaikuImage common etc : $(etcFiles) ; +AddFilesToHaikuImage common settings etc : $(etcFiles) ; local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ; profileFiles = $(profileFiles:G=profile-d) ; @@ -477,9 +492,11 @@ local cannaDefault = [ Glob $(cannaDir)/default : *.canna *.gz ] ; local cannaDic = [ Glob $(cannaDir)/dic : *.cbp ] ; local cannaDicCanna = [ Glob $(cannaDir)/dic/canna : *.cld *.ctd *.cbd *.dir ] ; -AddFilesToHaikuImage system data Canna default : $(cannaDefault) ; +AddFilesToHaikuImage system data Canna default + : $(cannaDefault) ; AddFilesToHaikuImage system data Canna dic : $(cannaDic) ; -AddFilesToHaikuImage system data Canna dic canna : $(cannaDicCanna) ; +AddFilesToHaikuImage system data Canna dic canna + : $(cannaDicCanna) ; AddDirectoryToHaikuImage system data Canna dic group ; AddDirectoryToHaikuImage system data Canna dic user ; @@ -487,14 +504,18 @@ local keymapFiles = [ Glob [ FDirName $(HAIKU_TOP) src data keymaps ] : *.keymap ] ; keymapFiles = $(keymapFiles:BG=keymap) ; AddFilesToHaikuImage system data Keymaps : $(keymapFiles) ; -AddSymlinkToHaikuImage system data Keymaps : Swedish : Finnish ; -AddSymlinkToHaikuImage system data Keymaps : Slovene : Croatian ; -AddSymlinkToHaikuImage system data Keymaps : US-International : Brazilian ; +AddSymlinkToHaikuImage system data Keymaps : Swedish + : Finnish ; +AddSymlinkToHaikuImage system data Keymaps : Slovene + : Croatian ; +AddSymlinkToHaikuImage system data Keymaps : US-International + : Brazilian ; local keyboardLayoutsDir = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ; local keyboardLayouts = [ Glob $(keyboardLayoutsDir) : [^.]* ] ; -AddFilesToHaikuImage system data KeyboardLayouts : $(keyboardLayouts) ; +AddFilesToHaikuImage system data KeyboardLayouts + : $(keyboardLayouts) ; local driverSettingsFiles = <driver-settings>kernel ; SEARCH on $(driverSettingsFiles) @@ -515,7 +536,8 @@ SEARCH on $(postInstallFiles) = [ FDirName $(HAIKU_TOP) data common boot post_install ] ; SEARCH on <post-install>fresh_install = [ FDirName $(HAIKU_TOP) data common settings ] ; -AddFilesToHaikuImage common boot post_install : $(postInstallFiles) ; +AddFilesToHaikuImage common boot post_install + : $(postInstallFiles) ; AddFilesToHaikuImage common settings : <post-install>fresh_install ; # boot loader @@ -538,20 +560,27 @@ AddBootModuleSymlinksToHaikuImage # add-ons AddFilesToHaikuImage system add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ; -AddFilesToHaikuHybridImage system add-ons opengl - : Mesa\ Software\ Renderer : : true ; -AddFilesToHaikuHybridImage system add-ons Translators - : $(SYSTEM_ADD_ONS_TRANSLATORS) : : true ; +AddFilesToHaikuImage system add-ons opengl + : Mesa\ Software\ Renderer ; +AddFilesToHaikuImage system add-ons Translators + : $(SYSTEM_ADD_ONS_TRANSLATORS) ; AddFilesToHaikuImage system add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ; -AddFilesToHaikuHybridImage system add-ons locale catalogs - : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) : : true ; -AddFilesToHaikuImage system add-ons mail_daemon inbound_protocols : POP3 IMAP ; -AddFilesToHaikuImage system add-ons mail_daemon outbound_protocols : SMTP ; -AddFilesToHaikuImage system add-ons mail_daemon inbound_filters +AddFilesToHaikuImage system add-ons locale catalogs + : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ; +AddFilesToHaikuImage + system add-ons mail_daemon inbound_protocols + : POP3 IMAP ; +AddFilesToHaikuImage + system add-ons mail_daemon outbound_protocols : SMTP ; +AddFilesToHaikuImage + system add-ons mail_daemon inbound_filters : MatchHeader SpamFilter NewMailNotification ; -AddFilesToHaikuImage system add-ons mail_daemon outbound_filters : Fortune ; -AddFilesToHaikuImage system add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ; +AddFilesToHaikuImage + system add-ons mail_daemon outbound_filters + : Fortune ; +AddFilesToHaikuImage system add-ons media + : $(SYSTEM_ADD_ONS_MEDIA) ; AddFilesToHaikuImage system add-ons media plugins : $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ; AddFilesToHaikuImage system add-ons Tracker @@ -571,13 +600,15 @@ AddFilesToHaikuImage system add-ons kernel network : <net>notifications stack ; AddFilesToHaikuImage system add-ons kernel network devices : $(SYSTEM_NETWORK_DEVICES) ; -AddFilesToHaikuImage system add-ons kernel network datalink_protocols +AddFilesToHaikuImage + system add-ons kernel network datalink_protocols : $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ; AddFilesToHaikuImage system add-ons kernel network ppp : $(SYSTEM_NETWORK_PPP) ; AddFilesToHaikuImage system add-ons kernel network protocols : $(SYSTEM_NETWORK_PROTOCOLS) ; -AddFilesToHaikuImage system add-ons Print : $(SYSTEM_ADD_ONS_PRINT) ; +AddFilesToHaikuImage system add-ons Print + : $(SYSTEM_ADD_ONS_PRINT) ; AddFilesToHaikuImage system add-ons Print transport : $(SYSTEM_ADD_ONS_PRINT_TRANSPORT) ; AddFilesToHaikuImage system add-ons Screen\ Savers @@ -593,15 +624,17 @@ AddFilesToHaikuImage home config add-ons decorators : # create directories that will remain empty AddDirectoryToHaikuImage common bin ; -AddDirectoryToHaikuImage common include ; +AddDirectoryToHaikuImage common cache tmp ; +AddDirectoryToHaikuImage common develop headers ; AddDirectoryToHaikuImage common lib ; +AddDirectoryToHaikuImage common non-packaged ; +AddDirectoryToHaikuImage common var empty ; +AddDirectoryToHaikuImage common var log ; AddDirectoryToHaikuImage home Desktop ; AddDirectoryToHaikuImage home config bin ; AddDirectoryToHaikuImage home config lib ; +AddDirectoryToHaikuImage home config non-packaged ; AddDirectoryToHaikuImage home mail ; -AddDirectoryToHaikuImage common var empty ; -AddDirectoryToHaikuImage common var log ; -AddDirectoryToHaikuImage common cache tmp ; AddDirectoryToHaikuImage home config add-ons kernel drivers bin ; AddDirectoryToHaikuImage home config add-ons kernel drivers dev ; @@ -688,49 +721,6 @@ if $(HAIKU_IMAGE_OPTIONAL_PACKAGE_DESCRIPTIONS) { } -#pragma mark - Alternative GCC Libraries - - -# We build a zip archive containing the libraries built with the alternative -# GCC and unzip onto our image. Building the archive is done by a sub-jam. -include [ FDirName $(HAIKU_BUILD_RULES_DIR) AlternativeGCCArchive ] ; - -if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1 - && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) { - # let another jam build a zip with the system libraries - rule InvokeSubJam target : directory : jamLine - { - DIRECTORY on $(target) = $(directory) ; - COMMAND_LINE on $(target) = $(jamLine) ; - local optionalPackages = $(HAIKU_ADDED_OPTIONAL_PACKAGES:J=/) ; - OPTIONAL_PACKAGES on $(target) = $(optionalPackages:E="") ; - Always $(target) ; - InvokeSubJam1 $(target) ; - } - - actions InvokeSubJam1 - { - cd $(DIRECTORY) - export HAIKU_IGNORE_USER_BUILD_CONFIG=1 - export HAIKU_ADD_OPTIONAL_PACKAGES=$(OPTIONAL_PACKAGES) - export HAIKU_PRIMARY_GCC=$(HAIKU_GCC_VERSION[1]) - $(JAM:E=jam) -q $(COMMAND_LINE) ; - } - - local otherAlternativeSystemLibsZip - = <other-image>alternative_system_libs.zip ; - MakeLocate $(otherAlternativeSystemLibsZip) - : $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) ; - - InvokeSubJam $(otherAlternativeSystemLibsZip) - : $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) - : "haiku-alternative-gcc-archive" ; - - # install the alternative libs in the right directory - ExtractArchiveToHaikuImage : $(otherAlternativeSystemLibsZip) ; -} - - #pragma mark - User/Group Setup @@ -778,13 +768,6 @@ HAIKU_INSTALL_DIR ?= $(HAIKU_DEFAULT_INSTALL_DIR) ; # the pseudo target all image contents is attached to NotFile $(HAIKU_IMAGE_CONTAINER_NAME) ; -# Detect a hybrid GCC2/GCC4 image. -local isHybridBuild ; -if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1 - && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) { - isHybridBuild = 1 ; -} - # prepare the script that initializes the shell variables HAIKU_IMAGE_INIT_VARIABLES_SCRIPT = <HaikuImage>haiku.image-init-vars ; local script = $(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT) ; diff --git a/build/jam/ImageRules b/build/jam/ImageRules index b909035..ebbe599 100644 --- a/build/jam/ImageRules +++ b/build/jam/ImageRules @@ -195,7 +195,8 @@ rule AddFilesToContainer container : directoryTokens : targets : destName if $(catalogs) { local signature = [ on $(target) return $(HAIKU_CATALOG_SIGNATURE) ] ; - AddFilesToHaikuImage system data locale catalogs $(signature) + AddFilesToHaikuImage + system data locale catalogs $(signature) : $(catalogs) ; } } @@ -302,7 +303,8 @@ rule AddDriversToContainer container : relativeDirectoryTokens : targets local directoryTokens = system add-ons kernel drivers dev $(relativeDirectoryTokens) ; - AddFilesToContainer $(container) : system add-ons kernel drivers bin + AddFilesToContainer $(container) + : system add-ons kernel drivers bin : $(targets) ; # If the image shall only be updated, we don't add any symlinks. @@ -367,7 +369,8 @@ rule AddBootModuleSymlinksToContainer container : targets local name = $(target:BS) ; local linkTarget = [ FDirName /boot $(installDir:G=) $(name) ] ; - AddSymlinkToContainer $(container) : system add-ons kernel boot + AddSymlinkToContainer $(container) + : system add-ons kernel boot : $(linkTarget) : $(name) ; } } @@ -672,6 +675,8 @@ rule AddSymlinkToHaikuImage directoryTokens : linkTarget : linkName { # AddSymlinkToHaikuImage <directory> : <link target> [ : <link name> ] ; + linkTarget = $(linkTarget:J=/) ; + AddSymlinkToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : $(directoryTokens) : $(linkTarget) : $(linkName) ; } @@ -704,7 +709,7 @@ rule AddHeaderDirectoryToHaikuImage dirTokens : dirName : alwaysUpdate # AddHeaderDirectoryToHaikuImage <dirTokens> : [ <dirName> ] # : <alwaysUpdate> ; - CopyDirectoryToHaikuImage develop headers + CopyDirectoryToHaikuImage system develop headers : [ FDirName $(HAIKU_TOP) headers $(dirTokens) ] : $(dirName) : -x .svn : $(alwaysUpdate) ; } @@ -822,6 +827,15 @@ rule InstallSourceArchive file : url } } +rule InstallCommonPackage package : url +{ + # download archive file + local archiveFile = [ DownloadFile $(package) : $(url) ] ; + + # copy onto image + ExtractArchiveToHaikuImage common packages : $(archiveFile) ; +} + rule InstallOptionalHaikuImagePackage package : url : dirTokens : isCDPackage { # download archive file @@ -850,7 +864,7 @@ rule AddEntryToHaikuImageUserGroupFile file : entry Always $(file) ; MakeLocate $(file) : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ; BuildHaikuImageUserGroupFile $(file) ; - AddFilesToHaikuImage common etc : $(file) ; + AddFilesToHaikuImage common settings etc : $(file) ; } HAIKU_IMAGE_USER_GROUP_ENTRIES on $(file) = $(allEntries) ; @@ -917,7 +931,8 @@ rule AddExpanderRuleToHaikuImage mimetype : extension : list : extract Exit "Invalid expander rule specification passed to AddExpanderRule." ; } - local entry = "\\\"$(mimetype)\\\"\\\t$(extension)\\\t\\\"$(list)\\\"\\\t\\\"$(extract)\\\"" ; + local entry + = "\\\"$(mimetype)\\\"\\\t$(extension)\\\t\\\"$(list)\\\"\\\t\\\"$(extract)\\\"" ; AddEntryToHaikuImageExpanderRuleFile <haiku-image>expander.rules : $(entry) ; } @@ -930,7 +945,8 @@ rule AddInstalledPackagesFileToHaikuImage Always $(file) ; MakeLocate $(file) : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ; BuildHaikuImageInstalledPackagesFile $(file) ; - AddFilesToHaikuImage common data optional-packages : $(file) ; + AddFilesToHaikuImage common data optional-packages + : $(file) ; } actions BuildHaikuImageInstalledPackagesFile @@ -957,7 +973,8 @@ rule AddLicenseToHaikuImage file : name : searchPath name = ; } - AddFilesToHaikuImage system data licenses : $(file) : $(name) ; + AddFilesToHaikuImage system data licenses : $(file) + : $(name) ; } @@ -1116,138 +1133,9 @@ actions BuildNetBootArchive1 } -#pragma mark - Alternative GCC Archive rules - - -rule AddDirectoryToAlternativeGCCArchive directoryTokens -{ - # AddDirectoryToAlternativeGCCArchive <directoryTokens> - - return [ AddDirectoryToContainer - $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) : $(directoryTokens) ] ; -} - -rule AddFilesToAlternativeGCCArchive directory : targets : destName -{ - # AddFilesToAlternativeGCCArchive <directory> : <targets> [ : dest name ] - - AddFilesToContainer $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) - : $(directory) : $(targets) : $(destName) ; -} - -rule AddSymlinkToAlternativeGCCArchive directoryTokens : linkTarget : linkName -{ - # AddSymlinkToAlternativeGCCArchive <directory> : <link target> - # [ : <link name> ] ; - - AddSymlinkToContainer $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) - : $(directoryTokens) : $(linkTarget) : $(linkName) ; -} - -rule CopyDirectoryToAlternativeGCCArchive directoryTokens : sourceDirectory - : targetDirectoryName : excludePatterns : alwaysUpdate -{ - CopyDirectoryToContainer $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) - : $(directoryTokens) : $(sourceDirectory) : $(targetDirectoryName) - : $(excludePatterns) : $(alwaysUpdate) ; -} - -rule CreateAlternativeGCCArchiveMakeDirectoriesScript script -{ - CreateContainerMakeDirectoriesScript - $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) : $(script) ; -} - -rule CreateAlternativeGCCArchiveCopyFilesScript script -{ - CreateContainerCopyFilesScript - $(HAIKU_ALTERNATIVE_GCC_ARCHIVE_CONTAINER_NAME) : $(script) ; -} - -rule BuildAlternativeGCCArchive archive : scripts -{ - # BuildAlternativeGCCArchive <archive> : <scripts> ; - - local mainScript = build_archive ; - SEARCH on $(mainScript) = [ FDirName $(HAIKU_TOP) build scripts ] ; - - Depends $(archive) : $(mainScript) $(scripts) ; - BuildAlternativeGCCArchive1 $(archive) : $(mainScript) $(scripts) ; -} - -actions BuildAlternativeGCCArchive1 -{ - $(2[1]) $(1) $(2[2-]) -} - - -#pragma mark - Haiku Hybrid Image rules - - -rule AddFilesToHaikuHybridImage directory : targets : destName - : useABISubDir -{ - # AddFilesToHaikuHybridImage <directory> : <targets> : <destName> - # : <useABISubDir> - # - # Convenience rule calling both AddFilesToHaikuImage and - # AddFilesToAlternativeGCCArchive. - # - # <useABISubDir> - # if non-empty, specifies that an ABI subdirectory shall be appended to - # <directory> for the alternative GCC archive. - - local alternativeSubDir ; - if $(useABISubDir) { - alternativeSubDir = gcc$(HAIKU_GCC_VERSION[1]) ; - } - - AddFilesToHaikuImage $(directory) : $(targets) : $(destName) ; - AddFilesToAlternativeGCCArchive $(directory) $(alternativeSubDir) - : $(targets) : $(destName) ; -} - -rule AddSymlinkToHaikuHybridImage directoryTokens : linkTarget : linkName - : useSymlinkTargetABISubDir : useABISubDir -{ - # AddSymlinkToHaikuHybridImage <directoryTokens> : <linkTarget> : <linkName> - # [ : <useSymlinkTargetABISubDir> [ : <useABISubDir> ] ] - # - # Convenience rule calling both AddSymlinkToHaikuImage and - # AddSymlinkToAlternativeGCCArchive. - # - # <linkTarget> - # Can be a list of components that will be joined to path inserting - # "/"s inbetween. - # <useSymlinkTargetABISubDir> - # If non-empty, specifies that an ABI subdirectory shall be inserted - # into <linkTarget> (between the first and second component) for the - # alternative GCC archive. - # <useABISubDir> - # If non-empty, specifies that an ABI subdirectory part shall be appended - # to the directory tokens for the alternative GCC archive. - - local alternativeDirTokens = $(directoryTokens) ; - if $(useABISubDir) { - alternativeDirTokens += gcc$(HAIKU_GCC_VERSION[1]) ; - } - - local alternativeLinkTarget = $(linkTarget) ; - if $(useSymlinkTargetABISubDir) { - alternativeLinkTarget = $(linkTarget[1]) gcc$(HAIKU_GCC_VERSION[1]) - $(linkTarget[2-]) ; - } - linkTarget = $(linkTarget:J=/) ; - alternativeLinkTarget = $(alternativeLinkTarget:J=/) ; - - AddSymlinkToHaikuImage $(directoryTokens) : $(linkTarget) : $(linkName) ; - AddSymlinkToAlternativeGCCArchive $(alternativeDirTokens) - : $(alternativeLinkTarget) : $(linkName) ; -} - -rule AddLibrariesToHaikuHybridImage directory : libs +rule AddLibrariesToHaikuImage directory : libs { - # AddLibraryToHaikuHybridImage <directory> : <libs> + # AddLibraryToHaikuImage <directory> : <libs> # # Installs libraries with the appropriate links onto the image. # @@ -1257,12 +1145,10 @@ rule AddLibrariesToHaikuHybridImage directory : libs local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ; if $(abiVersion) { local abiVersionedLib = $(lib).$(abiVersion) ; - AddFilesToHaikuHybridImage $(directory) - : $(lib) : $(abiVersionedLib) : true ; - AddSymlinkToHaikuHybridImage $(directory) - : $(abiVersionedLib) : $(lib) : : true ; + AddFilesToHaikuImage $(directory) : $(lib) : $(abiVersionedLib) ; + AddSymlinkToHaikuImage $(directory) : $(abiVersionedLib) : $(lib) ; } else { - AddFilesToHaikuHybridImage $(directory) : $(lib) : : true ; + AddFilesToHaikuImage $(directory) : $(lib) ; } } } diff --git a/build/jam/NetBootArchive b/build/jam/NetBootArchive index 449674e..46b3a9b 100644 --- a/build/jam/NetBootArchive +++ b/build/jam/NetBootArchive @@ -50,18 +50,22 @@ AddFilesToNetBootArchive system add-ons kernel busses ide : generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 ; AddFilesToNetBootArchive system add-ons kernel busses scsi : ahci ; -AddFilesToNetBootArchive system add-ons kernel console : vga_text ; +AddFilesToNetBootArchive system add-ons kernel console + : vga_text ; AddFilesToNetBootArchive system add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ; AddFilesToNetBootArchive system add-ons kernel generic : $(IDE_ONLY)ide_adapter $(ATA_ONLY)ata_adapter locked_pool scsi_periph ; -AddFilesToNetBootArchive system add-ons kernel partitioning_systems +AddFilesToNetBootArchive + system add-ons kernel partitioning_systems : intel session ; -AddFilesToNetBootArchive system add-ons kernel interrupt_controllers +AddFilesToNetBootArchive + system add-ons kernel interrupt_controllers : $(PPC_ONLY)openpic ; if $(TARGET_ARCH) = x86 { - AddFilesToNetBootArchive system add-ons kernel cpu : generic_x86 ; + AddFilesToNetBootArchive system add-ons kernel cpu + : generic_x86 ; } # drivers @@ -71,7 +75,8 @@ AddDriversToNetBootArchive disk virtual : remote_disk ; AddDriversToNetBootArchive net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ; # kernel -AddFilesToNetBootArchive system : <revisioned>kernel_$(TARGET_ARCH) ; +AddFilesToNetBootArchive system + : <revisioned>kernel_$(TARGET_ARCH) ; # scripts and data files @@ -86,11 +91,13 @@ AddFilesToNetBootArchive system add-ons kernel network : <net>notifications stack ; AddFilesToNetBootArchive system add-ons kernel network devices : $(SYSTEM_NETWORK_DEVICES) ; -AddFilesToNetBootArchive system add-ons kernel network datalink_protocols +AddFilesToNetBootArchive + system add-ons kernel network datalink_protocols : $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ; AddFilesToNetBootArchive system add-ons kernel network ppp : $(SYSTEM_NETWORK_PPP) ; -AddFilesToNetBootArchive system add-ons kernel network protocols +AddFilesToNetBootArchive + system add-ons kernel network protocols : $(SYSTEM_NETWORK_PROTOCOLS) ; # boot module links diff --git a/build/jam/OptionalLibPackages b/build/jam/OptionalLibPackages index ecaf225..a5d063a 100644 --- a/build/jam/OptionalLibPackages +++ b/build/jam/OptionalLibPackages @@ -2,15 +2,6 @@ # It is directly included from HaikuImage -- all variables defined there can # be used -# Detect a hybrid GCC2/GCC4 image and disable the checks for unavailable GCC4 -# packages. (It does not matter if a package was built with either compiler, -# the system should have the respective other system libs.) -local isHybridBuild ; -if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1 - && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) { - isHybridBuild = 1 ; -} - # Available Optional Lib Packages: # AllegroLibs @@ -65,7 +56,7 @@ if [ IsOptionalHaikuImagePackageAdded box2d ] { if $(TARGET_ARCH) != x86 { Echo "No optional package box2d available for $(TARGET_ARCH)" ; } else { - if $(HAIKU_GCC_VERSION[1]) >= 4 || $(isHybridBuild) { + if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage box2d-2.1.2-r1a3-r1a3-x86-gcc4-2011-05-26.zip : $(baseURL)/lib/box2d-2.1.2-r1a3-x86-gcc4-2011-05-26.zip diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index 3f190a7..2a33a3d 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -2,15 +2,6 @@ # It is directly included from HaikuImage -- all variables defined there can # be used -# Detect a hybrid GCC2/GCC4 image and disable the checks for unavailable GCC4 -# packages. (It does not matter if a package was built with either compiler, -# the system should have the respective other system libs.) -local isHybridBuild ; -if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1 - && $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR) { - isHybridBuild = 1 ; -} - # Available Optional Packages: # ABI-compliance-checker - tool for checking ABI compatibility between libs @@ -99,7 +90,7 @@ local baseSourceURL = http://haiku-files.org/files/sources ; # ABI-compliance-checker if [ IsOptionalHaikuImagePackageAdded ABI-compliance-checker ] { - if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { + if $(HAIKU_GCC_VERSION[1]) < 4 { Echo "No optional package ABI-compliance-checker for gcc2" ; } else { InstallOptionalHaikuImagePackage @@ -114,12 +105,12 @@ if [ IsOptionalHaikuImagePackageAdded APR ] { if $(TARGET_ARCH) != x86 { Echo "No optional package APR available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage apr-1.4.2-r1a3-x86-gcc4-2011-05-24.zip : $(baseURL)/apr-1.4.2-r1a3-x86-gcc4-2011-05-24.zip : : true ; } else { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage apr-1.4.2-r1a3-x86-gcc2-2011-05-17.zip : $(baseURL)/apr-1.4.2-r1a3-x86-gcc2-2011-05-17.zip : : true ; @@ -132,12 +123,12 @@ if [ IsOptionalHaikuImagePackageAdded APR-util ] { if $(TARGET_ARCH) != x86 { Echo "No optional package APR-util available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage apr-util-1.3.10-r1a3-x86-gcc4-2011-05-24.zip : $(baseURL)/apr-util-1.3.10-r1a3-x86-gcc4-2011-05-24.zip : : true ; } else { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage apr-util-1.3.10-r1a3-x86-gcc2-2011-05-17.zip : $(baseURL)/apr-util-1.3.10-r1a3-x86-gcc2-2011-05-17.zip : : true ; @@ -149,10 +140,10 @@ if [ IsOptionalHaikuImagePackageAdded APR-util ] { if [ IsOptionalHaikuImagePackageAdded ArmyKnife ] { if $(TARGET_ARCH) != x86 { Echo "No optional package ArmyKnife available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package ArmyKnife for gcc4" ; } else { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage armyknife-63-r1a3-x86-gcc2-2011-06-04.zip : $(baseURL)/armyknife-63-r1a3-x86-gcc2-2011-06-04.zip ; AddSymlinkToHaikuImage home config be Applications @@ -181,7 +172,7 @@ if [ IsOptionalHaikuImagePackageAdded BeAE ] { Echo "No optional package BeAE available for $(TARGET_ARCH)" ; } else { if $(HAIKU_GCC_VERSION[1]) >= 4 { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage beae-22-r1a3-x86-gcc4-2011-05-24.zip : $(baseURL)/beae-22-r1a3-x86-gcc4-2011-05-24.zip ; } else { @@ -199,7 +190,7 @@ if [ IsOptionalHaikuImagePackageAdded BeAE ] { if [ IsOptionalHaikuImagePackageAdded Beam ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Beam available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package Beam available for gcc4" ; } else { InstallOptionalHaikuImagePackage Beam-1.2alpha-x86-gcc2-2010-04-29.zip @@ -216,7 +207,8 @@ if [ IsOptionalHaikuImagePackageAdded BeBook ] { : $(baseURL)/bebook_20081026.zip : system documentation ; AddSymlinkToHaikuImage home Desktop - : /boot/system/documentation/bebook/index.html : BeBook ; + : /boot/system/documentation/bebook/index.html + : BeBook ; } @@ -224,7 +216,7 @@ if [ IsOptionalHaikuImagePackageAdded BeBook ] { if [ IsOptionalHaikuImagePackageAdded BeHappy ] { if $(TARGET_ARCH) != x86 { Echo "No optional package BeHappy available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package BeHappy available for gcc4" ; } else { Echo "No optional package BeHappy available for gcc2" ; @@ -236,14 +228,15 @@ if [ IsOptionalHaikuImagePackageAdded BeHappy ] { if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] { if $(TARGET_ARCH) != x86 { Echo "No optional package BeOSCompatibility available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package BeOSCompatibility available for gcc4" ; } else { Echo "Warning: Adding BeOS compatibility symlinks. This will go away. Please fix your apps!" ; AddSymlinkToHaikuImage beos : ../system/apps ; AddSymlinkToHaikuImage beos : ../system/bin ; - AddSymlinkToHaikuImage beos : ../system/documentation ; - AddSymlinkToHaikuImage beos : ../common/etc ; + AddSymlinkToHaikuImage beos + : ../system/documentation ; + AddSymlinkToHaikuImage beos : ../common/settings/etc ; AddSymlinkToHaikuImage beos : ../system/preferences ; AddSymlinkToHaikuImage beos : ../system ; AddDirectoryToHaikuImage var ; @@ -257,7 +250,7 @@ if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] { if [ IsOptionalHaikuImagePackageAdded BePDF ] { if $(TARGET_ARCH) != x86 { Echo "No optional package BePDF available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package BePDF available for gcc4" ; } else { InstallOptionalHaikuImagePackage @@ -297,18 +290,21 @@ if [ IsOptionalHaikuImagePackageAdded Bluetooth ] { AddDriversToHaikuImage bluetooth : $(bluetoothDrivers) ; AddFilesToHaikuImage system servers : bluetooth_server ; AddFilesToHaikuImage system lib : libbluetooth.so ; - AddFilesToHaikuImage system add-ons kernel network protocols : l2cap ; - AddFilesToHaikuImage system add-ons kernel bluetooth : btCoreData hci ; + AddFilesToHaikuImage + system add-ons kernel network protocols : l2cap ; + AddFilesToHaikuImage system add-ons kernel bluetooth + : btCoreData hci ; AddFilesToHaikuImage system preferences : Bluetooth ; - AddFilesToHaikuImage system bin : bt_dev_info bt_discovery ; + AddFilesToHaikuImage system bin + : bt_dev_info bt_discovery ; AddSymlinkToHaikuImage home config be Preferences : /boot/system/preferences/Bluetooth ; if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(HAIKU_GCC_VERSION[1]) in 2 4 { local arch = $(TARGET_ARCH) ; local abi = gcc$(HAIKU_GCC_VERSION[1]) ; - AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib - : /system/lib libbluetooth.so : : true ; + AddSymlinkToHaikuImage system develop lib + : /system/lib libbluetooth.so ; } } @@ -407,7 +403,7 @@ if [ IsOptionalHaikuImagePackageAdded Clockwerk ] { if [ IsOptionalHaikuImagePackageAdded CLucene ] { if $(TARGET_ARCH) != x86 { Echo "No optional package CLucene available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) < 4 { Echo "No optional package CLucene available for GCC2" ; } else { InstallOptionalHaikuImagePackage @@ -517,39 +513,22 @@ if [ IsOptionalHaikuImagePackageAdded Development ] && $(TARGET_ARCH) = x86 { if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] && $(TARGET_ARCH) = x86 { # gcc and binutils - if $(HAIKU_GCC_VERSION[1]) = 2 || $(isHybridBuild) { - InstallOptionalHaikuImagePackage - gcc-2.95.3-r1a3-x86-gcc2-2010-08-18.zip - : $(baseURL)/gcc-2.95.3-r1a3-x86-gcc2-2010-08-18.zip ; - } - if $(HAIKU_GCC_VERSION[1]) = 2 { - # symlink to the appropriate system/lib[/gcc2] folder - AddSymlinkToHaikuHybridImage - develop abi x86 gcc2 tools gcc-2.95.3-haiku-100818 lib - : /system/lib libstdc++.r4.so : : true ; + InstallCommonPackage gcc-2.95.3_110304-1.hpkg + : $(baseURL)/gcc-2.95.3_110304.hpkg ; + + # TODO: remove this when we have a mechanism to switch gcc via PATH + AddSymlinkToHaikuImage common settings develop tools + : /boot/common/develop/tools/gcc-2.95.3-110304 + : current ; } - if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) { + if $(HAIKU_GCC_VERSION[1]) = 4 { InstallOptionalHaikuImagePackage gcc-4.5.3-r1a3-x86-gcc4-2011-06-20.zip : $(baseURL)/gcc-4.5.3-r1a3-x86-gcc4-2011-06-20.zip ; } - if $(HAIKU_GCC_VERSION[1]) = 4 { - # symlink cpp to g++'s headers - AddSymlinkToHaikuHybridImage develop abi x86 gcc4 headers - : ../tools/current/include/g++ : cpp ; - - # symlink to the appropriate system/lib[/gcc4] folder - local libs = libstdc++.so libsupc++.so ; - for lib in $(libs) { - AddSymlinkToHaikuHybridImage - develop abi x86 gcc4 tools gcc-4.5.3-haiku-110620 lib - : /system/lib $(lib) : : true ; - } - } - # other commonly used tools if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage @@ -606,7 +585,8 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentJava ] { InstallOptionalHaikuImagePackage jamvm-1.5.4-r1a3-x86-gcc4-2011-06-08.zip : $(baseURL)/jamvm-1.5.4-r1a3-x86-gcc4-2011-06-08.zip ; - AddSymlinkToHaikuImage common bin : /boot/common/bin/jamvm : java ; + AddSymlinkToHaikuImage common bin + : /boot/common/bin/jamvm : java ; InstallOptionalHaikuImagePackage ecj-3.6.2-haiku-2011-06-08.zip : $(baseURL)/ecj-3.6.2-haiku-2011-06-08.zip ; @@ -622,11 +602,10 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 { } local arch = $(TARGET_ARCH) ; - local abi = gcc$(HAIKU_GCC_VERSION[1]) ; - local abiDirTokens = develop abi $(arch) $(abi) ; + local developDirTokens = system develop ; # glue code - AddFilesToHaikuHybridImage $(abiDirTokens) lib : + AddFilesToHaikuImage $(developDirTokens) lib : <src!system!glue!arch!$(arch)>crti.o <src!system!glue!arch!$(arch)>crtn.o <src!system!glue>init_term_dyn.o @@ -635,44 +614,31 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 { ; # kernel - AddFilesToHaikuHybridImage $(abiDirTokens) lib : kernel.so : _KERNEL_ ; + AddFilesToHaikuImage $(developDirTokens) lib : kernel.so : _KERNEL_ ; # additional libraries local developmentLibs = <revisioned>libroot_debug.so ; - AddFilesToHaikuHybridImage system lib : $(developmentLibs) : : true ; + AddFilesToHaikuImage system lib : $(developmentLibs) ; # library symlinks local lib ; for lib in $(SYSTEM_LIBS) $(SYSTEM_LIBS_LIBGL_ALIASES) $(developmentLibs) { - AddSymlinkToHaikuHybridImage $(abiDirTokens) lib - : /system/lib $(lib:BS) : : true ; + AddSymlinkToHaikuImage $(developDirTokens) lib + : /system/lib $(lib:BS) ; local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ; if $(abiVersion) { local abiVersionedLib = $(lib:BS).$(abiVersion) ; - AddSymlinkToHaikuHybridImage $(abiDirTokens) lib - : /system/lib $(abiVersionedLib) : : true ; + AddSymlinkToHaikuImage $(developDirTokens) lib + : /system/lib $(abiVersionedLib) ; } } # static libraries - AddFilesToHaikuHybridImage $(abiDirTokens) lib : libncurses.a ; - AddFilesToHaikuHybridImage $(abiDirTokens) lib : liblocalestub.a ; + AddFilesToHaikuImage $(developDirTokens) lib : libncurses.a ; + AddFilesToHaikuImage $(developDirTokens) lib : liblocalestub.a ; # the POSIX error code mapper library - AddFilesToHaikuHybridImage $(abiDirTokens) lib : libposix_error_mapper.a ; - - # symlinks for ABI abstraction - AddSymlinkToHaikuImage develop abi : $(arch)/$(abi) : current ; - AddSymlinkToHaikuImage develop lib : /boot/develop/abi/current/lib - : $(arch) ; - AddSymlinkToHaikuImage develop tools - : /boot/develop/abi/current/tools/current : gnupro ; - AddSymlinkToHaikuImage develop headers - : /boot/develop/abi/current/headers/cpp ; - AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths - : /boot/common/lib : common : true ; - AddSymlinkToHaikuHybridImage $(abiDirTokens) library-paths - : /boot/home/config/lib : home : true ; + AddFilesToHaikuImage $(developDirTokens) lib : libposix_error_mapper.a ; # ABI independent stuff @@ -688,7 +654,8 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 { ; SEARCH on $(makefileEngineFiles) = [ FDirName $(HAIKU_TOP) data develop ] ; - AddFilesToHaikuImage develop etc : $(makefileEngineFiles) ; + AddFilesToHaikuImage common develop etc + : $(makefileEngineFiles) ; # headers AddHeaderDirectoryToHaikuImage config ; @@ -697,7 +664,7 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 { AddHeaderDirectoryToHaikuImage posix ; # create be -> os symlink for now - AddSymlinkToHaikuImage develop headers : os : be ; + AddSymlinkToHaikuImage $(developDirTokens) headers : os : be ; # BSD and GNU compatibility headers AddHeaderDirectoryToHaikuImage compatibility bsd : bsd ; @@ -715,10 +682,8 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] && $(TARGET_ARCH) = x86 { # cpp headers if $(HAIKU_GCC_VERSION[1]) = 2 { # GCC 2 only -- for GCC 4 they come with the DevelopmentBase package - CopyDirectoryToHaikuImage $(abiDirTokens) headers - : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; - CopyDirectoryToAlternativeGCCArchive $(abiDirTokens) headers - : [ FDirName $(HAIKU_TOP) headers cpp ] : : -x .svn ; + CopyDirectoryToHaikuImage $(developDirTokens) headers c++ + : [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 : -x .svn ; } } @@ -783,9 +748,13 @@ if [ IsOptionalHaikuImagePackageAdded Fastdep ] { if [ IsOptionalHaikuImagePackageAdded friss ] { if $(TARGET_ARCH) != x86 { Echo "No optional package friss available for $(TARGET_ARCH)" ; + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { + InstallOptionalHaikuImagePackage friss-0.5pre7-x86-gcc4.zip + : $(baseURL)/friss-0.5pre7-x86-gcc4.zip + : : true ; } else { if $(HAIKU_GCC_VERSION[1]) >= 4 { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage friss-24-r1a3-x86-gcc4-2011-05-31.zip : $(baseURL)/friss-24-r1a3-x86-gcc4-2011-05-31.zip ; } else { @@ -889,26 +858,14 @@ if [ IsOptionalHaikuImagePackageAdded ICU ] { InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE) : $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE) : system lib ; - if $(isHybridBuild) { - # unzip gcc4 to gcc4 subdir - InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE) - : $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE) - : system lib gcc4 ; - } } else { # unzip gcc4 InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_4_PACKAGE) : $(baseURL)/$(HAIKU_ICU_GCC_4_PACKAGE) : system lib ; - if $(isHybridBuild) { - # unzip gcc2 to gcc2 subdir - InstallOptionalHaikuImagePackage $(HAIKU_ICU_GCC_2_PACKAGE) - : $(baseURL)/$(HAIKU_ICU_GCC_2_PACKAGE) - : system lib gcc2 ; } } } -} # ICU-devel @@ -921,9 +878,9 @@ if [ IsOptionalHaikuImagePackageAdded ICU-devel ] { for abiVersionedLib in $(HAIKU_ICU_LIBS) { abiVersionedLib = $(abiVersionedLib:G=) ; local lib = $(abiVersionedLib:B) ; - AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib - : /system/lib $(abiVersionedLib) : : true ; - AddSymlinkToHaikuHybridImage develop abi $(arch) $(abi) lib + AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib + : /system/lib $(abiVersionedLib) ; + AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib : $(abiVersionedLib) : $(lib) ; } } @@ -991,7 +948,7 @@ if [ IsOptionalHaikuImagePackageAdded LibIconv ] { if [ IsOptionalHaikuImagePackageAdded LibLayout ] { if $(TARGET_ARCH) != x86 { Echo "No optional package LibLayout available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package LibLayout available for gcc4" ; } else { InstallOptionalHaikuImagePackage liblayout-1.4.0-gcc2-2009-03-08.zip @@ -1005,11 +962,11 @@ if [ IsOptionalHaikuImagePackageAdded Libmng ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Libmng available for $(TARGET_ARCH)" ; } else if $(HAIKU_GCC_VERSION[1]) >= 4 { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage libmng-1.0.10-r1a3-x86-gcc4-2011-05-24.zip : $(baseURL)/lib/libmng-1.0.10-r1a3-x86-gcc4-2011-05-24.zip ; } else { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage libmng-1.0.10-r1a3-x86-gcc2-2011-05-18.zip : $(baseURL)/lib/libmng-1.0.10-r1a3-x86-gcc2-2011-05-18.zip ; } @@ -1041,7 +998,7 @@ if [ IsOptionalHaikuImagePackageAdded LibXSLT ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage libxslt-1.1.26-r1a3-x86-gcc4-2011-05-24.zip - : $(baseURL)/libxslt-1.1.26-r1a3-x86-gcc4-2011-05-24.zip ; + : $(baseURL)/libxslt-1.1.26-r1a3-x86-gcc4-2011-05-24.zip ; } else { InstallOptionalHaikuImagePackage libxslt-1.1.26-r1a3-x86-gcc2-2011-05-18.zip @@ -1055,7 +1012,7 @@ if [ IsOptionalHaikuImagePackageAdded LibXSLT ] { if [ IsOptionalHaikuImagePackageAdded Links ] { if $(TARGET_ARCH) != x86 { Echo "No optional package Links available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package Links available for gcc4" ; } else { InstallOptionalHaikuImagePackage Links.zip @@ -1093,7 +1050,7 @@ if [ IsOptionalHaikuImagePackageAdded Man ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage man-1.6f-r1a3-x86-gcc4-2011-05-24.zip - : $(baseURL)/man-1.6f-r1a3-x86-gcc4-2011-05-24.zip ; + : $(baseURL)/man-1.6f-r1a3-x86-gcc4-2011-05-24.zip ; } else { InstallOptionalHaikuImagePackage man-1.6f-r1a3-x86-gcc2-2011-05-18.zip @@ -1167,11 +1124,13 @@ if [ IsOptionalHaikuImagePackageAdded Neon ] { # NetFS network file system if [ IsOptionalHaikuImagePackageAdded NetFS ] { # userlandfs module - AddFilesToHaikuImage home config add-ons userlandfs : netfs ; + AddFilesToHaikuImage home config add-ons userlandfs + : netfs ; # servers AddFilesToHaikuImage system servers : netfs_server ; - AddFilesToHaikuImage system servers : authentication_server ; + AddFilesToHaikuImage system servers + : authentication_server ; # tools AddFilesToHaikuImage system bin : netfs_config ; @@ -1197,10 +1156,10 @@ if [ IsOptionalHaikuImagePackageAdded NetFS ] { if [ IsOptionalHaikuImagePackageAdded NetSurf ] { if $(TARGET_ARCH) != x86 { Echo "No optional package NetSurf available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package NetSurf available for gcc4" ; } else { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage netsurf-2.7-r1a3-x86-gcc2-2011-06-04.zip : $(baseURL)/netsurf-2.7-r1a3-x86-gcc2-2011-06-04.zip ; AddSymlinkToHaikuImage home config be Applications @@ -1213,7 +1172,7 @@ if [ IsOptionalHaikuImagePackageAdded NetSurf ] { if [ IsOptionalHaikuImagePackageAdded OCaml ] { if $(TARGET_ARCH) != x86 { Echo "No optional package OCaml available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package OCaml available for gcc4" ; } else { InstallOptionalHaikuImagePackage @@ -1309,11 +1268,11 @@ if [ IsOptionalHaikuImagePackageAdded Paladin ] { Echo "No optional package Paladin available for $(TARGET_ARCH)" ; } else { if $(HAIKU_GCC_VERSION[1]) >= 4 { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage paladin-1.3-r1a3-x86-gcc4-2011-05-24.zip : $(baseURL)/paladin-1.3-r1a3-x86-gcc4-2011-05-24.zip ; } else { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage paladin-1.3-r1a3-x86-gcc2-2011-05-18.zip : $(baseURL)/paladin-1.3-r1a3-x86-gcc2-2011-05-18.zip ; } @@ -1332,7 +1291,7 @@ if [ IsOptionalHaikuImagePackageAdded PCRE ] { Echo "No optional package PCRE available for $(TARGET_ARCH)" ; } else { if $(HAIKU_GCC_VERSION[1]) >= 4 { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage libpcre-8.12-r1a3-x86-gcc4-2011-05-24.zip : $(baseURL)/libpcre-8.12-r1a3-x86-gcc4-2011-05-24.zip ; } else { @@ -1503,7 +1462,7 @@ if [ IsOptionalHaikuImagePackageAdded TagLib ] { } else if $(HAIKU_GCC_VERSION[1]) >= 4 { InstallOptionalHaikuImagePackage taglib-1.6.3-r1r3-x86-gcc4-2011-05-24.zip - : $(baseURL)/taglib-1.6.3-r1r3-x86-gcc4-2011-05-24.zip ; + : $(baseURL)/taglib-1.6.3-r1r3-x86-gcc4-2011-05-24.zip ; } else { InstallOptionalHaikuImagePackage taglib-1.6.3-r1a3-x86-gcc2-2011-05-20.zip @@ -1572,7 +1531,8 @@ if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { local abi = gcc$(HAIKU_GCC_VERSION[1]) ; # kernel module - AddFilesToHaikuImage system add-ons kernel file_systems : userlandfs ; + AddFilesToHaikuImage system add-ons kernel file_systems + : userlandfs ; # server AddFilesToHaikuImage system servers : userlandfs_server ; @@ -1583,7 +1543,7 @@ if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { libuserlandfs_haiku_kernel.so libuserlandfs_fuse.so ; - AddFilesToHaikuHybridImage system lib : $(userlandfsLibs) : : true ; + AddFilesToHaikuImage system lib : $(userlandfsLibs) ; # development goodies if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] { @@ -1597,8 +1557,6 @@ if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { for lib in $(userlandfsLibs) { AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib : /system/lib/$(lib:BS) ; - AddSymlinkToAlternativeGCCArchive develop abi $(arch) $(abi) lib - : /system/lib/$(arch)/$(lib:BS) ; } # FUSE headers @@ -1650,7 +1608,7 @@ if [ IsOptionalHaikuImagePackageAdded Vision ] { InstallOptionalHaikuImagePackage vision-908-r1a3-x86-gcc4-2011-06-07.zip : $(baseURL)/vision-908-r1a3-x86-gcc4-2011-06-07.zip ; } else { - InstallOptionalHaikuImagePackage + InstallOptionalHaikuImagePackage vision-908-r1a3-x86-gcc2-2011-06-07.zip : $(baseURL)/vision-908-r1a3-x86-gcc2-2011-06-07.zip ; } @@ -1664,7 +1622,7 @@ if [ IsOptionalHaikuImagePackageAdded Vision ] { if [ IsOptionalHaikuImagePackageAdded WebPositive ] { if $(TARGET_ARCH) != x86 { Echo "No optional package WebPositive available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) < 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) < 4 { Echo "No optional package WebPositive available for gcc2" ; } else { InstallOptionalHaikuImagePackage @@ -1685,9 +1643,11 @@ if [ IsOptionalHaikuImagePackageAdded Welcome ] { : [ FDirName $(HAIKU_TOP) docs userguide ] : userguide : -x .svn ; AddSymlinkToHaikuImage home Desktop - : /boot/system/documentation/welcome/welcome_en.html : Welcome ; + : /boot/system/documentation/welcome/welcome_en.html + : Welcome ; AddSymlinkToHaikuImage home Desktop - : /boot/system/documentation/userguide/en/contents.html : User\ Guide ; + : /boot/system/documentation/userguide/en/contents.html + : User\ Guide ; } @@ -1707,18 +1667,21 @@ if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] { http://bu3sch.de/b43/fwcutter/$(broadcomFWCutterArchive) ; local broadcomFWCutterFile = [ DownloadFile $(broadcomFWCutterArchive) : $(broadcomFWCutterURL) ] ; - AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter + AddFilesToHaikuImage + system data firmware broadcom43xx b43-fwcutter : $(broadcomFWCutterFile) ; # headers needed to compile firmware cutter local glibcDir = [ FDirName $(HAIKU_TOP) src system libroot posix glibc ] ; local byteswapHeader = [ FDirName $(glibcDir) string byteswap.h ] ; - AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter + AddFilesToHaikuImage + system data firmware broadcom43xx b43-fwcutter : $(byteswapHeader) ; local bitByteswapHeader = [ FDirName $(glibcDir) include arch x86 bits byteswap.h ] ; - AddFilesToHaikuImage system data firmware broadcom43xx b43-fwcutter bits + AddFilesToHaikuImage + system data firmware broadcom43xx b43-fwcutter bits : $(bitByteswapHeader) ; # file containing firmware @@ -1732,7 +1695,8 @@ if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] { local marvelArchive = malo-firmware-1.4.tgz ; local marvelURL = http://www.nazgul.ch/malo/$(marvelArchive) ; local marvelFile = [ DownloadFile $(marvelArchive) : $(marvelURL) ] ; - AddFilesToHaikuImage system data firmware marvell88w8335 + AddFilesToHaikuImage + system data firmware marvell88w8335 : $(marvelFile) ; } } @@ -1742,7 +1706,7 @@ if [ IsOptionalHaikuImagePackageAdded WifiFirmwareScriptData ] { if [ IsOptionalHaikuImagePackageAdded WonderBrush ] { if $(TARGET_ARCH) != x86 { Echo "No optional package WonderBrush available for $(TARGET_ARCH)" ; - } else if $(HAIKU_GCC_VERSION[1]) >= 4 && ! $(isHybridBuild) { + } else if $(HAIKU_GCC_VERSION[1]) >= 4 { Echo "No optional package WonderBrush available for gcc4" ; } else { InstallOptionalHaikuImagePackage WonderBrush-2.1.2.zip diff --git a/build/jam/UserBuildConfig.ReadMe b/build/jam/UserBuildConfig.ReadMe index d1c9eb1..f4032a7 100644 --- a/build/jam/UserBuildConfig.ReadMe +++ b/build/jam/UserBuildConfig.ReadMe @@ -137,14 +137,6 @@ AddOptionalHaikuImagePackages WonderBrush ; AddOptionalHaikuImagePackages WebPositive ; SuppressOptionalHaikuImagePackages SQLite ; -# Don't add the libraries built with the alternative gcc version. -# If the alternative gcc generated directory has been specified via the -# configure option --alternative-gcc-output-dir, the libraries for the -# alternative gcc version are added by default. Unsetting this variable disables -# building and adding the libraries. Ignored, if --alternative-gcc-output-dir -# was not specified. -HAIKU_ADD_ALTERNATIVE_GCC_LIBS = 0 ; - # Specify scripts that shall be run when populating the image/installation # directory. The "early" script is run before anything has been copied onto # the image/into the installation directory. The "late" script is run after diff --git a/build/jam/UserBuildConfig.sample b/build/jam/UserBuildConfig.sample index ba88a59..4a164b1 100644 --- a/build/jam/UserBuildConfig.sample +++ b/build/jam/UserBuildConfig.sample @@ -27,6 +27,3 @@ # Add the optional package WonderBrush to the image. #AddOptionalHaikuImagePackages WonderBrush ; - -# Don't add the libraries built with the alternative gcc version. -#HAIKU_ADD_ALTERNATIVE_GCC_LIBS = 0 ; diff --git a/build/scripts/build_haiku_image b/build/scripts/build_haiku_image index d6001f9..1d2aed0 100755 --- a/build/scripts/build_haiku_image +++ b/build/scripts/build_haiku_image @@ -163,19 +163,23 @@ extractFile() targetExtractedDir=$2 extractedSubDir=$3 - echo "Extracting $archiveFile ..." - extractDir=$tmpDir/extract $rmAttrs -rf "$extractDir" mkdir -p "$extractDir" case "$archiveFile" in *.zip) + echo "Extracting $archiveFile ..." $unzip -q -d "$extractDir" "$archiveFile" ;; *.tgz|*.tar.gz) + echo "Extracting $archiveFile ..." tar -C "$extractDir" -xf "$archiveFile" ;; + *.hpkg) + echo "Adding package $archiveFile ..." + cp "$archiveFile" "$extractDir" + ;; *) echo "Unhandled archive extension in build_haiku_image extractFile()" exit 1 diff --git a/configure b/configure index a93bd04..d7b4e18 100755 --- a/configure +++ b/configure @@ -12,20 +12,6 @@ usage() Usage: $0 <options> options: - --alternative-gcc-output-dir <dir> - Build a Haiku installation that supports running - executables built with a gcc version incompatible - with the primary gcc (e.g. gcc 2 executables under - a gcc 4 Haiku or vice versa). <dir> specifies the - output directory of the other gcc. The directory - must already be fully configured. - Note, that a sub-jam will be executed when - building Haiku. When using a jam that is not - simply invoked by "jam", the JAM build variable - needs to be set accordingly. - To disable building the alternative libraries - the variable HAIKU_ADD_ALTERNATIVE_GCC_LIBS can be - unset in the UserBuildConfig file. --build-cross-tools <build tools dir> Assume cross compilation. <build tools dir> defines the location of the build tools sources. @@ -320,14 +306,12 @@ TARGET_PLATFORM=haiku HAIKU_USE_GCC_PIPE=0 HAIKU_HOST_USE_32BIT=0 HAIKU_HOST_USE_XATTR=0 -HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR= -HAIKU_ADD_ALTERNATIVE_GCC_LIBS=0 HOST_GCC_LD=`gcc -print-prog-name=ld` HOST_GCC_OBJCOPY=`gcc -print-prog-name=objcopy` SFDISK_BINARY=sfdisk HOST_SFDISK=$SFDISK_BINARY -haikuRequiredLegacyGCCVersion="2.95.3-haiku-100818" +haikuRequiredLegacyGCCVersion="2.95.3-110228" export haikuRequiredLegacyGCCVersion # version of legacy gcc required to build haiku @@ -377,14 +361,6 @@ fi # while [ $# -gt 0 ] ; do case "$1" in - --alternative-gcc-output-dir) - assertparam "$1" $# - cd $2 || exit 1 - HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR=`pwd` - HAIKU_ADD_ALTERNATIVE_GCC_LIBS=1 - cd $currentDir - shift 2 - ;; --build-cross-tools) assertparam "$1" $#; buildCrossTools=$2; shift 2;; --build-cross-tools-gcc4) assertparams "$1" 2 $# @@ -558,8 +534,6 @@ HAIKU_DISTRO_COMPATIBILITY ?= "${HAIKU_DISTRO_COMPATIBILITY}" ; HAIKU_USE_GCC_PIPE ?= "${HAIKU_USE_GCC_PIPE}" ; HAIKU_HOST_USE_32BIT ?= "${HAIKU_HOST_USE_32BIT}" ; HAIKU_HOST_USE_XATTR ?= "${HAIKU_HOST_USE_XATTR}" ; -HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR ?= ${HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR} ; -HAIKU_ADD_ALTERNATIVE_GCC_LIBS ?= ${HAIKU_ADD_ALTERNATIVE_GCC_LIBS} ; HAIKU_GCC_RAW_VERSION ?= ${HAIKU_GCC_RAW_VERSION} ; HAIKU_GCC_MACHINE ?= ${HAIKU_GCC_MACHINE} ; diff --git a/data/system/boot/SetupEnvironment b/data/system/boot/SetupEnvironment index 0f3bd51..ad0a158 100644 --- a/data/system/boot/SetupEnvironment +++ b/data/system/boot/SetupEnvironment @@ -6,8 +6,10 @@ export HOME=/boot/home export LC_CTYPE="en_US.UTF-8" -BUILDHOME=/boot/develop -BETOOLS="$BUILDHOME/tools/gnupro/bin" +BUILDHOME=/boot/system/develop + +#TODO: fix this or drop it! +BETOOLS="/boot/common/settings/develop/tools/current/bin" case `uname -m` in BePC|Intel|unknown) @@ -20,7 +22,9 @@ BeMac|BeBox) BE_HOST_CPU=unknown esac -BELIBRARIES="$BUILDHOME/abi/current/library-paths/common:$BUILDHOME/lib/$BE_HOST_CPU" +BELIBRARIES="/boot/common/non-packaged/lib:/boot/common/lib:$BUILDHOME/lib" + +# not used by Haiku, but probably by legacy applications (BeIDE?) BH=$BUILDHOME/headers BEINCLUDES="$BH;$BH/be;$BH/posix;$BH/glibc;$BH/cpp;$BH/be/app;$BH/be/device;$BH/be/interface;$BH/be/locale;$BH/be/media;$BH/be/midi;$BH/be/midi2;$BH/be/net;$BH/be/kernel;$BH/be/storage;$BH/be/support;$BH/be/game;$BH/be/opengl;$BH/be/drivers;$BH/gnu;$BH/be/mail;$BH/be/translation;$BH/be/devel;$BH/be/add-ons/graphics;$BH/be/be_apps/Deskbar;$BH/be/be_apps/NetPositive;$BH/be/be_apps/Tracker" @@ -40,13 +44,13 @@ export BE_DEFAULT_CPLUS_FLAGS="" if [ "$SAFEMODE" != "yes" ] then - export PATH=.:$HOME/config/bin:/boot/common/bin:/bin:/boot/apps:/boot/preferences:/boot/system/apps:/boot/system/preferences:$BETOOLS - export LIBRARY_PATH="%A/lib:$HOME/config/lib:/boot/common/lib:/boot/system/lib" - export ADDON_PATH="%A/add-ons:$HOME/config/add-ons:/boot/common/add-ons:/boot/system/add-ons" + export PATH=.:$HOME/config/non-packaged/bin:$HOME/config/bin:/boot/common/non-packaged/bin:/boot/common/bin:/bin:/boot/apps:/boot/preferences:/boot/system/apps:/boot/system/preferences:$BETOOLS + export LIBRARY_PATH="%A/lib:$HOME/config/non-packaged/lib:$HOME/config/lib:/boot/common/non-packaged/lib:/boot/common/lib:/boot/system/lib" + export ADDON_PATH="%A/add-ons:$HOME/config/non-packaged/add-ons:$HOME/config/add-ons:/boot/common/non-packaged/add-ons:/boot/common/add-ons:/boot/system/add-ons" else - export PATH=.:/boot/common/bin:/bin:/boot/apps:/boot/preferences:/boot/system/apps:/boot/system/preferences:$BETOOLS - export LIBRARY_PATH="%A/lib:/boot/common/lib:/boot/system/lib" - export ADDON_PATH="%A/add-ons:/boot/common/add-ons:/boot/system/add-ons" + export PATH=.:/bin:/boot/apps:/boot/system/apps:/boot/system/preferences:$BETOOLS + export LIBRARY_PATH="%A/lib:/boot/system/lib" + export ADDON_PATH="%A/add-ons:/boot/system/add-ons" fi # media kit diff --git a/headers/config/HaikuConfig.h b/headers/config/HaikuConfig.h index 7c2b3b9..ca25ae7 100644 --- a/headers/config/HaikuConfig.h +++ b/headers/config/HaikuConfig.h @@ -9,6 +9,7 @@ /* Determine the architecture and define macros for some fundamental properties: __HAIKU_ARCH - short name of the architecture (used in paths) + __HAIKU_ARCH_ABI - name of ABI (as in package architecture) __HAIKU_ARCH_<arch> - defined to 1 for the respective architecture __HAIKU_ARCH_BITS - defined to 32/64 on 32/64 bit architectures (defaults to 32) @@ -19,25 +20,35 @@ */ #ifdef __INTEL__ # define __HAIKU_ARCH x86 +# if __GNUC__ == 2 +# define __HAIKU_ARCH_ABI "x86_gcc2" +# else +# define __HAIKU_ARCH_ABI "x86" +# endif # define __HAIKU_ARCH_X86 1 # define __HAIKU_ARCH_PHYSICAL_BITS 64 #elif __x86_64__ # define __HAIKU_ARCH x86_64 +# define __HAIKU_ARCH_ABI "x86_64" # define __HAIKU_ARCH_X86_64 1 # define __HAIKU_ARCH_BITS 64 #elif __POWERPC__ # define __HAIKU_ARCH ppc +# define __HAIKU_ARCH_ABI "ppc" # define __HAIKU_ARCH_PPC 1 # define __HAIKU_BIG_ENDIAN 1 #elif __M68K__ # define __HAIKU_ARCH m68k +# define __HAIKU_ARCH_ABI "m68k" # define __HAIKU_ARCH_M68K 1 # define __HAIKU_BIG_ENDIAN 1 #elif __MIPSEL__ # define __HAIKU_ARCH mipsel +# define __HAIKU_ARCH_ABI "mipsel" # define __HAIKU_ARCH_MIPSEL 1 #elif __ARM__ # define __HAIKU_ARCH arm +# define __HAIKU_ARCH_ABI "arm" # define __HAIKU_ARCH_ARM 1 #else # error Unsupported architecture! diff --git a/headers/os/BeBuild.h b/headers/os/BeBuild.h index 678bf4a..991ef19 100644 --- a/headers/os/BeBuild.h +++ b/headers/os/BeBuild.h @@ -39,6 +39,8 @@ #define B_HAIKU_ABI_GCC_2_BEOS 0x00020001 #define B_HAIKU_ABI_GCC_2_HAIKU 0x00020002 +#define B_HAIKU_ABI_NAME __HAIKU_ARCH_ABI + #if __GNUC__ == 2 # define B_HAIKU_ABI B_HAIKU_ABI_GCC_2_HAIKU #elif __GNUC__ == 4 diff --git a/headers/os/storage/FindDirectory.h b/headers/os/storage/FindDirectory.h index f781447..e5550cf 100644 --- a/headers/os/storage/FindDirectory.h +++ b/headers/os/storage/FindDirectory.h @@ -29,6 +29,9 @@ typedef enum { B_SYSTEM_MEDIA_NODES_DIRECTORY, B_SYSTEM_SOUNDS_DIRECTORY, B_SYSTEM_DATA_DIRECTORY, + B_SYSTEM_DEVELOP_DIRECTORY, + B_SYSTEM_PACKAGES_DIRECTORY, + B_SYSTEM_HEADERS_DIRECTORY, /* Common directories, shared among all users. */ B_COMMON_DIRECTORY = 2000, @@ -52,6 +55,19 @@ typedef enum { B_COMMON_SOUNDS_DIRECTORY, B_COMMON_DATA_DIRECTORY, B_COMMON_CACHE_DIRECTORY, + B_COMMON_PACKAGES_DIRECTORY, + B_COMMON_HEADERS_DIRECTORY, + B_COMMON_NONPACKAGED_DIRECTORY, + B_COMMON_NONPACKAGED_ADDONS_DIRECTORY, + B_COMMON_NONPACKAGED_TRANSLATORS_DIRECTORY, + B_COMMON_NONPACKAGED_MEDIA_NODES_DIRECTORY, + B_COMMON_NONPACKAGED_BIN_DIRECTORY, + B_COMMON_NONPACKAGED_DATA_DIRECTORY, + B_COMMON_NONPACKAGED_FONTS_DIRECTORY, + B_COMMON_NONPACKAGED_SOUNDS_DIRECTORY, + B_COMMON_NONPACKAGED_DOCUMENTATION_DIRECTORY, + B_COMMON_NONPACKAGED_LIB_DIRECTORY, + B_COMMON_NONPACKAGED_HEADERS_DIRECTORY, /* User directories. These are interpreted in the context of the user making the find_directory call. */ @@ -69,11 +85,25 @@ typedef enum { B_USER_SOUNDS_DIRECTORY, B_USER_DATA_DIRECTORY, B_USER_CACHE_DIRECTORY, + B_USER_PACKAGES_DIRECTORY, + B_USER_HEADERS_DIRECTORY, + B_USER_NONPACKAGED_DIRECTORY, + B_USER_NONPACKAGED_ADDONS_DIRECTORY, + B_USER_NONPACKAGED_TRANSLATORS_DIRECTORY, + B_USER_NONPACKAGED_MEDIA_NODES_DIRECTORY, + B_USER_NONPACKAGED_BIN_DIRECTORY, + B_USER_NONPACKAGED_DATA_DIRECTORY, + B_USER_NONPACKAGED_FONTS_DIRECTORY, + B_USER_NONPACKAGED_SOUNDS_DIRECTORY, + B_USER_NONPACKAGED_DOCUMENTATION_DIRECTORY, + B_USER_NONPACKAGED_LIB_DIRECTORY, + B_USER_NONPACKAGED_HEADERS_DIRECTORY, /* Global directories. */ B_APPS_DIRECTORY = 4000, B_PREFERENCES_DIRECTORY, B_UTILITIES_DIRECTORY, + B_PACKAGE_LINKS_DIRECTORY, /* Obsolete: Legacy BeOS definition to be phased out */ B_BEOS_DIRECTORY = 1000, diff --git a/headers/private/libroot/directories.h b/headers/private/libroot/directories.h new file mode 100644 index 0000000..e01504b --- /dev/null +++ b/headers/private/libroot/directories.h @@ -0,0 +1,68 @@ +/* + * Copyright 2011, Oliver Tappe <zooey@xxxxxxxxxxxxxxx> + * Distributed under the terms of the MIT License. + */ +#ifndef _LIBROOT_DIRECTORIES_H +#define _LIBROOT_DIRECTORIES_H + + +#define kGlobalBinDirectory "/bin" +#define kGlobalEtcDirectory "/etc" +#define kGlobalPackageLinksDirectory "/package-links" +#define kGlobalSystemDirectory "/system" +#define kGlobalTempDirectory "/tmp" +#define kGlobalVarDirectory "/var" + +#define kAppsDirectory "/boot/apps" +#define kPreferencesDirectory "/boot/preferences" + +#define kAppLocalAddonsDirectory "%A/add-ons" +#define kAppLocalLibDirectory "%A/lib" + +#define kVolumeLocalSystemKernelAddonsDirectory "system/add-ons/kernel" +#define kVolumeLocalCommonNonpackagedKernelAddonsDirectory \ + "common/non-packaged/add-ons/kernel" +#define kVolumeLocalCommonKernelAddonsDirectory "common/add-ons/kernel" +#define kVolumeLocalUserNonpackagedKernelAddonsDirectory \ + "home/config/non-packaged/add-ons/kernel" +#define kVolumeLocalUserKernelAddonsDirectory "home/config/add-ons/kernel" + +#define kSystemDirectory "/boot/system" +#define kSystemAddonsDirectory "/boot/system/add-ons" +#define kSystemAppsDirectory "/boot/system/apps" +#define kSystemBinDirectory "/boot/system/bin" +#define kSystemDataDirectory "/boot/system/data" +#define kSystemDevelopDirectory "/boot/system/develop" +#define kSystemLibDirectory "/boot/system/lib" +#define kSystemPackagesDirectory "/boot/system/packages" +#define kSystemPreferencesDirectory "/boot/system/preferences" +#define kSystemServersDirectory "/boot/system/servers" + +#define kCommonDirectory "/boot/common" +#define kCommonAddonsDirectory "/boot/common/add-ons" +#define kCommonBinDirectory "/boot/common/bin" +#define kCommonDevelopToolsBinDirectory "/boot/common/develop/tools/current/bin" +#define kCommonEtcDirectory "/boot/common/settings/etc" +#define kCommonLibDirectory "/boot/common/lib" +#define kCommonPackagesDirectory "/boot/common/packages" +#define kCommonSettingsDirectory "/boot/common/settings" +#define kCommonTempDirectory "/boot/common/cache/tmp" +#define kCommonVarDirectory "/boot/common/var" +#define kCommonLogDirectory "/boot/common/var/log" +#define kCommonNonpackagedAddonsDirectory "/boot/common/non-packaged/add-ons" +#define kCommonNonpackagedBinDirectory "/boot/common/non-packaged/bin" +#define kCommonNonpackagedLibDirectory "/boot/common/non-packaged/lib" + +#define kUserDirectory "/boot/home" +#define kUserConfigDirectory "/boot/home/config" +#define kUserAddonsDirectory "/boot/home/config/add-ons" +#define kUserBinDirectory "/boot/home/config/bin" +#define kUserLibDirectory "/boot/home/config/lib" +#define kUserPackagesDirectory "/boot/home/config/packages" +#define kUserSettingsDirectory "/boot/home/config/settings" +#define kUserNonpackagedAddonsDirectory "/boot/home/config/non-packaged/add-ons" +#define kUserNonpackagedBinDirectory "/boot/home/config/non-packaged/bin" +#define kUserNonpackagedLibDirectory "/boot/home/config/non-packaged/lib" + + +#endif // _LIBROOT_DIRECTORIES_H diff --git a/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp b/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp index 90152c0..c7a1c4b 100644 --- a/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp +++ b/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp @@ -191,7 +191,7 @@ ScreenSaverFilter::_Invoke() BPath path; if (find_directory(B_SYSTEM_BIN_DIRECTORY, &path) != B_OK || path.Append("screen_blanker") != B_OK) - path.SetTo("/boot/system/bin/screen_blanker"); + path.SetTo("/bin/screen_blanker"); BEntry entry(path.Path()); entry_ref ref; if (entry.GetRef(&ref) == B_OK diff --git a/src/add-ons/input_server/filters/shortcut_catcher/ParseCommandLine.cpp b/src/add-ons/input_server/filters/shortcut_catcher/ParseCommandLine.cpp index 18048df..b7dbde0 100644 --- a/src/add-ons/input_server/filters/shortcut_catcher/ParseCommandLine.cpp +++ b/src/add-ons/input_server/filters/shortcut_catcher/ParseCommandLine.cpp @@ -16,16 +16,19 @@ #include <string.h> -#include <Roster.h> -#include <List.h> -#include <Entry.h> #include <Directory.h> +#include <Entry.h> +#include <FindDirectory.h> +#include <List.h> +#include <Path.h> +#include <Roster.h> +#include <String.h> #include <SupportKit.h> // This char is used to hold words together into single words... #define GUNK_CHAR 0x01 -#define PATHTOTRACKER "/boot/system/Tracker" +#define PATHTOTRACKER "/system/Tracker" // Turn all spaces that are not-to-be-counted-as-spaces into GUNK_CHAR chars. static void @@ -299,11 +302,14 @@ LaunchCommand(char** argv, int32 argc) // Hack way to do this--really I should be able to do this by // sending a BMessage. But how? When I finally get my copy of the // BeOS Bible, maybe then I'll find out. - const char* trackerFile = PATHTOTRACKER; - char* temp = new char[strlen(trackerFile) + strlen(argv[0]) + 10]; - sprintf(temp, "%s '%s'", trackerFile, argv[0]); - system(temp); - delete [] temp; + BPath trackerPath; + if (find_directory(B_SYSTEM_DIRECTORY, &trackerPath) != B_OK + || trackerPath.Append("Tracker") != B_OK) { + return B_ENTRY_NOT_FOUND; + } + BString cmd(trackerPath.Path()); + cmd << " '" << argv[0] << "'"; + system(cmd.String()); return B_NO_ERROR; } else { // It's not a directory. Must be a file. diff --git a/src/add-ons/kernel/debugger/hangman/hangman.c b/src/add-ons/kernel/debugger/hangman/hangman.c index f77a7d6..231d004 100644 --- a/src/add-ons/kernel/debugger/hangman/hangman.c +++ b/src/add-ons/kernel/debugger/hangman/hangman.c @@ -5,6 +5,7 @@ # include <debug.h> #endif +#include <directories.h> #include <OS.h> #include <image.h> #include <ctype.h> @@ -26,7 +27,7 @@ #define MAX_FAILS_BEFORE_BSOD 0 #ifdef __HAIKU__ -# define FORTUNE_FILE "/boot/system/data/fortunes/Fortunes" +# define FORTUNE_FILE kSystemDataDirectory "/fortunes/Fortunes" #else # define FORTUNE_FILE "/etc/fortunes/default" #endif diff --git a/src/add-ons/kernel/drivers/audio/ac97/auich/Jamfile b/src/add-ons/kernel/drivers/audio/ac97/auich/Jamfile index 0b55856..26d6af1 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/auich/Jamfile +++ b/src/add-ons/kernel/drivers/audio/ac97/auich/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio ac97 auich ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) ] ; diff --git a/src/add-ons/kernel/drivers/audio/ac97/auich/debug.c b/src/add-ons/kernel/drivers/audio/ac97/auich/debug.c index 790b2a2..b3b4c67 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/auich/debug.c +++ b/src/add-ons/kernel/drivers/audio/ac97/auich/debug.c @@ -28,23 +28,32 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include <KernelExport.h> + #include <stdio.h> #include <fcntl.h> #include <unistd.h> + +#include <directories.h> #include <OS.h> + #include "debug.h" #include "auich.h" + #if DEBUG > 0 -static const char * logfile="/boot/home/auich.log"; +static const char *logfile = kCommonLogDirectory "/auich.log"; static sem_id loglock; #endif + void debug_printf(const char *text,...); void log_printf(const char *text,...); void log_create(void); + void debug_printf(const char *text,...) { char buf[1024]; @@ -57,6 +66,7 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } + void log_create() { #if DEBUG > 0 @@ -68,6 +78,7 @@ void log_create() #endif } + void log_printf(const char *text,...) { #if DEBUG > 0 @@ -92,4 +103,3 @@ void log_printf(const char *text,...) #endif #endif } - diff --git a/src/add-ons/kernel/drivers/audio/ac97/auvia/Jamfile b/src/add-ons/kernel/drivers/audio/ac97/auvia/Jamfile index fb4c66c..9333f42 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/auvia/Jamfile +++ b/src/add-ons/kernel/drivers/audio/ac97/auvia/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio ac97 auvia ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) ] ; diff --git a/src/add-ons/kernel/drivers/audio/ac97/auvia/debug.c b/src/add-ons/kernel/drivers/audio/ac97/auvia/debug.c index 4b67b58..8bcc694 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/auvia/debug.c +++ b/src/add-ons/kernel/drivers/audio/ac97/auvia/debug.c @@ -28,23 +28,32 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include <KernelExport.h> + #include <stdio.h> #include <fcntl.h> #include <unistd.h> + +#include <directories.h> #include <OS.h> + #include "debug.h" #include "auvia.h" + #if DEBUG > 0 -static const char * logfile="/boot/home/auvia.log"; +static const char *logfile = kCommonLogDirectory "/auvia.log"; static sem_id loglock; #endif + void debug_printf(const char *text,...); void log_printf(const char *text,...); void log_create(void); + void debug_printf(const char *text,...) { char buf[1024]; @@ -57,6 +66,7 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } + void log_create() { #if DEBUG > 0 @@ -68,6 +78,7 @@ void log_create() #endif } + void log_printf(const char *text,...) { #if DEBUG > 0 @@ -92,4 +103,3 @@ void log_printf(const char *text,...) #endif #endif } - diff --git a/src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile b/src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile index 54259ce..c3c8889 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile +++ b/src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio ac97 es1370 ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) ] ; KernelAddon es1370 : diff --git a/src/add-ons/kernel/drivers/audio/ac97/es1370/debug.c b/src/add-ons/kernel/drivers/audio/ac97/es1370/debug.c index 5fb661a..5a52fd1 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/es1370/debug.c +++ b/src/add-ons/kernel/drivers/audio/ac97/es1370/debug.c @@ -8,24 +8,33 @@ * Marcus Overhagen, marcus@xxxxxxxxxxxx * Jerome Duval, jerome.duval@xxxxxxx */ + + #include <KernelExport.h> + #include <stdio.h> #include <string.h> #include <fcntl.h> #include <unistd.h> + +#include <directories.h> #include <OS.h> + #include "debug.h" #include "es1370.h" + #if DEBUG > 0 -static const char * logfile="/boot/home/es1370.log"; +static const char *logfile = kCommonLogDirectory "/es1370.log"; static sem_id loglock; #endif + void debug_printf(const char *text,...); void log_printf(const char *text,...); void log_create(void); + void debug_printf(const char *text,...) { char buf[1024]; @@ -38,6 +47,7 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } + void log_create() { #if DEBUG > 0 @@ -49,6 +59,7 @@ void log_create() #endif } + void log_printf(const char *text,...) { #if DEBUG > 0 @@ -73,4 +84,3 @@ void log_printf(const char *text,...) #endif #endif } - diff --git a/src/add-ons/kernel/drivers/audio/ac97/ich/Jamfile b/src/add-ons/kernel/drivers/audio/ac97/ich/Jamfile index e4df921..b086402 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/ich/Jamfile +++ b/src/add-ons/kernel/drivers/audio/ac97/ich/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio ac97 ich ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; KernelAddon ich_ac97 : ac97_multi.c diff --git a/src/add-ons/kernel/drivers/audio/ac97/ich/debug.c b/src/add-ons/kernel/drivers/audio/ac97/ich/debug.c index 6b9f979..d516f25 100644 --- a/src/add-ons/kernel/drivers/audio/ac97/ich/debug.c +++ b/src/add-ons/kernel/drivers/audio/ac97/ich/debug.c @@ -25,14 +25,21 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include <KernelExport.h> + #include <stdio.h> #include <fcntl.h> #include <unistd.h> + +#include <directories.h> #include <OS.h> + #include "debug.h" #include "ich.h" + void debug_printf(const char *text,...) { char buf[1024]; @@ -45,11 +52,12 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } -#if DEBUG > 0 -static const char * logfile="/boot/home/ich_ac97.log"; +#if DEBUG > 0 +static const char *logfile = kCommonLogDirectory "/ich_ac97.log"; static sem_id loglock; + void log_create(void) { int fd = open(logfile, O_WRONLY | O_CREAT | O_TRUNC, 0666); @@ -59,6 +67,7 @@ void log_create(void) close(fd); } + void log_printf(const char *text,...) { int fd; @@ -81,5 +90,4 @@ void log_printf(const char *text,...) snooze(150000); #endif } - #endif diff --git a/src/add-ons/kernel/drivers/audio/echo/24/Jamfile b/src/add-ons/kernel/drivers/audio/echo/24/Jamfile index aa48416..2f4a938 100644 --- a/src/add-ons/kernel/drivers/audio/echo/24/Jamfile +++ b/src/add-ons/kernel/drivers/audio/echo/24/Jamfile @@ -13,7 +13,7 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic DSP ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic ASIC ; UsePrivateHeaders [ FDirName kernel ] # For kernel_cpp.cpp - media ; + libroot media ; # set some additional defines SubDirCcFlags -DECHO_BEOS -DECHO24_FAMILY ; diff --git a/src/add-ons/kernel/drivers/audio/echo/3g/Jamfile b/src/add-ons/kernel/drivers/audio/echo/3g/Jamfile index ec9b38f..6a25fd1 100644 --- a/src/add-ons/kernel/drivers/audio/echo/3g/Jamfile +++ b/src/add-ons/kernel/drivers/audio/echo/3g/Jamfile @@ -13,7 +13,7 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic DSP ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic ASIC ; UsePrivateHeaders [ FDirName kernel ] # For kernel_cpp.cpp - media ; + libroot media ; # set some additional defines SubDirCcFlags -DECHO_BEOS -DECHO3G_FAMILY ; diff --git a/src/add-ons/kernel/drivers/audio/echo/debug.c b/src/add-ons/kernel/drivers/audio/echo/debug.c index 1cb2b4f..2c183eb 100644 --- a/src/add-ons/kernel/drivers/audio/echo/debug.c +++ b/src/add-ons/kernel/drivers/audio/echo/debug.c @@ -28,21 +28,30 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include <KernelExport.h> + #include <stdio.h> #include <fcntl.h> #include <unistd.h> + +#include <directories.h> #include <OS.h> + #include "debug.h" + #if DEBUG > 0 -static const char * logfile="/boot/home/"DRIVER_NAME".log"; +static const char *logfile = kCommonLogDirectory "/" DRIVER_NAME ".log"; static sem_id loglock; #endif + void debug_printf(const char *text,...); void log_printf(const char *text,...); + void debug_printf(const char *text,...) { char buf[1024]; @@ -55,6 +64,7 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } + void log_create() { #if DEBUG > 0 @@ -66,6 +76,7 @@ void log_create() #endif } + void log_printf(const char *text,...) { #if DEBUG > 0 @@ -90,4 +101,3 @@ void log_printf(const char *text,...) #endif #endif } - diff --git a/src/add-ons/kernel/drivers/audio/echo/gals/Jamfile b/src/add-ons/kernel/drivers/audio/echo/gals/Jamfile index 5719258..bc21b01 100644 --- a/src/add-ons/kernel/drivers/audio/echo/gals/Jamfile +++ b/src/add-ons/kernel/drivers/audio/echo/gals/Jamfile @@ -13,7 +13,7 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic DSP ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic ASIC ; UsePrivateHeaders [ FDirName kernel ] # For kernel_cpp.cpp - media ; + libroot media ; # set some additional defines SubDirCcFlags -DECHO_BEOS -DECHOGALS_FAMILY ; diff --git a/src/add-ons/kernel/drivers/audio/echo/indigo/Jamfile b/src/add-ons/kernel/drivers/audio/echo/indigo/Jamfile index b797396..fe661cc 100644 --- a/src/add-ons/kernel/drivers/audio/echo/indigo/Jamfile +++ b/src/add-ons/kernel/drivers/audio/echo/indigo/Jamfile @@ -13,7 +13,7 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic DSP ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel drivers audio echo generic ASIC ; UsePrivateHeaders [ FDirName kernel ] # For kernel_cpp.cpp - media ; + libroot media ; # set some additional defines SubDirCcFlags -DECHO_BEOS -DINDIGO_FAMILY -DCARDBUS ; diff --git a/src/add-ons/kernel/drivers/audio/emuxki/Jamfile b/src/add-ons/kernel/drivers/audio/emuxki/Jamfile index d7ac8ab..f3f71b1 100644 --- a/src/add-ons/kernel/drivers/audio/emuxki/Jamfile +++ b/src/add-ons/kernel/drivers/audio/emuxki/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio emuxki ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; KernelAddon emuxki : ac97.c diff --git a/src/add-ons/kernel/drivers/audio/emuxki/debug.c b/src/add-ons/kernel/drivers/audio/emuxki/debug.c index f3dbc1d..349dbf0 100644 --- a/src/add-ons/kernel/drivers/audio/emuxki/debug.c +++ b/src/add-ons/kernel/drivers/audio/emuxki/debug.c @@ -28,23 +28,32 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ + + #include <KernelExport.h> + #include <stdio.h> #include <fcntl.h> #include <unistd.h> + +#include <directories.h> #include <OS.h> + #include "debug.h" #include "emuxki.h" + #if DEBUG > 0 -static const char * logfile="/boot/home/emuxki.log"; +static const char *logfile = kCommonLogDirectory "/emuxki.log"; static sem_id loglock; #endif + void debug_printf(const char *text,...); void log_printf(const char *text,...); void log_create(void); + void debug_printf(const char *text,...) { char buf[1024]; @@ -57,6 +66,7 @@ void debug_printf(const char *text,...) dprintf(DRIVER_NAME ": %s",buf); } + void log_create() { #if DEBUG > 0 @@ -68,6 +78,7 @@ void log_create() #endif } + void log_printf(const char *text,...) { #if DEBUG > 0 @@ -92,4 +103,3 @@ void log_printf(const char *text,...) #endif #endif } - diff --git a/src/add-ons/kernel/drivers/audio/module_driver/Jamfile b/src/add-ons/kernel/drivers/audio/module_driver/Jamfile index 860bc21..b235108 100644 --- a/src/add-ons/kernel/drivers/audio/module_driver/Jamfile +++ b/src/add-ons/kernel/drivers/audio/module_driver/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src add-ons kernel drivers audio module_driver ; -UsePrivateHeaders media ; +UsePrivateHeaders libroot media ; KernelAddon audio_module_driver : audio_module_driver.c [ *** diff truncated: 3498 lines dropped *** ] ############################################################################ Commit: bc93eff874d5240b252c388381dac84cb34f5821 URL: http://cgit.haiku-os.org/haiku/commit/?id=bc93eff Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 16:56:46 2011 UTC Added BuildPlatformStaticLibraryPIC rule. It works like BuildPlatformStaticLibrary, but generates position independent code. ---------------------------------------------------------------------------- ############################################################################ Commit: bd9d1df3a00fe5bb03cb1941d3b7cfdc659294e0 URL: http://cgit.haiku-os.org/haiku/commit/?id=bd9d1df Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 17:12:46 2011 UTC Added very simple BLooper class to libbe_build. ---------------------------------------------------------------------------- ############################################################################ Commit: 1044b2eb82b4644cfe261301a652c261b3168f26 URL: http://cgit.haiku-os.org/haiku/commit/?id=1044b2e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 17:14:23 2011 UTC Added missing <StorageDefs.h> include. ---------------------------------------------------------------------------- ############################################################################ Commit: 41f39d0dd67e999ce7d339726cfab5ea0d0ad6d5 URL: http://cgit.haiku-os.org/haiku/commit/?id=41f39d0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 17:15:14 2011 UTC Removed obsolete TODO. ---------------------------------------------------------------------------- ############################################################################ Commit: 5eedc38011960b59a07c8ef16a2c7f5ce1c3d72a URL: http://cgit.haiku-os.org/haiku/commit/?id=5eedc38 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 17:46:18 2011 UTC Fixed printf() format related warnings. ---------------------------------------------------------------------------- ############################################################################ Commit: 1cb2d5a467d5d56b1c219ea7f891db960df09a1e URL: http://cgit.haiku-os.org/haiku/commit/?id=1cb2d5a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 17:49:36 2011 UTC Use fs_close_attr()/write_pos() instead of close()/pwrite(). This makes it easier to reuse the code on non-Haiku platforms. ---------------------------------------------------------------------------- ############################################################################ Commit: f1eeb32334a0d50d9f558095c85d99ff4316e219 URL: http://cgit.haiku-os.org/haiku/commit/?id=f1eeb32 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 17:58:24 2011 UTC Fixed x86_64 handling by the build system. * Map build variables HOST_CPU and HOST_ARCH to x86_64, if it they are * x86 and 64 bit and define the __x86_64__ C macro instead of __INTEL__ in that case. * <OS.h>: Also handle __x86_64__. ---------------------------------------------------------------------------- ############################################################################ Commit: b795c9ce72dbd063cd30fcc051c7044153725d9f URL: http://cgit.haiku-os.org/haiku/commit/?id=b795c9c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 18:03:33 2011 UTC Made the check for B_BUFFER_OVERFLOW more flexible. ---------------------------------------------------------------------------- ############################################################################ Commit: 62fef8b3fc0c41f048133edbbdb2dec3b2d65c3c URL: http://cgit.haiku-os.org/haiku/commit/?id=62fef8b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 18:05:01 2011 UTC Added driver settings and find_directory() support. find_directory() is a very simplified implementation, only supporting what we currently need. ---------------------------------------------------------------------------- ############################################################################ Commit: e781b1b5a801e6fe2f364a302e3201458b07e58f URL: http://cgit.haiku-os.org/haiku/commit/?id=e781b1b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 18:21:53 2011 UTC Open/close attribute support for xattrs backend For the xattr/BSD (untyped) attribute backend implement fs_fopen_attr() and fs_close_attr(). A new AttributeDescriptor is created. It is currently used in write_pos() only. ---------------------------------------------------------------------------- ############################################################################ Commit: a7bcad8194c7e9b18c91195172324689fc841259 URL: http://cgit.haiku-os.org/haiku/commit/?id=a7bcad8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 18:28:14 2011 UTC Updated to current Haiku version ---------------------------------------------------------------------------- ############################################################################ Commit: 14c34be2e11541af33f8a19f620c66a28810acef URL: http://cgit.haiku-os.org/haiku/commit/?id=14c34be Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 18:30:06 2011 UTC Fixed host build issues/warnings ---------------------------------------------------------------------------- ############################################################################ Commit: d451f7a329dc00c2bee7e7bd88ed24249dacd83c URL: http://cgit.haiku-os.org/haiku/commit/?id=d451f7a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 18:34:55 2011 UTC Added several APIs to libbe_build/libshared_build ---------------------------------------------------------------------------- ############################################################################ Commit: 0ee9bc97d0a35cb34ab5321c34997f20172a870b URL: http://cgit.haiku-os.org/haiku/commit/?id=0ee9bc9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 18:37:32 2011 UTC Build libpackage for the build platform ---------------------------------------------------------------------------- ############################################################################ Commit: 922e7ba1f3228e6f28db69b0ded8f86eb32dea17 URL: http://cgit.haiku-os.org/haiku/commit/?id=922e7ba Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 18:38:09 2011 UTC Build the package tool for the build platform ---------------------------------------------------------------------------- ############################################################################ Commit: efec892e2b29fa5ef58c89a261567ef819fc2c28 URL: http://cgit.haiku-os.org/haiku/commit/?id=efec892 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 20:28:39 2011 UTC Added .gitignore ---------------------------------------------------------------------------- ############################################################################ Commit: a1cada9784bda2472dcfc4c546bd0840b4ceeb4d URL: http://cgit.haiku-os.org/haiku/commit/?id=a1cada9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 20:53:44 2011 UTC Fix x86_64 BuildConfig issues * Resolve TODO: HOST_GCC_BASE_FLAGS should not be included in HOST_LDFLAGS. Enable adding "-fno-strict-aliasing -fno-tree-vrp" accordingly. * Fix handling of HOST_PLATFORM_IS_64_BIT and HAIKU_HOST_USE_32BIT: The former does now state whether the platform is effectively treated as 64 bit platform, i.e. it actually is 64 bit and the 32 bit mode is not enforced. HAIKU_HOST_USE_32BIT is now only set when the platform is actually 64 bit, but 32 bit mode is enforced. ---------------------------------------------------------------------------- ############################################################################ Commit: abd5edcb5f72f105fbbf7575750c8daa7b8f29de URL: http://cgit.haiku-os.org/haiku/commit/?id=abd5edc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 16 20:58:22 2011 UTC libroot_build: fix error.ccp build Since USES_BE_API is set by default on all libroot_build sources, the error.cpp was broken, since it wouldn't be exempt from the error mapping. Define the BUILDING_HAIKU_ERROR_MAPPER for it directly in the Jamfile, now. ---------------------------------------------------------------------------- ############################################################################ Commit: e272fb5dec8ed35de0ad8303f675c4d9602777c8 URL: http://cgit.haiku-os.org/haiku/commit/?id=e272fb5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 17 12:53:57 2011 UTC <build>package: attribute iteration, license dir PackageWriterImpl: * Iterate through attributes using fs_read_attr_dir() instead of readdir(). Makes it work correctly on the build platform. * On the build platform look up the system licenses in their source directory rather than based on find_directory(). ---------------------------------------------------------------------------- ############################################################################ Commit: 9e3bdfb0efe4133551f924157f2df541afbf6a4c URL: http://cgit.haiku-os.org/haiku/commit/?id=9e3bdfb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 17 12:56:35 2011 UTC Generalize some image rules Pulled generalized *ToContainer versions out of several *ToHaikuImage rules. ---------------------------------------------------------------------------- ############################################################################ Commit: 355b8ba7553a58e35406084ea875f8f3f519a12b URL: http://cgit.haiku-os.org/haiku/commit/?id=355b8ba Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 17 13:11:16 2011 UTC Build a system Haiku package * Create rules (build/jam/PackageRules) and a script, build_haiku_package, to build hpkg files. * Move all rule invocations that copy files and created symlinks and directories in the "system" directory from HaikuImage to HaikuPackages, which creates a package "haiku.hpkg". * build_haiku_image: Comment out adding the copyrights info to AboutSystem for the moment. ---------------------------------------------------------------------------- ############################################################################ Commit: 93211f331fa18d566cedcbf86ea6554af074ad96 URL: http://cgit.haiku-os.org/haiku/commit/?id=93211f3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 17 14:03:56 2011 UTC PackageWriterImpl: Build platform symlink issues On a non-Haiku build platform map openat(), fstat(), and FileDescriptorCloser to _kern_open(), _kern_read_stat(), and BuildFileDescriptorCloser respectively, so symlinks can be opened and stat()ed. ---------------------------------------------------------------------------- ############################################################################ Commit: d1f40ef6361b4111a6601f42f41945f1418d1fea URL: http://cgit.haiku-os.org/haiku/commit/?id=d1f40ef Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 17 23:47:59 2011 UTC HaikuPackages: Remove the "system" path component ---------------------------------------------------------------------------- ############################################################################ Commit: dcdeed6176ea40e52a44f17be2573b6fed3946ba URL: http://cgit.haiku-os.org/haiku/commit/?id=dcdeed6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 17 23:57:35 2011 UTC AddDirectoryTo{HaikuImage,...} refactoring Move common code from AddDirectoryToHaikuImage/AddDirectoryToPackage to AddDirectoryToContainer. AddDirectoryToPackage was incorrect, using an incorrect search directory for the attribute files. ---------------------------------------------------------------------------- ############################################################################ Commit: 2bda1e84fe48b888d799bea8aeae9b1ba3f8a77f URL: http://cgit.haiku-os.org/haiku/commit/?id=2bda1e8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 18 00:19:53 2011 UTC Package rule: introduce current package notion The HaikuPackage rule now sets the variable HAIKU_CURRENTLY_BUILT_HAIKU_PACKAGE to the given package and all *ToPackage rules use that instead of a parameter. This saves passing the package in each of those rule invocations. ---------------------------------------------------------------------------- ############################################################################ Commit: 624b7c8958748bfdbf85da86488c6f94d1370b7b URL: http://cgit.haiku-os.org/haiku/commit/?id=624b7c8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 18 00:48:38 2011 UTC Add system package to image ---------------------------------------------------------------------------- ############################################################################ Commit: d11ea2b5edf78d1018b1149a57a593af50687920 URL: http://cgit.haiku-os.org/haiku/commit/?id=d11ea2b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 18 02:23:09 2011 UTC Introduce BootVolume abstraction class BootVolume is initialized from a root directory of a volume. It finds the system directory, and -- not implemented yet -- mounts the system package, if the system is packaged, replacing the system directory with it. Adjusted several functionality (main(), the loader functions, user_menu()) to use BootVolume instead of the root directory. ---------------------------------------------------------------------------- ############################################################################ Commit: 8f583b27712d4c742f7d0f1123d968b8e8b868df URL: http://cgit.haiku-os.org/haiku/commit/?id=8f583b2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 18 03:13:25 2011 UTC Build fix ---------------------------------------------------------------------------- ############################################################################ Commit: 898396ef61056cb047741a3fbc5533b418a65666 URL: http://cgit.haiku-os.org/haiku/commit/?id=898396e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 11:41:05 2011 UTC Increase boot loader heap size We need more for packagefs support. ---------------------------------------------------------------------------- ############################################################################ Commit: abc3c57ba68a10c5754a2dd2bc91a7e378e75f13 URL: http://cgit.haiku-os.org/haiku/commit/?id=abc3c57 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 11:43:24 2011 UTC KernelLd rule: opt-out linking against libsupc++ Introduced HAIKU_NO_LIBSUPC++ variable on target to prevent linking against libsupc++. ---------------------------------------------------------------------------- ############################################################################ Commit: 9a8c1339ce802a820347b72eb509039affa9e96c URL: http://cgit.haiku-os.org/haiku/commit/?id=9a8c133 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 11:46:51 2011 UTC Split package kit DataReader.cpp Pull AttributeDataReader and FDDataReader implementations out of DataReader.cpp into own source files. Thus we can avoid dependencies (e.g. to fs_attr code) we don't need/want. ---------------------------------------------------------------------------- ############################################################################ Commit: 2ef572b8fef32cd2a2201b4be563270858ae1b24 URL: http://cgit.haiku-os.org/haiku/commit/?id=2ef572b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 11:58:42 2011 UTC ReaderImplBase::ParseStrings(): Avoid new[0] ---------------------------------------------------------------------------- ############################################################################ Commit: b232be5a4773acadb1957fc609f73430c13e4821 URL: http://cgit.haiku-os.org/haiku/commit/?id=b232be5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 12:05:11 2011 UTC Boot loader build: add strerror,... * Don't link against libsupc++ anymore. We use kernel_cpp.* instead. * Link twice against boot_loader.a, so undefined symbols in FSs are resolved. ---------------------------------------------------------------------------- ############################################################################ Commit: 305722379690bb207e9cfd76e8cf8d081bbaa5e9 URL: http://cgit.haiku-os.org/haiku/commit/?id=3057223 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 12:07:53 2011 UTC Add BReferenceable to boot loader Also force include kernel_cpp.h, so it doesn't have to be included in every file (still is included in most, though). ---------------------------------------------------------------------------- ############################################################################ Commit: cbc85916fb5c35022ba6e52eb5b55a93271b1fb6 URL: http://cgit.haiku-os.org/haiku/commit/?id=cbc8591 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 12:20:04 2011 UTC Add boot loader packagefs support * Add pread(). * Add Node::ReadLink() to read a symbolic link path. * Add Directory::LookupDontTraverse() and make Lookup() non-abstract. Lookup() is implemented via LookupDontTraverse() and Node::ReadLink(). * Adjust all FS implementations accordingly. * Add a packagefs implementation. Unlike other FS implementations it isn't a pseudo-module, but provides a function to explicitly mount a package file (packagefs_mount_file()). * Finish BootVolume::SetTo() implementation, mounting the package file and replacing fSystemDirectory. Now the boot loader can load the kernel and boot modules from a packaged system. The kernel boots up to the point where the boot volume is mounted. ---------------------------------------------------------------------------- ############################################################################ Commit: 533833f646106f4d14f8329ea7773b42c7e45682 URL: http://cgit.haiku-os.org/haiku/commit/?id=533833f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 12:34:24 2011 UTC Add kernel args boot volume "packaged" flag * Add BOOT_VOLUME_PACKAGED boot volume message field name constant. * register_boot_file_system(): - Now takes a BootVolume& parameter. - If the boot volume is packaged, add that info to the boot volume message. ---------------------------------------------------------------------------- ############################################################################ Commit: 441b85e1cc56ed04ee4dedbd37d98186ad0a1e74 URL: http://cgit.haiku-os.org/haiku/commit/?id=441b85e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 13:29:22 2011 UTC Assign node IDs to packagefs nodes Fixes module loading. elf_load_image() checks the node ID to verify whether an image was already loaded, so giving all nodes the same ID only gets one image loaded. The IDs don't necessarily match the ones the kernel packagefs assigns, which could be a problem later on. ---------------------------------------------------------------------------- ############################################################################ Commit: 02b57b32a3ee6a799bc265d95d50f57ebc0886d9 URL: http://cgit.haiku-os.org/haiku/commit/?id=02b57b3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 14:44:43 2011 UTC Bump boot loader heap size ---------------------------------------------------------------------------- ############################################################################ Commit: cb89356142930e4357e2419538cbc67751a331b4 URL: http://cgit.haiku-os.org/haiku/commit/?id=cb89356 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 14:50:39 2011 UTC Boot loader packagefs: Fix ".." lookups * PackageDirectory::Lookup(): Support "." and ".." lookups. * PackageLoaderContentHandler::HandleEntry(): If the entry doesn't have a parent directory, use the volume's root directory directly. This makes PackageVolume::AddNode() superfluous and also always passes a non-NULL parent directory to PackageNode::Init(). ---------------------------------------------------------------------------- ############################################################################ Commit: 6d7953ef0a99b6de4c11ebe85cc56691f82e664c URL: http://cgit.haiku-os.org/haiku/commit/?id=6d7953e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 14:53:20 2011 UTC Add boot module symlink for packagefs ---------------------------------------------------------------------------- ############################################################################ Commit: ba65f946679a3171d2f7525a7a3be131e7f701c9 URL: http://cgit.haiku-os.org/haiku/commit/?id=ba65f94 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 15:01:23 2011 UTC Fix image rules wrt system/ relative entries * Introduce on-container jam variable HAIKU_CONTAINER_SYSTEM_DIR_TOKENS containing the directory tokens relative to the container root to refer to system. * Use the variable in *ToContainer rules that need to put something in system. * AddFilesToContainer: Fix overlooked reference to AddFilesToHaikuImage. * AddBootModuleSymlinksToContainer: Use relative symlinks. This avoids special-casing in the boot loader for packagefs. ---------------------------------------------------------------------------- ############################################################################ Commit: 18e7d26c8d6e4cc9aba4efa9f7ff7ddf44335620 URL: http://cgit.haiku-os.org/haiku/commit/?id=18e7d26 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 17:27:34 2011 UTC Mount the /boot/system packagefs on boot ---------------------------------------------------------------------------- ############################################################################ Commit: 8ba02058b949cc9b6145cefe22d9c7a8f55a2f44 URL: http://cgit.haiku-os.org/haiku/commit/?id=8ba0205 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 19:15:20 2011 UTC Add atomic_*() functions to boot loader ---------------------------------------------------------------------------- ############################################################################ Commit: 55a34b69f3a3c438254657da49205158793e21e3 URL: http://cgit.haiku-os.org/haiku/commit/?id=55a34b6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 20:14:09 2011 UTC fs_write_attr(): Allow 0-length NULL buffer ---------------------------------------------------------------------------- ############################################################################ Commit: 52e079692f1a43765ea6892b48cafcff96b88f37 URL: http://cgit.haiku-os.org/haiku/commit/?id=52e0796 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 20:15:02 2011 UTC write_pos(): Fix return value for attribute writes ---------------------------------------------------------------------------- ############################################################################ Commit: d971dfb68840b285396d046c1d116a3759997ce8 URL: http://cgit.haiku-os.org/haiku/commit/?id=d971dfb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 20:16:51 2011 UTC Nicer error output ---------------------------------------------------------------------------- ############################################################################ Commit: 05384d694451618fcd24512e23e5248da8715742 URL: http://cgit.haiku-os.org/haiku/commit/?id=05384d6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 20:17:32 2011 UTC Changed architecture to x86_gcc2 This needs to be created dynamically somehow, but for the time being we want things to work for gcc2 and x86 at least. ---------------------------------------------------------------------------- ############################################################################ Commit: f724ec0e1ee8b5420fa5df8c1660f029c570809d URL: http://cgit.haiku-os.org/haiku/commit/?id=f724ec0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 20:18:55 2011 UTC ExtractArchive: Add hpkg support ---------------------------------------------------------------------------- ############################################################################ Commit: fdc30d62ceed10e2d68e8f14fdc43b2c2c27059d URL: http://cgit.haiku-os.org/haiku/commit/?id=fdc30d6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 20:34:39 2011 UTC Fix gcc2 and ICU optional packages * InstallOptionalHaikuImagePackage: In case of hpkg packages, copy them to the target directory, instead of extracting them. * Correct gcc 2 package download URL. * The ICU gcc 2 optional packages has been repackaged as hpkg. Use that. For gcc 4 things are broken, now. ---------------------------------------------------------------------------- ############################################################################ Commit: 0d792bb3bb4b2009a9cdb1e07de63441522f0aca URL: http://cgit.haiku-os.org/haiku/commit/?id=0d792bb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 21:55:14 2011 UTC Fixed input server start fallback After failing to start the input server by signature, the fallback didn't append the input server name to the servers directory returned by find_directory(). ---------------------------------------------------------------------------- ############################################################################ Commit: d00bcc16079d008ee89ee4644a009d53e3798a8d URL: http://cgit.haiku-os.org/haiku/commit/?id=d00bcc1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 19 23:56:41 2011 UTC Hard code "Public Domain" as acceptable license ---------------------------------------------------------------------------- ############################################################################ Commit: 3f6ca2fdcab8c6c90a34dffc7a770e5ccc417c4d URL: http://cgit.haiku-os.org/haiku/commit/?id=3f6ca2f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 20 00:00:36 2011 UTC Move remaining /boot/system contents into packages * Build system: Create packages haiku-devel, haiku-welcome, haiku-userguide, and makefile-engine. * The TimGMSoundFont and BeBook zip files have been repackaged as hpkg files. * Adjust the optional package definitions accordingly. ---------------------------------------------------------------------------- ############################################################################ Commit: 253e6eeb6a6f2de15c965f9eca18ea941cec84c7 URL: http://cgit.haiku-os.org/haiku/commit/?id=253e6ee Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 20 00:01:36 2011 UTC Ignore build/user_config_headers ---------------------------------------------------------------------------- ############################################################################ Commit: 9280379a7bf876ccde70040d6b7448b85c1e48f5 URL: http://cgit.haiku-os.org/haiku/commit/?id=9280379 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 20 21:41:05 2011 UTC Comment typo fixes ---------------------------------------------------------------------------- ############################################################################ Commit: 3cc710798baa42c155dd2e5c4c75306755ae2fd7 URL: http://cgit.haiku-os.org/haiku/commit/?id=3cc7107 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 20 22:43:30 2011 UTC Replaced fs_mount::covers_vnode by Vnode::covers Introduce a Vnode::covers field. It is currently only used for the root node of an fs_mount, replacing fs_mount::covers_vnode. ---------------------------------------------------------------------------- ############################################################################ Commit: 2e21fc543649e665507240f0803de9dddc26f152 URL: http://cgit.haiku-os.org/haiku/commit/?id=2e21fc5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 01:51:50 2011 UTC Generalize use of Vnode::covered_by/covers * Introduce Vnode flags for covered and covering. Can be used as a quick check when one doesn't already hold sVnodeLock. * Rename resolve_mount_point_to_volume_root() to resolve_vnode_to_covering_vnode(). * Adjust all code that deals with transitions between mount points and volume root vnodes to generally support covered/covering vnodes. ---------------------------------------------------------------------------- ############################################################################ Commit: 313e1e37f229242df626cb34f466d388590d62d9 URL: http://cgit.haiku-os.org/haiku/commit/?id=313e1e3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 13:37:54 2011 UTC Add vfs_ prefix to resolve_vnode_to_covering_vnode() ---------------------------------------------------------------------------- ############################################################################ Commit: d61a8548f9d5efd322004bfd62c57e5a3891cdbf URL: http://cgit.haiku-os.org/haiku/commit/?id=d61a854 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 17:23:15 2011 UTC Add support for bind-mounting directories * Add support function vfs_get_mount_point(), so a file system can get its own mount point (i.e. the node it covers). Re-added fs_mount::covers_vnode for that purpose -- the root node isn't know to the VFS before the mount() hook returns. * Add function vfs_bind_mount_directory() which bind-mounts a directory to another. The Vnode::covers/covered_by mechanism is used, so this isn't true bind-mounting, but sufficient for what we need ATM and cheaper as well. The vnodes connected thus aren't tracked yet, which is needed for undoing the connection when unmounting. * get_vnode_name(): Don't use dir_read() to read the directory. Since we have already resolved vnode to the covered vnode, we don't want the dirents to be "fixed" to refer to the covering nodes. Such a vnode simply wouldn't be found. ---------------------------------------------------------------------------- ############################################################################ Commit: 314cb5f13e717b5e4a7552a8ddbd18b5a66858d2 URL: http://cgit.haiku-os.org/haiku/commit/?id=314cb5f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 17:30:47 2011 UTC Add support for shine-through directories * packagefs_mount(): Initialize the fs_volume earlier, so it is more usuable in Volume::Mount(). * The new mount parameter "shine-through" can be used to specify which shine-through mode shall be used. Can be "system", "common", "home", and "none". Depending on the setting it is decided which directories of the underlying file system are bind-mounted on top of ours. * Fix infinite loop in Volume::_RemovePackageContent(). * Use the RETURN_ERROR() macro in more places to help with debugging. ---------------------------------------------------------------------------- ############################################################################ Commit: 51191b1d4c58624a8e3bf9846b2da88ff0b58315 URL: http://cgit.haiku-os.org/haiku/commit/?id=51191b1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 17:31:17 2011 UTC Remove debug output ---------------------------------------------------------------------------- ############################################################################ Commit: 60043152eb2bd423a94fd780c15276027cbe5c6c URL: http://cgit.haiku-os.org/haiku/commit/?id=6004315 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 17:31:40 2011 UTC Mount packagefs with "system" shine-through mode ---------------------------------------------------------------------------- ############################################################################ Commit: b478cc3fc5a9c5dbccc0da1ec450cbcf75d7b9b1 URL: http://cgit.haiku-os.org/haiku/commit/?id=b478cc3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 17:32:21 2011 UTC Put TimGMSoundFont package in the right directory ---------------------------------------------------------------------------- ############################################################################ Commit: 4ef5b631e77e9bca75a71c75f3eb06bd02920430 URL: http://cgit.haiku-os.org/haiku/commit/?id=4ef5b63 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 18:31:16 2011 UTC Implement packagefs_get_vnode_name() hook ---------------------------------------------------------------------------- ############################################################################ Commit: 9561ddca0f8e80582cd352f8f80b187bce7195ed URL: http://cgit.haiku-os.org/haiku/commit/?id=9561ddc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 21:20:00 2011 UTC remove_vnode(): Also consider covering vnode busy ---------------------------------------------------------------------------- ############################################################################ Commit: 19c48aa4ae39e2b2ff84224e66b9f8e7b0280c3f URL: http://cgit.haiku-os.org/haiku/commit/?id=19c48aa Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 21:24:23 2011 UTC fix_dirent(): Fix ref count leaks * Only get an additional parent reference, when going to call vnode_path_to_vnode(). * Put the reference of the vnode vnode_path_to_vnode() returns. ---------------------------------------------------------------------------- ############################################################################ Commit: 0be138ab2f4098d3910880c92f94de8f4c2ea0df URL: http://cgit.haiku-os.org/haiku/commit/?id=0be138a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 21:26:23 2011 UTC vfs_bind_mount_directory(): Fail if unmounting ---------------------------------------------------------------------------- ############################################################################ Commit: fe5928847a347b3a46eea68628388e60796e71db URL: http://cgit.haiku-os.org/haiku/commit/?id=fe59288 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 21:31:48 2011 UTC Completed vfs_bind_mount_directory() support We don't need to explicitly track the covered/covering nodes per mount after all. In fs_unmount() we iterate through all vnodes multiple times anyway and can deal with the covers/covered_by vnodes there. Also, the root vnode doesn't need to be handled specially anymore. ---------------------------------------------------------------------------- ############################################################################ Commit: 5957270c72c705a132afc6280943f92297b34cc3 URL: http://cgit.haiku-os.org/haiku/commit/?id=5957270 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 23:29:21 2011 UTC Print the package version nicely ---------------------------------------------------------------------------- ############################################################################ Commit: 6e6ca8c530399ac66a4ec670f34b32e39c0f2de3 URL: http://cgit.haiku-os.org/haiku/commit/?id=6e6ca8c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 23:31:35 2011 UTC Fix resolvable name ---------------------------------------------------------------------------- ############################################################################ Commit: ddabac20deacc7bef7a526d53a9856ec7c9d3d3a URL: http://cgit.haiku-os.org/haiku/commit/?id=ddabac2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 21 23:59:24 2011 UTC Rename Package "name" property to "fileName" ---------------------------------------------------------------------------- ############################################################################ Commit: 01102ee50e3e6ade8bdfe88b9a991ff42d01c364 URL: http://cgit.haiku-os.org/haiku/commit/?id=01102ee Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 14:27:24 2011 UTC WIP towards packagefs package links support * Introduce Version class representing a version. * Introduce Dependency and Resolvable class and add lists of either to Package. * Parse package attributes and add dependencies and resolvables to Package. * Add a mount type to Volume and add a respective mount parameter "mount-type" (values "system", "common", "home", "custom"). Also implies the shine-through type, if that's not given. * Introduce class PackageFamily which groups equally named and versioned packages. * Add class PackageFSRoot. Each instance represents a possible file system root (separate roots for different chroot environments). Tracks Volumes belonging to the same root and their packages. ---------------------------------------------------------------------------- ############################################################################ Commit: 31cd721ebd3122eb93bd743213b0bc16b7997438 URL: http://cgit.haiku-os.org/haiku/commit/?id=31cd721 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 14:33:17 2011 UTC Change package and resolvable version ---------------------------------------------------------------------------- ############################################################################ Commit: 4b5dbacdbfada68d3b4352cd666a04b504a4b77c URL: http://cgit.haiku-os.org/haiku/commit/?id=4b5dbac Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 14:35:05 2011 UTC Make Volume::Read{Lock,Unlock} const ---------------------------------------------------------------------------- ############################################################################ Commit: 22a808885bf961eeedecae46e972a592c07caea2 URL: http://cgit.haiku-os.org/haiku/commit/?id=22a8088 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 15:37:44 2011 UTC Remove kernel_interface.cpp LeafNode dependency Introduce abstract virtual Node::ReadSymlink() method that is now used in packagefs_read_symlink() instead of casting to LeafNode. ---------------------------------------------------------------------------- ############################################################################ Commit: 8ae81ef94eb2a0941bdde3cfa8b0ef01cfe38d73 URL: http://cgit.haiku-os.org/haiku/commit/?id=8ae81ef Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 17:41:56 2011 UTC Kernel interface abstraction for attribute access * Introduce interface AttributeCookie and currently only implementation UnpackingAttributeCookie. This is an interface for reading/stat()ing an attribute. * Add abstract virtual Node::OpenAttribute() method that returns an AttributeCookie and implemented it for derived classes. * In the kernel interface attribute hooks use AttributeCookie now. The attribute directory hooks are unchanged. ---------------------------------------------------------------------------- ############################################################################ Commit: fa9fde956eba228e0c7963621627190a0b087757 URL: http://cgit.haiku-os.org/haiku/commit/?id=fa9fde9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 19:22:47 2011 UTC Remove unused Node fields ---------------------------------------------------------------------------- ############################################################################ Commit: b5ff7abceabdb1c2fa700c83dbfba0fce16ddb25 URL: http://cgit.haiku-os.org/haiku/commit/?id=b5ff7ab Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 19:23:55 2011 UTC Remove unused LeafNode::SymlinkPath() ---------------------------------------------------------------------------- ############################################################################ Commit: 3ad1037bcce52347c19b49ede50eeed8545e3cff URL: http://cgit.haiku-os.org/haiku/commit/?id=3ad1037 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 19:28:35 2011 UTC Move set_dirent_name() to Utils.h ---------------------------------------------------------------------------- ############################################################################ Commit: e807d80833d95840f9b2b529debd6f9de2558e2d URL: http://cgit.haiku-os.org/haiku/commit/?id=e807d80 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 20:01:59 2011 UTC Attribute dir access kernel interface abstraction * Introduce interface AttributeDirectoryCookie and currently only implementation UnpackingAttributeDirectoryCookie. This is an interface for reading/rewinding an attribute directory. * Add abstract virtual Node::OpenAttributeDirectory() method that returns an AttributeDirectoryCookie and implement it for derived classes. * In the kernel interface attribute directory hooks use AttributeDirectoryCookie now. ---------------------------------------------------------------------------- ############################################################################ Commit: e85e0ae85a25fe859f950b1218bf8cb8c7a56322 URL: http://cgit.haiku-os.org/haiku/commit/?id=e85e0ae Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 21:13:18 2011 UTC Remove package related dependencies from Node * Move package related methods from Node to new interface UnpackingNode. * LeafNode and Directory derive from UnpackingNode now. * Adjust Volume implementation accordingly. ---------------------------------------------------------------------------- ############################################################################ Commit: 876a16a21e528ade35c5b4bfd3e10c0b835fe03a URL: http://cgit.haiku-os.org/haiku/commit/?id=876a16a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 21:18:13 2011 UTC Rename LeafNode to UnpackingLeafNode ---------------------------------------------------------------------------- ############################################################################ Commit: 511b4fe8b36aaefb5a8a709d1b36ab9728dced76 URL: http://cgit.haiku-os.org/haiku/commit/?id=511b4fe Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 21:33:23 2011 UTC Pull derived UnpackingDirectory out of Directory Move all package specifics from now abstract Directory to new derived class UnpackingDirectory and adjust the Volume implementation accordingly. This concludes the Node/Directory refactoring. Neither class is aware of packages anymore. ---------------------------------------------------------------------------- ############################################################################ Commit: 5d5bdb495e4270c1826754e57e25e58816cce39a URL: http://cgit.haiku-os.org/haiku/commit/?id=5d5bdb4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 20:32:46 2011 UTC Update copyright year ---------------------------------------------------------------------------- ############################################################################ Commit: 5663e914c2970d0a7fa08c99347edb39c8cfd33f URL: http://cgit.haiku-os.org/haiku/commit/?id=5663e91 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 22:05:37 2011 UTC UnpackingDirectory: Remove unnessary methods Remove Read() and ReadSymlink() methods which are already implemented in Directory. ---------------------------------------------------------------------------- ############################################################################ Commit: ffc66d8dd7ed88062eba71386d61e8b310f42d6d URL: http://cgit.haiku-os.org/haiku/commit/?id=ffc66d8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 23:04:32 2011 UTC Specify mount type when mounting packagefs ---------------------------------------------------------------------------- ############################################################################ Commit: dce13a0a8cdc1fa99f47d2b1e0cc2f70aeb423a3 URL: http://cgit.haiku-os.org/haiku/commit/?id=dce13a0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 23:08:18 2011 UTC Node: Add setters for ID and parent ---------------------------------------------------------------------------- ############################################################################ Commit: b8a96de92993a211fef83f249dd815e7ffa0014d URL: http://cgit.haiku-os.org/haiku/commit/?id=b8a96de Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 23:08:33 2011 UTC Add yet empty package-links directory * Add PackageLinksDirectory Directory subclass. Currently not doing anything. * PackageFSRoot: Create a PackageLinksDirectory. * Volume: Add/remove the package links directory for the system volume. ---------------------------------------------------------------------------- ############################################################################ Commit: 7e57d125231aa57c336d056bab12048ead402131 URL: http://cgit.haiku-os.org/haiku/commit/?id=7e57d12 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 23:20:41 2011 UTC Move PackageFamily table to PackageLinksDirectory ---------------------------------------------------------------------------- ############################################################################ Commit: a2fc40be04897a8bd7be45e1e1a9296c5aab042f URL: http://cgit.haiku-os.org/haiku/commit/?id=a2fc40b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 23:37:49 2011 UTC Move EmptyAttributeDirectoryCookie to own files ---------------------------------------------------------------------------- ############################################################################ Commit: 05d7d4818e11f22044e134c680fe650347281481 URL: http://cgit.haiku-os.org/haiku/commit/?id=05d7d48 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 23 23:42:26 2011 UTC Add support function get_real_time() ---------------------------------------------------------------------------- ############################################################################ Commit: 4031a32accd2bba7bca7c8e93494e95564ae3d60 URL: http://cgit.haiku-os.org/haiku/commit/?id=4031a32 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 00:15:56 2011 UTC WIP: Create empty package links directories * Rename PackageFamily to PackageLinkDirectory and derive from Directory. * PackageLinksDirectory: Add the PackageLinkDirectory objects as children and remove the no longer needed hash table (we use the Directory's child hash table). ---------------------------------------------------------------------------- ############################################################################ Commit: 3e7333b7c188f2193a1bc5109c101461f33197b9 URL: http://cgit.haiku-os.org/haiku/commit/?id=3e7333b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 01:08:10 2011 UTC Add package link directories to system volume * Add PackageLinksListener interface. It is used by PackageLink[s]Directory to notify a listener about changes. * Volume does now implement PackageLinksListener and recursively adds/ removes package link directories. This makes the package link directories appear at least. They are still empty. ---------------------------------------------------------------------------- ############################################################################ Commit: 1becdcc7c8711d12d309527c6c449b18c4765788 URL: http://cgit.haiku-os.org/haiku/commit/?id=1becdcc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 09:30:32 2011 UTC Empty Node::VFS{Init(),Uninit}() implementations ---------------------------------------------------------------------------- ############################################################################ Commit: 70c2780c73be60a9c2f23f722815966edca6ee3a URL: http://cgit.haiku-os.org/haiku/commit/?id=70c2780 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 10:13:45 2011 UTC PackageLinksDirectory::AddPackage(): Fix check ---------------------------------------------------------------------------- ############################################################################ Commit: 1d8edd93e23d4450560e5c74c568172d70502344 URL: http://cgit.haiku-os.org/haiku/commit/?id=1d8edd9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 10:15:20 2011 UTC Create self package link ---------------------------------------------------------------------------- ############################################################################ Commit: 724fba1b0961158926033c3bf531f92483573590 URL: http://cgit.haiku-os.org/haiku/commit/?id=724fba1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 10:42:16 2011 UTC Add Node::Init() flags parameter * Add Node::Init() flags: - NODE_FLAG_KEEP_NAME: Take over ownership of the name. - NODE_FLAG_CONST_NAME: Don't copy the name -- it's a constant that lives at least as long as the object. * Remove Init() implementations in derived classes that just call the base class version. ---------------------------------------------------------------------------- ############################################################################ Commit: 1382ade575e55b4bd819bb2b60f8dd1999d55758 URL: http://cgit.haiku-os.org/haiku/commit/?id=1382ade Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 10:47:15 2011 UTC If none is given pick volume name by mount type ---------------------------------------------------------------------------- ############################################################################ Commit: fc009a29f39d2556096fb3f28536cb53d7c7bdbf URL: http://cgit.haiku-os.org/haiku/commit/?id=fc009a2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 11:18:55 2011 UTC Fix NODE_FLAG_OWNS_NAME value ---------------------------------------------------------------------------- ############################################################################ Commit: 5f80e51a9ea6c2bdc5c1db46bb55c55d0f8f9418 URL: http://cgit.haiku-os.org/haiku/commit/?id=5f80e51 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 11:26:34 2011 UTC Fix Volume::_RemovePackageLinksNode() Don't use _RemoveNode() as it also removes the node from its parent. ---------------------------------------------------------------------------- ############################################################################ Commit: 77574d40ee12142c4c9572143f3a4ebbe9b896ee URL: http://cgit.haiku-os.org/haiku/commit/?id=77574d4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 11:30:08 2011 UTC Init fSelfLink ---------------------------------------------------------------------------- ############################################################################ Commit: 59acdf5045470885e5a17d4db4380915c9047a56 URL: http://cgit.haiku-os.org/haiku/commit/?id=59acdf5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 11:31:21 2011 UTC Volume: Remove all package contents on destruction ---------------------------------------------------------------------------- ############################################################################ Commit: fd6d5d5a51e055e88176262b2ef26097653b442c URL: http://cgit.haiku-os.org/haiku/commit/?id=fd6d5d5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 11:33:24 2011 UTC Reordered methods to match declaration order ---------------------------------------------------------------------------- ############################################################################ Commit: 83d5997db5b40b1eced3b99e29f83f5be8000d24 URL: http://cgit.haiku-os.org/haiku/commit/?id=83d5997 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 11:36:49 2011 UTC Add node monitoring for package link directories ---------------------------------------------------------------------------- ############################################################################ Commit: 35eeebddc470b92183aaadaf3e791ccfc63b55fc URL: http://cgit.haiku-os.org/haiku/commit/?id=35eeebd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 24 23:59:46 2011 UTC Missing locking when adding/removing package nodes ---------------------------------------------------------------------------- ############################################################################ Commit: cd81fea02d586348a71c12d152bf65751984be4f URL: http://cgit.haiku-os.org/haiku/commit/?id=cd81fea Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 00:32:32 2011 UTC Fix package link updates/node monitoring * PackageLinksListener: Rename methods from *Directory*() to *Node*() and change parameter to Node*. Also add a *Changed() method. * PackageLinkDirectory: Update only when necessary and what is necessary (currently only the self link). ---------------------------------------------------------------------------- ############################################################################ Commit: 38a7f76509ef229e8ebcabce002ee6fe5a13a5ca URL: http://cgit.haiku-os.org/haiku/commit/?id=38a7f76 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 01:02:46 2011 UTC Add TODOs regarding broken add/remove behavior ---------------------------------------------------------------------------- ############################################################################ Commit: 9320567ed2407276a14f86ec44fbe088b13e8e1f URL: http://cgit.haiku-os.org/haiku/commit/?id=9320567 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 14:39:05 2011 UTC WIP towards dependency package links * Add ResolvableFamily and DependencyFamily classes for grouping equally named resolvables/dependencies. * Add hash tables to PackageFSRoot to track resolvables and dependencies. That is done in {Add,Remove}Package. * Resolvable does now have a list of Dependency objects, the ones it satisfies. ---------------------------------------------------------------------------- ############################################################################ Commit: 5e972a60c3576edb5ae12cc6475ddda75fe9b4a5 URL: http://cgit.haiku-os.org/haiku/commit/?id=5e972a6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 15:11:08 2011 UTC Dependency: Add Package() getter ---------------------------------------------------------------------------- ############################################################################ Commit: 8a8523274139fe2ef6088748d4023b915cbf2d46 URL: http://cgit.haiku-os.org/haiku/commit/?id=8a85232 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 15:11:33 2011 UTC Add Dependency::ResolvableVersionMatches() ---------------------------------------------------------------------------- ############################################################################ Commit: 0d7d1795a193cd6eb29838fb6e6db9fb685830fb URL: http://cgit.haiku-os.org/haiku/commit/?id=0d7d179 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 15:12:03 2011 UTC Resolvable: Add Version() getter ---------------------------------------------------------------------------- ############################################################################ Commit: 4081d37dec1f26c66421857dc8a835e465e6d296 URL: http://cgit.haiku-os.org/haiku/commit/?id=4081d37 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 15:13:07 2011 UTC ResolvableFamily: Add ResolveDependency() ---------------------------------------------------------------------------- ############################################################################ Commit: bd66b7e67068edf56f2d1cf2bec7c3c4e654b25c URL: http://cgit.haiku-os.org/haiku/commit/?id=bd66b7e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 15:13:55 2011 UTC Resolve dependencies to resolvables ---------------------------------------------------------------------------- ############################################################################ Commit: a39e95cd73139d85c43cbece88fa5ffa22e73129 URL: http://cgit.haiku-os.org/haiku/commit/?id=a39e95c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 16:28:38 2011 UTC Move PackageLinkDirectory::Link to own file And rename it to PackageLinkSymlink. ---------------------------------------------------------------------------- ############################################################################ Commit: dd9554ae693e18520e6345f261626f130786e030 URL: http://cgit.haiku-os.org/haiku/commit/?id=dd9554a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 16:32:06 2011 UTC Add dependency package links The links appear, but the dependency resolution doesn't seem to work correctly yet. ---------------------------------------------------------------------------- ############################################################################ Commit: b143a5a86161569d1fddd77c4c38cd4a93164aef URL: http://cgit.haiku-os.org/haiku/commit/?id=b143a5a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 16:46:03 2011 UTC Notify when removing a package link directory ---------------------------------------------------------------------------- ############################################################################ Commit: 5165b6b1d824e80008b09f1ff6319e41b20de09f URL: http://cgit.haiku-os.org/haiku/commit/?id=5165b6b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 25 17:05:10 2011 UTC Fix adding order dependent dependency resolution PackageFSRoot::_AddPackage(): When adding a resolvable which isn't known yet, make sure all already added matching dependencies are resolved. ---------------------------------------------------------------------------- ############################################################################ Commit: 835ecf5aca08b7b5334b6879659a833a06dfb281 URL: http://cgit.haiku-os.org/haiku/commit/?id=835ecf5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 00:27:38 2011 UTC Fix dependency resolution on resolvable removable ResolvableFamily::RemoveResolvable(): Move the resolvable's dependencies to the update list. ---------------------------------------------------------------------------- ############################################################################ Commit: 2d132da8dc68c7ca9bd025c458ab46ff500b243e URL: http://cgit.haiku-os.org/haiku/commit/?id=2d132da Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 00:28:03 2011 UTC Optional dependency resolution tracing ---------------------------------------------------------------------------- ############################################################################ Commit: c99aa60b785b10d0c43762168fc98cf14e0ce2b5 URL: http://cgit.haiku-os.org/haiku/commit/?id=c99aa60 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 01:18:11 2011 UTC Allow symlinks in the packages directory ---------------------------------------------------------------------------- ############################################################################ Commit: 2a5bef01a30464638f2c3eee60c9bbe211dac7d8 URL: http://cgit.haiku-os.org/haiku/commit/?id=2a5bef0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 01:20:58 2011 UTC Volume:Mount(): Better failure output Also use the FATAL() instead of the ERROR() macro, so something is printed also with debugging disabled. ---------------------------------------------------------------------------- ############################################################################ Commit: c6739b6af04ae36ef758e7db7a1caca0471fc6ab URL: http://cgit.haiku-os.org/haiku/commit/?id=c6739b6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 01:21:33 2011 UTC Paranoia: Handle unknown mount type ---------------------------------------------------------------------------- ############################################################################ Commit: ecf2e3d34276e387b0deb276ce391395411c89cc URL: http://cgit.haiku-os.org/haiku/commit/?id=ecf2e3d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 01:33:38 2011 UTC Cleanup ---------------------------------------------------------------------------- ############################################################################ Commit: a83fe53dcebb1ea7b96f714ab8f51bae636a3823 URL: http://cgit.haiku-os.org/haiku/commit/?id=a83fe53 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 02:37:30 2011 UTC Added default cookie Close() implementation Added trivial implementation for AttributeCookie::Close() and AttributeDirectoryCookie::Close() and removed the identical Close() implementations in derived classes. ---------------------------------------------------------------------------- ############################################################################ Commit: 59e76dbe414f32cc65320b605442f97eb60296c0 URL: http://cgit.haiku-os.org/haiku/commit/?id=59e76db Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 02:42:37 2011 UTC Support for auto-generated package node attributes * Add utility class AutoPackageAttributes and AttributeCookie subclass AutoPackageAttributeCookie. * UnpackingAttributeCookie::Open() does now try to create a AutoPackageAttributeCookie, when it doesn't find the attribute in the PackageNode. * Adjust UnpackingAttributeDirectoryCookie to also list auto-generated attributes. Currently the only supported attribute is "SYS:PACKAGE", which is the file name of the package containing the node. ---------------------------------------------------------------------------- ############################################################################ Commit: 42ae64447ea23718ead67819e15454c931c1882b URL: http://cgit.haiku-os.org/haiku/commit/?id=42ae644 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 23:45:06 2011 UTC Fix printf() format string warnings ---------------------------------------------------------------------------- ############################################################################ Commit: 5f039cf037b945f5efbaa790825496f9956ee25c URL: http://cgit.haiku-os.org/haiku/commit/?id=5f039cf Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 23:46:20 2011 UTC Fix copy'n'paste error for minor version part ---------------------------------------------------------------------------- ############################################################################ Commit: ed6d59a9a983cb031077b6d541576fc8efec1cfd URL: http://cgit.haiku-os.org/haiku/commit/?id=ed6d59a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 23:53:01 2011 UTC Introduce a pre-release version component * The version string pattern is now: <major>[.<minor>[.<micro>]][-<pre>][-<release>] * Introduce B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_PRE_RELEASE package attribute. * Add "preRelease" field to BPackageVersionData. * Add "preRelease" property to BPackageVersion and packagefs's Version. * Adjust package reader and writer code accordingly. ---------------------------------------------------------------------------- ############################################################################ Commit: e1a393153da8a44f5e30f67e1276f88b2cf1ba16 URL: http://cgit.haiku-os.org/haiku/commit/?id=e1a3931 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 26 23:55:03 2011 UTC Adjust system package versions They all use package and provides version "R1-alpha3_pm-1", now. ---------------------------------------------------------------------------- ############################################################################ Commit: b85a2681d6cc4dfba1b85af54d780e463a69b04e URL: http://cgit.haiku-os.org/haiku/commit/?id=b85a268 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 00:29:27 2011 UTC Coding style: Fix indentation ---------------------------------------------------------------------------- ############################################################################ Commit: 3a56aaeeb9f478dff7ab161deade3a9e71acccc5 URL: http://cgit.haiku-os.org/haiku/commit/?id=3a56aae Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 01:47:12 2011 UTC BPackageResolvableData: Compatible version field Add fields haveCompatibleVersion and compatibleVersion. This allows us to have a minimum version a resolvable is backwards compatible with. ---------------------------------------------------------------------------- ############################################################################ Commit: c2f56ca020107fdff0c1148fb8429d3431e655c7 URL: http://cgit.haiku-os.org/haiku/commit/?id=c2f56ca Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 01:48:00 2011 UTC BPackageResolvable: Add compatibleVersion property ---------------------------------------------------------------------------- ############################################################################ Commit: 22e1ec0e3064a91643db5e4a62a2e35ffb3a9f11 URL: http://cgit.haiku-os.org/haiku/commit/?id=22e1ec0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 01:49:12 2011 UTC Add package attribute for compatible version ---------------------------------------------------------------------------- ############################################################################ Commit: 2db69df113612ae80e37d3d0fee6657ea4a60d50 URL: http://cgit.haiku-os.org/haiku/commit/?id=2db69df Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 01:53:12 2011 UTC Support for parsing the compatible version In the .PackageInfo the compatible version for a resolvable can optionally be given after the resolvable version via "'compat[ible]' '>=' <version>". ---------------------------------------------------------------------------- ############################################################################ Commit: b2709d8a0abeca4e08ed63d2f421ffac320e1a29 URL: http://cgit.haiku-os.org/haiku/commit/?id=b2709d8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 01:57:25 2011 UTC Write resolvable compatible version to the package To avoid a clash with the regular version or an extra attribute level we use the "package:provides.compatible" package attribute instead of "package:version.major". ---------------------------------------------------------------------------- ############################################################################ Commit: ee9c9351a721c98f43475854643a3a192af763b5 URL: http://cgit.haiku-os.org/haiku/commit/?id=ee9c935 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 01:58:18 2011 UTC Support for reading compatible version attribute ---------------------------------------------------------------------------- ############################################################################ Commit: 71120ca73d3d16c1256dc57de00cfc0832b1b637 URL: http://cgit.haiku-os.org/haiku/commit/?id=71120ca Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 01:58:58 2011 UTC Print the resolvables' compatible version ---------------------------------------------------------------------------- ############################################################################ Commit: 89f1807be6ffdd03aa60603326aad9bfc6303619 URL: http://cgit.haiku-os.org/haiku/commit/?id=89f1807 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 01:59:27 2011 UTC Add compatible version support to packagefs ---------------------------------------------------------------------------- ############################################################################ Commit: 2ae9a147cac20560d6d0445e8ddf1a31c3f04e26 URL: http://cgit.haiku-os.org/haiku/commit/?id=2ae9a14 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 01:59:55 2011 UTC Declare the system package as backwards compatible ---------------------------------------------------------------------------- ############################################################################ Commit: ba1bc0a4ffb6bbaca8257ccad75e80b08020f4ac URL: http://cgit.haiku-os.org/haiku/commit/?id=ba1bc0a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 02:07:16 2011 UTC Small cleanup ---------------------------------------------------------------------------- ############################################################################ Commit: acdcba84ec9426c2d9cad20360f922d519cd1a25 URL: http://cgit.haiku-os.org/haiku/commit/?id=acdcba8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 02:31:40 2011 UTC Remove "copyright" and "license" keywords There's "copyrights" and "licenses" which can be used. ---------------------------------------------------------------------------- ############################################################################ Commit: 78ceed51225d370576ae9f460d935b66fcc4c748 URL: http://cgit.haiku-os.org/haiku/commit/?id=78ceed5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 02:34:10 2011 UTC Allow single-element string/flag lists without [] As syntactic sugar string and flag lists no longer need to be enclosed in brackets when they have exactly one element. ---------------------------------------------------------------------------- ############################################################################ Commit: 36145114ae7f4d412ba7e34b13b1fd282c3c0e54 URL: http://cgit.haiku-os.org/haiku/commit/?id=3614511 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 02:35:50 2011 UTC Adjust "copyright"/"licenses" fields Use the plural keyword name and omit brackets when only one element is specified. ---------------------------------------------------------------------------- ############################################################################ Commit: 2ec6e02711808ba732299d5d5f1ac074b774b282 URL: http://cgit.haiku-os.org/haiku/commit/?id=2ec6e02 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 04:22:44 2011 UTC Small cleanup ---------------------------------------------------------------------------- ############################################################################ Commit: eadc3c844da335809e728635ff76a298a9d0d999 URL: http://cgit.haiku-os.org/haiku/commit/?id=eadc3c8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 04:50:39 2011 UTC Add architecture property to Package ---------------------------------------------------------------------------- ############################################################################ Commit: ba926f35547e9e75613ad35f8b7901e9e7845a62 URL: http://cgit.haiku-os.org/haiku/commit/?id=ba926f3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 04:51:02 2011 UTC Extract architecture from package file ---------------------------------------------------------------------------- ############################################################################ Commit: 7e346f16778a21926ca172008241d52f9f517222 URL: http://cgit.haiku-os.org/haiku/commit/?id=7e346f1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 04:51:40 2011 UTC Include architecture in package links dir names ---------------------------------------------------------------------------- ############################################################################ Commit: 91698de99472aeb71a48fe1428acc8e24aaf2c8a URL: http://cgit.haiku-os.org/haiku/commit/?id=91698de Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 17:12:35 2011 UTC Make .PackageInfo more driver-settings-ish * Use braces instead of brackets for lists. * Semicolons and newlines separate items now. Remove handling for comma. * Allow '\'' as quotation character. * Remove assignment after variable name. This should make the .PackageInfo format driver settings compatible, but not vice versa. It is still stricter. ---------------------------------------------------------------------------- ############################################################################ Commit: 1feaa8ab7e7ea62930d1e74ea7dfad3c32576fc4 URL: http://cgit.haiku-os.org/haiku/commit/?id=1feaa8a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 17:12:58 2011 UTC Adjust to changed .PackageInfo format ---------------------------------------------------------------------------- ############################################################################ Commit: 941ec459132d16fe7a373841a054aa78063dbcd9 URL: http://cgit.haiku-os.org/haiku/commit/?id=941ec45 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 27 23:04:26 2011 UTC Don't include architecture in package links names This reverts commit a491e591c86cec4b2ce52df86f7b0d32545b4169. ---------------------------------------------------------------------------- ############################################################################ Commit: 430689a68858ddd6dc4ac36394fd924abd5ed143 URL: http://cgit.haiku-os.org/haiku/commit/?id=430689a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 28 14:54:56 2011 UTC Move hpkgBaseURL definition before its first use ---------------------------------------------------------------------------- ############################################################################ Commit: ee453e8bbccd77988e5c422a4e3d76058bd95fb2 URL: http://cgit.haiku-os.org/haiku/commit/?id=ee453e8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 28 15:24:34 2011 UTC Add url and sourceURL properties to BPackageInfo Also extend the parser to accept "url" and "source-url" attributes. ---------------------------------------------------------------------------- ############################################################################ Commit: 8b684dd3630305ea03495f39e3a1bf62a94ba6d6 URL: http://cgit.haiku-os.org/haiku/commit/?id=8b684dd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 28 15:25:18 2011 UTC Add URL/source URL hpkg package attributes ---------------------------------------------------------------------------- ############################################################################ Commit: 122597e0ba4eaa94aea0b1197e1f42d659a5f3ea URL: http://cgit.haiku-os.org/haiku/commit/?id=122597e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 28 15:44:13 2011 UTC Simplify BPackageInfo::Parser::_Parse() This also fixes the memory leak due to the previously used on-stack BObjectLists not having been defined owning the elements. ---------------------------------------------------------------------------- ############################################################################ Commit: d4701a292100473ababbd936b01c5dc3de2e135d URL: http://cgit.haiku-os.org/haiku/commit/?id=d4701a2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 28 16:01:14 2011 UTC Simplify BPackageInfo::Parser::_Parse() further * Match the attribute in a loop, use an attribute ID switch, do the "seen" checks without the switch. * Explicitly handle the case when encountering an unknown attribute. ---------------------------------------------------------------------------- ############################################################################ Commit: 28268808d8e956d3536ed04b2ce44a8c07a9be63 URL: http://cgit.haiku-os.org/haiku/commit/?id=2826880 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 28 16:15:36 2011 UTC Change source URL package info attribute name Use "-" instead of "_". ---------------------------------------------------------------------------- ############################################################################ Commit: 116852fecb4dc982b2f3581a9f65ff290ae79e3f URL: http://cgit.haiku-os.org/haiku/commit/?id=116852f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 28 16:16:18 2011 UTC Support package info [source] URL attributes ---------------------------------------------------------------------------- ############################################################################ Commit: 1bcc0f6e4a895e130db7cedabc178edfe78d777e URL: http://cgit.haiku-os.org/haiku/commit/?id=1bcc0f6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 28 18:57:30 2011 UTC .OPD -> .PackageInfo conversion tool ---------------------------------------------------------------------------- ############################################################################ Commit: 1ef35574eb72074ae996c537d7ff26743c6844da URL: http://cgit.haiku-os.org/haiku/commit/?id=1ef3557 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jun 29 22:04:54 2011 UTC package extract: Delay setting node permissions In HandleEntry() create the file/directory with sufficient permissions for the user and set the archived permissions in HandleEntryDone(). This makes sure child attributes and entries can be created. ---------------------------------------------------------------------------- ############################################################################ Commit: df18eb8718898fb7e41b9e08e213a5ea36ee137f URL: http://cgit.haiku-os.org/haiku/commit/?id=df18eb8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jun 29 22:05:19 2011 UTC Fix gcc 2 build by making Parser a friend ---------------------------------------------------------------------------- ############################################################################ Commit: 64b8c37680d22e49337f52a51bff26bfdc5f1811 URL: http://cgit.haiku-os.org/haiku/commit/?id=64b8c37 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 16:36:06 2011 UTC Move post install files to system package ---------------------------------------------------------------------------- ############################################################################ Commit: d3deb18a2d468668e73595b3f2516abdeb4beeb8 URL: http://cgit.haiku-os.org/haiku/commit/?id=d3deb18 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 16:36:17 2011 UTC Repackage default optional packages as hpkg files ---------------------------------------------------------------------------- ############################################################################ Commit: 775b8d7afd5380fc018b198df853a39c22885231 URL: http://cgit.haiku-os.org/haiku/commit/?id=775b8d7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 17:05:28 2011 UTC _kern_read_link() ignored the path ---------------------------------------------------------------------------- ############################################################################ Commit: 18d457f8b22dca3069a9e9b7c9701f4c040093b9 URL: http://cgit.haiku-os.org/haiku/commit/?id=18d457f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 17:06:47 2011 UTC Add helper is_unknown_or_system_descriptor() ---------------------------------------------------------------------------- ############################################################################ Commit: 4dbc2457985f94d2aa46668739f73231b4b2edfb URL: http://cgit.haiku-os.org/haiku/commit/?id=4dbc245 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 17:17:17 2011 UTC Wrap POSIX FD functions in libroot_build This makes opening symlinks work universally in the build system tools. Two mechanisms have been implemented, both of which don't always work. The first is remapping via preprocessor macros. This fails where equally named methods are used (e.g. STL fstream::open()). The other is using hidden functions in the new libroot_build_function_remapper.a that is linked into everything that is linked against libroot_build.so. This one fails for functions that are defined inline in headers (Linux/glibc does that). Together they seem to cover our build system needs ATM. ---------------------------------------------------------------------------- ############################################################################ Commit: e954868b707861fe2dcc53c053ac5600134eec5c URL: http://cgit.haiku-os.org/haiku/commit/?id=e954868 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 17:18:21 2011 UTC Disable function remapping via macros STL fstream::open() is used, so the macros break the build. ---------------------------------------------------------------------------- ############################################################################ Commit: bd530a0800c184d4fcc0091fa4c7949697e58b1d URL: http://cgit.haiku-os.org/haiku/commit/?id=bd530a0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 17:19:03 2011 UTC Remove the build platform work-arounds ---------------------------------------------------------------------------- ############################################################################ Commit: a6e73cb9e8addfe832c064bfcb68067f1c2fa3eb URL: http://cgit.haiku-os.org/haiku/commit/?id=a6e73cb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 17:23:45 2011 UTC Remove installoptionalpackage ---------------------------------------------------------------------------- ############################################################################ Commit: 075913f32d78b62c8b9ea13c7834515ae83fa482 URL: http://cgit.haiku-os.org/haiku/commit/?id=075913f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 18:28:07 2011 UTC Move gutenprint data files to system ---------------------------------------------------------------------------- ############################################################################ Commit: 78c665f2c3ba57d4e7758d99f8a8123aed64a81e URL: http://cgit.haiku-os.org/haiku/commit/?id=78c665f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 18:42:48 2011 UTC lpe symlink is in the pe package now ---------------------------------------------------------------------------- ############################################################################ Commit: 80399d67d31da6137f876a5edabc198c1d30f885 URL: http://cgit.haiku-os.org/haiku/commit/?id=80399d6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 18:59:07 2011 UTC Don't create empty non-writable common directories ---------------------------------------------------------------------------- ############################################################################ Commit: b0533d66a71485d56a53b8af672974617e3e4684 URL: http://cgit.haiku-os.org/haiku/commit/?id=b0533d6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 18:59:22 2011 UTC Add missing "cache" shine-through directory ---------------------------------------------------------------------------- ############################################################################ Commit: 57af7489207c9c9cd504ecdf221b1f59caee170e URL: http://cgit.haiku-os.org/haiku/commit/?id=57af748 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 19:00:22 2011 UTC Also mount "common" packagefs on boot ---------------------------------------------------------------------------- ############################################################################ Commit: 00043b5320954b88725e2379e7e590add246a304 URL: http://cgit.haiku-os.org/haiku/commit/?id=00043b5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 19:07:03 2011 UTC Use InstallOptionalHaikuImagePackage for gcc too ---------------------------------------------------------------------------- ############################################################################ Commit: dfa6888fb2b5ed76fbb533486b2d3828809523a2 URL: http://cgit.haiku-os.org/haiku/commit/?id=dfa6888 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 19:07:22 2011 UTC Remove InstallCommonPackage rule ---------------------------------------------------------------------------- ############################################################################ Commit: fd0e9e33d0ff6487625877af16dfd6a076762fc7 URL: http://cgit.haiku-os.org/haiku/commit/?id=fd0e9e3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 20:39:03 2011 UTC Fix bison hpkg package name ---------------------------------------------------------------------------- ############################################################################ Commit: 4cf5f9293fa9bd941c1cf1072042b90d11e4f5d3 URL: http://cgit.haiku-os.org/haiku/commit/?id=4cf5f92 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 19:33:43 2011 UTC Cleanup ---------------------------------------------------------------------------- ############################################################################ Commit: 5b486787aac2318368f6cd3eb624eebb28e9ed94 URL: http://cgit.haiku-os.org/haiku/commit/?id=5b48678 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 23:36:46 2011 UTC Improve FileDescriptorCloser * Add SetTo()/Unset() methods and no-argument constructor. * Detach() returns the FD now. ---------------------------------------------------------------------------- ############################################################################ Commit: bfbb410d1a0c26a5c39fbaeb10bfbd69ccf0cb1a URL: http://cgit.haiku-os.org/haiku/commit/?id=bfbb410 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 23:37:48 2011 UTC BPackageInfo::ReadFromConfigFile() BFile& version ---------------------------------------------------------------------------- ############################################################################ Commit: 4512e8d5669716c2d0e41f6f117cb86635482ebc URL: http://cgit.haiku-os.org/haiku/commit/?id=4512e8d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 23:41:28 2011 UTC Add optional FD parameter to AddEntry() If a FD is specified, instead of using the file with the given the FD is used. Allows for adding entries without first copying them into the directory structure. ---------------------------------------------------------------------------- ############################################################################ Commit: 6707be54030e82f4e1a3ad38cdce7d1522f61cb1 URL: http://cgit.haiku-os.org/haiku/commit/?id=6707be5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 23:42:23 2011 UTC Add create -i option for specifying a package info ---------------------------------------------------------------------------- ############################################################################ Commit: 32081667b118ca5603e9036ad18ef8161c34386a URL: http://cgit.haiku-os.org/haiku/commit/?id=3208166 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 23:42:47 2011 UTC Make use of package create -i option ---------------------------------------------------------------------------- ############################################################################ Commit: 55191c9ac9883365c93d4e5cdf3e54a4e46d0366 URL: http://cgit.haiku-os.org/haiku/commit/?id=55191c9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 30 23:51:34 2011 UTC Remove debug output ---------------------------------------------------------------------------- ############################################################################ Commit: 4f5d405e3468ab70499b2a31542817136fd9dd9a URL: http://cgit.haiku-os.org/haiku/commit/?id=4f5d405 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 1 00:21:28 2011 UTC Add package extract -i option Allows to specify an alternate location for the .PackageInfo. ---------------------------------------------------------------------------- ############################################################################ Commit: 5845e7916997e8c231a89daf5a5bacdc9f4211d9 URL: http://cgit.haiku-os.org/haiku/commit/?id=5845e79 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 1 00:39:57 2011 UTC Missing include ---------------------------------------------------------------------------- ############################################################################ Commit: 4796acbc8c8fa3a5325a27722746b999009988d1 URL: http://cgit.haiku-os.org/haiku/commit/?id=4796acb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 1 02:26:23 2011 UTC Support for extracting only specified entries ---------------------------------------------------------------------------- ############################################################################ Commit: 52232dbf43ef8347f3b2c18a294f0068ed9453d7 URL: http://cgit.haiku-os.org/haiku/commit/?id=52232db Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 1 02:29:34 2011 UTC Print relative paths in error messages ---------------------------------------------------------------------------- ############################################################################ Commit: 285f4a321ab6fbfc7988f37ef3ef9b64f0aadbc4 URL: http://cgit.haiku-os.org/haiku/commit/?id=285f4a3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 1 22:32:35 2011 UTC Remove debug output ---------------------------------------------------------------------------- ############################################################################ Commit: 697b9545b17b6a29237523f6e5aac14a1cab5684 URL: http://cgit.haiku-os.org/haiku/commit/?id=697b954 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 2 00:29:40 2011 UTC BLowLevelPackageContentHandler interface extension HandleAttributeDone(): Add parentToken parameter. ---------------------------------------------------------------------------- ############################################################################ Commit: 82af91fb0ecc92d000d8be513d71353961bffd71 URL: http://cgit.haiku-os.org/haiku/commit/?id=82af91f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 2 02:49:49 2011 UTC SubPathAdder: Check for overflows, omit initial / ---------------------------------------------------------------------------- ############################################################################ Commit: ffa2b2104bfa68250f1308b0d8f74b9b5ee35d55 URL: http://cgit.haiku-os.org/haiku/commit/?id=ffa2b21 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 2 02:50:51 2011 UTC PackageWriterImpl::_AddEntry(): Improve output Print the relative path instead of only the leaf name. ---------------------------------------------------------------------------- ############################################################################ Commit: eb601f803e1d79c98d7cb2367e13f70aceafce56 URL: http://cgit.haiku-os.org/haiku/commit/?id=eb601f8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 2 16:06:40 2011 UTC Move Debugger's Array class to headers/shared ---------------------------------------------------------------------------- ############################################################################ Commit: 5518472255ef10b5b03d30a8d2115cffa3a8dfa6 URL: http://cgit.haiku-os.org/haiku/commit/?id=5518472 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 01:55:30 2011 UTC Declare Array destructor inline ---------------------------------------------------------------------------- ############################################################################ Commit: 85759ab92f9ad360b2c840d200048e9bb8839f01 URL: http://cgit.haiku-os.org/haiku/commit/?id=85759ab Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 01:57:51 2011 UTC Add RangeArray utility class Templatized class for managing a set of sorted non-overlapping integer ranges. Merges and splits ranges as necessary. ---------------------------------------------------------------------------- ############################################################################ Commit: fce74facea3cb8d6b156d0e3e5b3f466e5e41bd1 URL: http://cgit.haiku-os.org/haiku/commit/?id=fce74fa Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 01:58:19 2011 UTC Add Array.h and RangeArray.h build headers ---------------------------------------------------------------------------- ############################################################################ Commit: b3211314fce9f0147e7743259826ce062bac9b02 URL: http://cgit.haiku-os.org/haiku/commit/?id=b321131 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:00:23 2011 UTC Define IDs for package section ---------------------------------------------------------------------------- ############################################################################ Commit: 97aabbede911b549e50d7ad753b4755d5c8d85a7 URL: http://cgit.haiku-os.org/haiku/commit/?id=97aabbe Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:07:47 2011 UTC Add BLowLevelPackageContentHandler section hooks * Add hooks HandleSectionStart() and HandleSectionEnd(). They are invoked to bracket package file section, so the handler can discriminate which section the attributes belong to. HandleSectionStart() features a return parameter _handleSection, which allows to handler to pick which sections it wants to handle. * "package dump" does now print the section names. ---------------------------------------------------------------------------- ############################################################################ Commit: c83c5423aa8375a9ba51ae600f0cd365f1042966 URL: http://cgit.haiku-os.org/haiku/commit/?id=c83c542 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:08:40 2011 UTC Add PackageReaderImpl heapOffset/Size getters ---------------------------------------------------------------------------- ############################################################################ Commit: abbeb15ac4f2b6524852c09a35db7b3b90b0cd3c URL: http://cgit.haiku-os.org/haiku/commit/?id=abbeb15 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:13:12 2011 UTC Move RegisterPackageInfo() to Finish() ---------------------------------------------------------------------------- ############################################################################ Commit: 04258e474118bc6d00e704d058723aec6fcf193f URL: http://cgit.haiku-os.org/haiku/commit/?id=04258e4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:15:24 2011 UTC Use fHeapOffset instead of sizeof(hpkg_header) ---------------------------------------------------------------------------- ############################################################################ Commit: 7b6bcdb146b8ac24ef3569fcb152627f724e156c URL: http://cgit.haiku-os.org/haiku/commit/?id=7b6bcdb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:20:35 2011 UTC Write uncompressed package attributes if necessary When compression doesn't save space, using it nonetheless results in a file that the reader complains about. So we fall back to writing an uncompressed package attributes section in such a case. The same still needs to be done for the TOC section. ---------------------------------------------------------------------------- ############################################################################ Commit: 327b38d69c8d9a128c64d0535f15b0274b51c51b URL: http://cgit.haiku-os.org/haiku/commit/?id=327b38d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:26:54 2011 UTC Add support for adding/updating package entries Add flags parameter to BPackageWriter::Init() (and the private implementation classes) to indicate that an existing package file shall be updated instead of created. Currently that always happens in-place. ---------------------------------------------------------------------------- ############################################################################ Commit: 1bd38c43184fef526026c8c9d93ded7d1c9ff635 URL: http://cgit.haiku-os.org/haiku/commit/?id=1bd38c4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:29:33 2011 UTC Move PackageWriterListener to separate file ---------------------------------------------------------------------------- ############################################################################ Commit: 35f8c67c17d5a35756ef419d51c640fa9eea4cdc URL: http://cgit.haiku-os.org/haiku/commit/?id=35f8c67 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:31:30 2011 UTC Move directory iteration helper to own file ---------------------------------------------------------------------------- ############################################################################ Commit: c1b5ec4065becc1c7bb35390ac88800de9012e34 URL: http://cgit.haiku-os.org/haiku/commit/?id=c1b5ec4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:31:59 2011 UTC Add "package add" command. ---------------------------------------------------------------------------- ############################################################################ Commit: 6f785748aa1fef5bb193e17ff243794250004ac6 URL: http://cgit.haiku-os.org/haiku/commit/?id=6f78574 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 02:46:26 2011 UTC Write uncompressed package file TOC, if necessary ---------------------------------------------------------------------------- ############################################################################ Commit: cc3f28c0b5237b9afc9a26ebc90aed6e50c2dc32 URL: http://cgit.haiku-os.org/haiku/commit/?id=cc3f28c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 06:28:32 2011 UTC PackageWriterImpl::_MoveHeapChunk(): better output ---------------------------------------------------------------------------- ############################################################################ Commit: f79277d0e707ed8ec4d2349108d17b99a2287488 URL: http://cgit.haiku-os.org/haiku/commit/?id=f79277d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 06:31:19 2011 UTC Fix "package add" heap compacting PackageWriterImpl::_CompactHeap(): Incorrectly used fHeapEnd instead of the heap size. So the last copied chunk was too large. ---------------------------------------------------------------------------- ############################################################################ Commit: 161d45feb55fde0e00e3e065ddd800529bdd1074 URL: http://cgit.haiku-os.org/haiku/commit/?id=161d45f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 06:44:19 2011 UTC Support for package "update" build profile action * Add global HAIKU_PACKAGES_UPDATE_ONLY build system variable, which is set for the "update" and "update-all" build profile actions. * Change the HAIKU_INCLUDE_IN_CONTAINER_VAR variable on packages to HAIKU_INCLUDE_IN_PACKAGES for all packages. The variable is also set for the "update" and "update-all" build profile actions. * Introduce HAIKU_CONTAINER_INHERIT_UPDATE_VARIABLE on container variable. If set, the contained variable will be set on the container when one or more files in it are updated. It is set on packages so an update of a file in a package causes the package to be updated in the image. * Introduce HAIKU_CONTAINER_ALWAYS_CREATE_DIRECTORIES on container variable. If set, directories will be created also in update mode. It is set on packages. ---------------------------------------------------------------------------- ############################################################################ Commit: 204261b63a8cad0629912a9cecfe982b4b78ae44 URL: http://cgit.haiku-os.org/haiku/commit/?id=204261b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 07:06:10 2011 UTC AddFilesToContainer: avoid unnecessary work * If after filtering the list of targets is empty, return. * Get the directory only afterwards. ---------------------------------------------------------------------------- ############################################################################ Commit: 319b1a7b3b488f5a6621e9888564e5f42051f096 URL: http://cgit.haiku-os.org/haiku/commit/?id=319b1a7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 07:10:27 2011 UTC Don't add directories explicitly to packages Directories are added implicitly when entries are added, so there's no need to add those directories. Directories without content don't need to be added either, since due to the read-only nature of packages they will remain empty. ---------------------------------------------------------------------------- ############################################################################ Commit: fd03be4838549e6e44627471b7692fc6a75ccf33 URL: http://cgit.haiku-os.org/haiku/commit/?id=fd03be4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 07:12:57 2011 UTC ExtractArchiveToContainer: Add update support Add an alwaysUpdate parameter like the ExtractArchiveTo{Image,Package} rules have and do the handling in the base rule. ---------------------------------------------------------------------------- ############################################################################ Commit: 5e2b65028135d2f4f0d9051002476ff12593c4b4 URL: http://cgit.haiku-os.org/haiku/commit/?id=5e2b650 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 07:28:30 2011 UTC Update support for update-* targets Set HAIKU_PACKAGES_UPDATE_ONLY and HAIKU_INCLUDE_IN_PACKAGES when one of the pre-build-profile update-* targets are used. ---------------------------------------------------------------------------- ############################################################################ Commit: b059c5e4fce866ea79969342bbe385b324be94ed URL: http://cgit.haiku-os.org/haiku/commit/?id=b059c5e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 07:29:24 2011 UTC Add PropagateContainerUpdateTargetFlags rule It propagates the HAIKU_INCLUDE_IN_IMAGE and HAIKU_INCLUDE_IN_PACKAGES variables from one target to another. ---------------------------------------------------------------------------- ############################################################################ Commit: c9c6e365376258f4f29d474675c37f7e4ca75498 URL: http://cgit.haiku-os.org/haiku/commit/?id=c9c6e36 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 07:30:54 2011 UTC Use PropagateContainerUpdateTargetFlags rule Propagate all update variables in CopySetHaikuRevision and for the kernel pseudo target. ---------------------------------------------------------------------------- ############################################################################ Commit: 3095cb1bc9f5d9bafa4b5d2ead76449c99567c4a URL: http://cgit.haiku-os.org/haiku/commit/?id=3095cb1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 08:28:03 2011 UTC Remove copy'n'paste left-over ---------------------------------------------------------------------------- ############################################################################ Commit: 718fba99c819b419a8eccff713a3ff71b44a2ecb URL: http://cgit.haiku-os.org/haiku/commit/?id=718fba9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 08:33:12 2011 UTC PackageWriterImpl::_AddEntry(): Fix update logic * Don't only look up the entry attribute when the entry is implicit. Look it up, when it is a directory instead. This aligns it the logic with _UpdateCheckEntryCollisions(). * When the entry attribute exits and the entry is not implicit, add file attributes, but not stat data. This also aligns the logic with _UpdateCheckEntryCollisions(), which removes colliding attributes, but keeps stat data. ---------------------------------------------------------------------------- ############################################################################ Commit: 76ca98339d0b98f4f3c17c510ddcf134bb001cab URL: http://cgit.haiku-os.org/haiku/commit/?id=76ca983 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 3 09:24:56 2011 UTC Postpone setting gBootDevice until after packagefs The modules code uses gBootDevice as an indicator that modules can be loaded from the boot volume. This is not the case until packagefs has been mounted, though, so we postpone setting gBootDevice. ---------------------------------------------------------------------------- ############################################################################ Commit: b750c6bf71ae381ed7f6d84585dd8009f35fe300 URL: http://cgit.haiku-os.org/haiku/commit/?id=b750c6b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 4 16:48:47 2011 UTC Fix Dependency version comparisons ---------------------------------------------------------------------------- ############################################################################ Commit: a77ad30938d369e45cb172ec6a5d718d78e61ec6 URL: http://cgit.haiku-os.org/haiku/commit/?id=a77ad30 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 4 16:49:13 2011 UTC Fix loading the resolvable compatible version ---------------------------------------------------------------------------- ############################################################################ Commit: b5831cdf17727e08d6c1e6d28ded5d9a5275d844 URL: http://cgit.haiku-os.org/haiku/commit/?id=b5831cd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 4 17:53:24 2011 UTC Disable WonderBrush until repackaged ---------------------------------------------------------------------------- ############################################################################ Commit: b489481920ca9974bae86b70871f1757e7a31db6 URL: http://cgit.haiku-os.org/haiku/commit/?id=b489481 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 4 17:53:44 2011 UTC Create /boot/apps and /boot/preferences symlinks ---------------------------------------------------------------------------- ############################################################################ Commit: 7210d7aa5879a9aa5ede74478cd544e6f377239d URL: http://cgit.haiku-os.org/haiku/commit/?id=7210d7a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 5 20:25:12 2011 UTC Create a generalized version of BFS's query code The new version is templatized over a QueryPolicy which provides the interface to the file system specifics. ---------------------------------------------------------------------------- ############################################################################ Commit: 44de97031e45b987ab2adb473b1a9e42adf2782c URL: http://cgit.haiku-os.org/haiku/commit/?id=44de970 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 5 20:45:06 2011 UTC Add TwoKeyAVLTree to kernel utils This is a tree implementation with elements with primary and secondary key. The code is a cleaned up version of ramfs's implementation. ramfs doesn't use this version yet. ---------------------------------------------------------------------------- ############################################################################ Commit: 67f11c47a76f21dab107649cf072ab919e0dd1ba URL: http://cgit.haiku-os.org/haiku/commit/?id=67f11c4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 5 20:49:07 2011 UTC Add a global node listener mechanism ---------------------------------------------------------------------------- ############################################################################ Commit: 804a92da7afe1a970f88ac11f0fc374635fc56f7 URL: http://cgit.haiku-os.org/haiku/commit/?id=804a92d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 5 20:55:24 2011 UTC Add Index base class and index table in Volume ---------------------------------------------------------------------------- ############################################################################ Commit: 3897e7298eabe1bfe7faf8f12c9f865863938938 URL: http://cgit.haiku-os.org/haiku/commit/?id=3897e72 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 5 20:57:29 2011 UTC Add NameIndex class and create instance in Volume ---------------------------------------------------------------------------- ############################################################################ Commit: a3f976768e5b4e7678827775c817fd1f38950304 URL: http://cgit.haiku-os.org/haiku/commit/?id=a3f9767 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 5 20:58:58 2011 UTC Add Query class and query management in Volume ---------------------------------------------------------------------------- ############################################################################ Commit: b8dae0fe7be1feb1cb982f6fcbae3fe7bc29cd10 URL: http://cgit.haiku-os.org/haiku/commit/?id=b8dae0f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 5 20:59:48 2011 UTC Implement query FS hooks, add empty index FS hooks ---------------------------------------------------------------------------- ############################################################################ Commit: 216ba45933836b446b7faf6880d6210dcf6305c3 URL: http://cgit.haiku-os.org/haiku/commit/?id=216ba45 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 5 21:00:02 2011 UTC Automatic whitespace cleanup ---------------------------------------------------------------------------- ############################################################################ Commit: d612248dcf6c31901ed9961db65171caeafe3729 URL: http://cgit.haiku-os.org/haiku/commit/?id=d612248 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jul 6 12:58:08 2011 UTC Cleanup ---------------------------------------------------------------------------- ############################################################################ Commit: 20b22dfc3d24ba812ceeaff56c701bdc26d49ba3 URL: http://cgit.haiku-os.org/haiku/commit/?id=20b22df Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 05:46:22 2011 UTC AVLTree: Add Previous()/Next() ---------------------------------------------------------------------------- ############################################################################ Commit: 0c19263c85c5bdc6742227dc8311e0d83f476ec5 URL: http://cgit.haiku-os.org/haiku/commit/?id=0c19263 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 05:48:09 2011 UTC AVLTreeMap/TwoKeyAVLTree: More access to nodes both: * Add Previous()/Next(). * Add Insert() version that returns a Node* instead of an Iterator. * Add Remove() version that takes a Node* instead of a key. TwoKeyAVLTree: * Add GetIterator() version that takes an additional Node*, i.e. initializing an iterator to point to the node. * Add Iterator::CurrentNode(). ---------------------------------------------------------------------------- ############################################################################ Commit: 9811f22cabcc8708113e833ddde6748d9435f66a URL: http://cgit.haiku-os.org/haiku/commit/?id=9811f22 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 05:59:09 2011 UTC QueryParser: Explicitly suspend/resume iterators Extended policy by IndexIteratorSuspend() and IndexIteratorResume() methods that are invoked for the index iterator by Query::GetNextEntry() after entering respectively before exiting. ---------------------------------------------------------------------------- ############################################################################ Commit: 747578cd93d7220c99fd704d442477dab2e360b4 URL: http://cgit.haiku-os.org/haiku/commit/?id=747578c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 06:01:44 2011 UTC Fix NameIndexPrimaryKeyCompare It was actually returning whether the names where not equal. ---------------------------------------------------------------------------- ############################################################################ Commit: 32ad4ceefb2f3f933396654817a4d2f361716cc8 URL: http://cgit.haiku-os.org/haiku/commit/?id=32ad4ce Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 06:06:16 2011 UTC Simplify [Abstract]IndexIterator interface * Remove Current() and Previous() and add a HasNext() instead. * Reimplement NameIndexIterator. It directly works with tree nodes instead of using an iterator, now. ---------------------------------------------------------------------------- ############################################################################ Commit: 49d2f608d49b268db9136c8acbd328842bfee891 URL: http://cgit.haiku-os.org/haiku/commit/?id=49d2f60 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 06:10:15 2011 UTC Name::Index(): Fix initialization order Add the node listener directly after calling the base class Init(). Otherwise, on error, the we could try to remove the listener although it wasn't added in the first place. ---------------------------------------------------------------------------- ############################################################################ Commit: fb88975a7b9c3a7a3ef2bf9025ae83c73e859a2c URL: http://cgit.haiku-os.org/haiku/commit/?id=fb88975 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 06:12:28 2011 UTC ~NameIndex(): Make more robust Remove the listener only, if it was registered. ---------------------------------------------------------------------------- ############################################################################ Commit: 9b2a17084229a86d31dc4537132f5eb33c405f4d URL: http://cgit.haiku-os.org/haiku/commit/?id=9b2a170 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 06:30:21 2011 UTC PackageLinkSymlink: Init fLinkPath in constructor ---------------------------------------------------------------------------- ############################################################################ Commit: 773005292a36c2a1f7cd1eed4fe3a7ca8fc95559 URL: http://cgit.haiku-os.org/haiku/commit/?id=7730052 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 06:38:02 2011 UTC NodeListener::NodeChanged(): Provide old value * Add interface OldNodeAttributes an instance of which is passed to NodeListener::NodeChanged() to provide the old attribute values (currently only modification time and file size). * Also extend PackageLinksListener::PackageLinkNodeChanged() with a OldNodeAttributes parameter. * Add OldNodeAttributes implementations for PackageLinkSymlink (inner class OldAttributes) and UnpackingNode (OldUnpackageNodeAttributes). ---------------------------------------------------------------------------- ############################################################################ Commit: a3463d19323e5ff7a4f6b8c1313f1dd1978311e4 URL: http://cgit.haiku-os.org/haiku/commit/?id=a3463d1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 07:20:15 2011 UTC Refactor NameIndexIterator into template class Create template class GenericIndexIterator from NameIndexIterator. ---------------------------------------------------------------------------- ############################################################################ Commit: 46368f46f38f02c06c1cf7e0f51b189ccab987c1 URL: http://cgit.haiku-os.org/haiku/commit/?id=46368f4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 09:26:38 2011 UTC Small cleanup ---------------------------------------------------------------------------- ############################################################################ Commit: a058fbe8a1707e6e3ccaa79002ad29bf18531b71 URL: http://cgit.haiku-os.org/haiku/commit/?id=a058fbe Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 09:27:33 2011 UTC TwoKeyAVLTree: Add FindFirstClosest() ---------------------------------------------------------------------------- ############################################################################ Commit: 144129434f20eb579fed296518503762fa2ac277 URL: http://cgit.haiku-os.org/haiku/commit/?id=1441294 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 09:30:06 2011 UTC GenericIndexIterator: Fix NameIndex dependency Next() was still copying the name. Add a GetNodeValue() method to the policy that fetches the value instead. ---------------------------------------------------------------------------- ############################################################################ Commit: 078007398465dad201100c17bb87243c0e7f6340 URL: http://cgit.haiku-os.org/haiku/commit/?id=0780073 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 09:34:31 2011 UTC GenericIndexIterator::SetTo(): Find fuzzily Use TwoKeyAVLTree::FindFirstClosest() instead of FindFirst(), so, if the value isn't in the index, we find the closest greater value. That's the semantics Index::InternalFind() is expected to have. ---------------------------------------------------------------------------- ############################################################################ Commit: 0209c404dc03c2a2df4f29f54c6957aa4b11370c URL: http://cgit.haiku-os.org/haiku/commit/?id=0209c40 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 09:37:22 2011 UTC Add comment ---------------------------------------------------------------------------- ############################################################################ Commit: d56e19fb9e8beaa316c8aea36a087bcdb48190c5 URL: http://cgit.haiku-os.org/haiku/commit/?id=d56e19f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 09:39:49 2011 UTC GenericIndexIterator: Add node change helpers Add NodeChangeBegin()/NodeChangeEnd() methods that can be used by the index when the respective node attribute has changed. They make sure that the iterator doesn't move with the node, should it be inserted into the index at a different position. ---------------------------------------------------------------------------- ############################################################################ Commit: d35565bed0f5c64aa02e5e69b5ffa3ae7bd484e8 URL: http://cgit.haiku-os.org/haiku/commit/?id=d35565b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 09:42:31 2011 UTC Add size index support * Add class SizeIndex. * Create and add an instance of it in Volume mount. ---------------------------------------------------------------------------- ############################################################################ Commit: 8c8e925a0a897fb727e97c9a931a3138de5cf29b URL: http://cgit.haiku-os.org/haiku/commit/?id=8c8e925 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 11:02:07 2011 UTC QueryParser: The last_modified index is time_t * Changed value type from B_INT64_TYPE to B_INT32_TYPE. * Changed QueryPolicy::NodeGetLastModifiedTime() return value from bigtime_t to time_t. ---------------------------------------------------------------------------- ############################################################################ Commit: a5d15ca28bd045817e8b9af4c11dfe1f818ec73c URL: http://cgit.haiku-os.org/haiku/commit/?id=a5d15ca Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 11:02:33 2011 UTC Removed left-over commented code ---------------------------------------------------------------------------- ############################################################################ Commit: 0c63c7738a1b281eb4232cc7f7a323436b09b63b URL: http://cgit.haiku-os.org/haiku/commit/?id=0c63c77 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 11:03:30 2011 UTC Add last modified index support * Add class LastModifiedIndex. * Create and add an instance of it in Volume::Mount(). ---------------------------------------------------------------------------- ############################################################################ Commit: 28559a4e2403ac6be2899b7c6faad0cff855db82 URL: http://cgit.haiku-os.org/haiku/commit/?id=28559a4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 13:27:30 2011 UTC Build fix ---------------------------------------------------------------------------- ############################################################################ Commit: 3877a7f4a001e7a9fad0215a5694a1cc7ec0e397 URL: http://cgit.haiku-os.org/haiku/commit/?id=3877a7f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 13:31:12 2011 UTC AVLTreeMap fixes * AVLTreeMap::_GetKey(): Change return type from const Key& to Key, so the strategy can do that as well and doesn't have have a Key object in the node. * Fix the Auto strategy: It was using the undefined _GetKey() instead of GetKey(). ---------------------------------------------------------------------------- ############################################################################ Commit: 01f7f92aef0dada1afd9c57366e3358c309dd825 URL: http://cgit.haiku-os.org/haiku/commit/?id=01f7f92 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 13:33:05 2011 UTC Move helper function out of QueryParser.h They live in the new QueryParserUtils.{h,cpp} now. ---------------------------------------------------------------------------- ############################################################################ Commit: 901749cff25f1019b3442c436799d2c9ec631230 URL: http://cgit.haiku-os.org/haiku/commit/?id=901749c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 7 13:40:04 2011 UTC Remove TwoKeyAVLTree from kernel utils again It's not ready for shared use yet. ---------------------------------------------------------------------------- ############################################################################ Commit: 3e29244600395a0cea91cfc0a0323016fc0f3253 URL: http://cgit.haiku-os.org/haiku/commit/?id=3e29244 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 13:37:46 2011 UTC Move B_MIME_STRING_TYPE to <TypeConstants.h> ---------------------------------------------------------------------------- ############################################################################ Commit: a52387c6690ca89344eb5f7df393efc65a9b70d8 URL: http://cgit.haiku-os.org/haiku/commit/?id=a52387c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 13:38:14 2011 UTC compareKeys(): Also handle B_MIME_STRING_TYPE ---------------------------------------------------------------------------- ############################################################################ Commit: 278925246f89909a7803dd0b5734f6207a2bdb92 URL: http://cgit.haiku-os.org/haiku/commit/?id=2789252 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 13:41:28 2011 UTC Remove unused PackageNodeAttribute::fParent ---------------------------------------------------------------------------- ############################################################################ Commit: 51ee03beadbf26f9485e5dde936e09737e18c466 URL: http://cgit.haiku-os.org/haiku/commit/?id=51ee03b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 13:42:24 2011 UTC QueryPolicy::NodeGetAttribute(): Get the type too ---------------------------------------------------------------------------- ############################################################################ Commit: 4d67e7847b2c58d8c6654f0b67fa27ccd7fdddb1 URL: http://cgit.haiku-os.org/haiku/commit/?id=4d67e78 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 13:46:34 2011 UTC More abstraction in GenericIndexIterator * Move tree node operations to a subpolicy TreePolicy. * Add a GenericIndexIteratorTreePolicy templatized over the policy, implementing the tree policy for the standard indices. ---------------------------------------------------------------------------- ############################################################################ Commit: 55b969b13bfbfba814aea0c961cae29825083ee6 URL: http://cgit.haiku-os.org/haiku/commit/?id=55b969b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 14:14:46 2011 UTC Attribute index support for non-special attributes * Add AttributeIndex class. * Each attribute does now have an attribute index cookie. The new attribute index service methods Node::IndexAttribute() and IndexCookieForAttribute() create+set/retrieve the cookie. The cookie is actually the attribute index's tree node. * Add OldNodeAttribute::IndexCookieForAttribute() so the cookie is available when the node changes. ---------------------------------------------------------------------------- ############################################################################ Commit: 061337ba5f903fedea109ad526c68cc7238254ff URL: http://cgit.haiku-os.org/haiku/commit/?id=061337b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 14:15:14 2011 UTC Create a "BEOS:APP_SIG" index by default ---------------------------------------------------------------------------- ############################################################################ Commit: 4006e483694cb960a25d1a95b76ea2209265d217 URL: http://cgit.haiku-os.org/haiku/commit/?id=4006e48 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 21:32:56 2011 UTC Check key length, if index keys are fixed length ---------------------------------------------------------------------------- ############################################################################ Commit: ac6706807e872a28ea43f6fabf83d57e02996aa0 URL: http://cgit.haiku-os.org/haiku/commit/?id=ac67068 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 21:33:29 2011 UTC Remove superfluous checks ---------------------------------------------------------------------------- ############################################################################ Commit: 29ee8957577e434b32d37ec895d7b8125e83a9a5 URL: http://cgit.haiku-os.org/haiku/commit/?id=29ee895 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 21:35:17 2011 UTC Remove references in index iterator interface This avoids checks. ---------------------------------------------------------------------------- ############################################################################ Commit: 7915349914fe5980f72f721a89c9b207257f6c85 URL: http://cgit.haiku-os.org/haiku/commit/?id=7915349 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 21:35:33 2011 UTC Remove unused IndexIterator constructor ---------------------------------------------------------------------------- ############################################################################ Commit: bf208087106a127859987f74c5cffc71bb49bba1 URL: http://cgit.haiku-os.org/haiku/commit/?id=bf20808 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 22:11:06 2011 UTC Add set_dirent_name() without name length parameter ---------------------------------------------------------------------------- ############################################################################ Commit: 139bd32c025a1ae8396e5ef9ec0eca7dbb4c1e86 URL: http://cgit.haiku-os.org/haiku/commit/?id=139bd32 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 22:12:10 2011 UTC Implement packagefs index (dir) hooks ---------------------------------------------------------------------------- ############################################################################ Commit: 207a28efee1701840febf7bb71cfee559160641c URL: http://cgit.haiku-os.org/haiku/commit/?id=207a28e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 22:53:18 2011 UTC Declare packagefs persistent Besides that it is kind of correct, it also makes tracker queries work correctly. ---------------------------------------------------------------------------- ############################################################################ Commit: c98a59c6538ce5a7d0072d1bc563bf2d202a9a9d URL: http://cgit.haiku-os.org/haiku/commit/?id=c98a59c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 8 22:56:18 2011 UTC Don't show packagefs on desktop or in disks window More generally: Any volume that is mounted at a directory of a persistent volume is not shown on the desktop or the disks window any longer. ---------------------------------------------------------------------------- ############################################################################ Commit: e94674ce75da4a1795cbe9ca098dee419fb2b3e9 URL: http://cgit.haiku-os.org/haiku/commit/?id=e94674c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 10 12:32:02 2011 UTC cmake 2.8.5 optional package repackaged as hpkg ---------------------------------------------------------------------------- ############################################################################ Commit: 70de928ed8a7bda307dd4aaf814991ce311f30ec URL: http://cgit.haiku-os.org/haiku/commit/?id=70de928 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 10 12:58:39 2011 UTC Move <directories.h> to headers/private/system ---------------------------------------------------------------------------- ############################################################################ Commit: e96cbb12b42bf1511d39b5f2fb41c722aeefa937 URL: http://cgit.haiku-os.org/haiku/commit/?id=e96cbb1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 10:21:00 2011 UTC Update cmake package, create doxygen package ---------------------------------------------------------------------------- ############################################################################ Commit: 3773b4751472f62d68a29116ac9c1508ef7b2a63 URL: http://cgit.haiku-os.org/haiku/commit/?id=3773b47 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 10:24:52 2011 UTC Tracker: Sort volumes like folders Volumes no longer have a higher sorting priority than folders when "sort folders first" is enabled. ---------------------------------------------------------------------------- ############################################################################ Commit: 407c09e2d9f356e5a69b40091c0c64c088ec7606 URL: http://cgit.haiku-os.org/haiku/commit/?id=407c09e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 10:29:40 2011 UTC Create /packages symlink on boot Rename the package links directory from /package-links to just /packages and create it when booting. ---------------------------------------------------------------------------- ############################################################################ Commit: a0f63477842603c41892e788d432adda6cb92a0d URL: http://cgit.haiku-os.org/haiku/commit/?id=a0f6347 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 11:50:05 2011 UTC Fix location of the Deskbar menu symlinks ---------------------------------------------------------------------------- ############################################################################ Commit: e6067d0cf4bd9f945aaf276e0d417c18340ef53e URL: http://cgit.haiku-os.org/haiku/commit/?id=e6067d0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 11:51:07 2011 UTC Change Haiku package name to lower case ---------------------------------------------------------------------------- ############################################################################ Commit: d7227dfa9e644112f7019d94b4611da400c6c884 URL: http://cgit.haiku-os.org/haiku/commit/?id=d7227df Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 11:55:35 2011 UTC BPackageWriter: Add SetCheckLicenses() The default is still "true", but now it is possible to disable the license check. ---------------------------------------------------------------------------- ############################################################################ Commit: f19957b8e5311ffc5b802032e4f24cdda81f9b50 URL: http://cgit.haiku-os.org/haiku/commit/?id=f19957b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 12:00:55 2011 UTC Add a package info "install-path" attribute The attribute is intended for simplifying package building. The package's install path will be used for the package's .self package symlink, allowing installation to a temporary directory when building the package. ---------------------------------------------------------------------------- ############################################################################ Commit: 6f0f81ef9b73e662fb4cb70c3cc6dcff52fe2bf5 URL: http://cgit.haiku-os.org/haiku/commit/?id=6f0f81e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 12:02:37 2011 UTC Add options -b and -I to package command * With -b building a build package can be requested. It will be empty save for the .PackageInfo. No license check is performed. * -I allows to specify an install path. ---------------------------------------------------------------------------- ############################################################################ Commit: 48a8980c43ecf127e6a87e92261671b2a4820176 URL: http://cgit.haiku-os.org/haiku/commit/?id=48a8980 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 12:03:15 2011 UTC Add install path support to packagefs ---------------------------------------------------------------------------- ############################################################################ Commit: 437651ffccae7aea235b5d9bb34d63071609e625 URL: http://cgit.haiku-os.org/haiku/commit/?id=437651f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 12:24:50 2011 UTC Force package names and versions to lower case ---------------------------------------------------------------------------- ############################################################################ Commit: 15e694e535dbb1d20370a0bd6c31b3d1d69039b1 URL: http://cgit.haiku-os.org/haiku/commit/?id=15e694e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 18:32:09 2011 UTC Add UnpackingNode::IsOnlyPackageNode() It returns whether the given package node is the only package node attached to that node. ---------------------------------------------------------------------------- ############################################################################ Commit: 0c7ef631d8f7bd5ddc951991882c383a6223a85f URL: http://cgit.haiku-os.org/haiku/commit/?id=0c7ef63 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 18:35:50 2011 UTC Notify earlier when removing a package node Volume::_RemovePackageNode(): Notify listeners before removing the last package node from the node, . This prevents the size/last modified indices from not finding the node anymore, since the node would return a default value instead of the value it was added to the index with. ---------------------------------------------------------------------------- ############################################################################ Commit: f642202ae81d265a891ab77659c566f57b376cc9 URL: http://cgit.haiku-os.org/haiku/commit/?id=f642202 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 11 18:42:48 2011 UTC Updated gcc 2.95.3 package The /boot/common include paths are now built in. ---------------------------------------------------------------------------- ############################################################################ Commit: 30ab13397ba65e2454ee4bb971565fe8457a34e5 URL: http://cgit.haiku-os.org/haiku/commit/?id=30ab133 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 12 23:44:21 2011 UTC Handle the newer package attributes ---------------------------------------------------------------------------- ############################################################################ Commit: c3057c3f039fe2f857ed7490d4db5a80d5239109 URL: http://cgit.haiku-os.org/haiku/commit/?id=c3057c3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 12 23:44:57 2011 UTC Initialize BRepositoryInfo::fInitStatus ---------------------------------------------------------------------------- ############################################################################ Commit: c71072069bc544f6f2553f7fd400cbec6de28770 URL: http://cgit.haiku-os.org/haiku/commit/?id=c710720 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 12 23:50:00 2011 UTC GetRepositoryCache/Config(): return valid entry Always create the common repository cache/config paths so the BEntry that is returned is valid at least. Fixes BRefreshRepositoryRequest failing when the common repository cache path didn't exist yet. ---------------------------------------------------------------------------- ############################################################################ Commit: f19b93ff219652717c42346226293e4a69356d42 URL: http://cgit.haiku-os.org/haiku/commit/?id=f19b93f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 15 10:57:52 2011 UTC Missing newline in error message ---------------------------------------------------------------------------- ############################################################################ Commit: 61b0ae0f392ca84df38696c8e4accbada4298afb URL: http://cgit.haiku-os.org/haiku/commit/?id=61b0ae0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 15 11:03:22 2011 UTC Implement more virtuals in Node and Directory * Node: Add default implementations for UserID(), GroupID(), OpenAttributeDirectory(), and OpenAttribute(). * Directory: Add default implementations for Mode() and FileSize(). * Remove the respective hook implementations in the PackageLink* classes. ---------------------------------------------------------------------------- ############################################################################ Commit: 3ac7efb860e745099a453541f124f7549c78cdc9 URL: http://cgit.haiku-os.org/haiku/commit/?id=3ac7efb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 15 11:03:56 2011 UTC Fix debug output ---------------------------------------------------------------------------- ############################################################################ Commit: f361dbbe9974869b65d743f2d9b6dc469639d7e3 URL: http://cgit.haiku-os.org/haiku/commit/?id=f361dbb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 15 11:06:28 2011 UTC Fix notifications when adding package link dir When adding a new package link directory, the volume would only be notified about the addition of the directory itself, not of the addition of its contents. Add a new PackageLinkDirectory::NotifyDirectoryAdded() which does the whole job and use it in PackageLinksDirectory::AddPackage(). ---------------------------------------------------------------------------- ############################################################################ Commit: 6c9fa4613647c05d1cbf4e86e0a9311cc0b04eb0 URL: http://cgit.haiku-os.org/haiku/commit/?id=6c9fa46 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 15 11:21:26 2011 UTC Fix handling of shine-through directories * Add a new class ShineThroughDirectory for shine-through directories instead of using UnpackingDirectory. * Split up setting up the shine-through directories in two steps. First the directories are only created. That happens before adding the initial package domains. After publishing the root node we bind the shine-through directories to the underlying directories. * This makes adding a package directory with the same name as a shine-through directory fail in _AddPackageNode() as originally intended. Since we no longer want it to fail -- the package daemon will copy the files in the respective directories as part of the activation process -- we simply skip the directory now. Adjust _AddPackageNode() and _AddPackageContentRootNode() accordingly. ---------------------------------------------------------------------------- ############################################################################ Commit: 5bc695204984ddd2ba5da212f71eaa8d7db2dafd URL: http://cgit.haiku-os.org/haiku/commit/?id=5bc6952 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 15 11:22:28 2011 UTC Add error output in case of invalid compression ID ---------------------------------------------------------------------------- ############################################################################ Commit: abf1023d31bdf9f17a696c8730365eba6b44bda2 URL: http://cgit.haiku-os.org/haiku/commit/?id=abf1023 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 15 11:23:30 2011 UTC Handle the newer package attributes This unbreaks reading repository cache files using the respective attributes. ---------------------------------------------------------------------------- ############################################################################ Commit: 5a54e156e5b96ef240ce432a09f18dea364dcd47 URL: http://cgit.haiku-os.org/haiku/commit/?id=5a54e15 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 16 11:51:50 2011 UTC Add HashValue() methods to BString ---------------------------------------------------------------------------- ############################################################################ Commit: 10e1bc52678bd81eb2c9dd1de8661ecef0d22ee0 URL: http://cgit.haiku-os.org/haiku/commit/?id=10e1bc5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 16 12:02:49 2011 UTC BRepositoryCache: Add iteration, etc. * Remove InitCheck() and the initializing constructor. * Rename PackageCount() to CountPackages(). * Use BOpenHashTable instead of HashMap for the internal PackageMap. * Allow multiple packages with the same name. Equally named packages are in a singly linked list after the first package with that name. * Add an Iterator inner class and a GetIterator() method, so one can now iterate through the packages in the repository. ---------------------------------------------------------------------------- ############################################################################ Commit: d0c417848b2a5b665578911e6acb3593bed8d0e8 URL: http://cgit.haiku-os.org/haiku/commit/?id=d0c4178 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 16 13:59:49 2011 UTC BString::Private class to access BString internals ---------------------------------------------------------------------------- ############################################################################ Commit: 808a51161a479ea97517b4a3e57a27e684970007 URL: http://cgit.haiku-os.org/haiku/commit/?id=808a511 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 16 14:00:20 2011 UTC Add a BStringList class ---------------------------------------------------------------------------- ############################################################################ Commit: 2021c9842e1e61a3bf0f6550725ec3baf53d44b1 URL: http://cgit.haiku-os.org/haiku/commit/?id=2021c98 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 16 14:36:36 2011 UTC Use BStringList in package kit Replace all instances of BObjectList<BString> by BStringList. ---------------------------------------------------------------------------- ############################################################################ Commit: f195cdc8c0274c685edc51cc0513d6066da49fd6 URL: http://cgit.haiku-os.org/haiku/commit/?id=f195cdc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 16 19:45:56 2011 UTC Removed left-over code ---------------------------------------------------------------------------- ############################################################################ Commit: db9a50a2c6ecaf7ce4d89595968cfaac2dc5885f URL: http://cgit.haiku-os.org/haiku/commit/?id=db9a50a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 16 21:11:25 2011 UTC Pull class BPackageInfoSet out of BRepositoryCache ---------------------------------------------------------------------------- ############################################################################ Commit: 99ee453ff8ef9697a3755cee30dff7f0e01f37f1 URL: http://cgit.haiku-os.org/haiku/commit/?id=99ee453 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 16 21:11:48 2011 UTC find_directory(): Fix package links path ---------------------------------------------------------------------------- ############################################################################ Commit: 10b8f702768b083af8107f4418fdc910151d6d09 URL: http://cgit.haiku-os.org/haiku/commit/?id=10b8f70 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 16 21:15:16 2011 UTC Add class BPackageInfoContentHandler A BPackageContentHandler subclass that initializes a BPackageInfo from the read package attributes. Pulled out of RepositoryWriterImpl's PackageContentHandler. ---------------------------------------------------------------------------- ############################################################################ Commit: 8c29f587282dbe71860169bfe1c9832c659f14c0 URL: http://cgit.haiku-os.org/haiku/commit/?id=8c29f58 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 16 21:19:00 2011 UTC Add BPackageRoster::GetActivePackages() The implementation is temporary. Currently it reads through the packages in the respective packages directory and checks against the package links. Once package activation is tracked explicitly we'll use the activation file/directory. ---------------------------------------------------------------------------- ############################################################################ Commit: e99df3a512431f30e07187454953b5d8f1a6b6e5 URL: http://cgit.haiku-os.org/haiku/commit/?id=e99df3a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 17 00:52:26 2011 UTC Fix build due to <directories.h> move Apparently I should have done a complete rebuild after moving directories.h from headers/private/libroot to .../system, since a lot of stuff didn't build anymore. ---------------------------------------------------------------------------- ############################################################################ Commit: b55bd1da251d647c19080b5334860d72910563fa URL: http://cgit.haiku-os.org/haiku/commit/?id=b55bd1d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 17 15:09:23 2011 UTC configure: Update required gcc 2 version ---------------------------------------------------------------------------- ############################################################################ Commit: 8212d04704240401e328b789d4a9284873a63c10 URL: http://cgit.haiku-os.org/haiku/commit/?id=8212d04 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 18 19:04:33 2011 UTC Repackage BeZillaBrowser as hpkg ---------------------------------------------------------------------------- ############################################################################ Commit: d5c52ccd3933b426a48c1b40b1c3ca42f4bdf4ba URL: http://cgit.haiku-os.org/haiku/commit/?id=d5c52cc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jul 20 22:31:34 2011 UTC Fix typo ---------------------------------------------------------------------------- ############################################################################ Commit: 25d31cc472a552a1f5dfa15f4ee0a267ea521907 URL: http://cgit.haiku-os.org/haiku/commit/?id=25d31cc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jul 20 22:35:35 2011 UTC Fix package removal with skipped directories Volume::_RemovePackageContentRootNode(): Check whether a directory corresponding to the package directory does actually exist. This might not be the case when the package directory has been skipped due to clashing with a shine-through directory. Would crash in this case. ---------------------------------------------------------------------------- ############################################################################ Commit: 72796728e3a5318a4963cacbaaf3c2ea9e8975b5 URL: http://cgit.haiku-os.org/haiku/commit/?id=7279672 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 21 01:56:23 2011 UTC Fix node handling on package addition/removal * UnpackingLeafNode: Add a fFinalPackageNode attribute. It is set when the node is about to be removed and will point to the node's previous head package node and be used in its stead. From the perspective of the FS hooks this leaves the node in an unchanged state. * Unpacking[Leaf,Directory]Node: - Add WillBeFirstPackageNode(), returning whether the given package node would become the head package node when added. - Add PrepareForRemoval() which removes all package nodes. In case of UnpackingLeafNode it also sets fFinalPackageNode. - Add CloneTransferPackageNodes(). It is only implemented for UnpackingLeafNode. It clones the node, transfers all package nodes to the clone and sets fFinalPackageNode on this node. * Volume::_{Add,Remove}PackageNode(): Solved the following TODO: When a package is added or removed and a file present in both the added/removed package and another package with the version in the former having precedence, we have to remove the node (leaving it unchanged) and replace it by a new node. This prevents clients having the node opened or mapped from suddenly seeing different data. It also fixes unbalanced calls to PackageNode::VFSInit()/VFSUninit() which would result in file descriptors to package files being leaked. ---------------------------------------------------------------------------- ############################################################################ Commit: c6a11edc9f5a8436fc2a8b1add0df53995ffc8eb URL: http://cgit.haiku-os.org/haiku/commit/?id=c6a11ed Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 21 15:43:33 2011 UTC Fix removing dependencies on package removal The dependencies must also be dissociated from the resolvables they have been resolved to. ---------------------------------------------------------------------------- ############################################################################ Commit: b779a874a894cf1fff94aef1819fdcd6979420b6 URL: http://cgit.haiku-os.org/haiku/commit/?id=b779a87 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 21 17:05:50 2011 UTC Node: Keep track of VFS init status * Node::VFSInit() and VFSUninit() set/clear the new node flag NODE_FLAG_KNOWN_TO_VFS. They need to be called by overriding methods, now. * Add Node::IsKnownToVFS() which returns the VFS init status. ---------------------------------------------------------------------------- ############################################################################ Commit: 7723ae9df290e2e6f62e84fa9a75bdf8f9e620f9 URL: http://cgit.haiku-os.org/haiku/commit/?id=7723ae9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 21 18:28:01 2011 UTC Volume::_RemoveNodeAndVNode(): Squash TODO Only get/remove/put the vnode when the node is actually known to the VFS. This does not only save unnecessary work, it also solves a (temporary) deadlock -- at least partially. If another thread caused a call to our get_vnode() hook just before, it would block on the volume lock we're holding when adding/removing packages. The vnode would be marked busy until the other thread's request was fulfilled and our call to get_vnode() would block until timing out. Now we're calling get_vnode() only, if we already know that the VFS already has a valid vnode. There still remains a race condition. If the VFS discards the vnode right before we call get_vnode(), we essentially have the same situation as before (i.e. us calling get_vnode() although the vnode is no longer known to the VFS) with the same potential problem. For a real solution we need a get_vnode() variant which can be told not to block. ---------------------------------------------------------------------------- ############################################################################ Commit: 19ae20e67e91fc09cc9fc5c0e60e21e24e7a53eb URL: http://cgit.haiku-os.org/haiku/commit/?id=19ae20e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Nov 5 16:00:01 2011 UTC Merge branch 'master' into pm-flat Conflicts: build/jam/HaikuImage build/jam/OptionalBuildFeatures build/jam/OptionalPackages build/jam/UserBuildConfig.sample data/bin/installoptionalpackage src/apps/deskbar/DeskbarMenu.cpp src/servers/debug/DebugServer.cpp src/system/kernel/fs/vfs.cpp ---------------------------------------------------------------------------- ############################################################################ Commit: c1ef23b188f363e95cc320103df70793a6fb3097 URL: http://cgit.haiku-os.org/haiku/commit/?id=c1ef23b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Nov 5 16:20:45 2011 UTC PackageLinkDirectory::_Update(): Don't unlock after delete When using an AutoLocker on an object, the lock must be released explicitly before releasing the last certain reference to that object. ---------------------------------------------------------------------------- ############################################################################ Commit: 403bb7a568488f266b917f84f82381d3a342f0f5 URL: http://cgit.haiku-os.org/haiku/commit/?id=403bb7a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Mar 27 19:11:38 2013 UTC haiku package info: declare a few provided commands sh, awk, wget, etc. are currently provided by haiku.hpkg. Declare them accordingly, since they are already referenced by some HaikuPorts packates. For the generic ones ("sh", "awk") I've used version 0.0.0 for the time being; we may need to reconsider that. ---------------------------------------------------------------------------- ############################################################################ Commit: 4e87ae1bbe89b24986fc1deab35d4dc0ad2cc5a2 URL: http://cgit.haiku-os.org/haiku/commit/?id=4e87ae1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Mar 27 21:17:41 2013 UTC Repackaged xz-utils package It is now declared with architecture x86_gcc2, though it probably has been built with gcc4. That issue has to be solved for real eventually, since the package resolver won't allow mixing of gcc2 and gcc4 packages. ---------------------------------------------------------------------------- ############################################################################ Commit: 71051342011e696954083d95c00a9402d0ba22b5 URL: http://cgit.haiku-os.org/haiku/commit/?id=7105134 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Mar 28 00:17:37 2013 UTC haiku package info: Add more provided resolvable Also add a compat version to a few. ---------------------------------------------------------------------------- ############################################################################ Commit: 90692f47f7132ef806aef9e210684520d91f2a4f URL: http://cgit.haiku-os.org/haiku/commit/?id=90692f4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Mar 28 00:20:23 2013 UTC Rebuilt packages required for bootstrapping ---------------------------------------------------------------------------- ############################################################################ Commit: dd60d4eef66f09888d14f599592956143c02a2a3 URL: http://cgit.haiku-os.org/haiku/commit/?id=dd60d4e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Mar 28 12:16:41 2013 UTC OptionalPackages: Fix CVS URL Due to a copy'n'paste error the curl package was used. While at it, use the rebuilt package. ---------------------------------------------------------------------------- ############################################################################ Commit: a8026c5f5771f8b1e51a4ec38fdde3366bf0f6dc URL: http://cgit.haiku-os.org/haiku/commit/?id=a8026c5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Mar 28 12:18:21 2013 UTC haiku package info: List zlib in provides ---------------------------------------------------------------------------- ############################################################################ Commit: e3926e56694a5c5bd72ebfb99eaeb31d71649f94 URL: http://cgit.haiku-os.org/haiku/commit/?id=e3926e5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Mar 28 13:18:47 2013 UTC haiku package info: Fix zlib provides declaration ---------------------------------------------------------------------------- ############################################################################ Commit: 3f986502fd1231831200038bbf5f75f1ef1c82ea URL: http://cgit.haiku-os.org/haiku/commit/?id=3f98650 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Mar 29 02:09:20 2013 UTC Rebuilt packages for subversion and its dependencies ---------------------------------------------------------------------------- ############################################################################ Commit: 999234242738bc3a6cb67500736da110ba87f6d8 URL: http://cgit.haiku-os.org/haiku/commit/?id=9992342 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Mar 29 19:44:12 2013 UTC package_repo: command_create(): Fix argument count check ---------------------------------------------------------------------------- ############################################################################ Commit: 10efbe6c5e9350b8683d5b79ca6b9c75d61131a2 URL: http://cgit.haiku-os.org/haiku/commit/?id=10efbe6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Mar 29 20:09:20 2013 UTC BRepositoryInfo::SetTo(): driver settings unloaded too early The string pointers retrieved from the driver settings are only valid until the settings handle is freed. The were also used afterwards, though. ---------------------------------------------------------------------------- ############################################################################ Commit: 479ca8169c85621dda097bebe337bcc373eba68f URL: http://cgit.haiku-os.org/haiku/commit/?id=479ca81 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 1 00:25:37 2013 UTC Beginnings of the PackageKit dependency solver Not functional (or tested) yet. The libsolv setup for a somewhat simplified installation case should be more or less complete, though. The solution conversion to to-be-created Haiku data structures and the handling of problems is still missing, though. ---------------------------------------------------------------------------- ############################################################################ Commit: 0816749e41c0757e4e3269e18ffc333b64deb1c8 URL: http://cgit.haiku-os.org/haiku/commit/?id=0816749 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 1 23:06:33 2013 UTC package_repo: Removes dependency to package * Move StandardErrorOutput to libpackage and into proper namespace to avoid "package_repo" having to reuse the "package" source file. * package_repo: Fix incorrect includes of "package.h". ---------------------------------------------------------------------------- ############################################################################ Commit: df65c3118a17089b20f3f9bf22b59988ddf7bc1c URL: http://cgit.haiku-os.org/haiku/commit/?id=df65c31 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 1 23:17:25 2013 UTC Add BNoErrorOutput to package kit ---------------------------------------------------------------------------- ############################################################################ Commit: dfb5fa8ba3da4fe01df1cab7a233b9ce145c06ac URL: http://cgit.haiku-os.org/haiku/commit/?id=dfb5fa8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 1 23:18:16 2013 UTC Add convenience methods BPackageInfo::ReadFromPackageFile() ---------------------------------------------------------------------------- ############################################################################ Commit: 7c293958240a164ff48f2f0b5f3641ffe7e2eee9 URL: http://cgit.haiku-os.org/haiku/commit/?id=7c29395 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 2 17:06:56 2013 UTC Add some missing build headers ---------------------------------------------------------------------------- ############################################################################ Commit: bcdf4924048db31db99f55626fd4ce735cc1fff1 URL: http://cgit.haiku-os.org/haiku/commit/?id=bcdf492 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 2 17:17:46 2013 UTC Simplify/fix the ExtractArchive rule and friends * The call to the dummy actions isn't needed * The calls to Extract{Zip,Tar,HPKG}Archive1 couldn't work like that. The directory has to be the main target, since ExtractArchive is potentially invoked multiple times with different extracted file targets and the Extract*Archive1 is only invoked the first time. Tested only with the HPKG actions, but they others should work as well. ---------------------------------------------------------------------------- ############################################################################ Commit: 04d1edefe25bfa40ba2360e596189281739bd649 URL: http://cgit.haiku-os.org/haiku/commit/?id=04d1ede Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 2 17:24:22 2013 UTC Fix the libpackage_build build * The recently introduced {No,Standard}ErrorOutput.cpp were still missing. * Add hack to allow building more correctly on Haiku. We were using the installed package kit headers, not the ones from the working directory. ---------------------------------------------------------------------------- ############################################################################ Commit: fc75f2df0c666dcc61be83c4facdd3132340c2fb URL: http://cgit.haiku-os.org/haiku/commit/?id=fc75f2d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 2 17:27:29 2013 UTC <build>package: Fix build * StandardErrorOutput.cpp no longer exists (respectively has been moved to libpackage). * Add hack to allow building more correctly on Haiku. We were using the installed package kit headers, not the ones from the working directory. ---------------------------------------------------------------------------- ############################################################################ Commit: dd6ec1de82028af2d1a7bd0d8d2c7a6ba5cbbb34 URL: http://cgit.haiku-os.org/haiku/commit/?id=dd6ec1d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 2 17:31:06 2013 UTC Add libsolv build feature ---------------------------------------------------------------------------- ############################################################################ Commit: a3dd6caf55b8862747542069f3bf116e92723eab URL: http://cgit.haiku-os.org/haiku/commit/?id=a3dd6ca Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 02:06:26 2013 UTC Add public package version parsing API * BPackageVersion: Add respective constructor and SetTo(). * BPackageInfo: Add static ParseVersionString() utility method. It's only there because the parser lives in the BPackageInfo implementation. ---------------------------------------------------------------------------- ############################################################################ Commit: 2d0563f357e1e6958b853d6bb90deefd1a266c54 URL: http://cgit.haiku-os.org/haiku/commit/?id=2d0563f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 02:09:23 2013 UTC Fix BPackageResolvableExpression::ToString() The operator was inserted as a number. ---------------------------------------------------------------------------- ############################################################################ Commit: 1a4d020daf80d0b0c30062530cf735ce46dc7dba URL: http://cgit.haiku-os.org/haiku/commit/?id=1a4d020 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 02:15:57 2013 UTC Flesh out the package kit solver API quite a bit more * Reorganize things a bit: - BSolver is now an abstract base class. - A libsolv based implementation, LibsolvSolver, lives in a new add-on, which is loaded lazily. - Get rid of libpackage_solver. Save for LibsolvSolver everything is moved to libpackage. - This is a nicer solution for the cyclic dependency caused by libsolv (libsolvext to be precise) using the package kit for reading repositories and package files. * Add a solver result data structure and and an accessor the solver. * Add problem reporting support to the solver. There aren't data structures for the problem solutions yet and support for selecting solutions and re-solving is missing as well. ---------------------------------------------------------------------------- ############################################################################ Commit: 1acf2be80dd9d6409fd3a4f6d304896fb9aeb286 URL: http://cgit.haiku-os.org/haiku/commit/?id=1acf2be Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 02:32:50 2013 UTC pkgman: Add command resolve-build-dependencies This is a service command for haikuporter. It resolves the dependencies for a package to be built and lists them, so that haikuporter can prepare the build environment accordingly. The implementation isn't quite finished yet. Currently the packages are printed only with name and version, while it would probably be more helpful to print the path of the package file. Also, the package itself (respectively a dummy package) is printed as well. ---------------------------------------------------------------------------- ############################################################################ Commit: 07a4d4e370d8edcd84e8c36b8f7eee1c88d60858 URL: http://cgit.haiku-os.org/haiku/commit/?id=07a4d4e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 15:57:16 2013 UTC BSolverRepository: Add SetPriority() ---------------------------------------------------------------------------- ############################################################################ Commit: 19f3eaaee692a5edc59cb453540489a132c43b69 URL: http://cgit.haiku-os.org/haiku/commit/?id=19f3eaa Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 15:58:27 2013 UTC pkgman: Simplify and rename resolve-build-dependencies * Now it only gets a package (info) file and a single list of repository directories, optionally with priority, and resolves the package's dependencies. The more complex two resolving steps it did before can just as well be done by haikuporter, and this way the command is more flexible. * Rename to resolve-dependencies. * Some TODOs still remain. ---------------------------------------------------------------------------- ############################################################################ Commit: 65502bbe88c4686bdefbc5d646b9b681e1c49743 URL: http://cgit.haiku-os.org/haiku/commit/?id=65502bb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 16:42:20 2013 UTC BSolver: Add VerifyInstallation() ... and implement it in LibsolvSolver. ---------------------------------------------------------------------------- ############################################################################ Commit: 749884283a72b650748d830648d31eea78b6b7d3 URL: http://cgit.haiku-os.org/haiku/commit/?id=7498842 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 16:44:14 2013 UTC pkgman resolve-dependencies: Verify result * Make sure that the computed dependencies don't themselves depend on the specified package. * Print only the actual dependencies, not the specified package. ---------------------------------------------------------------------------- ############################################################################ Commit: a8b832bf461cc0a4325302d929067c19f4e7aedf URL: http://cgit.haiku-os.org/haiku/commit/?id=a8b832b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 17:06:47 2013 UTC BSolverRepository::AddPackage(): Add optional return parameter ... returning the added BSolverPackage object. ---------------------------------------------------------------------------- ############################################################################ Commit: 4b8aabfac92bcc9be71cf861df8ec83e1a84d944 URL: http://cgit.haiku-os.org/haiku/commit/?id=4b8aabf Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 17:09:38 2013 UTC pkgman resolve-dependencies: Print package paths ... instead of package name and version. The command should now work as required by haikuporter. ---------------------------------------------------------------------------- ############################################################################ Commit: 046f1c437811594ba60a462b9d4e423f7fac5528 URL: http://cgit.haiku-os.org/haiku/commit/?id=046f1c4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 18:11:11 2013 UTC pkgman resolve-dependencies: Avoid code duplication ---------------------------------------------------------------------------- ############################################################################ Commit: 7216c8944d01a0800e11a2e9f8d04ef307957f91 URL: http://cgit.haiku-os.org/haiku/commit/?id=7216c89 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 18:14:54 2013 UTC pkgman resolve-dependencies: Improve usage text formatting ---------------------------------------------------------------------------- ############################################################################ Commit: 1add554a832a5fdd2bb26692115fd116afecf60c URL: http://cgit.haiku-os.org/haiku/commit/?id=1add554 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 3 19:04:55 2013 UTC Make LibSolv a mandatory package ... so it is actually installed on the image. ---------------------------------------------------------------------------- ############################################################################ Commit: 6d04dfb7a999afa6da39dcfd4aeac6dc22e5311f URL: http://cgit.haiku-os.org/haiku/commit/?id=6d04dfb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 4 09:24:39 2013 UTC bindfs: Fix double deletion of root node on unmount The VFS calls the FS's put_vnode() for all nodes, including the root node, prior to calling unmount(). ---------------------------------------------------------------------------- ############################################################################ Commit: ce1d0481833eaa6aa22e1006e92602db3ed33f97 URL: http://cgit.haiku-os.org/haiku/commit/?id=ce1d048 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 4 20:25:23 2013 UTC packagefs: Fix adding package links twice to volume PackageLinkDirectory::NotifyDirectoryAdded() first notified the listener (Volume) about the directory itself, then about the links it contained. Since Volume adds the nodes recursively, the latter were added twice, resulting in a corrupted ID hash table. ---------------------------------------------------------------------------- ############################################################################ Commit: dedc1369e1d745b0a678df432d6131893290cfd2 URL: http://cgit.haiku-os.org/haiku/commit/?id=dedc136 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 4 22:17:22 2013 UTC packagefs: Acquire missing reference for the root dir We need one for the ID table and one for the volume itself. ---------------------------------------------------------------------------- ############################################################################ Commit: c7382d4c9d83304e44e8672caaf71895715efd62 URL: http://cgit.haiku-os.org/haiku/commit/?id=c7382d4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 4 22:20:32 2013 UTC packagefs: Acquire missing reference for shine-through dirs Since we publish shine-through directories directly to the VFS, we need to acquire an additional reference, because we release a reference when a node is put. ---------------------------------------------------------------------------- ############################################################################ Commit: 05940bc51417d34f7cb78bd1f2253d305320c563 URL: http://cgit.haiku-os.org/haiku/commit/?id=05940bc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 4 22:31:51 2013 UTC packagefs: Fix handling of package-links directory on unmount * Volume::_RemovePackageLinksDirectory(): We don't want to call _RemovePackageLinksNode(). Besides that the ID hash table has already been emptied before and we would thus release a reference to the node erroneously, the method doesn't do anything we want anyway. We don't want any children to be removed, since we have unregistered the volume's packages already (which removes the respective package link directories); the remaining ones are from other volumes and not ours to remove. * PackageFSRoot: Release a reference to the package links directory in the destructor. We create the directory in Init() after all and no one else takes over ownership. ---------------------------------------------------------------------------- ############################################################################ Commit: ce577d8db0580112cd8dcd60a1c6110f624a3d2a URL: http://cgit.haiku-os.org/haiku/commit/?id=ce577d8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 5 14:50:20 2013 UTC packagefs: AttributeIndex: Support duplicates correctly The tree comparisons didn't allow for different Nodes having the same attribute value. Therefore only the first node would be added and later we would try to remove a node not actually in the tree, leading to a crash. packagefs seems to finally unmount cleanly, now. ---------------------------------------------------------------------------- ############################################################################ Commit: d4823423996b12ff7332be5dcf97c35c295129a2 URL: http://cgit.haiku-os.org/haiku/commit/?id=d482342 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 5 14:58:50 2013 UTC VM: Fix vm_block_address_range() area protection B_ALREADY_WIRED, which was erroneously passed for the area protection parameter to map_backing_store(), has the value 7 which implies user readable and writable. Hence the address ranges around 0xdeadbeef and 0xcccccccc could actually be read and written from anywhere. ---------------------------------------------------------------------------- ############################################################################ Commit: 259046a38810367985e7e9f89b90d769eb6380ce URL: http://cgit.haiku-os.org/haiku/commit/?id=259046a Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Fri Apr 5 16:31:58 2013 UTC Fix build without xattrs being used * need to invoke fs_fopen_attr() instead of fs_open_attr() ---------------------------------------------------------------------------- ############################################################################ Commit: daf7cb41c4973f4cd5108bd90bdffc0e6a33c91b URL: http://cgit.haiku-os.org/haiku/commit/?id=daf7cb4 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Fri Apr 5 16:34:28 2013 UTC Bring back libroot_build.a for now. * the corresponding TODO has to be dealt with at a later stage ---------------------------------------------------------------------------- ############################################################################ Commit: 5b6fb78c407a1c15a6793e9009857d4dedfc331d URL: http://cgit.haiku-os.org/haiku/commit/?id=5b6fb78 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 5 16:44:12 2013 UTC VFS: _kern_open_dir(): Fix NULL path case It would create an empty path buffer and pass that on to dir_open(), which accepts NULL, but not empty paths. ---------------------------------------------------------------------------- ############################################################################ Commit: 91586bd3b651574c9f0d3010567d4bcc40f4c092 URL: http://cgit.haiku-os.org/haiku/commit/?id=91586bd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 5 16:52:09 2013 UTC packagefs: Fix handling of package domain paths * The package directory path specified when mounting must be interpreted in the caller's I/O context. We did always interpret it in the kernel's I/O context, so that a relative path or a path in a chroot environment wouldn't work correctly. Now opening the directory is done in PackageDomain::Init() where we can at least guess the path's origin. * We also normalize the path, though merely to get more conclusive debug output, since after opening the directory the path isn't used for anything else anymore. * Make the "packages" mount parameter optional. If not specified, use the "packages" folder at our mount point. ---------------------------------------------------------------------------- ############################################################################ Commit: 0c6927b5d7c8f73abd7663168f5f437b39661c6c URL: http://cgit.haiku-os.org/haiku/commit/?id=0c6927b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 6 02:26:40 2013 UTC packagefs: Add ioctl to get basic volume information Also rename the MountType enum and members, since they are no longer packagefs private. ---------------------------------------------------------------------------- ############################################################################ Commit: 26296b0aa4ddcc1b8baf1e6c380d0f8634730068 URL: http://cgit.haiku-os.org/haiku/commit/?id=26296b0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 6 02:29:34 2013 UTC Add the humble beginnings of the package daemon It doesn't really do anything yet save for tracking what packagefs volumes are mounted and unmounted. ---------------------------------------------------------------------------- ############################################################################ Commit: 2d8ec1d502634cf7d3fffc50bae54c5019a807fd URL: http://cgit.haiku-os.org/haiku/commit/?id=2d8ec1d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 6 21:30:18 2013 UTC Add the obvious node_ref constructor ---------------------------------------------------------------------------- ############################################################################ Commit: 27197fd74b19289e5a6dd5a344a66c18259324d8 URL: http://cgit.haiku-os.org/haiku/commit/?id=27197fd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 7 09:38:03 2013 UTC packagefs Package: Add getters for device and node ID ---------------------------------------------------------------------------- ############################################################################ Commit: e85e9dadda48ba707367595e2aa93dc8f9f78054 URL: http://cgit.haiku-os.org/haiku/commit/?id=e85e9da Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 7 09:45:47 2013 UTC packagefs: Move the package loading code to Package * Volume::_LoadPackage() -> Package::Load() * Volume::_DomainEntryCreated(): Pull a bit of code into a new _LoadPackage() method for reuse. ---------------------------------------------------------------------------- ############################################################################ Commit: 17bb54dc38958fa7fc945346b3799350fc25e5b3 URL: http://cgit.haiku-os.org/haiku/commit/?id=17bb54d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 7 09:53:50 2013 UTC packagefs: ioctls for getting and changing package activation * Add PACKAGE_FS_OPERATION_GET_PACKAGE_INFOS which returns the node refs of all packages activated. * Add PACKAGE_FS_OPERATION_CHANGE_ACTIVATION to activate/deactivate multiple packages. ---------------------------------------------------------------------------- ############################################################################ Commit: 3d53bd473b49aa91a9611dfe6500492500e1e8c6 URL: http://cgit.haiku-os.org/haiku/commit/?id=3d53bd4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 7 10:02:18 2013 UTC package daemon: Add package monitoring and de-/activation * packagefs: Disable (comment out) node monitoring of the packages directory. * package daemon: - When a packagefs volume is added load the respective packages directory and get from the volume which of the packages are activated. - Add node monitoring for the packages directory and activate/deactivate packages as packages are added/removed. ---------------------------------------------------------------------------- ############################################################################ Commit: af5c10ab19555126fc60d7766330ba1cc789cf52 URL: http://cgit.haiku-os.org/haiku/commit/?id=af5c10a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 7 10:21:54 2013 UTC packagefs: Remove the packages directory node monitoring ---------------------------------------------------------------------------- ############################################################################ Commit: 6978941aac85ea329a8552253f384924dcccd1b3 URL: http://cgit.haiku-os.org/haiku/commit/?id=6978941 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 7 10:57:15 2013 UTC packagefs: Remove support for multiple package domains per volume That also get rid of the job stuff and the package loader thread. ---------------------------------------------------------------------------- ############################################################################ Commit: 71364193839bcbefb2df5223133f901e25c3a99f URL: http://cgit.haiku-os.org/haiku/commit/?id=7136419 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 7 21:59:43 2013 UTC Add shared PthreadMutexLocker, an AutoLocker for pthread_mutex_t ---------------------------------------------------------------------------- ############################################################################ Commit: 8fb3930a4290eb1156bbe53fba7947b0cd2be237 URL: http://cgit.haiku-os.org/haiku/commit/?id=8fb3930 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 7 22:05:51 2013 UTC package daemon: Make all work with the packages asynchronous There's now a worker thread per Root that does all the work that can take time. Node monitoring notifications received in the main thread are just pushed into the worker's job queue, so the application looper remains responsive. ---------------------------------------------------------------------------- ############################################################################ Commit: 9e4096146fa5a20df2fc06301683853029851163 URL: http://cgit.haiku-os.org/haiku/commit/?id=9e40961 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 8 13:19:11 2013 UTC package daemon: Add a Listener interface for Volume * This way, Volume doesn't have to know Root. * Suppress listener notifications for node monitoring events when there are were already events pending. ---------------------------------------------------------------------------- ############################################################################ Commit: 91a9b5f2765833cec3bfeda5f4962f45931dbe9d URL: http://cgit.haiku-os.org/haiku/commit/?id=91a9b5f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 8 13:21:26 2013 UTC package daemon: Volume: Make sure move entry events don't get split ---------------------------------------------------------------------------- ############################################################################ Commit: 379131d97d1bda4b50a0a384c36abd239783cc83 URL: http://cgit.haiku-os.org/haiku/commit/?id=379131d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 8 13:44:31 2013 UTC BString: Add StartsWith() and EndsWith() methods ---------------------------------------------------------------------------- ############################################################################ Commit: def92c01eec2711ecf3bc42c64d92be7c90c650f URL: http://cgit.haiku-os.org/haiku/commit/?id=def92c0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 8 13:45:47 2013 UTC packagefs/daemon: Ignore packages/ entries without .hpkg suffix ---------------------------------------------------------------------------- ############################################################################ Commit: bb88feaa3a3c83e4a0f6b3de355ecb57b426f4cc URL: http://cgit.haiku-os.org/haiku/commit/?id=bb88fea Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 8 15:44:43 2013 UTC PackageFSActivationChangeRequest: Make items array 0 sized That's more convenient to use and the actual size of an item is variable anyway. ---------------------------------------------------------------------------- ############################################################################ Commit: 2508cd615fdcbdefcf8b913a5ef23a267499d924 URL: http://cgit.haiku-os.org/haiku/commit/?id=2508cd6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 8 15:45:24 2013 UTC packagefs: Volume::_ChangeActivation(): Check 0 request size ---------------------------------------------------------------------------- ############################################################################ Commit: ebbefc0151ffae360647cf2ee50a5b28c63bda80 URL: http://cgit.haiku-os.org/haiku/commit/?id=ebbefc0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 8 15:49:14 2013 UTC package daemon: Root: Use a common job for volume work Add VolumeJob which, besides the Volume, takes a Root method to be invoked. That allows to replace the specific job classes by simple methods. ---------------------------------------------------------------------------- ############################################################################ Commit: a6c7f5e33c2a4e8596b2901d2fbecdd579d47b36 URL: http://cgit.haiku-os.org/haiku/commit/?id=a6c7f5e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 8 17:06:18 2013 UTC package daemon: De/-activate all changed packages together * We first process the node monitoring events, collecting the required package activation changes, then apply all changes together. * Change the PackageFSActivationChangeItem/-Request structs. The former is no longer variable in size, which makes it easier to work with. ---------------------------------------------------------------------------- ############################################################################ Commit: 1047e84f39654c67e966afd0b41d3488d8d9b09d URL: http://cgit.haiku-os.org/haiku/commit/?id=1047e84 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 8 18:53:32 2013 UTC package daemon: Volume::InitPackages(): Fix error case Don't assign fListener, when starting node monitoring fails. ---------------------------------------------------------------------------- ############################################################################ Commit: 5e01af3199254d0f5fd666b32b073a5283230021 URL: http://cgit.haiku-os.org/haiku/commit/?id=5e01af3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 9 15:24:27 2013 UTC package kit: Add data structures for problem solutions ... and add the problem solutions in LibsolvSolver. ---------------------------------------------------------------------------- ############################################################################ Commit: 4b3ca457b640c8759328c93aa9333f960de33196 URL: http://cgit.haiku-os.org/haiku/commit/?id=4b3ca45 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 9 16:55:07 2013 UTC BSolverProblemSolution: Fix ToString() template strings ---------------------------------------------------------------------------- ############################################################################ Commit: 92b6d58598fb09b38150027f6cbfa38fd5fb53e6 URL: http://cgit.haiku-os.org/haiku/commit/?id=92b6d58 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 9 17:51:10 2013 UTC package daemon: Check volume package dependencies initially Dumps the result (i.e. found problems and solutions) to the syslog. Eventually the user should be asked what to do when inconsistencies are encountered. ---------------------------------------------------------------------------- ############################################################################ Commit: 19a268a459bb8a117f42937901532ef3b117a8d7 URL: http://cgit.haiku-os.org/haiku/commit/?id=19a268a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 9 18:07:46 2013 UTC Update libiconv and sqlite packages The new package files haven't been rebuilt, just repackaged. Only small details in the package-info changed. ---------------------------------------------------------------------------- ############################################################################ Commit: a96531fc511e210c34cb054310b61b560a82a06c URL: http://cgit.haiku-os.org/haiku/commit/?id=a96531f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 9 20:12:22 2013 UTC package daemon: On changes write a file with the active packages ---------------------------------------------------------------------------- ############################################################################ Commit: 19dc1d084f13bed77863dd1be56e846c314dd546 URL: http://cgit.haiku-os.org/haiku/commit/?id=19dc1d0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 9 21:26:56 2013 UTC packagefs: Use the package activation file If the file exists load only the packages specified in it. If it doesn't exist or any kind of error occurs, fall back to loading all packages in the packages directory. ---------------------------------------------------------------------------- ############################################################################ Commit: 40cbf171efee048cd28a69e791b2ebac38cad3c2 URL: http://cgit.haiku-os.org/haiku/commit/?id=40cbf17 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 9 21:35:57 2013 UTC packagefs: don't dup() the packages directory FD Volume::_AddInitialPackagesFromDirectory(): Use openat() instead of dup() to get a FD for the packages directory. Currently our fdopendir() implementation doesn't use it directly anyway, but in theory it could and would then change the state of the original FD. ---------------------------------------------------------------------------- ############################################################################ Commit: 50888ebdc02b3d14e775206e0abb4d2a64cb9580 URL: http://cgit.haiku-os.org/haiku/commit/?id=50888eb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 10 10:58:12 2013 UTC BSolverRepository: Add a change count ... so we can easily check whether the repository has changed since the last time we used it. ---------------------------------------------------------------------------- ############################################################################ Commit: 483d49968d847843721d7e0c3a043327fc29955b URL: http://cgit.haiku-os.org/haiku/commit/?id=483d499 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 10 11:20:38 2013 UTC LibsolvSolver: Make repeated use of object possible * _Solve(): Clean up the old solver before creating a new one. * _AddRepositories(): Don't do anything, if the repositories haven't changed. ---------------------------------------------------------------------------- ############################################################################ Commit: 5776551d3dfa5c88bdebd65fd211aaebbb91e525 URL: http://cgit.haiku-os.org/haiku/commit/?id=5776551 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 10 12:41:30 2013 UTC pkgman: Move some classes into own file for reuse Namely RepositoryBuilder and PackageInfoErrorListener. ---------------------------------------------------------------------------- ############################################################################ Commit: 1a34656b57ddfb178fe00903e74ad24882d83bc6 URL: http://cgit.haiku-os.org/haiku/commit/?id=1a34656 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 10 22:36:10 2013 UTC BPackageVersion: Make version string constructor explicit ---------------------------------------------------------------------------- ############################################################################ Commit: 6c6460e1f644e5b48e7fc4528d33219fe13f270e URL: http://cgit.haiku-os.org/haiku/commit/?id=6c6460e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 10 22:37:25 2013 UTC BPackageInfo: Add GetConfigString() and ToString() ---------------------------------------------------------------------------- ############################################################################ Commit: b254217a09a45fe317ae8b8e9ad9a8ddfc3df4b0 URL: http://cgit.haiku-os.org/haiku/commit/?id=b254217 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 10 22:59:48 2013 UTC package daemon: Properly qualify private package headers ... instead of adding the private package header directory to the include paths. ---------------------------------------------------------------------------- ############################################################################ Commit: 62f7022a8294bbd5407826c0bb8b071975ed90d5 URL: http://cgit.haiku-os.org/haiku/commit/?id=62f7022 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 11 00:03:25 2013 UTC package kit: get active packages list from daemon * daemon: Implement private message protocol to retrieve the active packages. * BPackageRoster::GetActivePackages(): Get the active packages list from the daemon. ---------------------------------------------------------------------------- ############################################################################ Commit: a78a2540a820ca541177fce1d454d3aa7073715c URL: http://cgit.haiku-os.org/haiku/commit/?id=a78a254 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 11 15:21:27 2013 UTC LibsolvSolver: Fix the lazy re-/initialization * _Init() was a bit too enthusiastic, throwing really everything away. So, after calling it at the beginning of _AddRepositories() there wouldn't be any repositories anymore. * Rename _Init() to _InitPool() to make its purpose clearer. * Pull a _CleanupPool() out of _Cleanup() that only deletes the pool and anything depending on it. * RepositoryInfo::HasChanged(): Always consider changed when there's no libsolv repo yet. ---------------------------------------------------------------------------- ############################################################################ Commit: fc57db481fa36695457bc355ca9710c91d53ab1d URL: http://cgit.haiku-os.org/haiku/commit/?id=fc57db4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 11 15:30:08 2013 UTC BSolver/LibsolvSolver: Add FindPackages() Given a search string it finds all matching packages. ---------------------------------------------------------------------------- ############################################################################ Commit: 789867563ad6e4730b470bfe2b8b7314aa671756 URL: http://cgit.haiku-os.org/haiku/commit/?id=7898675 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 11 15:32:17 2013 UTC pkgman RepositoryBuilder: Add BRepositoryConfig constructor ---------------------------------------------------------------------------- ############################################################################ Commit: dd46d9816332a8936534aeeb26613c5269b75a6a URL: http://cgit.haiku-os.org/haiku/commit/?id=dd46d98 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 11 15:33:23 2013 UTC pkgman: Add "search" command ---------------------------------------------------------------------------- ############################################################################ Commit: eb13a353e39799c58dd2a8704e8553ba18a7b1d3 URL: http://cgit.haiku-os.org/haiku/commit/?id=eb13a35 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 11 15:44:58 2013 UTC Rename "packages" subdir "config" to "administrative" ... to avoid the impression that it contains something the user can play with. ---------------------------------------------------------------------------- ############################################################################ Commit: 663e351cb468e889ffcd08c07fc867b3002a1c91 URL: http://cgit.haiku-os.org/haiku/commit/?id=663e351 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 11 21:36:12 2013 UTC BSolver/pkgman: Support for searching in provides * BSolver/LibsolvSolver: * Add B_FIND_IN_NAME and make searching in the names explicit. * Add B_FIND_IN_PROVIDES to search the packages' provides list. * pkgman: Also search in provides. ---------------------------------------------------------------------------- ############################################################################ Commit: 01758ed3323e22359f685ffb37ef42a3b856fd66 URL: http://cgit.haiku-os.org/haiku/commit/?id=01758ed Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 11 22:21:49 2013 UTC Rework SolverPackageSpecifier * It no longer consists of a BPackageResolvableExpression and a repository. Instead it can now either refer to a package directly or consist of a search string. * SolverPackageSpecifierList: Add AppendSpecifier() convenience versions. * Adjust LibsolvSolver and pkgman accordingly. ---------------------------------------------------------------------------- ############################################################################ Commit: 38e528bbc1c368456c8b8a94d6f21081934cc4f9 URL: http://cgit.haiku-os.org/haiku/commit/?id=38e528b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 11 23:48:53 2013 UTC pkgman: C++-ify the command handling There's now a Command class that must be derived and registered with a CommandManager, all simplified by a REGISTER_COMMAND macro. That gets rid of the print_command_usage_and_exit() function copy for every command, moves the short usage texts to the command implementations, and avoids any repetition of the command name. When implementing a new command only a new source file needs to be created, nothing else needs to be touched. ---------------------------------------------------------------------------- ############################################################################ Commit: 115eae73712eb0cc26ffba34235383d3c2a1a080 URL: http://cgit.haiku-os.org/haiku/commit/?id=115eae7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 12 10:27:32 2013 UTC LibsolvSolver::Install(): Fix broken B_PACKAGE case ---------------------------------------------------------------------------- ############################################################################ Commit: 334a5a566c49d247cd8b4491cd3c94748f7df18b URL: http://cgit.haiku-os.org/haiku/commit/?id=334a5a5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 12 11:42:27 2013 UTC BSolverRepository: Change priority from uint8 to int32 This allows us to specifies priorities below and above the user definable range. ---------------------------------------------------------------------------- ############################################################################ Commit: 71293f8b03be4d9d14d32a134ac5177e62187728 URL: http://cgit.haiku-os.org/haiku/commit/?id=71293f8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 12 12:21:08 2013 UTC BSolverPackageSpecifier: Fix string constructor ---------------------------------------------------------------------------- ############################################################################ Commit: 0d8ed3f2a8f240750c15e9dfec09fb2e20b7160a URL: http://cgit.haiku-os.org/haiku/commit/?id=0d8ed3f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 12 12:21:54 2013 UTC BSolver::Install(): Add optional unmatched specifier return param ---------------------------------------------------------------------------- ############################################################################ Commit: 0d50fa87ec909d6d81190d187596163264c59d94 URL: http://cgit.haiku-os.org/haiku/commit/?id=0d50fa8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 12 13:29:50 2013 UTC pkgman: Add beginnings of the "install" command So far it only solves the dependencies and prints the result. No problem handling, no actual installation. ---------------------------------------------------------------------------- ############################################################################ Commit: 82ce8682f25a392be5c06a5a6cf534f5bb962c4a URL: http://cgit.haiku-os.org/haiku/commit/?id=82ce868 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 13 00:04:00 2013 UTC Add missing build header Referenceable.h ---------------------------------------------------------------------------- ############################################################################ Commit: 711a2a6eea557acfd3b0737ec428334ef40155b9 URL: http://cgit.haiku-os.org/haiku/commit/?id=711a2a6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 13 00:08:43 2013 UTC BPackageInfoSet: Add copy constructor, assignment operator * Implement copy-on-write support. * Add copy constructor and assignment operator. * Remove Init(). Initialize lazily instead. Since AddInfo() can fail and we check initialization anyway, there's no point in having an explicit Init(). Given that there was only one invocation of Init() in the package kit and its users, it was very likely missing in some places. * Fix a few places where we ignored that the PackageMap actually contains lists of PackageInfo objects. ---------------------------------------------------------------------------- ############################################################################ Commit: bbb2dc237a6a82b22dc0a93542078e39b2046d17 URL: http://cgit.haiku-os.org/haiku/commit/?id=bbb2dc2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 13 12:39:35 2013 UTC Add BReferenceable to libbe_build Unbreaks the build on non-Haiku build platforms ---------------------------------------------------------------------------- ############################################################################ Commit: 8a4ebe2c469333d0cabc9a9a6d353d4b42f61d6c URL: http://cgit.haiku-os.org/haiku/commit/?id=8a4ebe2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 14 12:09:11 2013 UTC Make BPackageInfo archivable ---------------------------------------------------------------------------- ############################################################################ Commit: b2d96da589896ed9ebb2524f873e9fc0baa650ec URL: http://cgit.haiku-os.org/haiku/commit/?id=b2d96da Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 14 14:47:01 2013 UTC BPackageInfoSet::Iterator: Fix NULL pointer dereference Since the BPackageInfoSet's map is created lazily, it can be NULL when an Iterator is constructed. ---------------------------------------------------------------------------- ############################################################################ Commit: d7d9497e31047e9cf1c486865d6cbb7df3441487 URL: http://cgit.haiku-os.org/haiku/commit/?id=d7d9497 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 14 14:50:30 2013 UTC Add BInstallationLocationInfo ---------------------------------------------------------------------------- ############################################################################ Commit: e6216e372af01cc90339fe7afb70c113c99974bd URL: http://cgit.haiku-os.org/haiku/commit/?id=e6216e3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 14 15:04:33 2013 UTC Implement getting a BInstallationLocationInfo * Rename PackageDaemonDefs.h to DaemonDefs.h. * Replace the MESSAGE_GET_PACKAGES by the new B_MESSAGE_GET_INSTALLATION_LOCATION_INFO, which not only returns the packages, but also other information about the installation location. * daemon: Volume: Implement a change count which is bumped whenever packages are activated/deactivated/added/removed. Cache the reply for a location info request, using the change count to check whether it is still up-to-date. * Add private BDaemonClient for communication with the daemon. * BRoster: - Add GetInstallationLocationInfo() using BDaemonClient. - Reimplement GetActivePackages(), using GetInstallationLocationInfo(). ---------------------------------------------------------------------------- ############################################################################ Commit: bd59e0d00d58dadd5b5e0749b7edda0aefe61efe URL: http://cgit.haiku-os.org/haiku/commit/?id=bd59e0d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 15 22:01:02 2013 UTC BPackageInfo: Fix Linux build ... including an actual bug (operator "|" instead of "||"). ---------------------------------------------------------------------------- ############################################################################ Commit: 202c1daaed2556eaccea80643e58d498594f2506 URL: http://cgit.haiku-os.org/haiku/commit/?id=202c1da Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 15 22:05:19 2013 UTC BPackageVersion: Rename property release to revision * ... to avoid confusion with the preRelease property. It's also called "revision" in the HaikuPorts recipes. * Update libsolv package. Was necessary due to the BPackageVersion change, but also includes a few more changes. ---------------------------------------------------------------------------- ############################################################################ Commit: e7563b87c715320be9d10225ceff110844e84a90 URL: http://cgit.haiku-os.org/haiku/commit/?id=e7563b8 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Apr 16 09:18:44 2013 UTC Updated several base packages ---------------------------------------------------------------------------- ############################################################################ Commit: 6185f6e7cc2c1df89a32b9fc82a315b69ae98629 URL: http://cgit.haiku-os.org/haiku/commit/?id=6185f6e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 16 11:45:33 2013 UTC Fix libtool file name ---------------------------------------------------------------------------- ############################################################################ Commit: 88f22c9768e3a7d5bd439800b2f6d479a369d745 URL: http://cgit.haiku-os.org/haiku/commit/?id=88f22c9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 16 12:39:31 2013 UTC InstallOptionalHaikuImagePackage: Remove first parameter Instead deduce the file name from the URL. A long overdue change. Avoids unnecessary name duplication, which only led to errors. ---------------------------------------------------------------------------- ############################################################################ Commit: 4210ed011a39e4e1b3fcba4c7c0d18844b4b3522 URL: http://cgit.haiku-os.org/haiku/commit/?id=4210ed0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 14 23:36:59 2013 UTC Fix BMessage::GetInfo() return value check Since B_OK is 0, the change doesn't affect the semantics. ---------------------------------------------------------------------------- ############################################################################ Commit: 8d85f8e41e831cbfe7cce55716be763b6d939ef3 URL: http://cgit.haiku-os.org/haiku/commit/?id=8d85f8e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 16 15:05:06 2013 UTC Update libsolv package The Haiku repository support has been upstreamed and the maintainer, Michael Schroeder, has fixed and improved a few things. ---------------------------------------------------------------------------- ############################################################################ Commit: caba55ee61b631944493d91212a89f6a0360ee0f URL: http://cgit.haiku-os.org/haiku/commit/?id=caba55e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 16 18:34:52 2013 UTC Revert to previous libsolv package In the latest one the version comparison is broken. ---------------------------------------------------------------------------- ############################################################################ Commit: a8b23e3ecf784de00897f3a4840e38f08e79f8fd URL: http://cgit.haiku-os.org/haiku/commit/?id=a8b23e3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 16 18:43:20 2013 UTC pkgman resolve-dependencies: Allow specifying multiple packages ---------------------------------------------------------------------------- ############################################################################ Commit: ceb18a3777b38ce6a97e5bcd15d3c57731b39e76 URL: http://cgit.haiku-os.org/haiku/commit/?id=ceb18a3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 12:35:59 2013 UTC packagefs: Fix typo in debug output ---------------------------------------------------------------------------- ############################################################################ Commit: d0367de056d3aa4c9c9f3c4d19f4233899a33f0d URL: http://cgit.haiku-os.org/haiku/commit/?id=d0367de Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 12:38:24 2013 UTC packagefs: Switch to new rule for pre-release version part ---------------------------------------------------------------------------- ############################################################################ Commit: defc1f774aceb747e6d6b7e3a63b5258cfd345ed URL: http://cgit.haiku-os.org/haiku/commit/?id=defc1f7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 12:41:27 2013 UTC BPackage{Version,Info}: Switch to new pre-release rule Also add several checks in the package-info parser to enforce the <alphanum_underscore> requirement of package/resolvable names and version components. ---------------------------------------------------------------------------- ############################################################################ Commit: 7b2d06214738875b3da5a19cfebabec7f9d7ace6 URL: http://cgit.haiku-os.org/haiku/commit/?id=7b2d062 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 12:43:15 2013 UTC Enforce current package rules for packages built from tree * Replace '-' in package name by '_'. * Use new '[...]' notation for pre-release version component. ---------------------------------------------------------------------------- ############################################################################ Commit: 5e6adff9893e2566c886da1f46159967a93b15c5 URL: http://cgit.haiku-os.org/haiku/commit/?id=5e6adff Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 13:12:04 2013 UTC BPackageVersion::ToString(): Return empty string, if invalid ---------------------------------------------------------------------------- ############################################################################ Commit: 7fa369956e1b30f61679ae5552b5f018a9e76578 URL: http://cgit.haiku-os.org/haiku/commit/?id=7fa3699 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 13:52:57 2013 UTC BOpenHashTable::Clear(): Set fItemCount to 0 If not empty, the count would afterwards be out of sync with reality. ---------------------------------------------------------------------------- ############################################################################ Commit: b7c89d42a67fa5b8d9087f0ab2948e286b335cf7 URL: http://cgit.haiku-os.org/haiku/commit/?id=b7c89d4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 15:44:28 2013 UTC packagefs: Use '~' as pre-release separator "[...]" turns out to be not so good an idea after all. In the shell it would require escaping. ---------------------------------------------------------------------------- ############################################################################ Commit: 9d81dc7655a984ce6dd0d79878215fe4d5748da6 URL: http://cgit.haiku-os.org/haiku/commit/?id=9d81dc7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 15:48:25 2013 UTC BPackage{Info,Version}: Switch to '~' as pre-release separator Also allow '.' in the pre-release string (as in "alpha4.1") and in package and resolvable names. ---------------------------------------------------------------------------- ############################################################################ Commit: 06b4ebe51c4eb83f00f912cf88fe13a41e5d9a6d URL: http://cgit.haiku-os.org/haiku/commit/?id=06b4ebe Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 15:50:06 2013 UTC package-infos in tree: use '~' as pre-release separator ---------------------------------------------------------------------------- ############################################################################ Commit: ea8b5c257d37d7dacc221a3535548d03edfa3871 URL: http://cgit.haiku-os.org/haiku/commit/?id=ea8b5c2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 16:43:47 2013 UTC BPackageInfo parser: Allow '.' in micro version component Otherwise we'd have to encode e.g. "cvs-1.12.13.1" differently. ---------------------------------------------------------------------------- ############################################################################ Commit: b50e5e330702837e70cb1a1ef04d37aacf327fa3 URL: http://cgit.haiku-os.org/haiku/commit/?id=b50e5e3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 23:31:47 2013 UTC package[_repo]: Print version correctly Use BPackageVersion::ToString() instead of assembling the version string manually. This fixes the incorrect pre-release separator. ---------------------------------------------------------------------------- ############################################################################ Commit: f16dbba4422edc0a409b8e781bbb3608ccd61e45 URL: http://cgit.haiku-os.org/haiku/commit/?id=f16dbba Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 18 23:34:26 2013 UTC Update libsolv package ---------------------------------------------------------------------------- ############################################################################ Commit: cba60307b80a1b91619960b7b9dcf30745c8370a URL: http://cgit.haiku-os.org/haiku/commit/?id=cba6030 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 19 14:04:27 2013 UTC BPackageInfo::Parser: Relax package/resolvable name rules Now we allow any character but '-', '/', and whitespace. ---------------------------------------------------------------------------- ############################################################################ Commit: 00b5554e118bf70414d455dbaa6a4ce4d5eaea6a URL: http://cgit.haiku-os.org/haiku/commit/?id=00b5554 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 19 14:06:11 2013 UTC pkgman: Print correct error when parsing package info failed ---------------------------------------------------------------------------- ############################################################################ Commit: 3c6784e95caa334caa98f6f61b0d08385fa21e0b URL: http://cgit.haiku-os.org/haiku/commit/?id=3c6784e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 19 14:21:42 2013 UTC BPackageInfo::Parser: Be a bit stricter wrt. names after all Also disallow the operator characters in names. ---------------------------------------------------------------------------- ############################################################################ Commit: cf0a957ff6c0dea52e5790a67a8fd6a179e77fe2 URL: http://cgit.haiku-os.org/haiku/commit/?id=cf0a957 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 19 22:29:24 2013 UTC BMessage: Add {Add,Find}Strings() They add a BStringList to/extract it from a B_STRING_TYPE field. ---------------------------------------------------------------------------- ############################################################################ Commit: 7a27bcd1132c79d60658b7424990b1ad632886a9 URL: http://cgit.haiku-os.org/haiku/commit/?id=7a27bcd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 19 22:33:13 2013 UTC BPackageInfo: Make use of BMessage::{Add,Find}Strings() ---------------------------------------------------------------------------- ############################################################################ Commit: 85d2badf007cb152215485db7916578ed6700504 URL: http://cgit.haiku-os.org/haiku/commit/?id=85d2bad Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 19 23:28:18 2013 UTC package daemon: Add support for activation change request * daemon: Handle new request B_MESSAGE_COMMIT_TRANSACTION. It activates and deactivates given sets of packages. The new packages must be placed in a directory in the administrative directory. The daemon moves them to the packages directory and the deactivated packages to a subdirectory it creates. It also save the old activation state there. * Add private BActivationTransaction, describing an activation change transaction. * BDaemonClient: Add CommitTransaction(), which sends a given BActivationTransaction as a B_MESSAGE_COMMIT_TRANSACTION request to the daemon. Completely untested yet. ---------------------------------------------------------------------------- ############################################################################ Commit: f71be99bd913f8cc8aab59b97f656dec32f06837 URL: http://cgit.haiku-os.org/haiku/commit/?id=f71be99 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 11:26:34 2013 UTC BRequest: Add Process() The method creates the initial jobs for the request and processes the jobs from the job queue until empty or an error occurs. ---------------------------------------------------------------------------- ############################################################################ Commit: e0d4161d42a235f3e365787ee0470fc61c8e668d URL: http://cgit.haiku-os.org/haiku/commit/?id=e0d4161 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 11:28:36 2013 UTC pkgman: Make use of BRequest::Process() ---------------------------------------------------------------------------- ############################################################################ Commit: 74233e2c8884cbfe4faaea10f37f44b3d7f56dd8 URL: http://cgit.haiku-os.org/haiku/commit/?id=74233e2 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sat Apr 20 13:16:00 2013 UTC Re-apply cf0a957 for the build-version of libbe. * fixes build on non-Haiku platforms ---------------------------------------------------------------------------- ############################################################################ Commit: bab6caf3e07bf21d88a5dff857f8ccc7b96e9c0e URL: http://cgit.haiku-os.org/haiku/commit/?id=bab6caf Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sat Apr 20 13:32:19 2013 UTC Another lap of updating base packages: * binutils has now been split off gcc * adjusted other packages to new naming scheme ---------------------------------------------------------------------------- ############################################################################ Commit: e2678ec0413faa7cdf17c8ae57e4d74a109336cb URL: http://cgit.haiku-os.org/haiku/commit/?id=e2678ec Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 12:01:32 2013 UTC pkgman refresh: Include the repository name in error message ---------------------------------------------------------------------------- ############################################################################ Commit: 2e3f5000e34297071e630ab70303026715021e31 URL: http://cgit.haiku-os.org/haiku/commit/?id=2e3f500 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 15:15:50 2013 UTC package daemon: Fix check in Volume::_PackagesEntryCreated() ---------------------------------------------------------------------------- ############################################################################ Commit: a3b1c7b96e47e5129c83a5dae6e3b17d1ad06b19 URL: http://cgit.haiku-os.org/haiku/commit/?id=a3b1c7b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 15:29:06 2013 UTC package daemon: Volume::_WriteActivationFile(): Init _entry ---------------------------------------------------------------------------- ############################################################################ Commit: be8f5e00f136fdc45f58c4a1c4d802eac9a6e96c URL: http://cgit.haiku-os.org/haiku/commit/?id=be8f5e0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 19:10:21 2013 UTC BPackageInfo: Add CanonicalFileName() The name of the package file is not part of the package-info. CanonicalFileName() constructs the name the file should have (not enforced anywhere (yet)). ---------------------------------------------------------------------------- ############################################################################ Commit: 4ea7f45bc5d8ac2936c0c498fd3fc0a45f375f19 URL: http://cgit.haiku-os.org/haiku/commit/?id=4ea7f45 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 19:12:40 2013 UTC BRequest: Change attribute protection from private to protected Particularly fInitStatus is of interest for derived classes. ---------------------------------------------------------------------------- ############################################################################ Commit: e14b247176d56b1ddaa4a5efa46ca3c60f33a093 URL: http://cgit.haiku-os.org/haiku/commit/?id=e14b247 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 19:16:17 2013 UTC Add StringChecksumAccessor A ChecksumAccessor implementation for an already known checksum. ---------------------------------------------------------------------------- ############################################################################ Commit: cca3f3b7431cf5e22fa612b171d04933197af3a9 URL: http://cgit.haiku-os.org/haiku/commit/?id=cca3f3b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 19:18:41 2013 UTC package daemon: Fix Volume::_WriteActivationFile() * Wasn't using the toActivate and toDeactivate parameters, but the attributes. Thus failed when called from the CommitTransactionHandler. * Volume::_ChangePackageActivation(): Fix debug output. ---------------------------------------------------------------------------- ############################################################################ Commit: 69a53ac5b488d6562ebf75b98f143000ba70d623 URL: http://cgit.haiku-os.org/haiku/commit/?id=69a53ac Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 19:22:34 2013 UTC Add DownloadFileRequest Downloads a file and optionally checks its checksum. ---------------------------------------------------------------------------- ############################################################################ Commit: 6a1430716c8746b3a044bb65fb1849e906ae0453 URL: http://cgit.haiku-os.org/haiku/commit/?id=6a14307 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 19:24:28 2013 UTC BDaemonClient: Add support for creating activation transactions * BActivationTransaction: - Remove non-trivial constructor. - Remove package list parameters from SetTo(). - Add AddPackageTo{Dea,A}ctivate(). * BDaemonClient: - Add CreateTransaction(). It creates a transaction directory and initializes a BActivationTransaction. Packages to de-/activate have to be added afterwards. - Add BCommitTransactionResult::FullErrorMessage(). ---------------------------------------------------------------------------- ############################################################################ Commit: eee120f9871cf6f4a1251be97a6a0dc3a4d91a87 URL: http://cgit.haiku-os.org/haiku/commit/?id=eee120f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 19:31:32 2013 UTC pkgman install: Complete basic functionality Download package files to install from the respective repositories and use BDaemonClient to perform the package de-/activation. Still missing is the interactive problem solution support. ---------------------------------------------------------------------------- ############################################################################ Commit: 7c092d4d865eb53029c28fb5b1ddfbbada85899f URL: http://cgit.haiku-os.org/haiku/commit/?id=7c092d4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 23:44:21 2013 UTC Add build profile action update-packages Equivalent to "jam <list of all hpkgs> && jam @... <list of all hpkgs>", i.e. it makes sure all hpkgs that are supposed to be in the image are rebuilt respectively downloaded and copied to the image. It doesn't remove old packages nor the activation files -- that still has to be done manually. ---------------------------------------------------------------------------- ############################################################################ Commit: adc49c411a101e1372d77d95c3473cdbd5dace06 URL: http://cgit.haiku-os.org/haiku/commit/?id=adc49c4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 19:47:35 2013 UTC pkgman install: better out-of-memory error messages ---------------------------------------------------------------------------- ############################################################################ Commit: ec41ff587ff27f05dd852cd58a91bcb70043be41 URL: http://cgit.haiku-os.org/haiku/commit/?id=ec41ff5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 20 22:36:31 2013 UTC pkgman install: Refresh repositories first ---------------------------------------------------------------------------- ############################################################################ Commit: 8e6c3631a3e6deca3ca008bbce20bf30ec616d63 URL: http://cgit.haiku-os.org/haiku/commit/?id=8e6c363 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 00:46:26 2013 UTC BSolver/LibsolvSolver: Add problem solution selection support ... and re-solving. ---------------------------------------------------------------------------- ############################################################################ Commit: 2f028e9a2dc4b33ecac66d8fd491244a02d0f677 URL: http://cgit.haiku-os.org/haiku/commit/?id=2f028e9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 00:47:51 2013 UTC pkgman install: Add problem solution selection support ---------------------------------------------------------------------------- ############################################################################ Commit: 7466fa2d4901461dea3fc89a9229e0e04707124a URL: http://cgit.haiku-os.org/haiku/commit/?id=7466fa2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 08:36:19 2013 UTC pkgman install: Simplify transaction creation ---------------------------------------------------------------------------- ############################################################################ Commit: c128275ede0f0441de54a0f0c8bab9af7ea7460d URL: http://cgit.haiku-os.org/haiku/commit/?id=c128275 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 10:29:41 2013 UTC <Archivable.h>: Fix conflict with BPackageKit::BPrivate ... when "using BPackageKit::BPrivate". ---------------------------------------------------------------------------- ############################################################################ Commit: 3ac0de3b1fac18912d6cb7758b502468e3802ee9 URL: http://cgit.haiku-os.org/haiku/commit/?id=3ac0de3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 10:31:29 2013 UTC pkgman: Refactoring -> PackageManager Move common and reusable functionality from "search" and "install" to new PackageManager class. ---------------------------------------------------------------------------- ############################################################################ Commit: de62d76176c323928d2b97bc667f39850727aa1f URL: http://cgit.haiku-os.org/haiku/commit/?id=de62d76 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 10:48:39 2013 UTC BSolver/LibsolvSolver: Add Uninstall() Also fix incorrect check in LibsolvSolver::GetResult(). ---------------------------------------------------------------------------- ############################################################################ Commit: 8ba41d628c0ba3fd9f694562dc8b494fbfc220f7 URL: http://cgit.haiku-os.org/haiku/commit/?id=8ba41d6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 10:50:31 2013 UTC pkgman install: Fix typo in usage text ---------------------------------------------------------------------------- ############################################################################ Commit: df2685d885f3b940bc04b1cf5f39511ce6750ddf URL: http://cgit.haiku-os.org/haiku/commit/?id=df2685d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 10:52:06 2013 UTC pkgman: Add "uninstall" command ---------------------------------------------------------------------------- ############################################################################ Commit: 458a86aacb49b152f65b810140295477d49f2f31 URL: http://cgit.haiku-os.org/haiku/commit/?id=458a86a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 11:11:53 2013 UTC pkgman: Organize commands by category ---------------------------------------------------------------------------- ############################################################################ Commit: 212c636f4181a2b3a05fbfaa45e016b6c2e3aaa6 URL: http://cgit.haiku-os.org/haiku/commit/?id=212c636 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 11:55:38 2013 UTC BSolver/LibsolvSolver: Add Update() ---------------------------------------------------------------------------- ############################################################################ Commit: a5999f6ff7fbadb4f8cc94f5e4283dacbf231a59 URL: http://cgit.haiku-os.org/haiku/commit/?id=a5999f6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 21 11:56:21 2013 UTC pkgman: Add "update" command ---------------------------------------------------------------------------- ############################################################################ Commit: 5c01289f68d67772de21aa97655f420a0044b50e URL: http://cgit.haiku-os.org/haiku/commit/?id=5c01289 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Apr 21 21:22:19 2013 UTC Adjust configure script to changed compiler version ---------------------------------------------------------------------------- ############################################################################ Commit: 4b303759d29f2ec2aa8ffb04c239bc071b4b3c7a URL: http://cgit.haiku-os.org/haiku/commit/?id=4b30375 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Apr 21 22:50:01 2013 UTC Update prerequired packages with current versions. ---------------------------------------------------------------------------- ############################################################################ Commit: 86b3c7a4168ea52eb05587f83b6985b1ee9249af URL: http://cgit.haiku-os.org/haiku/commit/?id=86b3c7a Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Apr 21 22:56:02 2013 UTC Drop symlink common/develop/tools/current * drop the symlink itself (system development tools are now symlinked from /boot/common/bin directly) * remove that symlink from PATH ---------------------------------------------------------------------------- ############################################################################ Commit: 083234daa2c6473bc11c03a46e8a8a5d73ca9000 URL: http://cgit.haiku-os.org/haiku/commit/?id=083234d Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Apr 21 23:00:36 2013 UTC Drop legacy scripts 'cc' and 'c++' * no longer put compiler wrappers onto image * removed corresponding environment variables ---------------------------------------------------------------------------- ############################################################################ Commit: 5be84d5f004d43bc5f245d6fa19b1327c8ee0fbe URL: http://cgit.haiku-os.org/haiku/commit/?id=5be84d5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 22 11:50:44 2013 UTC Update yasm package ---------------------------------------------------------------------------- ############################################################################ Commit: 237127fbe4071abea20f3e5005f5a1e549f12788 URL: http://cgit.haiku-os.org/haiku/commit/?id=237127f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 22 16:05:40 2013 UTC Fix _user_entry_ref_to_path() in chroot * Add "bool kernel" parameter to vfs_entry_ref_to_path(), so it can be specified for which I/O context the entry ref shall be translated. * _user_entry_ref_to_path(): Use the calling team's I/O context instead of the kernel's. Fixes the bug that in a chroot the syscall would return a path for outside the chroot. ---------------------------------------------------------------------------- ############################################################################ Commit: ef40a60ae86e3496a2c874a6a6b351ab3c2566d3 URL: http://cgit.haiku-os.org/haiku/commit/?id=ef40a60 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 22 17:09:41 2013 UTC Update Vision package ---------------------------------------------------------------------------- ############################################################################ Commit: dbcaf9ee61fdc79bd664dab45ff3fecbac2fd965 URL: http://cgit.haiku-os.org/haiku/commit/?id=dbcaf9e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 22 18:35:41 2013 UTC Update WQY-MicroHei package ---------------------------------------------------------------------------- ############################################################################ Commit: d6a80eb12240d2234e4009cbb382d84b780f71d5 URL: http://cgit.haiku-os.org/haiku/commit/?id=d6a80eb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 22 19:58:17 2013 UTC Add private headers to haiku_devel package Also include the freebsd_network and freebsd_wlan headers. Their final location and which of them to include in the first place might need some adjustments. ---------------------------------------------------------------------------- ############################################################################ Commit: 60ac56d3fa689794789a2fc73abe08cafb23b4f7 URL: http://cgit.haiku-os.org/haiku/commit/?id=60ac56d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 22 20:29:06 2013 UTC Update wpa_supplicant package ---------------------------------------------------------------------------- ############################################################################ Commit: 15565a06d446918906f0b0329efe486838cd3148 URL: http://cgit.haiku-os.org/haiku/commit/?id=15565a0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 22 21:57:28 2013 UTC Repackaged WonderBrush zip as HPKG ---------------------------------------------------------------------------- ############################################################################ Commit: 78d1b920ed6c3994fe5c9d36abeff56b0b7da8f4 URL: http://cgit.haiku-os.org/haiku/commit/?id=78d1b92 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Apr 23 11:31:02 2013 UTC Adjust pkgman to consider symlinks to both package-infos and packages. ---------------------------------------------------------------------------- ############################################################################ Commit: 89804230e16cd49bf6c506e1315553035e63c6ea URL: http://cgit.haiku-os.org/haiku/commit/?id=8980423 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 23 17:49:21 2013 UTC Override File actions to be whitespace-safe ---------------------------------------------------------------------------- ############################################################################ Commit: 0d452c8f34013b611a54c746a71c05e28796eae2 URL: http://cgit.haiku-os.org/haiku/commit/?id=0d452c8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 23 17:53:25 2013 UTC Remove the TrackerNewTemplates optional package Instead add the files to the tree and generate the resulting files on the fly. This also avoids the undesired attributes the files in the package had. ---------------------------------------------------------------------------- ############################################################################ Commit: f3b11fcb9d1100868ed938afcf9dbf812ea01c93 URL: http://cgit.haiku-os.org/haiku/commit/?id=f3b11fc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 23 18:49:06 2013 UTC Update p7zip package ---------------------------------------------------------------------------- ############################################################################ Commit: e49c7394ef9cf5b080e8c717553a52e244a68a8e URL: http://cgit.haiku-os.org/haiku/commit/?id=e49c739 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 23 21:07:34 2013 UTC Update groff optional package to hpkg ---------------------------------------------------------------------------- ############################################################################ Commit: ffeecbcc87d8ebf8abd4c1395fcf63f8645415ed URL: http://cgit.haiku-os.org/haiku/commit/?id=ffeecbc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 24 11:05:54 2013 UTC Add more provides to haiku[_devel].hpkg ---------------------------------------------------------------------------- ############################################################################ Commit: 3f85cfc1322254c2be3b8ef4aa54ea39616e91ed URL: http://cgit.haiku-os.org/haiku/commit/?id=3f85cfc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 24 12:55:03 2013 UTC Add a few missing directory_which constants ---------------------------------------------------------------------------- ############################################################################ Commit: f7d5bd46d78af12f42fd9bd7c524eda17ce17dc4 URL: http://cgit.haiku-os.org/haiku/commit/?id=f7d5bd4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 24 13:10:55 2013 UTC finddir: Print more useful message in error case ---------------------------------------------------------------------------- ############################################################################ Commit: 3b5cb3253307909f6bf5a6b29c3d2f081008ac62 URL: http://cgit.haiku-os.org/haiku/commit/?id=3b5cb32 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 24 13:11:16 2013 UTC find_directory(): Actually handle the new constants ---------------------------------------------------------------------------- ############################################################################ Commit: 4b42e1a6bec76cc3e890f254f74c67ddf6eadf3f URL: http://cgit.haiku-os.org/haiku/commit/?id=4b42e1a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 24 14:05:05 2013 UTC Update man optional package to hpkg ---------------------------------------------------------------------------- ############################################################################ Commit: ad1d8a9d0136e8f7aa3e7816a7f74ef6bb167de5 URL: http://cgit.haiku-os.org/haiku/commit/?id=ad1d8a9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Apr 24 20:35:49 2013 UTC Remove ncurses from the haiku_devel package Besides that this version is very old, eventually we want to outsource ncurses anyway. ---------------------------------------------------------------------------- ############################################################################ Commit: db88e4417b9247dd8021108296930f974bf35bcc URL: http://cgit.haiku-os.org/haiku/commit/?id=db88e44 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 25 01:38:32 2013 UTC Add ncurses optional package ---------------------------------------------------------------------------- ############################################################################ Commit: 8e452bcfc774196f96da51880b5c77d860c425b3 URL: http://cgit.haiku-os.org/haiku/commit/?id=8e452bc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 25 15:59:02 2013 UTC Update gcc, ncurses, and nano packages ---------------------------------------------------------------------------- ############################################################################ Commit: 44f60330e1abc910883e463b3331c4d952807a59 URL: http://cgit.haiku-os.org/haiku/commit/?id=44f6033 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 25 16:00:08 2013 UTC SetupEnvironment: Remove BELIBRARIES It is no longer needed with the current gcc 2 package. ---------------------------------------------------------------------------- ############################################################################ Commit: 13321f4d4b7760bf58faec2b2ffef234a99631ab URL: http://cgit.haiku-os.org/haiku/commit/?id=13321f4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 25 22:03:31 2013 UTC Update sqlite package ---------------------------------------------------------------------------- ############################################################################ Commit: 603c7647a0a04f729a15d118e308c91aa23bdd86 URL: http://cgit.haiku-os.org/haiku/commit/?id=603c764 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 25 23:39:55 2013 UTC Update openssl package ---------------------------------------------------------------------------- ############################################################################ Commit: 4d6fe712e00933ce87a40731bc8f8eadacb18261 URL: http://cgit.haiku-os.org/haiku/commit/?id=4d6fe71 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Apr 25 23:40:34 2013 UTC Update sqlite package (fix pkgconfig) ---------------------------------------------------------------------------- ############################################################################ Commit: e25f5f75e8c0fba577b8785e8affc1fddaf1c5d1 URL: http://cgit.haiku-os.org/haiku/commit/?id=e25f5f7 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Fri Apr 26 14:28:07 2013 UTC Update required version of legacy compiler in configure ---------------------------------------------------------------------------- ############################################################################ Commit: 4e8a27c90f682fb4de0df8b8263f4d8eb40692a3 URL: http://cgit.haiku-os.org/haiku/commit/?id=4e8a27c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 26 14:30:00 2013 UTC Update libxml2 package ---------------------------------------------------------------------------- ############################################################################ Commit: d26ca29d7559451d836caedfd7fa4dfafe9af606 URL: http://cgit.haiku-os.org/haiku/commit/?id=d26ca29 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Apr 26 22:19:18 2013 UTC Update mkdepend package ---------------------------------------------------------------------------- ############################################################################ Commit: b87aa11726e42b170f07dc9b55bf8e9604226326 URL: http://cgit.haiku-os.org/haiku/commit/?id=b87aa11 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 27 00:57:17 2013 UTC Update ncurses package It now includes both the wchar and the non-wchar libraries. ---------------------------------------------------------------------------- ############################################################################ Commit: 6ff8ef530d0b824b73be01005412d2b01bc612af URL: http://cgit.haiku-os.org/haiku/commit/?id=6ff8ef5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 27 01:12:50 2013 UTC Add libedit package ---------------------------------------------------------------------------- ############################################################################ Commit: abfcf6aa3fd2cdd4cb65196a7c4909f61eb8a593 URL: http://cgit.haiku-os.org/haiku/commit/?id=abfcf6a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Apr 27 01:13:37 2013 UTC Fix copy and paste error in NCurses optional package section ---------------------------------------------------------------------------- ############################################################################ Commit: c704b139ee161a954250cdf14d809807d67eead3 URL: http://cgit.haiku-os.org/haiku/commit/?id=c704b13 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 28 00:25:01 2013 UTC Update packages libtool, texinfo, sed, tar ---------------------------------------------------------------------------- ############################################################################ Commit: 8aa0b0d7928ea2bd8e62917e3e79dbf5e6ae503f URL: http://cgit.haiku-os.org/haiku/commit/?id=8aa0b0d Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Apr 28 00:40:13 2013 UTC Update packages apr, apr_util, curl, flex, jam, libpcre and Pe. ---------------------------------------------------------------------------- ############################################################################ Commit: 4521d4c6c7111c68cbbbb4889a0f257548de3ca3 URL: http://cgit.haiku-os.org/haiku/commit/?id=4521d4c Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Apr 28 12:11:17 2013 UTC Updated package for Pe (lpe symlink was borked). ---------------------------------------------------------------------------- ############################################################################ Commit: 212cb7333a3d7d583db21e258de72f52ae1f10f1 URL: http://cgit.haiku-os.org/haiku/commit/?id=212cb73 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 28 12:39:58 2013 UTC packagefs: Fix deadbeef when using a file after package removal When closing a file whose package had been removed, PackageFile::VFSUninit() would crash due to calling Package::Close() on an already destroyed Package object. PackageNode does now hold a reference to the package between VFSInit() and VFSUninit(). ---------------------------------------------------------------------------- ############################################################################ Commit: 49da4a2d47649eb78d923de9f23795ab4a1b0e46 URL: http://cgit.haiku-os.org/haiku/commit/?id=49da4a2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 28 17:21:12 2013 UTC Update cmake and libsolv packages ---------------------------------------------------------------------------- ############################################################################ Commit: 3cd00599c8c42e2fa48bd8890adf7b12fc3dad37 URL: http://cgit.haiku-os.org/haiku/commit/?id=3cd0059 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Apr 28 17:56:49 2013 UTC Update packages for CARootCertificates, curl, BePDF ---------------------------------------------------------------------------- ############################################################################ Commit: d28741462809e47e61b24d35735ab923fabb2863 URL: http://cgit.haiku-os.org/haiku/commit/?id=d287414 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Apr 28 21:50:46 2013 UTC Update BeBook package and fix URL of BePDF package. ---------------------------------------------------------------------------- ############################################################################ Commit: bd3c533887006582a8d64f54b5f95706ab4146c5 URL: http://cgit.haiku-os.org/haiku/commit/?id=bd3c533 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 28 23:03:19 2013 UTC Update openssh package ---------------------------------------------------------------------------- ############################################################################ Commit: 0302ce8180857193a39eaeca936085fdc306fa42 URL: http://cgit.haiku-os.org/haiku/commit/?id=0302ce8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Apr 28 23:43:01 2013 UTC Update bzip2 package ---------------------------------------------------------------------------- ############################################################################ Commit: e17463fed22edbca4eb0ada0340b334777a46fce URL: http://cgit.haiku-os.org/haiku/commit/?id=e17463f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 09:44:34 2013 UTC Update gettext package ---------------------------------------------------------------------------- ############################################################################ Commit: 87a36d222790146939fc4d26960101e6a5bc5252 URL: http://cgit.haiku-os.org/haiku/commit/?id=87a36d2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 13:31:13 2013 UTC PackageFSMountType: Add *_ENUM_COUNT ---------------------------------------------------------------------------- ############################################################################ Commit: 58081381ea065528589e828d290d8643526cd64e URL: http://cgit.haiku-os.org/haiku/commit/?id=5808138 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 13:38:34 2013 UTC packagefs: Add a .settings package symlink It points to the settings directory appropriate for global settings. When a package is installed in ~/config, we cannot use the settings/ subdirectory for global settings, since then the files could clash with equally named user specific settings files (e.g. in case of ssh/known_hosts). So we use ~/config/settings/global for global settings instead. ---------------------------------------------------------------------------- ############################################################################ Commit: 5d41bc9af9a872e54abc29fc14fe0120c586e42b URL: http://cgit.haiku-os.org/haiku/commit/?id=5d41bc9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 14:13:03 2013 UTC Add AddPackageFilesToHaikuImage rule ---------------------------------------------------------------------------- ############################################################################ Commit: 4fd280ddfa2f999654dfe20d9a7980c84c0108a0 URL: http://cgit.haiku-os.org/haiku/commit/?id=4fd280d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 14:15:39 2013 UTC Simplify use of InstallOptionalHaikuImagePackage When invoked for a hpkg only the installation location (i.e. "common" or "system") has to be specified now and "common" is the default. The rule uses AddPackageFilesToHaikuImage now. ---------------------------------------------------------------------------- ############################################################################ Commit: ece8449668c88aaf2cf351842830aaa51c30723c URL: http://cgit.haiku-os.org/haiku/commit/?id=ece8449 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 15:57:37 2013 UTC Pimp up AddTargetVariableToScript to support a list of targets ---------------------------------------------------------------------------- ############################################################################ Commit: c10119fa42bc5c182b6e7de59c1a190d255c3a56 URL: http://cgit.haiku-os.org/haiku/commit/?id=c10119f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 17:32:23 2013 UTC BStringList: Add Join() ---------------------------------------------------------------------------- ############################################################################ Commit: 330cb41ef54abf8a8a3a83e0853b473091a62b55 URL: http://cgit.haiku-os.org/haiku/commit/?id=330cb41 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 17:33:51 2013 UTC package list: Add option "-p" It prints just a list of paths for all entries. ---------------------------------------------------------------------------- ############################################################################ Commit: e0f7f688f15c7b5d99a2313b8715743ff248e8c4 URL: http://cgit.haiku-os.org/haiku/commit/?id=e0f7f68 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 17:38:29 2013 UTC Extract packages' settings dir to common/settings in image That's a somewhat crude initial approach to installing the default settings of packages when building the image. ---------------------------------------------------------------------------- ############################################################################ Commit: bbd4272be7c99845a49b15e7a53afb7b5f0118c1 URL: http://cgit.haiku-os.org/haiku/commit/?id=bbd4272 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 20:35:16 2013 UTC Add passwd, login to the provides of haiku.hpkg ---------------------------------------------------------------------------- ############################################################################ Commit: f803a8a6cb003826b4d993af01fbc920d0be75c4 URL: http://cgit.haiku-os.org/haiku/commit/?id=f803a8a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 21:46:16 2013 UTC packagefs: Fix .settings package link for install path case ---------------------------------------------------------------------------- ############################################################################ Commit: c476e9a3681824a3279dafbb9104572704e876c8 URL: http://cgit.haiku-os.org/haiku/commit/?id=c476e9a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Apr 29 22:40:09 2013 UTC Update openssh package ---------------------------------------------------------------------------- ############################################################################ Commit: 7cbdf4f0231a0901bd1a18c3be8cc267f2e9c3e6 URL: http://cgit.haiku-os.org/haiku/commit/?id=7cbdf4f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Apr 30 20:50:18 2013 UTC Update packages for several ports * apr * apr_util * curl * expat * libxml2 * ncurses * neon * pcre * subversion This corrects the use of develop/lib paths and a few other things. ---------------------------------------------------------------------------- ############################################################################ Commit: 6c6d6490bfa0b6cff6d018e86db189e412abc82d URL: http://cgit.haiku-os.org/haiku/commit/?id=6c6d649 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 1 00:01:44 2013 UTC ExtractArchive rule: Allow the directory to have a grist ---------------------------------------------------------------------------- ############################################################################ Commit: 98a0dd5fd86042f9c736e26d3e3637953fe177a2 URL: http://cgit.haiku-os.org/haiku/commit/?id=98a0dd5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 1 00:02:56 2013 UTC Update ICU packages We extract both packages to the same directory now, since the icu_devel package depends on the base package and contains relative symlinks to the libraries. ATM that isn't really relevant, since we link directly against the libraries from the base package, but we might want to change that eventually. ---------------------------------------------------------------------------- ############################################################################ Commit: 0c661892d459501ef82b1ccd88c7ea4b0c24fc20 URL: http://cgit.haiku-os.org/haiku/commit/?id=0c66189 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 1 00:08:43 2013 UTC BPackageInfo::Parser: Fix error output The "=" operator isn't actually allowed in a resolvable expression. It has to be "==" instead. ---------------------------------------------------------------------------- ############################################################################ Commit: a82e49aeb04f5c4829ba6dea9f6917b3bf62c7fe URL: http://cgit.haiku-os.org/haiku/commit/?id=a82e49a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 2 15:18:12 2013 UTC Update cdrtools and keymapswitcher packages ---------------------------------------------------------------------------- ############################################################################ Commit: 6b1789577abf5f62292b5535e13a71a804b38a6a URL: http://cgit.haiku-os.org/haiku/commit/?id=6b17895 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 3 13:47:11 2013 UTC Update/add packages for readline, cvs, doxygen, python, ... and timgmsoundfont. ---------------------------------------------------------------------------- ############################################################################ Commit: 0d6e9506393b3c600e52128d956640db020d2ced URL: http://cgit.haiku-os.org/haiku/commit/?id=0d6e950 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 3 23:02:44 2013 UTC Update mercurial and python packages ---------------------------------------------------------------------------- ############################################################################ Commit: 25a7b01d15612846f332751841da3579db313082 URL: http://cgit.haiku-os.org/haiku/commit/?id=25a7b01 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 13:02:57 2013 UTC Merge branch 'master' into package-management Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature "gcc2" to allow for easier checks. * Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter is not needed and prevents building for the build platform. * zlib/zutil.h: Fix gcc 2 build. We really should use the external package instead. Conflicts: .gitignore build/jam/BuildSetup build/jam/FileRules build/jam/FloppyBootImage build/jam/HaikuImage build/jam/ImageRules build/jam/KernelRules build/jam/NetBootArchive build/jam/OptionalBuildFeatures build/jam/OptionalLibPackages build/jam/OptionalPackageDependencies build/jam/OptionalPackages build/scripts/build_haiku_image configure data/bin/installoptionalpackage data/system/boot/Bootscript headers/os/app/Message.h headers/os/package/PackageInfo.h headers/os/package/PackageInfoAttributes.h headers/os/package/PackageInfoSet.h headers/os/package/PackageRoster.h headers/os/package/PackageVersion.h headers/os/package/hpkg/PackageInfoAttributeValue.h headers/os/storage/FindDirectory.h headers/os/storage/Node.h headers/os/support/StringList.h headers/private/system/directories.h src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp src/add-ons/kernel/file_systems/packagefs/Jamfile src/add-ons/kernel/file_systems/packagefs/Package.cpp src/add-ons/kernel/file_systems/packagefs/Package.h src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp src/add-ons/kernel/file_systems/packagefs/PackageDomain.h src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageNode.h src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp src/add-ons/kernel/file_systems/packagefs/Version.cpp src/add-ons/kernel/file_systems/packagefs/Version.h src/add-ons/kernel/file_systems/packagefs/Volume.cpp src/add-ons/kernel/file_systems/packagefs/Volume.h src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c src/apps/deskbar/BarApp.cpp src/apps/deskbar/BarMenuBar.cpp src/apps/deskbar/BarMenuBar.h src/apps/deskbar/BarView.cpp src/apps/deskbar/BarView.h src/apps/deskbar/BarWindow.cpp src/apps/deskbar/BarWindow.h src/apps/deskbar/DeskbarMenu.cpp src/apps/deskbar/DeskbarMenu.h src/apps/deskbar/DeskbarUtils.cpp src/apps/deskbar/DeskbarUtils.h src/apps/deskbar/ExpandoMenuBar.cpp src/apps/deskbar/ExpandoMenuBar.h src/apps/deskbar/TeamMenu.cpp src/apps/processcontroller/ProcessController.cpp src/apps/remotedesktop/RemoteDesktop.cpp src/bin/bash/config-top.h src/bin/finddir.c src/bin/package/Jamfile src/bin/package/command_add.cpp src/bin/package/command_create.cpp src/bin/package/command_list.cpp src/bin/package_repo/command_list.cpp src/bin/pkgman/command_refresh.cpp src/build/libbe/support/Jamfile src/build/libpackage/Jamfile src/build/libroot/Jamfile src/build/libroot/fs.cpp src/build/libroot/remapped_functions.h src/kits/locale/MutableLocaleRoster.cpp src/kits/opengl/GLRendererRoster.cpp src/kits/package/PackageInfo.cpp src/kits/package/PackageInfoSet.cpp src/kits/package/PackageRoster.cpp src/kits/package/PackageVersion.cpp src/kits/package/RepositoryCache.cpp src/kits/package/hpkg/PackageWriterImpl.cpp src/kits/package/hpkg/ReaderImplBase.cpp src/kits/package/hpkg/WriterImplBase.cpp src/kits/print/PrintTransport.cpp src/kits/print/Printer.cpp src/kits/screensaver/ScreenSaverRunner.cpp src/kits/support/StringList.cpp src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/PoseView.cpp src/libs/print/libprint/Transport.cpp src/preferences/printers/AddPrinterDialog.cpp src/preferences/screensaver/ScreenSaverWindow.cpp src/servers/debug/DebugServer.cpp src/servers/input/AddOnManager.cpp src/servers/media_addon/MediaAddonServer.cpp src/system/boot/Jamfile src/system/boot/loader/Jamfile src/system/boot/loader/loader.cpp src/system/boot/loader/vfs.cpp src/system/kernel/fs/vfs.cpp src/system/kernel/fs/vfs_boot.cpp src/system/libroot/os/find_directory.cpp src/system/runtime_loader/runtime_loader.cpp src/tools/package/Jamfile ---------------------------------------------------------------------------- ############################################################################ Commit: d0e6e17436620b80da30381387599df3bd5e54d9 URL: http://cgit.haiku-os.org/haiku/commit/?id=d0e6e17 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 13:04:08 2013 UTC rule KernelStaticLibrary: Fix comment ---------------------------------------------------------------------------- ############################################################################ Commit: 2bf492b64bad5dcaa62b23362557917f308c0e94 URL: http://cgit.haiku-os.org/haiku/commit/?id=2bf492b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 13:05:06 2013 UTC Add optional package Man to alpha, nightly release profiles ---------------------------------------------------------------------------- ############################################################################ Commit: bcbf22a316baf9c159b286ca774b27b21102b53f URL: http://cgit.haiku-os.org/haiku/commit/?id=bcbf22a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 16:01:12 2013 UTC x86[-64]: Fix arch_cpu_user_strlcpy() for small buffers The case for small buffers was broken, since scasb operates on edi/rdi, not esi/rsi. ---------------------------------------------------------------------------- ############################################################################ Commit: b38b2796499442bd9daf4f75347f50c51e980c47 URL: http://cgit.haiku-os.org/haiku/commit/?id=b38b279 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 16:25:31 2013 UTC Move package definitions to their own files ---------------------------------------------------------------------------- ############################################################################ Commit: bc07db8f0afd325e38f1c8a17cdf3aea2d62c12d URL: http://cgit.haiku-os.org/haiku/commit/?id=bc07db8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 16:31:02 2013 UTC Declare more package dependencies Probably still a lot missing, but we want to get rid of the file soon, anyway. ---------------------------------------------------------------------------- ############################################################################ Commit: 6fa5d4a7c610e00d6ff5b5a36ad013bffa42f1dc URL: http://cgit.haiku-os.org/haiku/commit/?id=6fa5d4a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 16:46:25 2013 UTC Add liblocale symlink until packages have been rebuilt ---------------------------------------------------------------------------- ############################################################################ Commit: 5be0b187f5090f01624b6f33fe7782974653b25a URL: http://cgit.haiku-os.org/haiku/commit/?id=5be0b18 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun May 5 17:30:29 2013 UTC Drop provides-declarations for commands that are no longer provided ---------------------------------------------------------------------------- ############################################################################ Commit: 415f42489f6efbac8edaa154f9e8ded5ab25bf35 URL: http://cgit.haiku-os.org/haiku/commit/?id=415f424 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 19:04:11 2013 UTC Fix bash's default value for PATH ---------------------------------------------------------------------------- ############################################################################ Commit: b923a5072e297db5a6c5eb51cf8a3bd4871ad8ae URL: http://cgit.haiku-os.org/haiku/commit/?id=b923a50 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 5 20:11:55 2013 UTC Fix merge defect in ICU optional package declaration ---------------------------------------------------------------------------- ############################################################################ Commit: 4bee3d6fb9b62a1ca1c508b263d037df6b863e57 URL: http://cgit.haiku-os.org/haiku/commit/?id=4bee3d6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 6 02:31:27 2013 UTC Add more rules to simplify dealing with build features * Introduce the notion of build feature attributes and add rules SetBuildFeatureAttribute and BuildFeatureAttribute to set respectively get a build feature attribute. * Add rule ExtractBuildFeatureArchives to download and extract archives and set build feature attributes to extracted entries. * Add rule UseBuildFeatureHeaders as a shorthand for getting a build feature attribute and adding it as a system header search directory. ---------------------------------------------------------------------------- ############################################################################ Commit: 7c6bff17340e2f6697a22f1ce56c18fa009d4d2e URL: http://cgit.haiku-os.org/haiku/commit/?id=7c6bff1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 6 02:37:18 2013 UTC Complete outsourcing of zlib * Add optional packages Zlib and Zlib-devel. * Simplify the build feature section for zlib and also extract the source package. * Replace all remaining references to the zlib instance in the tree and remove it. ---------------------------------------------------------------------------- ############################################################################ Commit: 9abd3e6f53602c5fc3ad5676992bc27d40640e1b URL: http://cgit.haiku-os.org/haiku/commit/?id=9abd3e6 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Mon May 6 18:01:40 2013 UTC Fix race condition during build of some file systems. * make sure the zlib package is available before trying to use zlib.h ---------------------------------------------------------------------------- ############################################################################ Commit: 853b8a4de57bf2c55455bbcb45f759319da1e5be URL: http://cgit.haiku-os.org/haiku/commit/?id=853b8a4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 6 05:20:11 2013 UTC CreateAppMetaMimeThread: Use open_type() ... instead of constructing the MIME type file path manually. ---------------------------------------------------------------------------- ############################################################################ Commit: eef74ff29879ac29d794c1f6052f75695377e362 URL: http://cgit.haiku-os.org/haiku/commit/?id=eef74ff Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 6 17:55:06 2013 UTC Remove packages Zlib[-devel] from ReleaseBuildProfiles Instead add Zlib as a mandatory package and Zlib-devel as a Development dependency. ---------------------------------------------------------------------------- ############################################################################ Commit: fa5dff5529d819291e62ac867fca3d27a527cbad URL: http://cgit.haiku-os.org/haiku/commit/?id=fa5dff5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 00:38:55 2013 UTC Replace various boolean rule parameters by flags Instead of the boolean alwaysUpdate, isCDPackage, and stripDebugSymbols parameters use a uniform flags parameter which can contain any of the respectively supported flags (alwaysUpdate, cdPackage, stripDebugSymbols, !stripDebugSymbols). ---------------------------------------------------------------------------- ############################################################################ Commit: d6a6e2c811bf9f4f30c8000b54a199e57d8a25ed URL: http://cgit.haiku-os.org/haiku/commit/?id=d6a6e2c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 01:13:37 2013 UTC rule CopyDirectoryToContainer: Add flags isTarget The flags indicates that the passed sourceDirectory is a target, not a path. ---------------------------------------------------------------------------- ############################################################################ Commit: e387e24faa576987379b6d5b9da4dd054a9d7589 URL: http://cgit.haiku-os.org/haiku/commit/?id=e387e24 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 02:06:20 2013 UTC Move MIME DB creation from build_haiku_image to jam build system * build_haiku_image: Remove MIME DB creation code. * Rename beos_mime source directory to mime_db. * Add rules to build the MIME DB in the source directory's jamfile. * Add MIME DB directory to haiku.hpkg in data/mime_db. ---------------------------------------------------------------------------- ############################################################################ Commit: 38e3973ecf429e27da158c823369f47f4addf869 URL: http://cgit.haiku-os.org/haiku/commit/?id=38e3973 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 02:12:57 2013 UTC Add private class BMergedDirectory to storage kit An arbitrary number of directories can be added, which the implemented BEntryList interface presents as a single merged entry list. Three different merge policies are supported which define how entries that appear in more than one directory are treated. ---------------------------------------------------------------------------- ############################################################################ Commit: 59a653b51cdae6a8f87db8cb68c86998b48bfc62 URL: http://cgit.haiku-os.org/haiku/commit/?id=59a653b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 02:43:15 2013 UTC Support multiple MIME DB directories Each installation location (system, common, common/non-packaged, ~/config, ~/config/non-package) can now have a read-only data/mime_db directory. ~/config/settings/beos_mime is now named mime_db as well. The contents of all directories makes up the MIME DB. Entries in more specific locations shadow entries in more general locations. Only the directory in ~/config/settings is where the registrar writes changes to. The new layout allows packages to contribute entries to the MIME DB by simply providing the respective files in data/mime_db. Consequently the user settings directory is supposed to contain only the things the user has actually changed. Seems to work fine as far as tested. A few issues, though: * The registrar doesn't monitor the directories yet, so it doesn't notice entry changes due to package de-/activation. * ATM it is not possible to remove a MIME type that is not in the user settings directory, although the FileTypes GUI suggests that it is. We'd have to work with white-outs, since we cannot remove the files in the data/mime_db directories. Or, alternatively, the API has to be extended and the FileTypes GUI adjusted to disable the "Remove" button in such a case. ---------------------------------------------------------------------------- ############################################################################ Commit: f8d6e1f9387ce12626c411909c00f9dfdf2f4e3e URL: http://cgit.haiku-os.org/haiku/commit/?id=f8d6e1f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 13:22:30 2013 UTC mimeset: Style update ---------------------------------------------------------------------------- ############################################################################ Commit: 937b6e0f7f452391c5d6d46ad76d2e1fc36450e9 URL: http://cgit.haiku-os.org/haiku/commit/?id=937b6e0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 14:18:29 2013 UTC pkgman resolve-dependencies: Remove bogus option ---------------------------------------------------------------------------- ############################################################################ Commit: a625f557c5c896b64b535f95be155fbba2a00b88 URL: http://cgit.haiku-os.org/haiku/commit/?id=a625f55 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 14:24:34 2013 UTC mimeset: Change options style * Use "--" prefix for long options and switch to getopt parsing. There's still compatibility support for "-apps" and "-all", but they are considered obsolete, now. * Add short options "-a" for "--apps", "-A" for "--all", and "-h" for "--help". ---------------------------------------------------------------------------- ############################################################################ Commit: 9cda9c9905397675aec87ebc6bc9287df3ca2264 URL: http://cgit.haiku-os.org/haiku/commit/?id=9cda9c9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 15:54:29 2013 UTC Move MIME DB code back from registrar to src/kits/storage/mime * Together with database_{access,support}.cpp it is built into a static library. * Add new interfaces MimeSniffer and Database::NotificationListener for plugging in registrar specific functionality (the sniffer add-on support and the notification mechanism). ---------------------------------------------------------------------------- ############################################################################ Commit: b94857b322093c296230a18d47f6a98a2896b062 URL: http://cgit.haiku-os.org/haiku/commit/?id=b94857b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 21:15:36 2013 UTC Refactor MIME DB access * Add class DatabaseLocation. It contains a list of the MIME DB directory paths plus methods to access type files. * Move all low-level MIME DB access functions from database_{support,access} to DatabaseLocation. All code that formerly used those now requires a DatabaseLocation object. In BMimeType and in the registrar the default object is used, but the low-level classes can now be reused with different locations. * Move get_icon_data() from database_access to database_support and delete the former, which is now empty. ---------------------------------------------------------------------------- ############################################################################ Commit: b6a89f410eb68626663104bd9687830504634cb9 URL: http://cgit.haiku-os.org/haiku/commit/?id=b6a89f4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 7 23:08:16 2013 UTC Pull class AppMetaMimeCreator out of CreateAppMetaMimeThread Instead of using a BMimeType to set the MIME type properties, it operates directly on the Database object, though. ---------------------------------------------------------------------------- ############################################################################ Commit: dcb215886225f014599c152c2ebaf78be647710f URL: http://cgit.haiku-os.org/haiku/commit/?id=dcb2158 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 8 02:26:00 2013 UTC storage/mime: Some host platform build fixes ---------------------------------------------------------------------------- ############################################################################ Commit: ed92790ce5832ef5431c1b36840900cb81186f08 URL: http://cgit.haiku-os.org/haiku/commit/?id=ed92790 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 8 02:28:31 2013 UTC mime/Database::Install(): Fix subtype without supertype case If the supertype directory for a given subtype didn't exist yet, the method would fail. ---------------------------------------------------------------------------- ############################################################################ Commit: 57a7a6b9168931a2f209327bc40959a016ca8bb2 URL: http://cgit.haiku-os.org/haiku/commit/?id=57a7a6b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 8 02:29:18 2013 UTC mime/database_support: Make buildable for host platform ---------------------------------------------------------------------------- ############################################################################ Commit: d0815ca03b474657ea161f5d3783b458c899a947 URL: http://cgit.haiku-os.org/haiku/commit/?id=d0815ca Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 8 02:39:56 2013 UTC Add private MIME DB classes to libbe_build * This pulls in some more stuff, like libicon and agg which are also included in libbe_build, now. * Update a few libbe_build classes and headers needed to get things building. * This likely breaks the <build>mimeset build on Haiku. ---------------------------------------------------------------------------- ############################################################################ Commit: 9ea1940c48f96fb923fe654792d5372ab800ef7c URL: http://cgit.haiku-os.org/haiku/commit/?id=9ea1940 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 8 02:51:48 2013 UTC mimeset: WIP to support custom MIME DB directories Add option -m/--mimedb for specifying one or more directories to be used as the MIME DB instead of the system MIME DB. Currently only works with --apps and only non-recursive. When fully implemented the new feature will be used in the build system and on Haiku when building packages to generated the MIME DB entries for applications, so those can be included in the same package. Furthermore it will be possible to use the MIME DB the build system already generates to identify files before packaging them. ---------------------------------------------------------------------------- ############################################################################ Commit: 865ab2816de47da3e2d82a3ef808d03d69fe1436 URL: http://cgit.haiku-os.org/haiku/commit/?id=865ab28 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 8 23:37:23 2013 UTC Pull class MimeInfoUpdater out of UpdateMimeInfoThread * Pull out base class MimeEntryProcessor out of AppMetaMimeCreator. * Pull class MimeInfoUpdater out of UpdateMimeInfoThread and derive it from MimeEntryProcessor. * MimeInfoUpdater: Instead of BMimeType::GuessMimeType(), use Database::GuessMimeType() directly. ---------------------------------------------------------------------------- ############################################################################ Commit: c92c12d71ae1ef4eb25e7d81011a4544b8b234a0 URL: http://cgit.haiku-os.org/haiku/commit/?id=c92c12d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 8 23:39:54 2013 UTC libroot_build: Fix incorrect skipDot check in find_dir_entry() Would result in the _kern_open_parent_dir() failing for "/" and maybe in other cases as well. ---------------------------------------------------------------------------- ############################################################################ Commit: 00090d290d61b06dc60dc91e2b4d9f90f638dd22 URL: http://cgit.haiku-os.org/haiku/commit/?id=00090d2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 01:14:35 2013 UTC boot loader: print max heap usage info before entering kernel ---------------------------------------------------------------------------- ############################################################################ Commit: f132bdfe9f0a7e132d1b93e5c117f384ae0527c4 URL: http://cgit.haiku-os.org/haiku/commit/?id=f132bdf Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 01:16:53 2013 UTC boot loader: Add 256 KB additional heap packagefs is using quite a bit additional memory for the MIME DB entries and with all files identified. ---------------------------------------------------------------------------- ############################################################################ Commit: 5fb334831939c75dd29eb50e7f79e90876764a49 URL: http://cgit.haiku-os.org/haiku/commit/?id=5fb3348 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 01:18:46 2013 UTC MimeEntryProcessor: Add DoRecursively() While Do() only process the specified entry, DoRecursively() also recurses into directories. ---------------------------------------------------------------------------- ############################################################################ Commit: baadb2595539f998a8b113c1444293e67ffcd5b3 URL: http://cgit.haiku-os.org/haiku/commit/?id=baadb25 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 01:19:25 2013 UTC Add te MimeInfoUpdater to libbe_build ---------------------------------------------------------------------------- ############################################################################ Commit: 0c61965f2b7d83b6b985ec1cb376f7673cd93682 URL: http://cgit.haiku-os.org/haiku/commit/?id=0c61965 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 01:22:24 2013 UTC mimeset: Complete custom mime DB support * Don't require the first MIME DB directory to exist anymore. Database creates it anyway. * Make use of MimeInfoUpdater to support updating MIME info with a custom MIME DB. * Make use of MimeEntryProcessor::DoRecursively() to support recursive operation with a custom MIME DB. ---------------------------------------------------------------------------- ############################################################################ Commit: fa4511f61bf27d6728a406b24a61d75a7bc172c4 URL: http://cgit.haiku-os.org/haiku/commit/?id=fa4511f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 01:29:53 2013 UTC AddDriversToContainer: Handle duplicate invocations Since the same driver can be added in more than one category, in a few cases AddDriversToContainer was invoked twice for the same target. Avoid adding the driver twice to add-ons/kernel/drivers/bin in such a case. Didn't really cause any problem, but no need to copy the file twice. ---------------------------------------------------------------------------- ############################################################################ Commit: f666576f6240faa2f83f16bb01cd0dd61fab272d URL: http://cgit.haiku-os.org/haiku/commit/?id=f666576 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 01:30:19 2013 UTC CopyDirectoryToContainer: fix typo in comment ---------------------------------------------------------------------------- ############################################################################ Commit: 518840e305b44986a28aff2db042a932bf2fd650 URL: http://cgit.haiku-os.org/haiku/commit/?id=518840e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 01:38:10 2013 UTC Complete MIME related support for image/package creation * Update MimeSet rule to use the MIME DB the build system creates. * Add CreateAppMimeDBEntries rule and call it from Link for targets that might be applications that need to be registered with the MIME DB. For the target the rule is invoked with it creates a directory into which the entries for the types to be registered are written. The directory is associated with the target via the HAIKU_MIME_DB_ENTRIES variable. * AddFilesToContainer: If a target is added that has MIME DB entries, also add those to the container. * build_haiku_package: Call mimeset for the package contents. ---------------------------------------------------------------------------- ############################################################################ Commit: bbd98073f9afd33feaa270581da7a558ff14ffcd URL: http://cgit.haiku-os.org/haiku/commit/?id=bbd9807 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 01:41:39 2013 UTC Remove update_mime_info() support from libbe_build It was there only for <build>mimeset, which is now always invoked with a custom MIME DB and thus won't use the function anymore. We could actually easily implement it using MimeInfoUpdater, if the MIME DB directory the build system generates was compiled in. ---------------------------------------------------------------------------- ############################################################################ Commit: 327299814729dc0b70df70fe1c80f745272d8292 URL: http://cgit.haiku-os.org/haiku/commit/?id=3272998 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 01:43:58 2013 UTC Remove the no longer needed mime_update.sh post install script ---------------------------------------------------------------------------- ############################################################################ Commit: 0c53204ecc20b6e2fe5af7db5e75959a98d29c0b URL: http://cgit.haiku-os.org/haiku/commit/?id=0c53204 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 15:57:09 2013 UTC JPEGTranslator: Add missing jpeg headers dependency ---------------------------------------------------------------------------- ############################################################################ Commit: 204dee708a999d5a71d0cb9497650ee7cef85d0a URL: http://cgit.haiku-os.org/haiku/commit/?id=204dee7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 16:08:55 2013 UTC Use libbe_build also on Haiku This means the build tools will no longer be built against the host platform's libbe, which avoids compatibility problems -- e.g. an older Haiku host libbe may not have certain features the build tools require -- and also makes the build behave more similiar on Haiku and other platforms. The host libroot dependency still remains and is not easy to get rid of. Also remove some bits of BeOS/Dano/Zeta build support. ---------------------------------------------------------------------------- ############################################################################ Commit: 826a109f96dbd877c8270c00f402671fb81854aa URL: http://cgit.haiku-os.org/haiku/commit/?id=826a109 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 19:10:37 2013 UTC MimeInfoUpdater: Fix is_shared_object_mime_type() The comparison must be case insensitive. ---------------------------------------------------------------------------- ############################################################################ Commit: 3271dcd7f61df278868069774c91a0f13a7f84fd URL: http://cgit.haiku-os.org/haiku/commit/?id=3271dcd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 9 19:36:31 2013 UTC Update be_book and vision packages ---------------------------------------------------------------------------- ############################################################################ Commit: 8a916d87528ef32e0ce675a00377aa95842e33cf URL: http://cgit.haiku-os.org/haiku/commit/?id=8a916d8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 11 07:16:58 2013 UTC Don't create most empty installation dirs in home/config Create them in home/config/non-packaged instead. ---------------------------------------------------------------------------- ############################################################################ Commit: a085e81e62d7a860f809b4fb7c7bf5654c396985 URL: http://cgit.haiku-os.org/haiku/commit/?id=a085e81 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 11 07:35:06 2013 UTC Move ~/config/boot to ~/config/settings/ ---------------------------------------------------------------------------- ############################################################################ Commit: 0bfcf7312a3271700df884e10149fa16cf4ba1fe URL: http://cgit.haiku-os.org/haiku/commit/?id=0bfcf73 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 11 07:56:47 2013 UTC Move deskbar menu directory to ~/config/settings/deskbar/menu Also remove the "be" symlink in ~/config/settings. ---------------------------------------------------------------------------- ############################################################################ Commit: 85bf48fea593e303019d6bb1265b230a4bd0542b URL: http://cgit.haiku-os.org/haiku/commit/?id=85bf48f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 11 12:37:27 2013 UTC packagefs: Remove no longer working userland build support ---------------------------------------------------------------------------- ############################################################################ Commit: 1e7416d9b3846396e2f7d6552e37d72664cd6853 URL: http://cgit.haiku-os.org/haiku/commit/?id=1e7416d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 11 13:13:35 2013 UTC packagefs: Organize sources into subdirectories ---------------------------------------------------------------------------- ############################################################################ Commit: 1848fdc329604d5d5ea7cb4450b0913a2510b906 URL: http://cgit.haiku-os.org/haiku/commit/?id=1848fdc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 11 21:17:55 2013 UTC util/khash: Add hash_hash_string_part() ---------------------------------------------------------------------------- ############################################################################ Commit: d07c930c1eb710289922edd3abf5244c259a86c6 URL: http://cgit.haiku-os.org/haiku/commit/?id=d07c930 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 11 21:31:36 2013 UTC packagefs: Share string instances globally Introduce a class String which refers to shared private data that is registered in a global hash table (in class StringPool) and use the class consequently. This eliminates duplicate allocations for the same string and also speeds up tests for equality. There's quite a bit overhead for the management structures (apparently even more than for the string data itself), but due to almost all strings being used multiple times this still almost halves the memory usage for string data. ---------------------------------------------------------------------------- ############################################################################ Commit: 3c94ecf6b4c440fe976473d4bd54bc67fc203388 URL: http://cgit.haiku-os.org/haiku/commit/?id=3c94ecf Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 11 21:32:21 2013 UTC packagefs: Move NodeListener to nodes/ ---------------------------------------------------------------------------- ############################################################################ Commit: c663ca2171fe8fee125a8d1fd64500b0deb5e814 URL: http://cgit.haiku-os.org/haiku/commit/?id=c663ca2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 11 22:18:19 2013 UTC Merge branch 'master' into package-management Conflicts: build/jam/HaikuImage src/system/kernel/arch/x86/64/arch.S ---------------------------------------------------------------------------- ############################################################################ Commit: bfc4df839f4ddce7367eba88a940ac5a84dde40d URL: http://cgit.haiku-os.org/haiku/commit/?id=bfc4df8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 12 21:30:52 2013 UTC Merge remote-tracking branch 'haiku/master' into package-management ---------------------------------------------------------------------------- ############################################################################ Commit: dff45dfced3242bca17ded2b0be5937d73fb7713 URL: http://cgit.haiku-os.org/haiku/commit/?id=dff45df Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun May 19 19:35:39 2013 UTC Updated version of compiler to match BuildtoolsPM ---------------------------------------------------------------------------- ############################################################################ Commit: 773318958f9c126e067bc7219fa157c291963aff URL: http://cgit.haiku-os.org/haiku/commit/?id=7733189 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun May 19 21:30:23 2013 UTC Add new package haiku_cross_devel.hpkg * This package is meant for providing haikuporter with a development environment for building cross packages. ---------------------------------------------------------------------------- ############################################################################ Commit: f7712caf68c3d50c3004a7de66f4db2d5993fa56 URL: http://cgit.haiku-os.org/haiku/commit/?id=f7712ca Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Mon May 20 09:27:42 2013 UTC Update package-infos to match current Haiku version * additionally, unify packager (to "The Haiku build system") ---------------------------------------------------------------------------- ############################################################################ Commit: 7e7232aca848f3cf15607ee48864fc57954c1825 URL: http://cgit.haiku-os.org/haiku/commit/?id=7e7232a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 16:21:41 2013 UTC Update cmake and libsolv packages ---------------------------------------------------------------------------- ############################################################################ Commit: 171fd58c4b47c2da9cf13b7e501d3661d4a98e42 URL: http://cgit.haiku-os.org/haiku/commit/?id=171fd58 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 12 23:04:52 2013 UTC package kit: some fixes for multi-version support * Use enums/constants/functions instead of preprocessor macros. * Missing include in PackageInfoAttributeValue.h. * PackageReaderImpl::Init(): Check version before header size and return B_MISMATCHED_VALUES instead of B_BAD_DATA, if the version doesn't match. This allows callers to determine the condition and try a reader for a different version. A more flexible interface for that case would be nice, but since we want to support the old package version only temporarily, the current solution should be good enough. ---------------------------------------------------------------------------- ############################################################################ Commit: 7575abbca279c0f86e5c6d51a8d854d585c8de03 URL: http://cgit.haiku-os.org/haiku/commit/?id=7575abb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 12 23:29:06 2013 UTC Clone read support functionality for HPKG format version 1 It uses sub-namespace BPackage::BHPKG::V1. Unlike the one for the current format version, the V1 version of BPackageInfoContentHandler lives in BHPKG(::V1) sub-namespace and is private. ---------------------------------------------------------------------------- ############################################################################ Commit: fc0cec5396a712166c6184010e2dba2e501abb35 URL: http://cgit.haiku-os.org/haiku/commit/?id=fc0cec5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 12 23:37:28 2013 UTC Bump HPKG format version ---------------------------------------------------------------------------- ############################################################################ Commit: ab5755a84a882ef210e8ba21b50c34d61a571cd5 URL: http://cgit.haiku-os.org/haiku/commit/?id=ab5755a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 13 00:38:59 2013 UTC packagefs: PackageLeafNode: remove superfluous declaration ---------------------------------------------------------------------------- ############################################################################ Commit: dd0b33cb6330ac9c9e8430d2a8f94396474c8128 URL: http://cgit.haiku-os.org/haiku/commit/?id=dd0b33c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 13 00:40:24 2013 UTC BPackageInfo: Support reading both HPKG format versions ---------------------------------------------------------------------------- ############################################################################ Commit: b5786b0f6879010455272cfeed0668e8d259048c URL: http://cgit.haiku-os.org/haiku/commit/?id=b5786b0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 13 00:46:37 2013 UTC BPackageDataReader: Remove unused Size(), BlockSize() ---------------------------------------------------------------------------- ############################################################################ Commit: 175ff8ec773647be2b9ca4c1e1de9c183088ab1c URL: http://cgit.haiku-os.org/haiku/commit/?id=175ff8e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 13 00:52:10 2013 UTC package kit: Add BAbstractBufferedDataReader It doesn't do much in terms of buffering, but defines an interface buffered readers can implement, namely the additional ReadDataToOutput() which currently BPackageDataReader specifies. ---------------------------------------------------------------------------- ############################################################################ Commit: 2c32402da583cbd0a091a08308237592679c05c4 URL: http://cgit.haiku-os.org/haiku/commit/?id=2c32402 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 13 01:10:09 2013 UTC package kit: internalize BPackageDataReader It is no longer public (or even private) API. BPackageDataReaderFactory returns a BAbstractBufferedDataReader instead. The advantage is that the latter doesn't have hpkg format specific dependencies. ---------------------------------------------------------------------------- ############################################################################ Commit: 11cecf980b5ee6a21563a7e78d4f2238a8b4d90f URL: http://cgit.haiku-os.org/haiku/commit/?id=11cecf9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 13 03:39:02 2013 UTC packagefs: Add support for hpkg format V1 * Add union-like class PackageData which wraps the V1 and V2 BPackageData classes. * GlobalFactory: Create a data reader depending on the data format version. * Package: Add a loader for V1 format and try that, if the other one fails. ---------------------------------------------------------------------------- ############################################################################ Commit: 9172ffdb069412131d17ff731280f6f5802b52a0 URL: http://cgit.haiku-os.org/haiku/commit/?id=9172ffd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 13 14:43:44 2013 UTC package list/extract: Add support for hpkg format V1 ---------------------------------------------------------------------------- ############################################################################ Commit: df29539688df25133e4f9decc5da7b1045dc1850 URL: http://cgit.haiku-os.org/haiku/commit/?id=df29539 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 13 15:43:31 2013 UTC Remove resolvable provides type * Remove BPackageResolvableType and respective property from BPackageResolvable. * Remove package attribute B_HPKG_ATTRIBUTE_ID_PACKAGE_PROVIDES_TYPE. ---------------------------------------------------------------------------- ############################################################################ Commit: 7adfd76b17adc78b0646a835711d3cd935bfb02b URL: http://cgit.haiku-os.org/haiku/commit/?id=7adfd76 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 13 19:02:30 2013 UTC Add "base package" package attribute ---------------------------------------------------------------------------- ############################################################################ Commit: 0ee1651856a4364bfa7ffd10f796baf35fb524d3 URL: http://cgit.haiku-os.org/haiku/commit/?id=0ee1651 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 14 16:59:57 2013 UTC Rename BBlockBufferCache and friends to *Pool* Also move BBlockBufferPoolNoLock into BHPKG namespace with the other classes. Not sure why it wasn't there before. ---------------------------------------------------------------------------- ############################################################################ Commit: 21ee6d5cdce51e891eebc0b28efe8aad631bfc1c URL: http://cgit.haiku-os.org/haiku/commit/?id=21ee6d5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 14 17:03:34 2013 UTC Some comment updates ---------------------------------------------------------------------------- ############################################################################ Commit: 16e5e5e4ec65faf8dcb0b7f7918a890c41a3960d URL: http://cgit.haiku-os.org/haiku/commit/?id=16e5e5e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 18 01:55:39 2013 UTC Some *DataReader improvements * BFDDataReader: Add SetFD(). * BBufferDataReader: Derive from BAbstractBufferedDataReader. ---------------------------------------------------------------------------- ############################################################################ Commit: 1f633814fa347b0bd822f683af731615df600347 URL: http://cgit.haiku-os.org/haiku/commit/?id=1f63381 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 18 02:11:01 2013 UTC hpkg format: compress the whole heap Instead of handling compression for individual file/attribute data we do now compress the whole heap where they are stored. This significantly improves compression ratios. We still divide the uncompressed data into 64 KiB chunks and use a chunk offset array for the compressed chunks to allow for quick random access without too much overhead. The tradeoff is a limited possible compression ratio -- i.e. we won't be as good as tar.gz (though surprisingly with my test archives we did better than zip). The other package file sections (package attributes and TOC) are no longer compressed individually. Their uncompressed data are simply pushed onto the heap where the usual compression strategy applies. To simplify things the repository format has been changed in the same manner although it doesn't otherwise use the heap, since it only stores meta data. Due to the data compression having been exposed in public and private API, this change touches a lot of package kit using code, including packagefs and the boot loader packagefs support. The latter two haven't been tested yet. Moreover packagefs needs a new kind of cache so we avoid re-reading the same heap chunk for two different data items it contains. ---------------------------------------------------------------------------- ############################################################################ Commit: 18b19ba49d6a9f234818042c6b62c6661a0dc247 URL: http://cgit.haiku-os.org/haiku/commit/?id=18b19ba Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 18 23:00:36 2013 UTC ZlibCompressor: Allow setting the compression level ---------------------------------------------------------------------------- ############################################################################ Commit: 796343ed73b1707ed97e91e22b72b8ca81bcdbad URL: http://cgit.haiku-os.org/haiku/commit/?id=796343e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 18 23:07:08 2013 UTC Allow specifying the compression level for package creation * Introduce BPackageWriterParameters which comprises all parameters for package creation, currently flags and compression level. Such an object can be passed to BPackageWriter::Init() and is passed on to PackageWriterImpl and WriterImplBase. * PackageFileHeapWriter: Add compressionLevel property and pass the value on to ZlibCompressor. * package add/create: Add options -0 ... -9 to specify the compression level to be used. ---------------------------------------------------------------------------- ############################################################################ Commit: 06f5437c21c0c849d0cbd16a2a7444182c50ba01 URL: http://cgit.haiku-os.org/haiku/commit/?id=06f5437 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 18 23:48:53 2013 UTC Add HAIKU_PACKAGE_COMPRESSION_LEVEL build variable It allows to control the compression level used for package creation and update. The default (9) is *very* slow, so developers may want to use a smaller level during the regular development process to keep turn-around times low. ---------------------------------------------------------------------------- ############################################################################ Commit: 96af1d283c9e144a5c0596ab1200dbc5abfccf9e URL: http://cgit.haiku-os.org/haiku/commit/?id=96af1d2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 19 00:57:41 2013 UTC PackageFileHeapWriter: Small style fix ---------------------------------------------------------------------------- ############################################################################ Commit: 172f25fdda75f2ab92089511c89f0ee37483504e URL: http://cgit.haiku-os.org/haiku/commit/?id=172f25f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 19 00:58:08 2013 UTC PackageWriterImpl: Fix reading the package-info in update mode ---------------------------------------------------------------------------- ############################################################################ Commit: 520a7a76c7c6528f654a4e9a6d0d291df63e7532 URL: http://cgit.haiku-os.org/haiku/commit/?id=520a7a7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 19 02:30:56 2013 UTC PackageFileHeapAccessorBase: small refactoring * Pull method DecompressChunkData() out of ReadAndDecompressChunkData() for potential reuse. * Also fix/improve some error output strings. ---------------------------------------------------------------------------- ############################################################################ Commit: b05413ed784e0a3822a2549dda19c799e232fa9e URL: http://cgit.haiku-os.org/haiku/commit/?id=b05413e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 19 02:32:39 2013 UTC PackageFileHeapWriter: Fix update case * Pull _UnwriteLastPartialChunk() out of Reinit() for reuse. * _UnwriteLastPartialChunk(): fPendingDataSize wasn't set. * _PushChunks(): Some simplifications for clarity. * ChunkBuffer/RemoveDataRanges(): Use data reading and decompression methods provided by our base class instead of duplicating the implementation. * RemoveDataRanges(): - _FlushPendingData() before starting, so we don't ignore the pending data and _UnwriteLastPartialChunk() when done, so a partial chunk is read back into the pending data buffer. - fUncompressedHeapSize wasn't reset before the main processing loop, thus resulting in an erroneous size later on. ---------------------------------------------------------------------------- ############################################################################ Commit: d03ac965a23ea05a1a771a4e80c5d15f7f042ce4 URL: http://cgit.haiku-os.org/haiku/commit/?id=d03ac96 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 19 08:44:11 2013 UTC ReaderImplBase: Fix gcc 4 build ---------------------------------------------------------------------------- ############################################################################ Commit: 88adb4a8e7d20cd9b2a1b8471c3b0391323a9324 URL: http://cgit.haiku-os.org/haiku/commit/?id=88adb4a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 19 08:47:44 2013 UTC PackageFileHeapWriter: Add error message ... in case compression fails unexpectedly. ---------------------------------------------------------------------------- ############################################################################ Commit: 5d3de03be532ae60e82fa3d059683c2e082c7af0 URL: http://cgit.haiku-os.org/haiku/commit/?id=5d3de03 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 19 08:55:14 2013 UTC libroot_build: Fix fs_read_attr() in fs_attr_untyped.cpp * With a specified buffer size smaller than the attribute size the function would fail with ERANGE on Linux although it should just read as much as possible. Now we always read into our temporary data buffer with the full buffer size. * Fix return value in case pos is > 0. pos must be subtracted from the bytes actually read. ---------------------------------------------------------------------------- ############################################################################ Commit: 521545f7fbee52f5c7db523dc63100be8726ff72 URL: http://cgit.haiku-os.org/haiku/commit/?id=521545f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 12:22:39 2013 UTC Add padding in HPKG/HPKR headers ... so that the different alignment on 32 and 64 bit machines doesn't change the layout. ---------------------------------------------------------------------------- ############################################################################ Commit: 1559102fe7248296e5bb257d63123c0808d01d9d URL: http://cgit.haiku-os.org/haiku/commit/?id=1559102 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 12:25:31 2013 UTC ReaderImplBase: Fix strings subsection validity check A strings section with 0 strings is still 1 byte long. Also improve the error output in the error case. ---------------------------------------------------------------------------- ############################################################################ Commit: 14713507a31100b854d30e182de5cef52f1ca8ca URL: http://cgit.haiku-os.org/haiku/commit/?id=1471350 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 12:45:13 2013 UTC packagefs: Fix debug build ---------------------------------------------------------------------------- ############################################################################ Commit: 5261923e877d1637aea41ab878af97d49d70fd69 URL: http://cgit.haiku-os.org/haiku/commit/?id=5261923 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 17:07:46 2013 UTC Add dvprintf() ---------------------------------------------------------------------------- ############################################################################ Commit: 760dee16d194b0248ee1d6e3b71e968bb774429c URL: http://cgit.haiku-os.org/haiku/commit/?id=760dee1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 17:09:20 2013 UTC packagefs: Add va-args version ERRORV() to DebugSupport ---------------------------------------------------------------------------- ############################################################################ Commit: 2a6f1725c648a566ce51c4894b902a13ed4c11eb URL: http://cgit.haiku-os.org/haiku/commit/?id=2a6f172 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 17:10:09 2013 UTC packagefs: Resolve error output TODOs ---------------------------------------------------------------------------- ############################################################################ Commit: bfa408d70a19a54976f211afc0fb9df014d2c1a4 URL: http://cgit.haiku-os.org/haiku/commit/?id=bfa408d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 17:10:46 2013 UTC packagefs: PackageData: Fix copy and paste error ---------------------------------------------------------------------------- ############################################################################ Commit: 01c03710f0acd6384a3d98b09bcc1063d4f3f66d URL: http://cgit.haiku-os.org/haiku/commit/?id=01c0371 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 17:30:54 2013 UTC BuildHaikuPackage rule: Add grist to package info file ... to avoids clashes with equally named targets. ---------------------------------------------------------------------------- ############################################################################ Commit: 64bb883062f91b5c21ec1003774391c1964e244e URL: http://cgit.haiku-os.org/haiku/commit/?id=64bb883 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 17:37:40 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: d59e0feb59b92ca19ecda2935369fd0fcc5a4f56 URL: http://cgit.haiku-os.org/haiku/commit/?id=d59e0fe Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 18:15:59 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: b814feabd7292f7024f559f5b2c50084b6eec733 URL: http://cgit.haiku-os.org/haiku/commit/?id=b814fea Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 20:54:59 2013 UTC packagefs: PackageFile::DataAccessor: Avoid unnecessary locking ... in case of version 2 package files. ---------------------------------------------------------------------------- ############################################################################ Commit: c3bd329fa27d34588a31ec8c61f2a78e41b9c968 URL: http://cgit.haiku-os.org/haiku/commit/?id=c3bd329 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 22:36:51 2013 UTC PackageFileHeapAccessorBase: Fix error output ---------------------------------------------------------------------------- ############################################################################ Commit: 69a1f1f53f7167363b17eeba6141b92bd8dfd4d3 URL: http://cgit.haiku-os.org/haiku/commit/?id=69a1f1f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 20 22:41:31 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: 46122852f1dfbbf4bac6f5a634452ff90c5635ce URL: http://cgit.haiku-os.org/haiku/commit/?id=4612285 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 21 17:42:57 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: bc306e210fdad4d7c6d7fe2ecd17177627f0e503 URL: http://cgit.haiku-os.org/haiku/commit/?id=bc306e2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 21 21:20:51 2013 UTC Declare some string constants actually const ---------------------------------------------------------------------------- ############################################################################ Commit: 5dae1541d63974a6e2011553e9de484a0495414a URL: http://cgit.haiku-os.org/haiku/commit/?id=5dae154 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 21 21:21:06 2013 UTC Add "source" package architecture ---------------------------------------------------------------------------- ############################################################################ Commit: 47039b852eeebb91396d19e0f9313cf23bf535ee URL: http://cgit.haiku-os.org/haiku/commit/?id=47039b8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 21 22:20:13 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: bac0bb2e8f4278b3d2b706e983bd8817aea09cc0 URL: http://cgit.haiku-os.org/haiku/commit/?id=bac0bb2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 21 22:20:50 2013 UTC RepositoryWriterImpl: Write the heap fields in the header ---------------------------------------------------------------------------- ############################################################################ Commit: 4ffb9234137d9a173489d3158cf4180d07bf0ac3 URL: http://cgit.haiku-os.org/haiku/commit/?id=4ffb923 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 23 19:07:08 2013 UTC PackageFileHeapWriter::RemoveDataRanges(): Fix empty heap check ---------------------------------------------------------------------------- ############################################################################ Commit: 5497f08e5e4dc400f4425519a87bbe388d68336b URL: http://cgit.haiku-os.org/haiku/commit/?id=5497f08 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 23 19:17:29 2013 UTC hpkg attribute tags: use 7 bits for attribute ID ATM the 6 bits suffice, but there isn't that much headroom. ---------------------------------------------------------------------------- ############################################################################ Commit: fe707a23fc6dc0bccb3e80201bf3e4146dcde74e URL: http://cgit.haiku-os.org/haiku/commit/?id=fe707a2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 23 19:29:18 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: a8de2761c70d71d57ee17373eafac58bfd6ac8b8 URL: http://cgit.haiku-os.org/haiku/commit/?id=a8de276 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 23 20:55:02 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: 79d5ddb77bd498e2975ceed8360c06cf709ff618 URL: http://cgit.haiku-os.org/haiku/commit/?id=79d5ddb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 23 20:59:40 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: 6da0ce6ff206b501faa6972d44225c5d2e7469dc URL: http://cgit.haiku-os.org/haiku/commit/?id=6da0ce6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 23 21:16:21 2013 UTC Move package info parser to its own file ---------------------------------------------------------------------------- ############################################################################ Commit: daa10fc3a5ab0fe0666ec8e72742cfa60df7e990 URL: http://cgit.haiku-os.org/haiku/commit/?id=daa10fc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 23 21:23:26 2013 UTC Move package info string builder to its own header ---------------------------------------------------------------------------- ############################################################################ Commit: bf88057b2677464ca46f3ab38333da024bfa7831 URL: http://cgit.haiku-os.org/haiku/commit/?id=bf88057 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 01:07:53 2013 UTC ReaderImplBase: Fix copy and paste oversight ---------------------------------------------------------------------------- ############################################################################ Commit: 8698ee4521d87bc735d569fcdf118b8738f8a9a8 URL: http://cgit.haiku-os.org/haiku/commit/?id=8698ee4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 01:08:16 2013 UTC BStringList: Declare Join() const ---------------------------------------------------------------------------- ############################################################################ Commit: c82776b2fabe0e546e213495e53cef22a8afb6a6 URL: http://cgit.haiku-os.org/haiku/commit/?id=c82776b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 01:08:28 2013 UTC BString: Add Split() ---------------------------------------------------------------------------- ############################################################################ Commit: 0f4e11e75c244fd61da150011f1eae5fe79fc2a9 URL: http://cgit.haiku-os.org/haiku/commit/?id=0f4e11e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 01:11:18 2013 UTC hpkg format: Add attributes for declaring users and groups ---------------------------------------------------------------------------- ############################################################################ Commit: 927e0708696896ff1f96f7113ebbad57a32e3300 URL: http://cgit.haiku-os.org/haiku/commit/?id=927e070 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 01:38:37 2013 UTC WriterImplBase: Some simplifications ... using the recently introduced _AddStringAttribute[IfNotEmpty](). ---------------------------------------------------------------------------- ############################################################################ Commit: c0ab14096139c4e72a501bc6e82ab92d0e9e48f3 URL: http://cgit.haiku-os.org/haiku/commit/?id=c0ab140 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 21:46:22 2013 UTC hpkg format: Add attribute for declaring post install scripts ---------------------------------------------------------------------------- ############################################################################ Commit: a11b0003ecee864899a0b54f8d403e0026ac3783 URL: http://cgit.haiku-os.org/haiku/commit/?id=a11b000 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 21:56:26 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: a3e070a7ff2a735abf31947289f8e73b7c388c8f URL: http://cgit.haiku-os.org/haiku/commit/?id=a3e070a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 22:20:55 2013 UTC WriterImplBase: Add _AddStringAttributeList() ... and simplify some code by using it. ---------------------------------------------------------------------------- ############################################################################ Commit: 38a0419a729fde595309fe504442e55adc3d0e4a URL: http://cgit.haiku-os.org/haiku/commit/?id=38a0419 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 23:01:05 2013 UTC package info parser: improve parse error column numbers Assume 4 column tab stops and compute the column numbers accordingly. ---------------------------------------------------------------------------- ############################################################################ Commit: a98dd49a6b8f7a267dbbade3694ec88072785f5e URL: http://cgit.haiku-os.org/haiku/commit/?id=a98dd49 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 23:10:25 2013 UTC package info parser: allow escaping of new lines So we can break long lines without changing the semantics. ---------------------------------------------------------------------------- ############################################################################ Commit: e2f30519ab5b526d1e5b603f847c4fc3d18af111 URL: http://cgit.haiku-os.org/haiku/commit/?id=e2f3051 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 24 23:55:36 2013 UTC hpkg format: user big endian for chunk sizes ---------------------------------------------------------------------------- ############################################################################ Commit: 3da422ad05c1cf00bf02707d3b1bd4accdc0c378 URL: http://cgit.haiku-os.org/haiku/commit/?id=3da422a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat May 25 00:38:52 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: a196160c9ac91dd51968938c3d1d2c2e2f29c850 URL: http://cgit.haiku-os.org/haiku/commit/?id=a196160 Author: Matt Madia <mattmadia@xxxxxxxxx> Date: Sat May 25 17:23:40 2013 UTC Committer: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Commit-Date: Sat May 25 17:41:18 2013 UTC On FreeBSD, "<malloc.h> has been replaced by <stdlib.h>" ---------------------------------------------------------------------------- ############################################################################ Commit: 75c10de291a042a516805dc46a36b3d7f2890b0e URL: http://cgit.haiku-os.org/haiku/commit/?id=75c10de Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun May 26 23:05:58 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: badd403c5e5bb6f1e5fefd943dfea96e356caac8 URL: http://cgit.haiku-os.org/haiku/commit/?id=badd403 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon May 27 02:27:26 2013 UTC Update grep package ---------------------------------------------------------------------------- ############################################################################ Commit: 56b43eca036445983248a14b9c5343518d3cccb3 URL: http://cgit.haiku-os.org/haiku/commit/?id=56b43ec Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 28 00:44:13 2013 UTC BPackageInfoContentHandler: Handle new attributes Also add respective *Data constructors to BUser, BUserSettingsFileInfo, and BGlobalSettingsFileInfo. ---------------------------------------------------------------------------- ############################################################################ Commit: b361d03f9384368625fd22108f2496807912b364 URL: http://cgit.haiku-os.org/haiku/commit/?id=b361d03 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue May 28 01:07:29 2013 UTC haiku.hpkg package info: zlib is a separate package ---------------------------------------------------------------------------- ############################################################################ Commit: e63bdfec7505fe241e7845a487c6ba029d44fc81 URL: http://cgit.haiku-os.org/haiku/commit/?id=e63bdfe Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed May 29 00:24:54 2013 UTC Rename post_install dir to post-install ---------------------------------------------------------------------------- ############################################################################ Commit: 30c2352188a17adfe1698a094b25c9ada9a687c9 URL: http://cgit.haiku-os.org/haiku/commit/?id=30c2352 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed May 29 22:19:40 2013 UTC Adjust buildscript for gcc4 to configure with a sysroot. ---------------------------------------------------------------------------- ############################################################################ Commit: 7ea6bb13059c8754fcd6a7594a826e09d0510bd9 URL: http://cgit.haiku-os.org/haiku/commit/?id=7ea6bb1 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed May 29 22:21:25 2013 UTC Add c++-libs to haiku_cross_devel.hpkg ---------------------------------------------------------------------------- ############################################################################ Commit: 7b2016c8afac9fef49a2c78c119286691736db72 URL: http://cgit.haiku-os.org/haiku/commit/?id=7b2016c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu May 30 21:50:55 2013 UTC Update libsolv package ---------------------------------------------------------------------------- ############################################################################ Commit: ba96552b6a796adbc66613492d4b6658b2e8ce16 URL: http://cgit.haiku-os.org/haiku/commit/?id=ba96552 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 31 20:37:13 2013 UTC Support extracting archives to the packages we build * BuildHaikuPackage rule: Create the script that contains the extraction commands. * build_haiku_package: Add extractFile() function (stripped down version from build_haiku_image). In build_haiku_image the functionality was mainly used to extract the optional packages, which is no longer done. We still need it e.g. for the Wifi firmware packages that want to be extracted. ---------------------------------------------------------------------------- ############################################################################ Commit: fa962e60082cdf103ebeaee07869749cdddee828 URL: http://cgit.haiku-os.org/haiku/commit/?id=fa962e6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 31 20:45:06 2013 UTC build_haiku_package: Print some progress info Remove the output in extractFile(), though. The extracted packages are so small that it doesn't matter anymore. ---------------------------------------------------------------------------- ############################################################################ Commit: 118028674c77ec4ba5725a097dfbc9fd99b181b8 URL: http://cgit.haiku-os.org/haiku/commit/?id=1180286 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri May 31 22:31:37 2013 UTC Fix reading attributes of directories When reading an attribute of a directory there was no guarantee that the underlying package would be open. When it wasn't reading an attribute would fail, unless the attribute data were already cached. The reasons for this are: * UnpackingDirectory didn't forward the {Init,Uninit}VFS() calls to the underlying PackageDirectory. * Only PackageFile was actually opening the package in InitVFS(). Now we forward the {Init,Uninit}VFS() calls in all cases -- even in {Add,Remove}PackageNode(), when the active package node changes -- and opening/closing the package is now done in PackageNode::{Init,Uninit}VFS(). ---------------------------------------------------------------------------- ############################################################################ Commit: d055934e36da802abd3958d0e7172bd5d666240a URL: http://cgit.haiku-os.org/haiku/commit/?id=d055934 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 1 00:40:08 2013 UTC QueryParser: Fix some debug macros ---------------------------------------------------------------------------- ############################################################################ Commit: 10e9f49914cc9e447f8248126c28fa2bf08e9f3a URL: http://cgit.haiku-os.org/haiku/commit/?id=10e9f49 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 1 01:58:11 2013 UTC QueryParser: Equation::Match(): Fix generic attribute case Init size to the buffer size before passing it to QueryPolicy::NodeGetAttribute(). Since size was 0 by default, we would only read 0 length data. ---------------------------------------------------------------------------- ############################################################################ Commit: b23d504796788536d66b523a2b5a3359691b3b2b URL: http://cgit.haiku-os.org/haiku/commit/?id=b23d504 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 1 02:04:25 2013 UTC packagefs: UnpackingAttributeCookie: Open package ... when reading non-inline attribute data. Generally the package should already have been opened by the PackageNode owning the attribute (in InitVFS()), but that isn't the case for queries, which can read attributes from entirely unsuspecting nodes. Together with the QueryParser fix that should fix queries involving non-indexed attributes. ---------------------------------------------------------------------------- ############################################################################ Commit: 28fd71c58667bdf69bfd211dfaabb0fca945eb71 URL: http://cgit.haiku-os.org/haiku/commit/?id=28fd71c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 1 20:18:53 2013 UTC Installer: CopyEngine: Remove some debug/uncommented code ---------------------------------------------------------------------------- ############################################################################ Commit: fb5f0bb1c75c2a7a41f8936d028ebaa7eb7e84d0 URL: http://cgit.haiku-os.org/haiku/commit/?id=fb5f0bb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 2 12:37:31 2013 UTC Installer: Move path string constants to new InstallerDefs.h/cpp ---------------------------------------------------------------------------- ############################################################################ Commit: a601eaa9e12f36ea05aeea5f2997c76bb591e2ad URL: http://cgit.haiku-os.org/haiku/commit/?id=a601eaa Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 2 12:43:02 2013 UTC Installer: Remove "/boot/var" directory check The PM Haiku Installer doesn't need support installing ancient Haiku versions. ---------------------------------------------------------------------------- ############################################################################ Commit: c2be967eb9044dd6a57f8ce0f0fde28c3e2e8ab9 URL: http://cgit.haiku-os.org/haiku/commit/?id=c2be967 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 2 13:16:26 2013 UTC Installer: CopyEngine: Externalize decision making * Add interface EntryFilter, an instance of which can be passed to the CopyEngine. The object is asked whether to copy entries/clobber directories. * Move the _ShouldCopyEntry()/_ShouldClobberFolder() code to new WorkerThread::EntryFilter. ---------------------------------------------------------------------------- ############################################################################ Commit: e8eb6ae212738836c9a16c463c8aed3cdf23f72e URL: http://cgit.haiku-os.org/haiku/commit/?id=e8eb6ae Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 2 13:22:20 2013 UTC Installer: WorkerThread::_PerformInstall(): get rid of goto ---------------------------------------------------------------------------- ############################################################################ Commit: 348d9eac3b8a59123dcfa04848a42e304a15929d URL: http://cgit.haiku-os.org/haiku/commit/?id=348d9ea Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 2 13:42:29 2013 UTC Installer: WorkerThread: Remove InstallerWindow dependency * Move message constants to InstallerDefs.h. * Determine the source and target partition ID already in InstallerWindow and pass those to WorkerThread instead of fiddling with menu items in _PerformInstall(). And instead of the window object pass a messenger to the constructor. ---------------------------------------------------------------------------- ############################################################################ Commit: ba6f7c8c42038755c9017ae014859d016b072580 URL: http://cgit.haiku-os.org/haiku/commit/?id=ba6f7c8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 2 14:16:45 2013 UTC Installer: CopyEngine: Pass relative path to EntryFilter ... instead of the file name. ---------------------------------------------------------------------------- ############################################################################ Commit: f4953ba541417f59c4310ea6b6ccf68cb86a3258 URL: http://cgit.haiku-os.org/haiku/commit/?id=f4953ba Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 2 14:30:25 2013 UTC Installer: WorkerThread::EntryFilter: Use path map ... instead of implicit comparisons. ---------------------------------------------------------------------------- ############################################################################ Commit: 6c36ad168e98c010774f57970c7deb03e9b98403 URL: http://cgit.haiku-os.org/haiku/commit/?id=6c36ad1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 2 17:11:39 2013 UTC Installer: Restrict entry filter to files from the BFS volume We generally want to skip the contents of the packagefs volumes (save for the shine-through directories). That makes Installer usable again. In what direction we want to develop it (e.g. integrate some PM support, so that a subset of packages can be selected) needs further discussion. ---------------------------------------------------------------------------- ############################################################################ Commit: 59e2e2f3a7a7deb5f68a552c5327e54949ed0e80 URL: http://cgit.haiku-os.org/haiku/commit/?id=59e2e2f Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Mon Jun 3 22:24:37 2013 UTC Adjust handling of package infos. * add HAIKU_PACKAGING_ARCH, which is set to the target packaging architecture * introduce support for generic package infos, which are package infos that are the same for all architectures, except for the declaration of the package architecture itself * move package info files underneath architecture-specific or generic folder ---------------------------------------------------------------------------- ############################################################################ Commit: 02783d54bdb13f44e6d9d03e9f9ee206e7521872 URL: http://cgit.haiku-os.org/haiku/commit/?id=02783d5 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Mon Jun 3 22:27:00 2013 UTC Add new package haiku_cross_devel_wrapper. * this package wraps the haiku_cross_devel package (i.e. it contains that package in /develop/cross) * the wrapper package is meant to be installed into the system hierarchy, from where haikuporter will fetch the contained package when needed ---------------------------------------------------------------------------- ############################################################################ Commit: eeddc9fd26f6f0eefec9fb16fda673111069340e URL: http://cgit.haiku-os.org/haiku/commit/?id=eeddc9f Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Jun 4 12:25:34 2013 UTC Fix paths in haiku_cross_devel packages. * since this is now meant to be installed into an architecture-specific (sysroot-)folder, we need to drop the architecture-specific subpaths ---------------------------------------------------------------------------- ############################################################################ Commit: c915f7bafad9adf64b928a37b37c9a994c57c183 URL: http://cgit.haiku-os.org/haiku/commit/?id=c915f7b Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Jun 4 15:16:01 2013 UTC Fix haiku_cross_devel package(s). * those packages need to be installed on any system that wants to build for the respective target architecture, so they need to have the package architecture 'any' * adjust to not require 'haiku', as that isn't needed and wouldn't be available either * use concatenation by macro to inject the target architecture into the provides definition ---------------------------------------------------------------------------- ############################################################################ Commit: 25601cfaf7debf15be06b0eaac47fbc8da7ca57b URL: http://cgit.haiku-os.org/haiku/commit/?id=25601cf Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Jun 4 15:16:47 2013 UTC Minor fix: extend copyright in all package infos to 2013. ---------------------------------------------------------------------------- ############################################################################ Commit: 872e7aa2a66c6d843335d42e6412e1236c445e19 URL: http://cgit.haiku-os.org/haiku/commit/?id=872e7aa Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Jun 4 20:37:59 2013 UTC Rename haiku_cross_devel packages. * haiku_cross_devel is now haiku_cross_devel_sysroot * haiku_cross_devel_wrapper is now haiku_cross_devel ---------------------------------------------------------------------------- ############################################################################ Commit: a532c573089b05f272107ed5620734671420891e URL: http://cgit.haiku-os.org/haiku/commit/?id=a532c57 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 4 21:36:46 2013 UTC Remove /boot/{apps,preferences} symlinks And adjust all remained occurrence in the tree accordingly (-> /boot/common/{apps,preferences}). ---------------------------------------------------------------------------- ############################################################################ Commit: fa374ad4c33169338db9d1319e91601f9be25476 URL: http://cgit.haiku-os.org/haiku/commit/?id=fa374ad Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 4 21:37:53 2013 UTC Remove config.log files ---------------------------------------------------------------------------- ############################################################################ Commit: 48581f98911f829490237745506a0f06da5645c0 URL: http://cgit.haiku-os.org/haiku/commit/?id=48581f9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 4 21:59:37 2013 UTC FHaikuPackageGrist: Avoid potential package name clashes ---------------------------------------------------------------------------- ############################################################################ Commit: a6e03f41d2fecea709a4419eb002dca0a3af48db URL: http://cgit.haiku-os.org/haiku/commit/?id=a6e03f4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 4 22:00:47 2013 UTC find_directory(): Fix B_{APPS,PREFERENCES}_DIRECTORY paths ---------------------------------------------------------------------------- ############################################################################ Commit: 99380098107c8dacffc08207f6eca30b355eceb6 URL: http://cgit.haiku-os.org/haiku/commit/?id=9938009 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 4 22:18:23 2013 UTC add_catalog_entry_attributes.sh: Remove optional directory ---------------------------------------------------------------------------- ############################################################################ Commit: 0050b4b4521cdb9dee167ff687f426d3eea33ec5 URL: http://cgit.haiku-os.org/haiku/commit/?id=0050b4b Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Jun 5 16:11:46 2013 UTC Runtime loader: don't fall back to OS-ABI directories. * when an executable with a different ABI is being loaded and some needed image isn't found, don't retry using the standard ABI folders of the system - those are now considered incompatible ---------------------------------------------------------------------------- ############################################################################ Commit: 729c6333ad7b947c756ba61070c2b75540525b8e URL: http://cgit.haiku-os.org/haiku/commit/?id=729c633 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Jun 5 16:31:13 2013 UTC Runtime loader: rename compatibilitySubDir to abiSpecificSubDir. ---------------------------------------------------------------------------- ############################################################################ Commit: 8944824d1c564229e7bc40ed32a727363306c4c8 URL: http://cgit.haiku-os.org/haiku/commit/?id=8944824 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jun 5 22:08:31 2013 UTC rm_attrs: Fix for parameters with whitespace ---------------------------------------------------------------------------- ############################################################################ Commit: 4489c88b61bd4b70ff3a91d24ef5a0088e9c4691 URL: http://cgit.haiku-os.org/haiku/commit/?id=4489c88 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jun 5 22:16:28 2013 UTC hpkg format: Generalize user/global settings file attributes * For all identifiers: Rename global settings file to global writable file. We want to use the respective attribute also for other writable files, not only settings files. * User settings file/global writable file info/attribute: Add isDirectory property/child attribute. This allows declaring global/ user settings directories associated with the package. ---------------------------------------------------------------------------- ############################################################################ Commit: a266b57a9ac5ffcb1593511cd2a10aa2fb7c2f23 URL: http://cgit.haiku-os.org/haiku/commit/?id=a266b57 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jun 5 22:49:53 2013 UTC ReaderImplBase: Handle new ...IS_WRITABLE_DIRECTORY attribute ---------------------------------------------------------------------------- ############################################################################ Commit: 280b7cb63abaa3f6132a37a3ce7ad994f2ec7b52 URL: http://cgit.haiku-os.org/haiku/commit/?id=280b7cb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 7 00:01:46 2013 UTC libroot_build: Improve/fix get_path() In fs_attr_generic() get_path() is used with a symlink FD, which didn't work at all. Handle symlink descriptors explicitly now. ---------------------------------------------------------------------------- ############################################################################ Commit: 01176bd9449695959a87ceb51e41a1c292b5716f URL: http://cgit.haiku-os.org/haiku/commit/?id=01176bd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 7 00:03:16 2013 UTC Add basic BUuid class ATM it's only able to generate random UUIDs. ---------------------------------------------------------------------------- ############################################################################ Commit: bc96e8f30cd209672c33293f0e5c71e81027d3e2 URL: http://cgit.haiku-os.org/haiku/commit/?id=bc96e8f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 7 00:27:48 2013 UTC Add more robust generic attribute emulation variant The new configure option "--use-xattr-ref" enables an xattr assisted variant of the generic attribute emulation. Instead of using the inode ID of a node to identify its attribute directory, we use a reasonably unique random 128 bit number, which we generate and attach as an attribute to the node. This way, when a node changes its inode ID (defragmentation?) or the inode ID of a removed node with a left-over attribute directory is reused, attributes won't get mixed up. The old method is still used for symlinks (since on Linux only priviledged users can write attributes on symlinks), but those usually only have a rather boring BEOS:TYPE attribute, so mix-ups wouldn't be that problematic anyway. ---------------------------------------------------------------------------- ############################################################################ Commit: 69de9c6e3c1daea8faa57c9351d84e671a64222d URL: http://cgit.haiku-os.org/haiku/commit/?id=69de9c6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 7 13:17:42 2013 UTC MIME DB build: Fix name clashes * Make grist for subtype source files unique. * Our MakeLocate only appends to LOCATE, so we have to call it before ResComp, if we want a different location. ---------------------------------------------------------------------------- ############################################################################ Commit: 52a43b19ff0924d7320ffea06f6902b3eda7e504 URL: http://cgit.haiku-os.org/haiku/commit/?id=52a43b1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 7 13:31:03 2013 UTC MakeLocate rule: Avoid directory dependency, if already located Only create the directory dependency for a target, if that's where the target will actually end up. If it has already been located before, do nothing. ---------------------------------------------------------------------------- ############################################################################ Commit: 3b8f8e0caa14ee1f6f55f08d562de1bb800871e9 URL: http://cgit.haiku-os.org/haiku/commit/?id=3b8f8e0 Author: Siarzhuk Zharski <zharik@xxxxxx> Date: Sat May 25 14:00:53 2013 UTC Committer: Ingo Weinhold <ingo_weinhold@xxxxxx> Commit-Date: Fri Jun 7 21:39:57 2013 UTC 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 Conflicts: src/add-ons/translators/jpeg/Jamfile ---------------------------------------------------------------------------- ############################################################################ Commit: 3dadb47f21b32879080dd4baa39a6b0cf49d270a URL: http://cgit.haiku-os.org/haiku/commit/?id=3dadb47 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 7 22:04:45 2013 UTC boot loader tarfs: Declare dependency to zlib package ---------------------------------------------------------------------------- ############################################################################ Commit: c80c7982c8fe0b371196e870a94a910258652891 URL: http://cgit.haiku-os.org/haiku/commit/?id=c80c798 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 7 22:18:28 2013 UTC boot packagefs: Fix zlib dependency declaration ---------------------------------------------------------------------------- ############################################################################ Commit: 444b035d5d092de6b04cbb08706ba543d962993c URL: http://cgit.haiku-os.org/haiku/commit/?id=444b035 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 7 22:20:24 2013 UTC BuildHaikuPackage rule: Locate extract script Missed that when adding the script. Therefore it would be created in the current directory and when building multiple packages concurrently the script would be overwritten. ---------------------------------------------------------------------------- ############################################################################ Commit: beeaf379b101ed72a6d57941703d0638bd088deb URL: http://cgit.haiku-os.org/haiku/commit/?id=beeaf37 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jun 7 22:55:12 2013 UTC HaikuDevel: Fix copying the build feature headers We have to use actual targets that cause the respective download and extract the packages. Otherwise the build fails when the packages haven't been extracted yet. ---------------------------------------------------------------------------- ############################################################################ Commit: a1832a0e834915517b865fd83ee35ade883be468 URL: http://cgit.haiku-os.org/haiku/commit/?id=a1832a0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 11 13:23:18 2013 UTC <resolv.h>: Make self-contained ---------------------------------------------------------------------------- ############################################################################ Commit: 7b6d45c94231c30cd3ce280307269b5dc2367e22 URL: http://cgit.haiku-os.org/haiku/commit/?id=7b6d45c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 11 17:34:47 2013 UTC LibsolvSolver: Use Solvable only where necessary repo_internalize() apparently reorganizes the storage for Solvable objects so that our fSolvablePackages and fPackageSolvables maps could contain invalid pointers. Now the maps use the solvables' ID instead. Also use the IDs instead of the Solvable objects in most other places, which in some cases even simplifies the code a bit. ---------------------------------------------------------------------------- ############################################################################ Commit: c625c5fd36fe4894ec9967db23e09f4edc4cc1f3 URL: http://cgit.haiku-os.org/haiku/commit/?id=c625c5f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jun 12 12:38:16 2013 UTC <langinfo.h>/<select.h>: don't use C++ comments ---------------------------------------------------------------------------- ############################################################################ Commit: c46f5969b71728cfdb2d80f753a6d02dc2ceb39c URL: http://cgit.haiku-os.org/haiku/commit/?id=c46f596 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 13:08:57 2013 UTC Update zlib, gettext, libiconv, ncurses packages ---------------------------------------------------------------------------- ############################################################################ Commit: 5ce950ae760a295b454c15671ca040f8918c9ea2 URL: http://cgit.haiku-os.org/haiku/commit/?id=5ce950a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 14:42:36 2013 UTC BuildFeature: missing ";" ---------------------------------------------------------------------------- ############################################################################ Commit: ebb78dd9b70b96e75a2763014c579e3973f3179b URL: http://cgit.haiku-os.org/haiku/commit/?id=ebb78dd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 14:43:40 2013 UTC Update openssl package Also use the new build feature rules ---------------------------------------------------------------------------- ############################################################################ Commit: 178da21ad1d5d80be61167ab264aeab773b48cb9 URL: http://cgit.haiku-os.org/haiku/commit/?id=178da21 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 15:07:19 2013 UTC Update icu package Also use the new build feature rules. ---------------------------------------------------------------------------- ############################################################################ Commit: e97e4b74a062e577778a8012673e95290bb18dea URL: http://cgit.haiku-os.org/haiku/commit/?id=e97e4b7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 16:46:34 2013 UTC Update glu and mesa package Also use the new build feature rules. ---------------------------------------------------------------------------- ############################################################################ Commit: 14d5e307b44211346880ca8255162dbd5dd773ff URL: http://cgit.haiku-os.org/haiku/commit/?id=14d5e30 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 19:31:44 2013 UTC Update ffmpeg package and its requirements Also make use of new build feature rules. ---------------------------------------------------------------------------- ############################################################################ Commit: e2c74e414c67463c2feadce97df7b2c2eb8a25f7 URL: http://cgit.haiku-os.org/haiku/commit/?id=e2c74e4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 19:34:05 2013 UTC Remove unused MikMod build feature ---------------------------------------------------------------------------- ############################################################################ Commit: 29f8805f6c70f1c819eb58ac2220647d8e40d6e7 URL: http://cgit.haiku-os.org/haiku/commit/?id=29f8805 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 20:06:29 2013 UTC Update freetype package Also use the new build feature rules ---------------------------------------------------------------------------- ############################################################################ Commit: e9f440fdfdc4a2872dca8cb12928c6c3a9f118d8 URL: http://cgit.haiku-os.org/haiku/commit/?id=e9f440f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 20:48:00 2013 UTC Update libpng package Also make use of new build feature rules ---------------------------------------------------------------------------- ############################################################################ Commit: e4bd005daf2e3e3c7cb4dfa38e9bde7a578f08e0 URL: http://cgit.haiku-os.org/haiku/commit/?id=e4bd005 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 22:10:37 2013 UTC Update jpeg package * Also make use of new build feature rules. * Since the hacky long_jump_buffer field has been removed from the jpeg_error_mgr struct in the new package, the structure is now wrapped in the JPEGTranslator code to achieve the same behavior. ---------------------------------------------------------------------------- ############################################################################ Commit: 1d14716b9f03839beb3271886b1e32b6aa450e41 URL: http://cgit.haiku-os.org/haiku/commit/?id=1d14716 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 22:23:35 2013 UTC Some renaming of zlib related jam variables ---------------------------------------------------------------------------- ############################################################################ Commit: a20eb7f497fd5789baee973d9f381d155c231951 URL: http://cgit.haiku-os.org/haiku/commit/?id=a20eb7f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 22:33:23 2013 UTC Update libsolv package Also make use of new build feature rules. ---------------------------------------------------------------------------- ############################################################################ Commit: 12629b106ee37df7495eb9e3b463bd2119762867 URL: http://cgit.haiku-os.org/haiku/commit/?id=12629b1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 13 22:46:43 2013 UTC Update expat package ---------------------------------------------------------------------------- ############################################################################ Commit: de2188e9647102dd73933c219589481ae3871e01 URL: http://cgit.haiku-os.org/haiku/commit/?id=de2188e Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Fri Jun 14 14:04:26 2013 UTC Ticket: https://dev.haiku-os.org/ticket/7824 Fix #7824: failure to build a cross-compiler on Haiku. * force creation of a cross-compiler for both gcc2 and gcc4 when building on Haiku (by suffixing the build and host machine with '_buildhost') (cherry picked from commit df69e209bbacd07fdfea9d9efcfc8e1c0dfedaa0) Conflicts: build/scripts/build_cross_tools_gcc4 ---------------------------------------------------------------------------- ############################################################################ Commit: 49f8422a0dfa93243c407350a5795fcc6ddcd611 URL: http://cgit.haiku-os.org/haiku/commit/?id=49f8422 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Fri Jun 14 14:07:06 2013 UTC Remove whole sys-include folder when cross-compiler has been built. * at least for gcc2, we used to leave the 'os' subfolder in there, which may have caused problems when Haiku's headers have changed since the last time the compiler was built. (cherry picked from commit 92bb2fb33e2d0f4aa766be095057fe63ff17bc8e) ---------------------------------------------------------------------------- ############################################################################ Commit: 46792e599765a3328bbced7fd1ce4651b5b3382b URL: http://cgit.haiku-os.org/haiku/commit/?id=46792e5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 15 21:03:05 2013 UTC Update basic development packages ---------------------------------------------------------------------------- ############################################################################ Commit: 8d1a9545a9c775824176fa8bf8dc6d57fc3337d4 URL: http://cgit.haiku-os.org/haiku/commit/?id=8d1a954 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 16 01:54:50 2013 UTC Update apr[_util], be_book, bepdf, jam packages ---------------------------------------------------------------------------- ############################################################################ Commit: 0ac19e7d423e3325f383661df30de0da265dc46b URL: http://cgit.haiku-os.org/haiku/commit/?id=0ac19e7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 17 17:18:05 2013 UTC Update several packages * bzip2 * ca_root_certificates * cdrtools * cmake * ctags * curl * cvs * doxygen * freetype * git * groff * libsolv * man * nano * readline * sqlite * python ---------------------------------------------------------------------------- ############################################################################ Commit: 98c399b8c8027ac334173d0ec4a72b4c3453629a URL: http://cgit.haiku-os.org/haiku/commit/?id=98c399b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 17 19:06:31 2013 UTC Update packages keymapswitcher, libedit, libxml2, libpcre ---------------------------------------------------------------------------- ############################################################################ Commit: 676cc5aafe96a84f9fc452490ec56547264ec9d7 URL: http://cgit.haiku-os.org/haiku/commit/?id=676cc5a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 17 19:22:28 2013 UTC Update packages mercurial, mkdepend ---------------------------------------------------------------------------- ############################################################################ Commit: e31d588184b83bb5cc7a1a527b5ef35c5af8a78f URL: http://cgit.haiku-os.org/haiku/commit/?id=e31d588 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 18 03:06:54 2013 UTC Update several packages * neon * openssh * p7zip * pe * subversion * tar * timgmsoundfont * wonderbrush ---------------------------------------------------------------------------- ############################################################################ Commit: 7f453e3b5f7dbfa8b056507086c3983ed5bba8b1 URL: http://cgit.haiku-os.org/haiku/commit/?id=7f453e3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 18 09:29:00 2013 UTC Update packages vision, wpa_supplicant, wqy_microhei, yasm ---------------------------------------------------------------------------- ############################################################################ Commit: 56c3ef1d732569b59024d6f326c8c1c4ff803b7d URL: http://cgit.haiku-os.org/haiku/commit/?id=56c3ef1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 18 09:32:23 2013 UTC Disable xz-utils optional package for gcc 2 ---------------------------------------------------------------------------- ############################################################################ Commit: 01293f6a5dcb826918cf4f13e71c3ac9801ff46e URL: http://cgit.haiku-os.org/haiku/commit/?id=01293f6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 18 09:40:12 2013 UTC OptionalPackages: fix syntax errors ---------------------------------------------------------------------------- ############################################################################ Commit: b6163fd2aea49172136e6aabebbfb6682fbf1fa6 URL: http://cgit.haiku-os.org/haiku/commit/?id=b6163fd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jun 18 09:57:29 2013 UTC Update openssh package ---------------------------------------------------------------------------- ############################################################################ Commit: 2551c12bec0f67a667864aae6892a2ad921928ec URL: http://cgit.haiku-os.org/haiku/commit/?id=2551c12 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jun 19 03:07:27 2013 UTC Update wonderbrush package ---------------------------------------------------------------------------- ############################################################################ Commit: b4dc51b39a386ce40c37df5c28c9b1540965e5f3 URL: http://cgit.haiku-os.org/haiku/commit/?id=b4dc51b Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Jun 23 09:45:38 2013 UTC Fix behaviour of towlower(), towupper() and towctrans(): * all those functions need to return the given wc unchanged in case of error, not 0 * towctrans() didn't actually look at the requested transition, but always acted as if _ISlower was given ---------------------------------------------------------------------------- ############################################################################ Commit: 51bce887cd38b778c88e083c2d7ec21203caccfa URL: http://cgit.haiku-os.org/haiku/commit/?id=51bce88 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Jun 23 14:43:23 2013 UTC Fix behaviour of localtime(), gmtime() and mktime(). * In case the locale backend could not be loaded, these functions (and their reentrant counterparts) just returned an error. So we reactivate parts of the BSD-/Olson-implementation in localtime_fading_out.c in order to use them as fallback. * Cleanup localtime_fading_out.c (remove a lot of unused cruft). ---------------------------------------------------------------------------- ############################################################################ Commit: ece582547a43df2c2009900ac638fecb97c71d9c URL: http://cgit.haiku-os.org/haiku/commit/?id=ece5825 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Jun 23 15:01:12 2013 UTC Improve robustness of asctime() and asctime_r(). * Return NULL and set EINVAL if the given tm pointer is NULL. This isn't mandated by the POSIX base specs, but it just makes sense. ---------------------------------------------------------------------------- ############################################################################ Commit: 105511275e00602f982f593afea9f65c6bd075e9 URL: http://cgit.haiku-os.org/haiku/commit/?id=1055112 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 20 01:41:36 2013 UTC Move PUuid from shared to support ---------------------------------------------------------------------------- ############################################################################ Commit: 535207ae9a3e759ac960379905a5e1661174eb7c URL: http://cgit.haiku-os.org/haiku/commit/?id=535207a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 20 03:52:07 2013 UTC BPoseView::AddPosesTask(): fix count checks In case GetNextDirents() returned an error, the wrong blocks were executed. ---------------------------------------------------------------------------- ############################################################################ Commit: 2752612bc60b08174c98181b33b7be3a7b93c3e3 URL: http://cgit.haiku-os.org/haiku/commit/?id=2752612 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 20 03:52:45 2013 UTC BMergedDirectory::GetNextDirents(): fix end-of-list return value ---------------------------------------------------------------------------- ############################################################################ Commit: 5fa3519dece47e6f9b519e56df643e52642b2fa6 URL: http://cgit.haiku-os.org/haiku/commit/?id=5fa3519 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 20 08:28:12 2013 UTC BString::Private: Add IsShareable() ---------------------------------------------------------------------------- ############################################################################ Commit: 62b0b64124aa1eb9007ecbeae69938e99aeae4d6 URL: http://cgit.haiku-os.org/haiku/commit/?id=62b0b64 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 20 08:30:08 2013 UTC BStringList::Add(): fix ref counting problem Handle the case that the private data of the given string is not shareable. ---------------------------------------------------------------------------- ############################################################################ Commit: 6ca95bd81343ac9be3836d112cf5e079a6e6ff9f URL: http://cgit.haiku-os.org/haiku/commit/?id=6ca95bd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 20 11:46:56 2013 UTC PathMonitor.cpp: some style cleanup ---------------------------------------------------------------------------- ############################################################################ Commit: ad1875fd705fe89064bcc91788ab4a05d14bf59d URL: http://cgit.haiku-os.org/haiku/commit/?id=ad1875f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 20 11:48:21 2013 UTC BPathMonitor: use pthread_once for initialization ---------------------------------------------------------------------------- ############################################################################ Commit: 77ca66cdb7b44669fc03e80e084234bee21bfd0e URL: http://cgit.haiku-os.org/haiku/commit/?id=77ca66c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 20 11:59:22 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: ddd775f5ac1bf7dee15dd492500b50b935b71935 URL: http://cgit.haiku-os.org/haiku/commit/?id=ddd775f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 20 12:58:34 2013 UTC BPoseView::FSNotification(): fix issue in debug build ---------------------------------------------------------------------------- ############################################################################ Commit: 3209bc40c523d63e98d635ae302df6bece0966d3 URL: http://cgit.haiku-os.org/haiku/commit/?id=3209bc4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 22 11:41:48 2013 UTC BPathMonitor: PathHandler::_NotifyTarget(): simplify * Add optional entry_ref return parameter to _HasFile(). * Simplify _NotifyTarget() by using _HasDirectory() and _HasFile(). ---------------------------------------------------------------------------- ############################################################################ Commit: 8d572c926432f2e29b3ffe88576a64ba731772a4 URL: http://cgit.haiku-os.org/haiku/commit/?id=8d572c9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 22 14:40:32 2013 UTC Add class NotOwningEntryRef A entry_ref subclass that avoids cloning the entry name. ---------------------------------------------------------------------------- ############################################################################ Commit: 7b198d812e45dfdaf08d5660fec27b3b4acf2a6f URL: http://cgit.haiku-os.org/haiku/commit/?id=7b198d8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 23 11:01:09 2013 UTC B_WATCH_FOLDERS_ONLY -> B_WATCH_DIRECTORIES_ONLY Stick to the nomenclature generally used in the public API. ---------------------------------------------------------------------------- ############################################################################ Commit: 38afe232de0aba455fb21897ac8a739dd5793e52 URL: http://cgit.haiku-os.org/haiku/commit/?id=38afe23 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 23 11:12:38 2013 UTC BPathMonitor: pass BMessenger by reference ---------------------------------------------------------------------------- ############################################################################ Commit: cb4a05cfdf59c3645e0e09e3cf154204e1a28c41 URL: http://cgit.haiku-os.org/haiku/commit/?id=cb4a05c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jun 24 08:52:07 2013 UTC Missed B_WATCH_FOLDERS_ONLY occurrence ---------------------------------------------------------------------------- ############################################################################ Commit: 3e8daeb7bc9c99f4858c072638b11f8fc9c7c220 URL: http://cgit.haiku-os.org/haiku/commit/?id=3e8daeb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 27 19:13:08 2013 UTC Add BMessenger::HashValue() ---------------------------------------------------------------------------- ############################################################################ Commit: 1eda8517f126fed1af44d199a9c06d6f4584ac8d URL: http://cgit.haiku-os.org/haiku/commit/?id=1eda851 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 27 19:14:11 2013 UTC BOpenHashTable: Add IsEmpty() ---------------------------------------------------------------------------- ############################################################################ Commit: 0d603ac65ca118bfc02ea8ec34ef74f93c5fc956 URL: http://cgit.haiku-os.org/haiku/commit/?id=0d603ac Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 27 19:21:42 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: 8c974aa8006f2f33f6b14563bda5a14f5bcc412d URL: http://cgit.haiku-os.org/haiku/commit/?id=8c974aa Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 27 19:22:02 2013 UTC node monitor: add TODO regarding the syscalls ---------------------------------------------------------------------------- ############################################################################ Commit: cc4d194aeb41c48a4f7b7d00e3715f2f65a8af2c URL: http://cgit.haiku-os.org/haiku/commit/?id=cc4d194 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 27 19:37:08 2013 UTC Add test suite for BPathMonitor 749 / 1504 tests fail ---------------------------------------------------------------------------- ############################################################################ Commit: 04382d496e445d90a3aab7c8752ee9cb59825035 URL: http://cgit.haiku-os.org/haiku/commit/?id=04382d4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 27 19:46:29 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: c143884fdf03ec3a8b7a89c88baa477f8629395c URL: http://cgit.haiku-os.org/haiku/commit/?id=c143884 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jun 27 19:54:43 2013 UTC Use incorrect use of BPathMonitor in input/midi/net server The B_ENTRY_* constants aren't valid watch flags. ---------------------------------------------------------------------------- ############################################################################ Commit: b5b9388a28b0d3af1993145f34833ce77015151c URL: http://cgit.haiku-os.org/haiku/commit/?id=b5b9388 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 29 11:42:00 2013 UTC Add C++ API for driver settings Copied from the userlandfs utility classes, adjusted coding style, did some renaming and small interface changes. ---------------------------------------------------------------------------- ############################################################################ Commit: e19f9091cd5c744b6bd3fe5f7f16a8eb56e6ef12 URL: http://cgit.haiku-os.org/haiku/commit/?id=e19f909 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 29 11:44:08 2013 UTC BPathMonitor: add "from path" to B_ENTRY_MOVED notifications ---------------------------------------------------------------------------- ############################################################################ Commit: de85051c81a74f82d86cc82ec25ead5374a83844 URL: http://cgit.haiku-os.org/haiku/commit/?id=de85051 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 29 11:58:10 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: 1c29b26e7c7eb94ee125315eca5a94265f613420 URL: http://cgit.haiku-os.org/haiku/commit/?id=1c29b26 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 29 12:34:19 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: dbd97804ea0ef2e690880db13424a02fee4478f1 URL: http://cgit.haiku-os.org/haiku/commit/?id=dbd9780 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 29 12:35:16 2013 UTC SetType rule: add optional type parameter If not specified the executable MIME type is used as before. ---------------------------------------------------------------------------- ############################################################################ Commit: 26ea70667a0c3c6274e6bbe91646a74b59a9e8b1 URL: http://cgit.haiku-os.org/haiku/commit/?id=26ea706 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 29 12:57:56 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: 94307089f9388a229705cde79465b9b319033f62 URL: http://cgit.haiku-os.org/haiku/commit/?id=9430708 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 30 09:49:40 2013 UTC Update packages ffmpeg, openssh, p7zip ---------------------------------------------------------------------------- ############################################################################ Commit: 2cf916cbe2e43b8e562b87f43ba8b69584d5c785 URL: http://cgit.haiku-os.org/haiku/commit/?id=2cf916c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jun 29 16:28:06 2013 UTC ExpanderRules: Coding style update Also makes the ExpanderRule getters const. No other functional change. ---------------------------------------------------------------------------- ############################################################################ Commit: 301f4b463a2125f77ed0acfe708050da9cc67368 URL: http://cgit.haiku-os.org/haiku/commit/?id=301f4b4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 30 11:29:48 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: 2a24174d9be832990bf61ab6f8ed04879383396f URL: http://cgit.haiku-os.org/haiku/commit/?id=2a24174 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 30 11:46:56 2013 UTC Clock: TOffscreenView: small cleanup ---------------------------------------------------------------------------- ############################################################################ Commit: 4c851c295dedb069b942ef8a9964c2680d9aadab URL: http://cgit.haiku-os.org/haiku/commit/?id=4c851c2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 30 11:51:49 2013 UTC Clock: fix crash when resources could not be loaded ---------------------------------------------------------------------------- ############################################################################ Commit: 207389a06042e383ae5e15f37adda190e1e04ab6 URL: http://cgit.haiku-os.org/haiku/commit/?id=207389a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 30 12:05:22 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9843 BResources::SetTo(): try opening read-only on error Fixes #9843. ---------------------------------------------------------------------------- ############################################################################ Commit: ff2e520912416877692e36bb130608d1a92df078 URL: http://cgit.haiku-os.org/haiku/commit/?id=ff2e520 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 30 16:59:11 2013 UTC Remove the old "CVS" package rules ... and all their invocations. ---------------------------------------------------------------------------- ############################################################################ Commit: 5a7d7bc5ddf4ca5ec9797e24f07f1b313eed4e8e URL: http://cgit.haiku-os.org/haiku/commit/?id=5a7d7bc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jun 30 17:01:37 2013 UTC Remove *Kit pseudo targets from root Jamfile ---------------------------------------------------------------------------- ############################################################################ Commit: 178d2f9fb9b9c8d03bd220e5be0564b0bc74ff02 URL: http://cgit.haiku-os.org/haiku/commit/?id=178d2f9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 1 11:26:29 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9846 Expander: create settings directory, if necessary Fixes #9846. ---------------------------------------------------------------------------- ############################################################################ Commit: 8d5ae262dc8bb1c3912dd0a717628065804df2bb URL: http://cgit.haiku-os.org/haiku/commit/?id=8d5ae26 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 1 11:54:56 2013 UTC Add MIME type for Haiku packages Doesn't have an icon yet (hint, hint! :-)). ---------------------------------------------------------------------------- ############################################################################ Commit: 4f82f6fa7225e5622544bc205e55da4c7ad33566 URL: http://cgit.haiku-os.org/haiku/commit/?id=4f82f6f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 1 11:55:16 2013 UTC Add Expander rule for Haiku package ---------------------------------------------------------------------------- ############################################################################ Commit: c09ec54a59c4514e55e256a2fcfc65ee5852060f URL: http://cgit.haiku-os.org/haiku/commit/?id=c09ec54 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 1 12:17:51 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9845 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. ---------------------------------------------------------------------------- ############################################################################ Commit: a85e46496d237d2d8cbc980b120e5b2090e507c0 URL: http://cgit.haiku-os.org/haiku/commit/?id=a85e464 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jul 3 21:13:09 2013 UTC package_repo: fix printf() format strings ---------------------------------------------------------------------------- ############################################################################ Commit: 87e22aa8650b8704339cb7707d49719802374c5b URL: http://cgit.haiku-os.org/haiku/commit/?id=87e22aa Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jul 3 21:14:31 2013 UTC Make package_repo buildable for the build host ---------------------------------------------------------------------------- ############################################################################ Commit: 2ebcd86dfe64e3c44c30350b3bc83228eeb2b8d4 URL: http://cgit.haiku-os.org/haiku/commit/?id=2ebcd86 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jul 3 21:19:00 2013 UTC Add configure option --host-only When specified, the build will be configured for building build host tools only. ---------------------------------------------------------------------------- ############################################################################ Commit: 2f5551ec2a9570c010306a563a29b64e9dcd292b URL: http://cgit.haiku-os.org/haiku/commit/?id=2f5551e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 07:37:26 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: fd28164da0fc4bb89fc22731e0c63957d4aafe93 URL: http://cgit.haiku-os.org/haiku/commit/?id=fd28164 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 10:13:21 2013 UTC Also allow source packages in a repository for any architecture ---------------------------------------------------------------------------- ############################################################################ Commit: 3c3dd841a7d5686c53414606648eb0197a74f3cd URL: http://cgit.haiku-os.org/haiku/commit/?id=3c3dd84 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 10:36:55 2013 UTC RepositoryWriterImpl::_AddPackage(): more info in error messages ---------------------------------------------------------------------------- ############################################################################ Commit: 32086850f743723b9d818d6d434bddb85f5d90f3 URL: http://cgit.haiku-os.org/haiku/commit/?id=3208685 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 10:51:26 2013 UTC Add HPKG to Expander's supported types ---------------------------------------------------------------------------- ############################################################################ Commit: 695a1b248a193f9a403d76d3b32666240ee76fcc URL: http://cgit.haiku-os.org/haiku/commit/?id=695a1b2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 14:37:24 2013 UTC repository writer: fix use of incorrect header size The header size of the package file header was used, which resulted in broken repository files. ---------------------------------------------------------------------------- ############################################################################ Commit: 69f67e6de6fce8d776b8fdeacc2ad6c7c3d8dd91 URL: http://cgit.haiku-os.org/haiku/commit/?id=69f67e6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 17:00:39 2013 UTC BRepositoryInfo: make sure fInitStatus is always set correctly ---------------------------------------------------------------------------- ############################################################################ Commit: c8928835c5938e7bb2372f56042af4446f0dc73f URL: http://cgit.haiku-os.org/haiku/commit/?id=c892883 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 17:02:10 2013 UTC BRepositoryCache: use BStandardErrorOutput ---------------------------------------------------------------------------- ############################################################################ Commit: 6a7e3406bebcb6d4345df91064a734ef2887bd45 URL: http://cgit.haiku-os.org/haiku/commit/?id=6a7e340 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 17:03:03 2013 UTC BSolverRepository: fix gcc 4 build ---------------------------------------------------------------------------- ############################################################################ Commit: 383cd08d725850342bd5129a2106d53a591540e5 URL: http://cgit.haiku-os.org/haiku/commit/?id=383cd08 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 17:04:03 2013 UTC BSolverRepository: add SetTo(const BRepositoryCache&) ---------------------------------------------------------------------------- ############################################################################ Commit: 17d00ecd27a24c8d3039bb2672d93d83ccdbf672 URL: http://cgit.haiku-os.org/haiku/commit/?id=17d00ec Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 17:06:57 2013 UTC pkgman: RepositoryBuilder: add BRepositoryCache c'tor ---------------------------------------------------------------------------- ############################################################################ Commit: e85334022eac93e41fc48b61784336b25ea2bbc3 URL: http://cgit.haiku-os.org/haiku/commit/?id=e853340 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 4 17:20:14 2013 UTC 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. ---------------------------------------------------------------------------- ############################################################################ Commit: bf5b4b25c89566b65fb92634fd3be32e1755bfcd URL: http://cgit.haiku-os.org/haiku/commit/?id=bf5b4b2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 07:58:37 2013 UTC package_repo list: add missing cases It probably would be better to share code with package's list, since it is very similar. ---------------------------------------------------------------------------- ############################################################################ Commit: 001e9064e047cf92879745e62ef50727af7417d7 URL: http://cgit.haiku-os.org/haiku/commit/?id=001e906 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 07:59:34 2013 UTC LibsolvSolver: missing include ---------------------------------------------------------------------------- ############################################################################ Commit: 43d96d8f7a57abfa1af976bdecbe0ef29693a6d1 URL: http://cgit.haiku-os.org/haiku/commit/?id=43d96d8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 08:09:38 2013 UTC haiku package-info: fix some provides/requires ---------------------------------------------------------------------------- ############################################################################ Commit: 98c6dfa41e20c57edf426197a8d9aab6223a59fd URL: http://cgit.haiku-os.org/haiku/commit/?id=98c6dfa Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 08:51:42 2013 UTC Switch build system from optional package to repositories * Build libsolv and the dependency solver part of the package kit for the build platform. * Add build tool get_package_dependencies. Given a list of package files and a list of repository files it determines the additional packages that need to be retrieved from the repositories and prints their URLs. * Add rules to work with external repositories in the build system (build/jam/RepositoryRules): - PackageRepository declares an external repository with all its packages. The URL of the repository file isn't specified. It is computed from a given base URL and the SHA256 hash of the list of package files. - GeneratedRepositoryPackageList generates a file containing the file names of all packages in a repository. - IsPackageAvailable returns whether a package is available in any repository. - PackageURL returns the URL for a package. * Declare the HaikuPorts repository for x86_gcc2 (build/jam/repositories/HaikuPorts/x86_gcc2). * Add rule AddHaikuImagePackages to add a package to the image and rule IsHaikuImagePackageAdded to determine whether a package has been added. * OptionalPackages: Remove all entries that just downloaded and installed an external package. AddHaikuImagePackages can be used instead and is used in the remaining entries. Also move the remaining optional package dependency declarations from OptionalPackageDependencies here. * ExtractBuildFeatureArchives: Instead of the URL parameter a package name must be specified now. This allows to simplify BuildFeatures significantly, since there's no dealing with URLs anymore. "if" out the entries that aren't supported yet. * build_haiku_image: For the packages installed in system and common resolve their dependencies and download and install them as well. ---------------------------------------------------------------------------- ############################################################################ Commit: 812baf3925b9f8436d531ffe07441ce65c766a23 URL: http://cgit.haiku-os.org/haiku/commit/?id=812baf3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 10:14:33 2013 UTC libsolv_build: declare missing dependency ---------------------------------------------------------------------------- ############################################################################ Commit: bd915d9f53216d1998effadf1d8ef25eafdc67a6 URL: http://cgit.haiku-os.org/haiku/commit/?id=bd915d9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 11:16:08 2013 UTC BSolver: fix build host build for gcc 2 gcc 2 doesn't support the weakref attribute. Rather use the regular (target) method to initialize sCreateSolver instead (pthread once, dlopen()). Since we know that we're on Haiku, that doesn't add any dependencies that aren't available anyway. ---------------------------------------------------------------------------- ############################################################################ Commit: a65099bbe401707176af28aee5547b19624d169c URL: http://cgit.haiku-os.org/haiku/commit/?id=a65099b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 11:23:48 2013 UTC libsolv_build: fix build on gcc 2 Haiku * Fix the "UseHeaders" invocation for libsolvext to use the correct directory. * Reorder things slightly, merely for aesthetical reasons. ---------------------------------------------------------------------------- ############################################################################ Commit: 1faf74732d88a2c8004240bb59661e2e738c9fa2 URL: http://cgit.haiku-os.org/haiku/commit/?id=1faf747 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 11:26:12 2013 UTC Update packages binutils, gcc, add missing bepdf source package ---------------------------------------------------------------------------- ############################################################################ Commit: fdf111aa575d03298a825a7b8c109ba3ea7f85b0 URL: http://cgit.haiku-os.org/haiku/commit/?id=fdf111a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 11:45:25 2013 UTC libsolvext requires libz ---------------------------------------------------------------------------- ############################################################################ Commit: 4dd0ed48e3dd486d3f2e8c15eeb90466cd5b0229 URL: http://cgit.haiku-os.org/haiku/commit/?id=4dd0ed4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 11:53:25 2013 UTC BSolver: fix for gcc 2 Missed one #if, so sCreateSolver was never initialized. ---------------------------------------------------------------------------- ############################################################################ Commit: f0273200d4b0ef6ba89e452dc4868016a3c17c2a URL: http://cgit.haiku-os.org/haiku/commit/?id=f027320 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 12:06:15 2013 UTC devel packages for mandatory packages must be in system as well ---------------------------------------------------------------------------- ############################################################################ Commit: 458b56a68ca61218c1bd077ff1296ef73dfdedc5 URL: http://cgit.haiku-os.org/haiku/commit/?id=458b56a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 12:07:38 2013 UTC Also install the be_book package in system ---------------------------------------------------------------------------- ############################################################################ Commit: 627626afd42f920d0330655d967ce712e4706396 URL: http://cgit.haiku-os.org/haiku/commit/?id=627626a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 5 12:26:30 2013 UTC GeneratedRepositoryPackageList: defeat localization Set LC_ALL=C, so "sort" produces useful results. ---------------------------------------------------------------------------- ############################################################################ Commit: 4174191272b0123a0d66fd23074acc26865b59bc URL: http://cgit.haiku-os.org/haiku/commit/?id=4174191 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:08:29 2013 UTC BPackageInfo: fix range check in c'tor ---------------------------------------------------------------------------- ############################################################################ Commit: a28a0ac6b20d7f32254523b9c425527c0832b634 URL: http://cgit.haiku-os.org/haiku/commit/?id=a28a0ac Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:09:08 2013 UTC BPackageInfo::_ExtractUsers(): fix no group case ---------------------------------------------------------------------------- ############################################################################ Commit: 3758560637f4994ab09062c5e4a7a010b108f751 URL: http://cgit.haiku-os.org/haiku/commit/?id=3758560 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:10:10 2013 UTC BuildSetup: remove obsolete dir variables ---------------------------------------------------------------------------- ############################################################################ Commit: 30cdb26b5fa1f6de8537fefdc0fb5be85e07259b URL: http://cgit.haiku-os.org/haiku/commit/?id=30cdb26 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:11:18 2013 UTC Add BDriverSettings to libbe_build ---------------------------------------------------------------------------- ############################################################################ Commit: ee64a0a6db4b838e7c644f17f41dfb0ced743d29 URL: http://cgit.haiku-os.org/haiku/commit/?id=ee64a0a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:13:54 2013 UTC BRepositoryConfig::SetTo(): fix use after deallocation The strings retrieved from the driver settings were used after unload_driver_settings(). Use BDriverSettings which also simplifies things quite a bit. ---------------------------------------------------------------------------- ############################################################################ Commit: bbd644b00b69e3520cffa37a363f1c36bf885bc3 URL: http://cgit.haiku-os.org/haiku/commit/?id=bbd644b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:15:39 2013 UTC libsolv_build: add support for building on FreeBSD Also fail immediately when an unsupported platform is encountered. ---------------------------------------------------------------------------- ############################################################################ Commit: 2a5d0aafa6290c153744386ada7000191b7b868f URL: http://cgit.haiku-os.org/haiku/commit/?id=2a5d0aa Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:17:15 2013 UTC configure: set new variable HOST_SHA256 sha256sum and sha256 are detected. ---------------------------------------------------------------------------- ############################################################################ Commit: 46686fe6c025b159796d9bdf2c1956173777b704 URL: http://cgit.haiku-os.org/haiku/commit/?id=46686fe Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:19:38 2013 UTC Download*File rules: add optional source target If specified the path to the source target can be used in the URL via "$source". ---------------------------------------------------------------------------- ############################################################################ Commit: 531a3d42bc3351d7bf7892a33529106fa580866c URL: http://cgit.haiku-os.org/haiku/commit/?id=531a3d4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:19:51 2013 UTC Add rule ChecksumFileSHA256 ---------------------------------------------------------------------------- ############################################################################ Commit: f4e265d53ceb0ec56bdcf7f68595903330a79b5e URL: http://cgit.haiku-os.org/haiku/commit/?id=f4e265d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:21:47 2013 UTC Add build tool create_repository_config Given a repository base URL and a repository info, it creates a repository config file. ---------------------------------------------------------------------------- ############################################################################ Commit: d72ce06673197dbd21336ca8f5618d98487001c8 URL: http://cgit.haiku-os.org/haiku/commit/?id=d72ce06 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:29:51 2013 UTC Adjust to changed HaikuPorts repository layout The package kit actually requires the files "repo", "repo.info", "repo.sha256" to be located under the repository base URL, so the approach to name the repository file "repo-<hash>" doesn't work. Now there's a directory "<hash>" which contains the files. This commit moves the computation of the hash and downloading the repository file from the build_haiku_image script to the jam build system. The repo.info is also downloaded and a repository config file is generated. ---------------------------------------------------------------------------- ############################################################################ Commit: 2afaeda8b78f954f17a93da69c133cf93dae46b5 URL: http://cgit.haiku-os.org/haiku/commit/?id=2afaeda Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 00:31:31 2013 UTC Copy repository config files to the image ... to common/settings/package-repositories. This way the used repositories are already known to pkgman. ---------------------------------------------------------------------------- ############################################################################ Commit: 3942ca0d5edd79e23886294b36b75e14fded4bfb URL: http://cgit.haiku-os.org/haiku/commit/?id=3942ca0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 10:19:46 2013 UTC configure: fix sha256sum/sha256 checks ---------------------------------------------------------------------------- ############################################################################ Commit: 600620e7907793cd45550fac400f825690737ab0 URL: http://cgit.haiku-os.org/haiku/commit/?id=600620e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 15:48:03 2013 UTC package_daemon: create the administrative dir when mounted ---------------------------------------------------------------------------- ############################################################################ Commit: 014eed80e289c2bbc187ac91bb7b3a35560a971f URL: http://cgit.haiku-os.org/haiku/commit/?id=014eed8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 16:06:02 2013 UTC Change repository directory layout * Under the base URL there are supposed to be the repository files and a subdirectory "packages". * Fix the repository URL related confusion introduced earlier. The URL in the repository info (and thus in the repository file) is supposed to be the base URL for the repository. It is not a (potentially) different base URL for the package files. Package and repository files were supposed to live in the same directory. Now, by requiring the package files to live in a subdirectory -- which can also be a symlink -- we gain some flexibility. The URL in the repository config is usually the same as the in the repository info, unless it refers to a mirror site. This allows for mirrors to copy the original repository verbatim. * Remove the PackageURL rule and introduce a DownloadPackage rule instead. The URL for a package file cannot be computed in the jam parsing phase anymore, as it contains the hash value of the package list. * BRepositoryConfig: Add PackagesURL() for convenience. ---------------------------------------------------------------------------- ############################################################################ Commit: 056e9bb6206161f4974a4e35bd8eb3b64913505d URL: http://cgit.haiku-os.org/haiku/commit/?id=056e9bb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 6 16:06:22 2013 UTC Add some more packages to the HaikuPorts repository ---------------------------------------------------------------------------- ############################################################################ Commit: e8c5236a9ce57f3f8f0c879b734e2d2a64617743 URL: http://cgit.haiku-os.org/haiku/commit/?id=e8c5236 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 7 08:44:43 2013 UTC Move image definition jamfiles to build/jam/images ---------------------------------------------------------------------------- ############################################################################ Commit: 2bab2851aa2b67798f34ea35b8b6c04e6a0afba4 URL: http://cgit.haiku-os.org/haiku/commit/?id=2bab285 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 7 08:49:20 2013 UTC Remove OptionLibPackages ---------------------------------------------------------------------------- ############################################################################ Commit: 7418499c4a7fd35289aea835235a961e5cf6b1eb URL: http://cgit.haiku-os.org/haiku/commit/?id=7418499 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 7 09:14:28 2013 UTC Remove more optional package related left-overs ---------------------------------------------------------------------------- ############################################################################ Commit: db11a1104ce48fd3af3b6715beebe211affc2874 URL: http://cgit.haiku-os.org/haiku/commit/?id=db11a11 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 7 10:32:45 2013 UTC Move common image building code to HaikuImageCommon ---------------------------------------------------------------------------- ############################################################################ Commit: 7aa46ed97da819b9b98b17f329eed24b1044a3b5 URL: http://cgit.haiku-os.org/haiku/commit/?id=7aa46ed Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 7 11:21:26 2013 UTC Move common image building code to HaikuImageCommon ---------------------------------------------------------------------------- ############################################################################ Commit: 78f4c163d452af17d253dfa1ac3556d340088f5f URL: http://cgit.haiku-os.org/haiku/commit/?id=78f4c16 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 7 11:45:38 2013 UTC Beginnings of support for building a bootstrap Haiku image Copy: * packages: Haiku -> HaikuBootstrap * images: HaikuImage -> HaikuImageBootstrap ... and remove some unncessary content. Setting the jam variable HAIKU_BOOTSTRAP_BUILD enables using the bootstrap files. ---------------------------------------------------------------------------- ############################################################################ Commit: ec945b7f0d11df7e0d2f0bdd0ef676aa0d1e96a8 URL: http://cgit.haiku-os.org/haiku/commit/?id=ec945b7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 7 12:21:51 2013 UTC ReleaseBuildProfiles -> Default*, add bootstrap profiles ---------------------------------------------------------------------------- ############################################################################ Commit: c01380b1b7e3c6ac4d27c73dd1b2dee290cb8b5e URL: http://cgit.haiku-os.org/haiku/commit/?id=c01380b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 7 13:02:29 2013 UTC Move package info pre-processing to jam build system Also, pre-process all package infos (not only the generic ones) and define the macro HAIKU_BOOTSTRAP_BUILD, if building a package for a bootstrap image. ---------------------------------------------------------------------------- ############################################################################ Commit: 2f3dc946cdc724c545803c24f33140025c26ea4b URL: http://cgit.haiku-os.org/haiku/commit/?id=2f3dc94 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 7 13:02:57 2013 UTC haiku package info: drop some requires in bootstrap mode ---------------------------------------------------------------------------- ############################################################################ Commit: 7e78b434f4cb9bfc5b2f676a3c6033d77c3f9df0 URL: http://cgit.haiku-os.org/haiku/commit/?id=7e78b43 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 8 12:01:00 2013 UTC Merge remote-tracking branch 'haiku/master' into package-management Conflicts: build/jam/HaikuImage build/jam/OptionalPackageDependencies build/jam/OptionalPackages build/scripts/build_cross_tools_gcc4 src/add-ons/translators/icns/Jamfile src/add-ons/translators/jpeg/Jamfile ---------------------------------------------------------------------------- ############################################################################ Commit: 0361a1da73a964be9d432cab0e123a51b37a3b34 URL: http://cgit.haiku-os.org/haiku/commit/?id=0361a1d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 8 15:12:36 2013 UTC Debugger: ElfFile::_CheckRange(): fix check ---------------------------------------------------------------------------- ############################################################################ Commit: 276c321bcdd0a579d3584198b1b41d95afc8275b URL: http://cgit.haiku-os.org/haiku/commit/?id=276c321 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 9 18:24:57 2013 UTC BPackageInfo::Parser::_ParseFlags(): fix indentation ---------------------------------------------------------------------------- ############################################################################ Commit: 0e9ec703dd88ade7b1adc8d28a3bec4484bcd63c URL: http://cgit.haiku-os.org/haiku/commit/?id=0e9ec70 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 9 19:41:45 2013 UTC package info parser: improve string parsing * Instead of two string token types (TOKEN_WORD, TOKEN_QUOTED_STRING), there's now only one (TOKEN_STRING). Whether the string meets the criteria is checked where needed. In most cases the check was already done or not necessary anyway. * Strings can now consist of an arbitrary sequence of quoted and unquoted strings and escaping is also supported in unquoted string segments. * Among other things this fixes incorrect restrictions for resolvable names and should also make quoting paths superfluous (unless they contain separator characters). ---------------------------------------------------------------------------- ############################################################################ Commit: f20d944bea5adc68ea7101792a8c26853e872325 URL: http://cgit.haiku-os.org/haiku/commit/?id=f20d944 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 11 11:48:22 2013 UTC Update packages grep, ncurses, sed, tar ---------------------------------------------------------------------------- ############################################################################ Commit: 3e582896286875a36309113141ecc155b83debac URL: http://cgit.haiku-os.org/haiku/commit/?id=3e58289 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 11 12:00:34 2013 UTC DownloadLocatedFile: fix use with older wget version The option "--no-use-server-timestamps" is apparently newer than Haiku's wget. ---------------------------------------------------------------------------- ############################################################################ Commit: 4387d6b33f5d5668f496c528637cf6ebd1a4fdc9 URL: http://cgit.haiku-os.org/haiku/commit/?id=4387d6b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 11 16:09:03 2013 UTC Merge remote-tracking branch 'remotes/haiku/master' into package-management ---------------------------------------------------------------------------- ############################################################################ Commit: 38f07871cec91f100c3cfa75f89b7daf05d2cf43 URL: http://cgit.haiku-os.org/haiku/commit/?id=38f0787 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 12 11:27:56 2013 UTC rule AddRepositoryPackages: add debugInfoPackage parameter It works just like the sourcePackages parameter. ---------------------------------------------------------------------------- ############################################################################ Commit: 916e7e75a3308431155d900cf847693ea3d3ef58 URL: http://cgit.haiku-os.org/haiku/commit/?id=916e7e7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 12 11:28:17 2013 UTC Add debug info packages to HaikuPorts repository ---------------------------------------------------------------------------- ############################################################################ Commit: ed156ea6c830aad9386342372bfcaf743a853663 URL: http://cgit.haiku-os.org/haiku/commit/?id=ed156ea Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 13 14:24:03 2013 UTC package[_repo] list: reduce code duplication Introduce helper class PackageInfoPrinter that does the printing and is used by both commands. ---------------------------------------------------------------------------- ############################################################################ Commit: 4e6141b823043abc3e48acb48e45e43b8fa680fe URL: http://cgit.haiku-os.org/haiku/commit/?id=4e6141b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 13 14:25:15 2013 UTC package list: add option '-i' to list only the meta info ---------------------------------------------------------------------------- ############################################################################ Commit: 4ce282c7cc1e57d73459881ecb6c913c1f25a65d URL: http://cgit.haiku-os.org/haiku/commit/?id=4ce282c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 13 15:03:44 2013 UTC package list: also support package info files ---------------------------------------------------------------------------- ############################################################################ Commit: 03d70b4e58f04e54ed9d76a072a0b66750f7037c URL: http://cgit.haiku-os.org/haiku/commit/?id=03d70b4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Jul 13 19:17:02 2013 UTC Add package architecture constant for x86-64 ---------------------------------------------------------------------------- ############################################################################ Commit: ebb857698e1b20d080d3906a0cc0691e39ed2b22 URL: http://cgit.haiku-os.org/haiku/commit/?id=ebb8576 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Jul 15 14:34:41 2013 UTC Update bootstrap image/package Should have been part of the recent merge. ---------------------------------------------------------------------------- ############################################################################ Commit: 983aba29833ee0d76d98c4e7e94990bd908391d5 URL: http://cgit.haiku-os.org/haiku/commit/?id=983aba2 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Mon Jul 15 15:32:44 2013 UTC Adjust configure script to new version of legacy compiler. ---------------------------------------------------------------------------- ############################################################################ Commit: 579f1dbca962a2a03df54f69fdc6e9423f91f20e URL: http://cgit.haiku-os.org/haiku/commit/?id=579f1db Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 16 23:00:01 2013 UTC _G_config.h: don't include <cstddef> <stddef.h> is just fine and it doesn't break the use of libroot headers when compiling something with -nostdinc++ (in C++ mode). Not particularly important, but this gets compiling the libio C++ stuff when building a native gcc a bit further. It still fails, since our <printf.h> header is actually not usable (it includes <features.h>, which is not available in Haiku) -- something we should fix eventually. ---------------------------------------------------------------------------- ############################################################################ Commit: 111204e0d9d0bbffc9a717d472aef686cca66cf6 URL: http://cgit.haiku-os.org/haiku/commit/?id=111204e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 16 23:02:40 2013 UTC build_cross_tools: make the cross compiler more reuse friendly ---------------------------------------------------------------------------- ############################################################################ Commit: 4ddd7f8c9414afc9725cec448a9b701167f18d6f URL: http://cgit.haiku-os.org/haiku/commit/?id=4ddd7f8 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Jul 17 16:07:56 2013 UTC Make public glibc header printf.h usable. ---------------------------------------------------------------------------- ############################################################################ Commit: 21b3820e86796176dcb894fbf60daaf1574d5575 URL: http://cgit.haiku-os.org/haiku/commit/?id=21b3820 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 19 13:13:25 2013 UTC Add libbsd to cross devel package ---------------------------------------------------------------------------- ############################################################################ Commit: fc8967f1a6ae896205bf4e59a1db2f26ae168a04 URL: http://cgit.haiku-os.org/haiku/commit/?id=fc8967f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Jul 19 23:01:21 2013 UTC Determine HAIKU_CPU and HAIKU_PACKAGING_ARCH in configure ... instead of in BuildSetup. ---------------------------------------------------------------------------- ############################################################################ Commit: 67e84002a1f97e4f853f89c0fe41ad358c7389c8 URL: http://cgit.haiku-os.org/haiku/commit/?id=67e8400 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 21 01:12:45 2013 UTC rule ExtractBuildFeatureArchives: implement placeholders Add support for placeholders in the attribute values. The values of the currently supported placeholders depend on the package file name (package version, actual package and port name, etc.). ---------------------------------------------------------------------------- ############################################################################ Commit: d1fe5b98d9db39ae386988e85abf201db029c53d URL: http://cgit.haiku-os.org/haiku/commit/?id=d1fe5b9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 21 01:13:58 2013 UTC BuildFeature: get rid of hard-coded package versions ... using the new placeholder feature of ExtractBuildFeatureArchives. ---------------------------------------------------------------------------- ############################################################################ Commit: b9eec5192d6b6282a2bf5284e8c4121d0a29f09d URL: http://cgit.haiku-os.org/haiku/commit/?id=b9eec51 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 21 01:20:26 2013 UTC Include DefaultBuildProfiles earlier DefaultBuildProfiles is now included earlier (right after BuildSetup). This allows us to set HAIKU_BOOTSTRAP_BUILD earlier, so it can be used for the repository selection. The actual build profile definitions, which cannot be done that early, live in the rule DefineDefaultBuildProfiles, which is invoked where the file was previously included. ---------------------------------------------------------------------------- ############################################################################ Commit: 33f23ea80f263d13f706be43e02bee7de752db87 URL: http://cgit.haiku-os.org/haiku/commit/?id=33f23ea Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 21 01:34:35 2013 UTC Remove more stuff from the Haiku bootstrap packages/image Namely GL/Mesa and libtiff. ---------------------------------------------------------------------------- ############################################################################ Commit: e173a1ec1c0c1f48e355f3cbc34c0114e336ff88 URL: http://cgit.haiku-os.org/haiku/commit/?id=e173a1e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 21 02:10:48 2013 UTC Integrate building the HaikuPorts bootstrap packages * Add configure option --bootstrap which allows specifying the haikuporter and HaikuPorts repository paths. * Add rules for supporting a second repository type. The PackageRepository rule is now private and RemotePackageRepository is used for remote repositories. The new BootstrapPackageRepository rule is for defining a bootstrap repository (there will probably be only the HaikuPorts cross repository) whose packages can be built as needed via haikuporter. * Rename DownloadPackage to FetchPackage. * Define repository HaikuPortsCross. * HaikuCrossDevel package(s): There are now two sets of packages: A "stage1" set with the same content as before and a final set additionally containing the libraries libbe, libnetwork, libpackage. Those are needed for building the libsolv bootstrap package while for building them we need other bootstrap packages (ICU, libz). This is basically all that's required to build a bootstrap Haiku completely from sources, with a few caveats: * There's no ICU bootstrap recipe yet (so one has to cheat and use the prebuilt package ATM). * Probably doesn't work on Haiku yet (tested on Linux only). * A 32 bit environment must be used (otherwise building the gcc 2 bootstrap package fails). * Building with multiple jobs doesn't work yet, since haikuporter uses common directories for building different packages and there's no explicit serialization yet. * Haven't tested the resulting image save for booting it. So it probably needs a bit more work before it can actually build the final HaikuPorts packages. ---------------------------------------------------------------------------- ############################################################################ Commit: a7ab22a0c034d063575a94fa8586577459e4db5f URL: http://cgit.haiku-os.org/haiku/commit/?id=a7ab22a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 21 16:23:45 2013 UTC HaikuPortsCross repository: icu_bootstrap is now available ---------------------------------------------------------------------------- ############################################################################ Commit: 7b2174a27d37d8f688af54e482fc906d019aa50a URL: http://cgit.haiku-os.org/haiku/commit/?id=7b2174a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 21 17:39:06 2013 UTC BootstrapPackageRepository: serialize package creation Since haikuporter uses a common directory for building the ports, we can't build them concurrently. This makes jamming with multiple jobs safe again. ---------------------------------------------------------------------------- ############################################################################ Commit: 26b0aa1ccddf394789049560f309f3c55991242d URL: http://cgit.haiku-os.org/haiku/commit/?id=26b0aa1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 21 19:34:02 2013 UTC HaikuPortsCross repository: fix binutils, gcc revision mismatch I don't think it makes that much sense to increment the revisions in the cross recipes anyway, since there isn't any actual package repository. ---------------------------------------------------------------------------- ############################################################################ Commit: 81bd962f27060fbeb7e56317b46bae0a369c25ce URL: http://cgit.haiku-os.org/haiku/commit/?id=81bd962 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 21 21:58:37 2013 UTC Add haikuporter and python to Haiku bootstrap image ---------------------------------------------------------------------------- ############################################################################ Commit: 48b1ed424227095ac7e4c67074ff4681601dc3eb URL: http://cgit.haiku-os.org/haiku/commit/?id=48b1ed4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 23 20:44:32 2013 UTC Add all bootstrap packages in DefaultBuildProfiles * Don't handle the bootstrap case in the main Jamfile. Add all bootstrap packages to the image in the profile definition. That's less confusing, hopefully. * Add the missing bootstrap packages (ncurses*, libtool_libltdl). The would normally be added in build_haiku_image when the package dependencies are resolved, but we don't do that for the bootstrap image, since we intentionally leave some dependencies out (e.g. perl) because they can be built. ---------------------------------------------------------------------------- ############################################################################ Commit: 5bb173cf50029056151c04016af2793a6ec26596 URL: http://cgit.haiku-os.org/haiku/commit/?id=5bb173c Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Jul 24 19:24:07 2013 UTC Add STXT-translator to the bootstrap image * without this, StyledEdit wouldn't work ---------------------------------------------------------------------------- ############################################################################ Commit: e2732c07a833f2fd3bfe38a285202f4f0d501abd URL: http://cgit.haiku-os.org/haiku/commit/?id=e2732c0 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Thu Jul 25 20:52:09 2013 UTC Fix 'package extract' with multiple explicit entries * before adding a child to a parent entry, we need to check if the parent already contains that child, as otherwise duplicate children with identical names would be added, which in turn messes up the handling of the entries that are to be extracted ---------------------------------------------------------------------------- ############################################################################ Commit: ef57df3d81efabe336b76734d2897418c3ad8098 URL: http://cgit.haiku-os.org/haiku/commit/?id=ef57df3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Jul 24 22:31:25 2013 UTC configure: remove BeOS support Likely doesn't work anymore anyway. ---------------------------------------------------------------------------- ############################################################################ Commit: c0e8cc1a1368c6cc99ddf1c76f8826cd5a598fd2 URL: http://cgit.haiku-os.org/haiku/commit/?id=c0e8cc1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Jul 25 21:52:11 2013 UTC configure: prepare for hybrid support The goal is to do hybrid builds in a single jam (instead of calling a sub-jam to build parts with the secondary tool chain). This changeset adds support to configure to prepare multiple tool chains. configure: * Merge option --build-cross-tools-gcc4 into --build-cross-tools. The option does now always require a packaging architecture parameter, i.e. x86_gcc2 for the legacy tool chain. * Multiple occurrences of the --build-cross-tools and --cross-tools-prefix options are allowed. The first one specifies the primary tool chain, the subsequent ones the secondary tool chains. * All architecture dependent jam variables are now suffixed with the name of the packaging architecture. The new HAIKU_PACKAGING_ARCHS contains the packaging architectures for the prepared tool chains. The first element is for the primary tool chain. * No longer generate a separate libgccObjects file. Just put the respective variable into BuildConfig as well. build_cross_tools[_gcc4]: * Replace the <haiku output dir> parameter by a <install dir> parameter. This allows to create different cross-tools directories. They are simply suffixed by the packaging architecture. Jamrules: * For the moment map the variables for the primary tool chain to the respective suffix-less variables, so that everything still works as before. The next step is to actually support the secondary tool chains in the jam build system. This will require quite a bit more butchering, though. ---------------------------------------------------------------------------- ############################################################################ Commit: 0c59a38ecd83b6775b950326054f3a091aebb612 URL: http://cgit.haiku-os.org/haiku/commit/?id=0c59a38 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Fri Jul 26 13:11:09 2013 UTC Drop debug leftover. ---------------------------------------------------------------------------- ############################################################################ Commit: 13dc541c25e90d8f38f2c78a8e1a89a3c2e52c66 URL: http://cgit.haiku-os.org/haiku/commit/?id=13dc541 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Jul 28 16:15:31 2013 UTC libroot: os/arch: remove unsupported architectures ---------------------------------------------------------------------------- ############################################################################ Commit: 30f0d45ff7d899803c23ec06e337d77f2b122a09 URL: http://cgit.haiku-os.org/haiku/commit/?id=30f0d45 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Jul 30 16:47:01 2013 UTC Remove unused Haiku64Image ---------------------------------------------------------------------------- ############################################################################ Commit: 159663cebabbc8dcd94c2f64f110ca2536cf24fc URL: http://cgit.haiku-os.org/haiku/commit/?id=159663c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Aug 1 06:53:06 2013 UTC Remove no longer needed HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES ---------------------------------------------------------------------------- ############################################################################ Commit: b0944c78b074a8110bd98e060415d0e8f38a7f65 URL: http://cgit.haiku-os.org/haiku/commit/?id=b0944c7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Aug 1 06:51:16 2013 UTC More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested). ---------------------------------------------------------------------------- ############################################################################ Commit: 833b6688aac53531af3e0099f96a4b9e3acba5f5 URL: http://cgit.haiku-os.org/haiku/commit/?id=833b668 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 3 03:26:25 2013 UTC cross devel hpkg: use suffix/subdir for secondary arch * Libraries for a secondary architectures must be placed in a respective subdir. * Add a suffix to the package name when building for a secondary architecture. Looks a bit weird ("haiku_cross_devel_sysroot_x86_gcc_x86.hpkg"), but is consistent. ---------------------------------------------------------------------------- ############################################################################ Commit: f975dc63f1238bdd4876f891b0ba9eaa255f59f7 URL: http://cgit.haiku-os.org/haiku/commit/?id=f975dc6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 3 03:29:15 2013 UTC build_cross_tools_gcc4: move sysroot dir into install dir This allows us to sneak in system include and library search dirs in haikuporter without doing anything outside the cross tools dir. ---------------------------------------------------------------------------- ############################################################################ Commit: 68ccc98930468839bf6b5fd2266a9a13953d13df URL: http://cgit.haiku-os.org/haiku/commit/?id=68ccc98 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 4 15:20:56 2013 UTC Build the cross gcc for the secondary arch as such Pass --enable-hybrid-secondary to gcc's configure when building it as a secondary compiler. Doesn't make a difference for building Haiku itself, but makes it easier to match the Haiku cross devel package with the compiler when building bootstrap packages with haikuporter. gcc 4 only ATM. ---------------------------------------------------------------------------- ############################################################################ Commit: f30881d7fed2e9b5d60e6090af97c7516c7b3877 URL: http://cgit.haiku-os.org/haiku/commit/?id=f30881d Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Aug 4 18:50:07 2013 UTC Replace makeinfo_bootstrap with texinfo_bootstrap. * using texinfo_bootstrap has the advantage of allowing implicit mapping between _bootstrap packages and the corresponding non-bootstrap packages ---------------------------------------------------------------------------- ############################################################################ Commit: d31a50eef768be42588772f94a101e28c8b6415c URL: http://cgit.haiku-os.org/haiku/commit/?id=d31a50e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 4 22:17:46 2013 UTC Move build feature rules to separate file ---------------------------------------------------------------------------- ############################################################################ Commit: 57190167ef0cc0a413c011b445ad9e08b568b352 URL: http://cgit.haiku-os.org/haiku/commit/?id=5719016 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 4 22:25:30 2013 UTC Fix usage of obsolete HAIKU_BUILD_FEATURE_OPENSSL_ENABLED ---------------------------------------------------------------------------- ############################################################################ Commit: de799f73c059c6ea5ac62a4545e244c38f70c99b URL: http://cgit.haiku-os.org/haiku/commit/?id=de799f7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 04:37:56 2013 UTC MultiArch* rule: support optional architecture parameter ---------------------------------------------------------------------------- ############################################################################ Commit: f7d5e4c647a7cb317eade01979fbc358bb8e68bb URL: http://cgit.haiku-os.org/haiku/commit/?id=f7d5e4c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 04:39:10 2013 UTC ArchitectureSetup: fix library map for secondary arch The libraries where resolved to the library targets for the primary architecture. ---------------------------------------------------------------------------- ############################################################################ Commit: a36a1666321e745015b44de49ed74d6109111282 URL: http://cgit.haiku-os.org/haiku/commit/?id=a36a166 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 04:39:41 2013 UTC MergedDirectory: missing include ---------------------------------------------------------------------------- ############################################################################ Commit: 7bd562abc946385d255e54cdee7b27e14c49e8c8 URL: http://cgit.haiku-os.org/haiku/commit/?id=7bd562a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 04:41:53 2013 UTC lib{network,package,shared,agg,icon}: secondary arch support ---------------------------------------------------------------------------- ############################################################################ Commit: 93cfb722707a5870dc99fefe0c05dff0ca4e966f URL: http://cgit.haiku-os.org/haiku/commit/?id=93cfb72 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 05:09:45 2013 UTC build features/bootstrap repo: support secondary arch * Add rule FSplitPackageName. It splits a package name into port name and package suffix. * FSetConditionsHold: Rename to FConditionsHold and replace the set parameter by a predicate rule parameter, thus adding more flexibility. * FIsBuildFeatureEnabled: Use the faster check. * Add rule FQualifiedBuildFeatureName. Given a build feature name, it prepends the current packaging architecture to yield a qualified feature name. Is used by the other build feature rules so that the same build feature can be configured differently for each arch. * ExtractBuildFeatureArchives: The supplied list is now filtered via FFilterByBuildFeatures, allowing for build feature conditions in the list. * Add rule InitArchitectureBuildFeatures. It is called early for each configured architecture, setting up some basic build features for it. "primary" is set for the primary architecture and a "secondary_<arch>" is set for each secondary architecture. * BuildFeatures: Add secondary architecture support: Use the correct paths for libraries and headers (subdir for secondary architecture) and configure the icu and zlib sources only for the primary architecture. * BootstrapPackageRepository: The package lists are now filtered via FFilterByBuildFeatures, allowing for build feature conditions in the lists. * IsPackageAvailable, FetchPackage: Add secondary architecture support. * HaikuPortsCross/x86_gcc2: Add icu and zlib x86 secondary packages. The second stage Haiku cross devel package for the secondary architecture can now be built. ---------------------------------------------------------------------------- ############################################################################ Commit: b2b6052e4075d5137bace6f851f0e26eebb4b600 URL: http://cgit.haiku-os.org/haiku/commit/?id=b2b6052 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 16:52:33 2013 UTC ArchitectureSetup: fix library name map It's too early to use the MultiArch* rules yet, since the TARGET_* variables haven't been initialized yet. ---------------------------------------------------------------------------- ############################################################################ Commit: 0b171ae44a83e009f91b5e769acfffaeb73767a1 URL: http://cgit.haiku-os.org/haiku/commit/?id=0b171ae Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Mon Aug 5 19:36:25 2013 UTC Fix two problems when building without secondary architecture. ---------------------------------------------------------------------------- ############################################################################ Commit: d20975d920acd45775064d3181c7aa0d94e77c95 URL: http://cgit.haiku-os.org/haiku/commit/?id=d20975d Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Mon Aug 5 19:44:12 2013 UTC Fix negated predicate relating to input_server. * without a secondary arch, jam would complain about not knowing how to build <x86_gcc>input_server ---------------------------------------------------------------------------- ############################################################################ Commit: 69c69a7d2a3ee59d9d989d309bc160cf5bef5090 URL: http://cgit.haiku-os.org/haiku/commit/?id=69c69a7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 21:19:24 2013 UTC Replace build system vars [PRIVATE_]SYSTEM_LIBS by rules ... HaikuImageGetSystemLibs and HaikuImageGetPrivateSystemLibs. ---------------------------------------------------------------------------- ############################################################################ Commit: e9a0ad7c4d131d222f0ee86ad7ef386858b7023f URL: http://cgit.haiku-os.org/haiku/commit/?id=e9a0ad7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 21:20:36 2013 UTC Remove SYSTEM_LIBS*_ALIASES build variables ---------------------------------------------------------------------------- ############################################################################ Commit: 779b940a74bcdc32f3feefd9b1f93067808a34e4 URL: http://cgit.haiku-os.org/haiku/commit/?id=779b940 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 21:23:48 2013 UTC PreprocessPackageInfo: define macro for secondary architecture ---------------------------------------------------------------------------- ############################################################################ Commit: c591ff14a109d9af2497fcd50886aa867391374c URL: http://cgit.haiku-os.org/haiku/commit/?id=c591ff1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 21:24:28 2013 UTC Support building libpackage-add-on-libsolv.so for secondary arch ---------------------------------------------------------------------------- ############################################################################ Commit: 8a2643daee34659df91d82e6a75b61ded68b21b0 URL: http://cgit.haiku-os.org/haiku/commit/?id=8a2643d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 22:37:33 2013 UTC libtracker: VirtualDirectoryManager::_RemoveDirectory(): typo Should have caused infinite recursion when the directory still had children. ---------------------------------------------------------------------------- ############################################################################ Commit: 040a81419dda83d1014e9dc94936a4cb3f027303 URL: http://cgit.haiku-os.org/haiku/commit/?id=040a814 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 22:39:13 2013 UTC Add node_ref::operator < Moved from VirtualDirectoryManager. Defining the operator static doesn't work with gcc 4 and it's useful to have globally available anyway. ---------------------------------------------------------------------------- ############################################################################ Commit: 225b6382637a7346d5378ee45a6581b4e2616055 URL: http://cgit.haiku-os.org/haiku/commit/?id=225b638 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 22:41:36 2013 UTC Support building most system libraries for secondary arch Also adjust the HaikuImageGet[Private]SystemLibs rules to support to return the library targets matching the current architecture. ---------------------------------------------------------------------------- ############################################################################ Commit: db16bcba41baeb142cbe70703698d9cdfeb8654e URL: http://cgit.haiku-os.org/haiku/commit/?id=db16bcb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 5 22:47:51 2013 UTC Add package definition HaikuSecondaryBootstrap A haiku_<arch>.hpkg package is produced for each secondary architecture. ---------------------------------------------------------------------------- ############################################################################ Commit: 85eed25cddc53c6622ebc26ddb80806c6b0302c3 URL: http://cgit.haiku-os.org/haiku/commit/?id=85eed25 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 6 01:24:14 2013 UTC AddHaikuImagePackages/IsHaikuImagePackageAdded: 2ndary arch fix For the secondary architecture the same specified package name means a different package, so we need to use the mapped name IsPackageAvailable returns. ---------------------------------------------------------------------------- ############################################################################ Commit: 2f2f43699c829d7adea722ba2e65edc5f5d607f5 URL: http://cgit.haiku-os.org/haiku/commit/?id=2f2f436 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 6 01:28:16 2013 UTC package info haiku_secondary: fix description Using the C preprocessor doesn't work particularly well. The replacements are rather unhandy. ---------------------------------------------------------------------------- ############################################################################ Commit: 096c687ea3b249a1f6050999f03c0459b751f6b2 URL: http://cgit.haiku-os.org/haiku/commit/?id=096c687 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 6 01:29:51 2013 UTC HaikuDevel: a few simplifications ---------------------------------------------------------------------------- ############################################################################ Commit: b4d3e055a98b366b0f3d556873f97a9e0d6457b1 URL: http://cgit.haiku-os.org/haiku/commit/?id=b4d3e05 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 6 01:32:48 2013 UTC Add HaikuDevelSecondary package definition It defines the haiku devel package for a secondary architecture (haiku_<arch>_devel.hpkg). ---------------------------------------------------------------------------- ############################################################################ Commit: cade865ddec81edc3fce1b8d8d68ef84eecf4e1b URL: http://cgit.haiku-os.org/haiku/commit/?id=cade865 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 6 01:33:36 2013 UTC Add secondary arch haiku [devel] packages to image ---------------------------------------------------------------------------- ############################################################################ Commit: d1251475e2aad18836353e1833887171e2ddb632 URL: http://cgit.haiku-os.org/haiku/commit/?id=d125147 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 6 01:37:22 2013 UTC Add the missing secondary arch bootstrap packages The Haiku bootstrap image is now built with (hopefully) all required primary and secondary architecture packages. The runtime loader is still resisting our wish to run secondary architecture programs, though. ---------------------------------------------------------------------------- ############################################################################ Commit: bddca41824861df4c978b347099dd46ad4b14193 URL: http://cgit.haiku-os.org/haiku/commit/?id=bddca41 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 6 01:45:06 2013 UTC runtime loader: fix secondary arch search paths ---------------------------------------------------------------------------- ############################################################################ Commit: 384230184efa82a55ab235fc738226775793195c URL: http://cgit.haiku-os.org/haiku/commit/?id=3842301 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 6 02:11:44 2013 UTC Filter package infos through sed %HAIKU_PACKAGING_ARCH% and %HAIKU_SECONDARY_PACKAGING_ARCH% in the package infos are replaced before filtering them through the C preprocessor. ---------------------------------------------------------------------------- ############################################################################ Commit: c965ee60b5656a5ef749adfdacd64918adee6cf5 URL: http://cgit.haiku-os.org/haiku/commit/?id=c965ee6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 6 21:02:10 2013 UTC bootstrap image: build needed source packages and add them * IsPackageAvailable, FetchPackage: Add flags parameter. The only flag supported ATM is nameResolved, indicating that the specified package name does not need to be resolved with respect to a secondary architecture anymore. * Add build profile action "build-package-list". As an argument the file to which the list of all packages needed for the image is written. The rule BuildHaikuImagePackageList implements the action. * BuildBootstrapRepositoryConfig: Does now require the variable HAIKU_REPOSITORY_TREE_PATH to be set on the config file target instead of hard-coding the path. Allows reuse of the actions. * Add rules BuildHaikuPortsSourcePackageDirectory and BuildHaikuPortsRepositoryConfig. The former builds all HaikuPorts source packages needed to build the packages for an alpha image. The latter generates a haikuports.conf file for use on the bootstrap Haiku. * HaikuImageBootstrap: Add directory /boot/home/haikuports which contains a subdirectory with the source packages and a haikuports.conf. ---------------------------------------------------------------------------- ############################################################################ Commit: 00979660d943e20f65a39fae67f020f2da1a1681 URL: http://cgit.haiku-os.org/haiku/commit/?id=0097966 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 6 22:10:39 2013 UTC haiku_devel_secondary package info: fix provides ---------------------------------------------------------------------------- ############################################################################ Commit: 394c099f62eba6ccbc671d28308c7e36d78d09a6 URL: http://cgit.haiku-os.org/haiku/commit/?id=394c099 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 7 00:09:37 2013 UTC build_cross_tools_gcc4: use --with-hybrid-secondary ---------------------------------------------------------------------------- ############################################################################ Commit: f81fbb0b59c775851241b42040f2642fb0a02e78 URL: http://cgit.haiku-os.org/haiku/commit/?id=f81fbb0 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Aug 7 11:42:16 2013 UTC Adjust to renamed option of haikuporter. ---------------------------------------------------------------------------- ############################################################################ Commit: 47fd9e6dc6303f57ed1160953dfc3f0859140420 URL: http://cgit.haiku-os.org/haiku/commit/?id=47fd9e6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 07:52:10 2013 UTC rule AddLibrariesToContainer: fix for gristed libraries ---------------------------------------------------------------------------- ############################################################################ Commit: f51bf7d93299137bec37c273dab34531c63db3b0 URL: http://cgit.haiku-os.org/haiku/commit/?id=f51bf7d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 07:53:03 2013 UTC Support building more libraries for secondary architecture ---------------------------------------------------------------------------- ############################################################################ Commit: 393c223bcfbc4491ef9b6820e493ab47ebe2e889 URL: http://cgit.haiku-os.org/haiku/commit/?id=393c223 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 07:54:42 2013 UTC HaikuPorts/x86_gcc2: add x86 packages, add/update packages ---------------------------------------------------------------------------- ############################################################################ Commit: 271e9484edaefffa11528782abf3734888153a5c URL: http://cgit.haiku-os.org/haiku/commit/?id=271e948 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 07:58:11 2013 UTC Build secondary architecture Haiku package for regular image Also add secondary architecture packages to image. ---------------------------------------------------------------------------- ############################################################################ Commit: a94f6aab7bd27a5ac71c005cec2ccc80ccd1d422 URL: http://cgit.haiku-os.org/haiku/commit/?id=a94f6aa Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 12:55:29 2013 UTC Image rules: filter packages list via FFilterByBuildFeatures AddPackageFilesToHaikuImage, AddHaikuImagePackages: For convenience filter the given package file/package list through FFilterByBuildFeatures. ---------------------------------------------------------------------------- ############################################################################ Commit: 00b8bfde15b28636eced339c15c9426095009562 URL: http://cgit.haiku-os.org/haiku/commit/?id=00b8bfd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 12:58:21 2013 UTC EnableBuildFeatures: deal with duplicate invocations ---------------------------------------------------------------------------- ############################################################################ Commit: dd0bd440d545bef593971491310a7aee54ee2223 URL: http://cgit.haiku-os.org/haiku/commit/?id=dd0bd44 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 13:02:02 2013 UTC BuildFeatures: print the packaging arch in error messages ---------------------------------------------------------------------------- ############################################################################ Commit: 39f7d0075d28e0c3cad9606c105b0101477fb81e URL: http://cgit.haiku-os.org/haiku/commit/?id=39f7d00 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 13:03:14 2013 UTC HaikuPorts/x86_gcc2: add haikuwebkit and xz_utils ---------------------------------------------------------------------------- ############################################################################ Commit: 4f57a2bd1a9266b34f2e5aab539dfc7f162679b4 URL: http://cgit.haiku-os.org/haiku/commit/?id=4f57a2b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 13:03:49 2013 UTC DefineDefaultBuildProfiles: simplify things a bit ---------------------------------------------------------------------------- ############################################################################ Commit: 2910d9a7e043b6d84e7b2c831ac66f51ca2a776f URL: http://cgit.haiku-os.org/haiku/commit/?id=2910d9a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 13:04:48 2013 UTC PreprocessPackageInfo: add substitution ... HAIKU_SECONDARY_PACKAGING_ARCH_SUFFIX. It's "_<arch>" for a secondary architecture and "" for the primary one. ---------------------------------------------------------------------------- ############################################################################ Commit: 1c9bc2064637946ef47a8125c244af48efd58201 URL: http://cgit.haiku-os.org/haiku/commit/?id=1c9bc20 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 13:05:51 2013 UTC BuildFeatures: re-add webkit build feature ---------------------------------------------------------------------------- ############################################################################ Commit: 555b02d34587e4d5b3295771b00cf48859e1c776 URL: http://cgit.haiku-os.org/haiku/commit/?id=555b02d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 10 13:06:55 2013 UTC Add webpositive package to image ---------------------------------------------------------------------------- ############################################################################ Commit: b57470a2179ca208ea910422db1ab2881575b69d URL: http://cgit.haiku-os.org/haiku/commit/?id=b57470a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 12 13:53:50 2013 UTC Remove setgcc ---------------------------------------------------------------------------- ############################################################################ Commit: 483b28e478b142d429975d49e805afcc03a32b0d URL: http://cgit.haiku-os.org/haiku/commit/?id=483b28e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 12 15:18:02 2013 UTC Add option --target-arch On Haiku it allows to specify the target architecture to build for using one of the installed native compilers. ---------------------------------------------------------------------------- ############################################################################ Commit: 4e822fec6f974a956051e19e8c00eedc97eb0471 URL: http://cgit.haiku-os.org/haiku/commit/?id=4e822fe Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 12 15:20:36 2013 UTC HaikuPorts/x86_gcc2: Update gcc and binutils Also add secondary architecture packages. ---------------------------------------------------------------------------- ############################################################################ Commit: f56958c140a47e37386b366dbbc2650d527a15bc URL: http://cgit.haiku-os.org/haiku/commit/?id=f56958c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 12 15:23:20 2013 UTC Add development packages for the secondary architecture ---------------------------------------------------------------------------- ############################################################################ Commit: 4c6b3efc91da7aa26b2d20c30f3c17b98465d5dc URL: http://cgit.haiku-os.org/haiku/commit/?id=4c6b3ef Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Mon Aug 12 12:45:41 2013 UTC Increase size of bootstrap image to 4 GB. * 1 GB isn't enough to build the basic set ---------------------------------------------------------------------------- ############################################################################ Commit: 3ea37257df7cd79558febd2f72014335af590ffb URL: http://cgit.haiku-os.org/haiku/commit/?id=3ea3725 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 13 05:12:47 2013 UTC haiku_devel* package infos: add compat version and base package ---------------------------------------------------------------------------- ############################################################################ Commit: 7ff288ed5116a0626a45c3d5b46c161e082fb750 URL: http://cgit.haiku-os.org/haiku/commit/?id=7ff288e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 13 05:15:05 2013 UTC packagefs: fix dependency resolution without compat version ---------------------------------------------------------------------------- ############################################################################ Commit: 623331eed56d387e30d653513a09dc47cffec3ba URL: http://cgit.haiku-os.org/haiku/commit/?id=623331e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 13 05:15:42 2013 UTC packages: PackageFSRoot: fix, improve, add debug output ---------------------------------------------------------------------------- ############################################################################ Commit: b8ab901eeb0ce0eaa403182780268ffd69acf3c9 URL: http://cgit.haiku-os.org/haiku/commit/?id=b8ab901 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 13 12:17:52 2013 UTC packagefs: replace ':' with '~' in the package link names Otherwise paths containing those symlinks cannot be used in colon separated search path lists. ---------------------------------------------------------------------------- ############################################################################ Commit: 86233b1067c8868bdbfdf13beec31795476284ec URL: http://cgit.haiku-os.org/haiku/commit/?id=86233b1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 13 11:46:26 2013 UTC HaikuPorts: update several packages ... and add some missing devel packages. ---------------------------------------------------------------------------- ############################################################################ Commit: 998ef890654e102c89634fbc9e40eb605878542f URL: http://cgit.haiku-os.org/haiku/commit/?id=998ef89 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 13 12:43:29 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9921 package daemon: Volume: fix package removal after transaction Volume::_ChangePackageActivation(): Refactoring oversight: fPackagesToBeDeactivated was still used instead of the packagesToDeactivate parameter, so the packages wouldn't be removed from the hash tables when invoked from the CommitTransactionHandler. Fixes #9921. ---------------------------------------------------------------------------- ############################################################################ Commit: 37cfff1f04388b62c3a7453aa4cc0e81b4c0978c URL: http://cgit.haiku-os.org/haiku/commit/?id=37cfff1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 13 13:31:22 2013 UTC build_haiku_image: filter duplicate packages Resolving the package dependencies for system might yield packages that are already given for common. Filter those out of the list for common before resolving the common dependencies. ---------------------------------------------------------------------------- ############################################################################ Commit: ce76b7e202b1141bdc0a1989bfce9ac27bcbc7aa URL: http://cgit.haiku-os.org/haiku/commit/?id=ce76b7e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 13 19:30:30 2013 UTC Fix strrchr() * For the comparison cast the character parameter to char as required by the spec. * Fix broken handling of strrchr(..., 0). It is supposed to return a pointer to the end of the string. It did return a pointer to the start. ---------------------------------------------------------------------------- ############################################################################ Commit: 9a19dcd7cbf017f69be90dc75e73f6b89afbbd39 URL: http://cgit.haiku-os.org/haiku/commit/?id=9a19dcd Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 14 08:13:56 2013 UTC pkgman search: '-i' option wasn't handled ---------------------------------------------------------------------------- ############################################################################ Commit: f73d05a79b96bf945010ef04a0813ac67c4ab386 URL: http://cgit.haiku-os.org/haiku/commit/?id=f73d05a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 14 08:14:16 2013 UTC HaikuPorts/x86_gcc2: Update git packages ---------------------------------------------------------------------------- ############################################################################ Commit: 64264fa6acd1d75c177bf8c8befa96d7dc61644a URL: http://cgit.haiku-os.org/haiku/commit/?id=64264fa Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 17 07:10:31 2013 UTC Use Objects instead of KernelObjects Should we actually require differently built glue code for the kernel or kernel add-ons, which should build a separate set. ---------------------------------------------------------------------------- ############################################################################ Commit: 13f2fbbd9ef7a7b6cc8f3257e3840bc6911a2e39 URL: http://cgit.haiku-os.org/haiku/commit/?id=13f2fbb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 17 07:12:35 2013 UTC Add build variable HAIKU_PORTER_CONCURRENT_JOBS It can be set to the number of jobs specified on the haikuporter command line. Speeds up the bootstrap build quite a bit. ---------------------------------------------------------------------------- ############################################################################ Commit: 24796718b99aff208846310dd982c5c41d5e7eff URL: http://cgit.haiku-os.org/haiku/commit/?id=2479671 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 17 07:20:35 2013 UTC Bootstrap Haiku image: add source for more required packages * Introduce build variable HAIKU_IMAGE_ADDITIONAL_PACKAGES which can be set to add additional packages to the image. * Use HAIKU_IMAGE_ADDITIONAL_PACKAGES to support specifying a list of additional packages via the build-package-list build profile action. * Add htmldoc and texi2html when building the list of the packages for which we need source packages when building the bootstrap Haiku image. We don't want them on the regular image, but they are needed to build some packages that are on it. ---------------------------------------------------------------------------- ############################################################################ Commit: 77b9f01f9b158196cb2faef5a36b09eb21175356 URL: http://cgit.haiku-os.org/haiku/commit/?id=77b9f01 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 17 07:21:06 2013 UTC Add a few standard build tools to the Development meta package ---------------------------------------------------------------------------- ############################################################################ Commit: 418071ba652c9c3a2a2d664f9e228e0bcb8cb499 URL: http://cgit.haiku-os.org/haiku/commit/?id=418071b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 17 07:22:42 2013 UTC MIME DB support: avoid static initialization order issue ---------------------------------------------------------------------------- ############################################################################ Commit: 145189e61a3bc9f433e045df7ee88274f88eb727 URL: http://cgit.haiku-os.org/haiku/commit/?id=145189e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 17 07:23:19 2013 UTC packagfs: fix header order ---------------------------------------------------------------------------- ############################################################################ Commit: f6e836d616f7fc8cd3d6536d4f7e33cf27bb0873 URL: http://cgit.haiku-os.org/haiku/commit/?id=f6e836d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 17 07:29:16 2013 UTC packagefs: PackageNode: fix protection issue Only gcc 2 allows us to use a pointer to a protected method as a template argument. ---------------------------------------------------------------------------- ############################################################################ Commit: 536ff120f0a77b26b7abce87295661d49ba1ec4b URL: http://cgit.haiku-os.org/haiku/commit/?id=536ff12 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 17 07:30:52 2013 UTC pkgman: missing include ---------------------------------------------------------------------------- ############################################################################ Commit: 464ee61f45db818926c18542bc7497e5d5769578 URL: http://cgit.haiku-os.org/haiku/commit/?id=464ee61 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 17 07:31:24 2013 UTC pkgman: link against needed libstdc++ ---------------------------------------------------------------------------- ############################################################################ Commit: 987d25a40cf7600f79f5abd0c542140d3b5fa217 URL: http://cgit.haiku-os.org/haiku/commit/?id=987d25a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 17 07:31:57 2013 UTC build_cross_tools: use --with-hybrid-secondary when needed ---------------------------------------------------------------------------- ############################################################################ Commit: 4ddd2c75dc73acba4297ea87b383b6504101011a URL: http://cgit.haiku-os.org/haiku/commit/?id=4ddd2c7 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Aug 21 14:30:39 2013 UTC Don't try to build xz_utils for a mere gcc2 system. ---------------------------------------------------------------------------- ############################################################################ Commit: a5101559b58dec543441a0a8811b30912ed72c59 URL: http://cgit.haiku-os.org/haiku/commit/?id=a510155 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 21 07:12:59 2013 UTC packagefs: PackageFSRoot: fix variable redeclaration ---------------------------------------------------------------------------- ############################################################################ Commit: b35337eb1e109ac808549a4f12140924852caa85 URL: http://cgit.haiku-os.org/haiku/commit/?id=b35337e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 21 14:32:17 2013 UTC Add repositories for x86 Almost complete. bepdf is still missing, since it doesn't build with gcc 4 and a few source packages are missing as well (binutils and gcc because haikuporter doesn't build them correctly ATM, mesa due to an oversight). ---------------------------------------------------------------------------- ############################################################################ Commit: cc91b333bede32fbf9dc43e1f21d609e89b2d3fa URL: http://cgit.haiku-os.org/haiku/commit/?id=cc91b33 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 21 14:32:34 2013 UTC configure: update required legacy compiler version ---------------------------------------------------------------------------- ############################################################################ Commit: 5657c5eaa59832bf1fa4f1e08e9ed59796ce018f URL: http://cgit.haiku-os.org/haiku/commit/?id=5657c5e Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Aug 21 16:00:13 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9928 Fix #9928: broken printf specifiers "%La" and "%LA" * fix unitialized variables in __printf_fphex() in case of architectures without support for long double - this triggered unreliable results or crashes when using %La or %La on x86 * activate long double implementation in use for x86_64 for x86, too, as they share the long double format (cherry picked from commit d1716b277cbaf2b4265728d559b819d73330c1ef) ---------------------------------------------------------------------------- ############################################################################ Commit: 86de8c37b5bc2266be9f61eb8cb07c932c11625d URL: http://cgit.haiku-os.org/haiku/commit/?id=86de8c3 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Aug 22 10:31:48 2013 UTC Use GNU make also for building gcc 2 Should fix the build on {Free,Open}BSD. ---------------------------------------------------------------------------- ############################################################################ Commit: 648a97f71641004492c290b53b5cfc8db172c2a1 URL: http://cgit.haiku-os.org/haiku/commit/?id=648a97f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Aug 22 13:49:34 2013 UTC HaikuPortsCross: update gcc package versions ---------------------------------------------------------------------------- ############################################################################ Commit: 82655a51883277c3829eefd248eb384df145ba7d URL: http://cgit.haiku-os.org/haiku/commit/?id=82655a5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Aug 22 15:58:42 2013 UTC HaikuPorts/x86[_gcc2]: update gcc packages ---------------------------------------------------------------------------- ############################################################################ Commit: abf4b0f6a0ef0029bbacbb79d8a6d9b7e83b3a8b URL: http://cgit.haiku-os.org/haiku/commit/?id=abf4b0f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Aug 23 11:31:51 2013 UTC HaikuPorts/x86: add some missing source packages ---------------------------------------------------------------------------- ############################################################################ Commit: f5821a1aee77d3b9a979b42c68a79e50b5ebaefe URL: http://cgit.haiku-os.org/haiku/commit/?id=f5821a1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 25 13:09:27 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9927 Set file type of Tracker New templates correctly Fixes #9927. ---------------------------------------------------------------------------- ############################################################################ Commit: ab9a1179187625603394b817a104471ef6d3aa14 URL: http://cgit.haiku-os.org/haiku/commit/?id=ab9a117 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 25 15:02:05 2013 UTC package kit: JobQueue::Pop() fix invalid iterator access ---------------------------------------------------------------------------- ############################################################################ Commit: c33daf26ea9f29d5b9e980c8c04322e88c7bbc98 URL: http://cgit.haiku-os.org/haiku/commit/?id=c33daf2 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 25 15:05:00 2013 UTC package kit: fix JobQueue::_RemoveDependantJobsOf() * Delete the right job (the removed dependant job). * Sever the depencency link between the jobs or the next iteration of the loop would process the same job again. ---------------------------------------------------------------------------- ############################################################################ Commit: 03191ec5afc690881b227d4dd8d2d0f191a354c4 URL: http://cgit.haiku-os.org/haiku/commit/?id=03191ec Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 25 15:06:30 2013 UTC pkgman: make JobStateListener a bit more flexible Flags can be passed to the constructor to specify whether to exit() when a job failed/was aborted. ---------------------------------------------------------------------------- ############################################################################ Commit: 8f9efca9a673d62f43e4ae26a153337a25b22ce3 URL: http://cgit.haiku-os.org/haiku/commit/?id=8f9efca Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 25 15:09:41 2013 UTC pkgman: PackageManager: no longer auto-exit() when a job fails This way search and uninstall no longer fail when there's no connection to the internet. ---------------------------------------------------------------------------- ############################################################################ Commit: 0214aefd58d6ccca6fb2a7f6c6c7b57f858f422f URL: http://cgit.haiku-os.org/haiku/commit/?id=0214aef Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 25 15:19:14 2013 UTC pkgman search: add -a/--all Can be specified instead of a search string. Lists all packages. ---------------------------------------------------------------------------- ############################################################################ Commit: e64db4da44a5c23edf1e8c91c46e6d37072b3de1 URL: http://cgit.haiku-os.org/haiku/commit/?id=e64db4d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 25 16:23:11 2013 UTC Also mount the packagefs at ~/config ---------------------------------------------------------------------------- ############################################################################ Commit: f118c41467a62881ec1ae0ba61fecbbc43cf4048 URL: http://cgit.haiku-os.org/haiku/commit/?id=f118c41 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 25 16:41:29 2013 UTC pkgman [un]install: fix option '-H' ---------------------------------------------------------------------------- ############################################################################ Commit: c4ce29a67e9a5ae0470260a941d54ad002a29802 URL: http://cgit.haiku-os.org/haiku/commit/?id=c4ce29a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Aug 25 16:41:56 2013 UTC pkgman search: enable search in ~/config ---------------------------------------------------------------------------- ############################################################################ Commit: 8b26ef6779119ba64f5de3ce47ea4cac154ab4e8 URL: http://cgit.haiku-os.org/haiku/commit/?id=8b26ef6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 26 10:57:41 2013 UTC pkgman: PackageManager: Use flags instead of bools in ctor ---------------------------------------------------------------------------- ############################################################################ Commit: ce4f36769285c1c491491dac6a909c76b7d761ad URL: http://cgit.haiku-os.org/haiku/commit/?id=ce4f367 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 26 11:03:12 2013 UTC pkgman: auto-refresh repositories only for update/install ---------------------------------------------------------------------------- ############################################################################ Commit: a1e681690c19a50d6c61e6c8bd98d6af4be146d4 URL: http://cgit.haiku-os.org/haiku/commit/?id=a1e6816 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Aug 26 14:38:50 2013 UTC Rework rule CopySetHaikuRevision * Remove support for VCSs other than git. * Make the haiku-revision file a regular build target and make sure it is built only once. * Make determine_haiku_revision an actual shell script and simplify it a bit. ---------------------------------------------------------------------------- ############################################################################ Commit: 1af14947fda3400fb889a0d6b35c811093d3b773 URL: http://cgit.haiku-os.org/haiku/commit/?id=1af1494 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Aug 27 21:26:54 2013 UTC Add missing case for x86_64 as host CPU architecture. ---------------------------------------------------------------------------- ############################################################################ Commit: eb658691e97d877f640e808fdb637e5d335acd69 URL: http://cgit.haiku-os.org/haiku/commit/?id=eb65869 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Aug 27 21:27:37 2013 UTC Add definitions for x86_64 repositories and package infos. ---------------------------------------------------------------------------- ############################################################################ Commit: af0200d6ef8503f111ec448dad8c7867ca0ea301 URL: http://cgit.haiku-os.org/haiku/commit/?id=af0200d Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Aug 27 21:28:39 2013 UTC Fix build problem in glue code for x86_64. ---------------------------------------------------------------------------- ############################################################################ Commit: be3833c9a41fbd09c1a4fa8c458f5cae5ff792ee URL: http://cgit.haiku-os.org/haiku/commit/?id=be3833c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 27 21:44:52 2013 UTC BString: Add SetToFormatVarArgs() ---------------------------------------------------------------------------- ############################################################################ Commit: 39d0e79f2be67f6da2843db3695257a7a93fd7d7 URL: http://cgit.haiku-os.org/haiku/commit/?id=39d0e79 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 27 21:45:12 2013 UTC copyattr: Fix error output ---------------------------------------------------------------------------- ############################################################################ Commit: 48e17c15bc9609307dc7341b357174f34b4f2f57 URL: http://cgit.haiku-os.org/haiku/commit/?id=48e17c1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 27 22:11:11 2013 UTC BPackageResolvableExpression: Add Matches() Checks if the given BPackageResolvable respectively the BPackageVersion pair satisfies the expression. ---------------------------------------------------------------------------- ############################################################################ Commit: bc0491ae52c1b1375129de52d96fc5698671ff46 URL: http://cgit.haiku-os.org/haiku/commit/?id=bc0491a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 27 22:12:11 2013 UTC BPackageInfo: Add Matches() Checks whether the package satisfies the given BPackageResolvableExpression. ---------------------------------------------------------------------------- ############################################################################ Commit: 617be97d8e2628f297d7308737039c05545c7115 URL: http://cgit.haiku-os.org/haiku/commit/?id=617be97 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 27 22:20:44 2013 UTC Add private storage kit class BCopyEngine It provides the functionality to copy file system entries (also recursively). The code originates from the copyattr sources. Some copyattr specific functionality has been removed and the code has been adjusted for library use (i.e. no exit()s or fprintf()s). An optional controller object can be set to customize the behavior. ---------------------------------------------------------------------------- ############################################################################ Commit: 90f9f1392b5bac87c6333ec9627eda462035617d URL: http://cgit.haiku-os.org/haiku/commit/?id=90f9f13 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 27 22:35:37 2013 UTC pkgman install: Add base package support If any of the packages to install has requires a base package, that is installed in a more general installation location, we copy the package to the target installation location. Ideally we'd hard-link, but BFS doesn't support that. Symlinks would be a small nightmare to maintain. We might want to choose the installation location intelligently depending on the base package requirement -- e.g. install curl_devel in system rather than common, since curl is installed in system -- so we can avoid duplicating packages. ---------------------------------------------------------------------------- ############################################################################ Commit: 3db97b7688ee053129f5ba4fca434a40e7ff6f69 URL: http://cgit.haiku-os.org/haiku/commit/?id=3db97b7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 27 22:35:57 2013 UTC Enable -Werror for package_repo and pkgman ---------------------------------------------------------------------------- ############################################################################ Commit: 106d4015f20b51d3cc036588e8927d1a6bea56f8 URL: http://cgit.haiku-os.org/haiku/commit/?id=106d401 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 27 22:46:12 2013 UTC rule ArchitectureSetup: Remove superfluous arch macro definition The macro for the architecture is already defined by the compiler. ---------------------------------------------------------------------------- ############################################################################ Commit: 86297ca0ffd327e9c0e4950b868ebc674f410734 URL: http://cgit.haiku-os.org/haiku/commit/?id=86297ca Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 27 23:07:17 2013 UTC actions DownloadLocatedFile: fail, if wget fails ---------------------------------------------------------------------------- ############################################################################ Commit: 92693623e2f91febd6432d918f82d094954688f4 URL: http://cgit.haiku-os.org/haiku/commit/?id=9269362 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Aug 27 23:08:15 2013 UTC package daemon: DebugSupport.h: fix (64 bit) printf() formats ---------------------------------------------------------------------------- ############################################################################ Commit: 2ada08d23a58ec0ea4459e0ec8c31f10142270c9 URL: http://cgit.haiku-os.org/haiku/commit/?id=2ada08d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 28 01:22:34 2013 UTC LibsolvSolver: Automatic whitespace cleanup ---------------------------------------------------------------------------- ############################################################################ Commit: 682bf414dac2b5f48e498efe0b77671d028bebc6 URL: http://cgit.haiku-os.org/haiku/commit/?id=682bf41 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 28 10:43:42 2013 UTC BSolverRepository: make polymorphic ---------------------------------------------------------------------------- ############################################################################ Commit: 220b5e1f29ab8b428b4a4aa13637fa80c5f57049 URL: http://cgit.haiku-os.org/haiku/commit/?id=220b5e1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 28 10:44:14 2013 UTC BSolverRepository: Add {Remove,Delete}Package() ---------------------------------------------------------------------------- ############################################################################ Commit: 75d15eb4c28f63d038c43325dcfa0f71df6211a6 URL: http://cgit.haiku-os.org/haiku/commit/?id=75d15eb Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 28 10:47:58 2013 UTC BSolver: Extend FindPackages() functionality * Add flag B_FIND_INSTALLED_ONLY to only return installed packages. * Add FindPackages() version that finds packages like Install() or Uninstall() do. ---------------------------------------------------------------------------- ############################################################################ Commit: 89cb0015110ee685f9f53debfde366626d1b0d3b URL: http://cgit.haiku-os.org/haiku/commit/?id=89cb001 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 28 10:55:47 2013 UTC BSolver::VerifyInstallation(): Add flags parameter Only flag ATM is B_VERIFY_ALLOW_UNINSTALL. It tells to solver to suggest uninstalling packages when necessary instead of considering such a case a problem. ---------------------------------------------------------------------------- ############################################################################ Commit: 3381a1bf81eb9d0c21e37cb031ab4b436294cbdf URL: http://cgit.haiku-os.org/haiku/commit/?id=3381a1b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 28 11:14:02 2013 UTC pkgman uninstall: improve correctness ... with respect to inter-installation-location dependencies. E.g. uninstalling a package from common should only uninstall packages depending on it, when system doesn't still provide those dependencies. We don't consider uninstalling packages from more specific installation locations when dependencies are uninstalled from a more general one yet. ---------------------------------------------------------------------------- ############################################################################ Commit: 03aa9653d08498b5def5a11f4cd06a4bdbd146ce URL: http://cgit.haiku-os.org/haiku/commit/?id=03aa965 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Aug 28 07:40:46 2013 UTC Move UsePrivateSystemHeaders into arch-specific block. ---------------------------------------------------------------------------- ############################################################################ Commit: 71046951f8e94f9a1264eb11442052ac7aa4535c URL: http://cgit.haiku-os.org/haiku/commit/?id=7104695 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Aug 28 21:32:30 2013 UTC Fix build of pkgman on x86_64 by use of B_PRI... define. ---------------------------------------------------------------------------- ############################################################################ Commit: 1e6177c22e993fc30de9b612cd533aef7bedb431 URL: http://cgit.haiku-os.org/haiku/commit/?id=1e6177c Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Thu Aug 29 20:06:12 2013 UTC Fix broken build of package kit (due to warnings) for x86_64. ---------------------------------------------------------------------------- ############################################################################ Commit: d1246f33f039518f5c62953007d8fd522ace94e7 URL: http://cgit.haiku-os.org/haiku/commit/?id=d1246f3 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Thu Aug 29 20:24:36 2013 UTC Drop use of non-existing variable in KernelAddon rule. * TARGET_KERNEL_PIC_FLAGS was probably meant to be TARGET_KERNEL_PIC_CCFLAGS at the time this had been added in 2005. As correcting the name would mean that kernel add-ons would be compiled such that they wouldn't be position independent, dropping the variable makes more sense (which is just a cleanup and doesn't change anything due to that variable being always empty) ---------------------------------------------------------------------------- ############################################################################ Commit: c5c787ea417c1a1c9f0fdb7ef3a5b807521f0093 URL: http://cgit.haiku-os.org/haiku/commit/?id=c5c787e Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Thu Aug 29 20:33:01 2013 UTC Fix build problems of btrfs and packagefs for x86_64. * Both filesystems used to link to a static kernel-zlib, which was being built with -fno-pic. This doesn't work on x86_64 as the filesystem add-ons are meant to be relocatable, which requires their code to be compiled as position independent. Solve that by moving zlib into the kernel, so any add-on can just use it from there (packagefs is mandatory, so we can't really do without zlib anyway). ---------------------------------------------------------------------------- ############################################################################ Commit: c92aabd43433dfb3d5d26a1dec315693a94d9ec2 URL: http://cgit.haiku-os.org/haiku/commit/?id=c92aabd Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Thu Aug 29 21:11:14 2013 UTC Fix build of pkgman with gcc2. * I have no idea why, but gcc2 considers BSolverRepository* and PackageManager::InstalledRepository* as distinct pointer types, which it doesn't like to compare without a cast. Circumvent by static casting to BSolverRepository*. ---------------------------------------------------------------------------- ############################################################################ Commit: a54a50b48e316421f2735e9c46219164e16dd8cd URL: http://cgit.haiku-os.org/haiku/commit/?id=a54a50b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Aug 28 13:27:09 2013 UTC pkgman: add support for [un]installing/updating in system ---------------------------------------------------------------------------- ############################################################################ Commit: 7af664c9d83ad7cc1d9f765833e49a2f492800fc URL: http://cgit.haiku-os.org/haiku/commit/?id=7af664c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Aug 29 20:32:55 2013 UTC LibsolvSolver: change handling of fInstalledRepository We update/set it in _AddRepositories() instead of in AddRepository(). In code needing it earlier _InstalledRepository() can be used. This change allows calling to SetInstalled() on a repository that has already been added to the solver. ---------------------------------------------------------------------------- ############################################################################ Commit: 08fb013f56bf7119a68ea7c06cac8f947dc4661e URL: http://cgit.haiku-os.org/haiku/commit/?id=08fb013 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Aug 29 20:38:08 2013 UTC pkgman uninstall: Verify more specific locations ... after having determined the packages to remove from the selected installation location. This uninstalls packages from the more specific locations when their dependencies have been removed. ---------------------------------------------------------------------------- ############################################################################ Commit: 6692db5c1c028bd7a08333d0df4b27122dd43513 URL: http://cgit.haiku-os.org/haiku/commit/?id=6692db5 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Aug 29 21:07:11 2013 UTC BPackageInfo: Add fileName property The property is archived and unarchived, but otherwise not yet stored. If not set, FileName() returns CanonicalFileName(). Can be used for packages like haiku.hpkg etc. that don't have a properly qualified file name (yet). ---------------------------------------------------------------------------- ############################################################################ Commit: dda51ada4c5445986f222c533495fa043801490a URL: http://cgit.haiku-os.org/haiku/commit/?id=dda51ad Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Aug 29 21:07:40 2013 UTC package daemon: Package: Set the package info file name ---------------------------------------------------------------------------- ############################################################################ Commit: a0cb235c0ebfe6f62a975a884b6eb9a0f3708970 URL: http://cgit.haiku-os.org/haiku/commit/?id=a0cb235 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Aug 29 21:08:22 2013 UTC pkgman: Use BPackageInfo::FileName() instead of Canonical*() ---------------------------------------------------------------------------- ############################################################################ Commit: 83462cc28d356d564a818c1d34605ed2ec83f274 URL: http://cgit.haiku-os.org/haiku/commit/?id=83462cc Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Aug 31 19:18:28 2013 UTC Refactor reusable pkgman code into libpackage * Move RepositoryBuilder class to libpackage and add B* prefix to name. * Pull BPackageManager class out of PackageManager and move to libpackage. The base class is customizable via three handler objects responsible for transaction handling, request execution, respectively user interaction. * Reorganize _ApplyPackageChanges(): Now we first prepare the transactions for all affected installation locations (downloading files etc.) and then commit them. ---------------------------------------------------------------------------- ############################################################################ Commit: 0cb3f7092620ff73abc6daadd866a4e07117bd37 URL: http://cgit.haiku-os.org/haiku/commit/?id=0cb3f70 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Sep 1 12:30:28 2013 UTC Revert "Fix build problems of btrfs and packagefs for x86_64." This reverts commit f272e63f393449d3a816970ca632764895a78cd6. ---------------------------------------------------------------------------- ############################################################################ Commit: 64c4bd1dc27229a307186bb2f10483b9e6c2a449 URL: http://cgit.haiku-os.org/haiku/commit/?id=64c4bd1 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Sep 1 12:38:17 2013 UTC 2nd attempt at fixing build of btrfs and packagefs. * adding zlib to the kernel unfortunately introduces a cyclic dependency with respect to the zlib, haiku and haiku_devel packages (AFAICS) * circumvent this by building kernel_zlib as a static library again, this time with PIC, such that it can be used by kernel add-ons ---------------------------------------------------------------------------- ############################################################################ Commit: fb99605f490abbeeaff4373193e5cccd619025a6 URL: http://cgit.haiku-os.org/haiku/commit/?id=fb99605 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Sep 1 14:44:18 2013 UTC Handle rigged source packages when determining port name. * I'm not sure this makes much of a difference, but I thought it's better to play it safe. ---------------------------------------------------------------------------- ############################################################################ Commit: 818ed1eaf04e4928714415a913700a0a381b9603 URL: http://cgit.haiku-os.org/haiku/commit/?id=818ed1e Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Fri Sep 6 15:21:35 2013 UTC Remove blocks for secondary packages for x86_64. ---------------------------------------------------------------------------- ############################################################################ Commit: a84cf45805e67d14fa821202772b92139bda9957 URL: http://cgit.haiku-os.org/haiku/commit/?id=a84cf45 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Fri Sep 6 20:49:08 2013 UTC Add missing search path for <build>package_repo. ---------------------------------------------------------------------------- ############################################################################ Commit: 797c1a759078bf4d4d64bde930f8f525faaa3521 URL: http://cgit.haiku-os.org/haiku/commit/?id=797c1a7 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sat Sep 7 13:25:15 2013 UTC Update x64_64 to current state of things. ---------------------------------------------------------------------------- ############################################################################ Commit: a4b13eda69875a991450e341536d4f15334b3461 URL: http://cgit.haiku-os.org/haiku/commit/?id=a4b13ed Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sat Sep 7 13:25:55 2013 UTC Increase size of bootstrap image to 20 GB. ---------------------------------------------------------------------------- ############################################################################ Commit: c138f1f2afff354f4b77c2c07a74c23af469bcb3 URL: http://cgit.haiku-os.org/haiku/commit/?id=c138f1f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Sep 1 10:11:24 2013 UTC BRepositoryBuilder: Add constructor for pre-init'ed repository ---------------------------------------------------------------------------- ############################################################################ Commit: cf3bb0d753b4cf0a90db533152c58af2a568fc9e URL: http://cgit.haiku-os.org/haiku/commit/?id=cf3bb0d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Sep 1 10:19:09 2013 UTC BPackageManager: Abstract installed repository initialization * Rename TransactionHandler -> InstallationInterface and DaemonClientTransactionHandler -> ClientInstallationInterface. * Add InstallationInterface::InitInstalledRepository(). Use in _AddInstalledRepository() to get the repository packages instead of using the package roster. The ClientInstallationInterface implementation does it that way. ---------------------------------------------------------------------------- ############################################################################ Commit: 43bd5a49c715b8b2dcbb1df5950e0274be264a89 URL: http://cgit.haiku-os.org/haiku/commit/?id=43bd5a4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Sep 1 12:10:33 2013 UTC <package/Request.h>: Don't leak JobQueue into public namespace ---------------------------------------------------------------------------- ############################################################################ Commit: a87c7d67e380d2ec4e9f7c121945ae2f84c40942 URL: http://cgit.haiku-os.org/haiku/commit/?id=a87c7d6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Sep 1 12:12:22 2013 UTC Don't use BPackageKit::BPrivate; avoids clashes ---------------------------------------------------------------------------- ############################################################################ Commit: 18f5cd171bc62a0bf90c48f3a07a8f6e2f8b2297 URL: http://cgit.haiku-os.org/haiku/commit/?id=18f5cd1 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Sep 9 22:36:54 2013 UTC Explicitly denote BPrivate to avoid clashes ---------------------------------------------------------------------------- ############################################################################ Commit: 46d77ed7da9f732996740c90ff0ce2e93869f650 URL: http://cgit.haiku-os.org/haiku/commit/?id=46d77ed Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Sep 9 22:43:32 2013 UTC package daemon: Delay handling node monitor events to group them ---------------------------------------------------------------------------- ############################################################################ Commit: 94dc74b027f8689bc67d616bf771fb4415350453 URL: http://cgit.haiku-os.org/haiku/commit/?id=94dc74b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 16:36:07 2013 UTC More explicit denoting the BPrivate namespace ---------------------------------------------------------------------------- ############################################################################ Commit: 9b2fd3419634459adcad618943eb16f3e01231d0 URL: http://cgit.haiku-os.org/haiku/commit/?id=9b2fd34 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 16:36:40 2013 UTC Add BSolverPackageSpecifierList::AppendSpecifiers() ---------------------------------------------------------------------------- ############################################################################ Commit: d4f9c465fdbda627baa6a2f7d5ce65e246116e51 URL: http://cgit.haiku-os.org/haiku/commit/?id=d4f9c46 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 16:37:35 2013 UTC BDaemonClient: add comment ---------------------------------------------------------------------------- ############################################################################ Commit: 56b1376090192c61ea7b681c3db8c6bce54228fe URL: http://cgit.haiku-os.org/haiku/commit/?id=56b1376 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 16:37:59 2013 UTC BActivationTransaction: Make BArchivable ---------------------------------------------------------------------------- ############################################################################ Commit: 5a5d146510f3459c597f4c7ab35cc423db7dd321 URL: http://cgit.haiku-os.org/haiku/commit/?id=5a5d146 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 16:42:57 2013 UTC BPackageManager: Make _InstallationRepository() protected ---------------------------------------------------------------------------- ############################################################################ Commit: 7e0d2c4f94ac5381a39ea2da4b183e9c39635877 URL: http://cgit.haiku-os.org/haiku/commit/?id=7e0d2c4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 16:54:10 2013 UTC BPackageManager: Add alternate Install()/Uninstall()/Update() ---------------------------------------------------------------------------- ############################################################################ Commit: c032903abc04a8ac1fec08704e0a8e7212402711 URL: http://cgit.haiku-os.org/haiku/commit/?id=c032903 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 16:55:44 2013 UTC BPackageManager: Add VerifyInstallation() ---------------------------------------------------------------------------- ############################################################################ Commit: 018173a2f5ba97ee56e8579d63261d55d1e8ccae URL: http://cgit.haiku-os.org/haiku/commit/?id=018173a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 16:57:33 2013 UTC BPackageManager: Add ResultComputed() callback ---------------------------------------------------------------------------- ############################################################################ Commit: 36204024cfc0c357f9a422317665256f8ae2443f URL: http://cgit.haiku-os.org/haiku/commit/?id=3620402 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 16:58:07 2013 UTC BPackageManager: Add InstalledRepository::EnablePackage() ---------------------------------------------------------------------------- ############################################################################ Commit: d3c96ad80967b792ed25425288c374624273295d URL: http://cgit.haiku-os.org/haiku/commit/?id=d3c96ad Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 16:59:35 2013 UTC BPackageManager: Support pre-added packages ... as needed for the package daemon. _PreparePackageChanges() doesn't try to clone them in this case. ---------------------------------------------------------------------------- ############################################################################ Commit: 99f9333a2a6f17c91995afaf74c4e120862d3d4c URL: http://cgit.haiku-os.org/haiku/commit/?id=99f9333 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 17:01:25 2013 UTC BPackageManager::_CommitPackageChanges(): Fix error handling The error returned by CommitTransaction() is just indicates whether transactionResult has been initialized. ---------------------------------------------------------------------------- ############################################################################ Commit: 383ac67cfab616cbaf21f028b319ca4662558ba3 URL: http://cgit.haiku-os.org/haiku/commit/?id=383ac67 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 17:03:21 2013 UTC package daemon: Let Root know whether it is the system root ---------------------------------------------------------------------------- ############################################################################ Commit: 38c62dfb8b5acffe9373b19e087d037d38a281a5 URL: http://cgit.haiku-os.org/haiku/commit/?id=38c62df Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 10 17:07:34 2013 UTC package daemon: Implement dependency resolution support ... for package changes performed manually by the user (i.e. adding/removing files in a packages directory). Currently only done for the system root. Alternative roots should still work as before, so this shouldn't affect haikuporter (not tested yet). Needs some more work (e.g. the GUI part). ---------------------------------------------------------------------------- ############################################################################ Commit: 406ad5becebc1761f0858fbd0af64f0be8870ec0 URL: http://cgit.haiku-os.org/haiku/commit/?id=406ad5b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 11 02:43:05 2013 UTC BString::SetToFormat(): Add printf format function attribute ---------------------------------------------------------------------------- ############################################################################ Commit: b1c3379c7e17a5368f3ce6642e3e995143779481 URL: http://cgit.haiku-os.org/haiku/commit/?id=b1c3379 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 11 02:43:47 2013 UTC _user_debug_output(): Fix for long strings The wrong length was passed to debug_puts(). ---------------------------------------------------------------------------- ############################################################################ Commit: 4a8da96088a5aa35d7377c97746f6151ff0e6457 URL: http://cgit.haiku-os.org/haiku/commit/?id=4a8da96 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 11 02:46:36 2013 UTC BLayoutUtils: Add GetLayoutTreeDump() Returns a debug output string listing the basic layout properties of the view/item hierarchy. ---------------------------------------------------------------------------- ############################################################################ Commit: 5c56812d900c7777c62eab899c0bb553459ef67b URL: http://cgit.haiku-os.org/haiku/commit/?id=5c56812 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 11 02:47:28 2013 UTC BControlLook::ComposeSpacing(): Avoid non-integers ---------------------------------------------------------------------------- ############################################################################ Commit: 88f12ad84fa46739ba94376b5324cdc35bd50b9c URL: http://cgit.haiku-os.org/haiku/commit/?id=88f12ad Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 11 02:51:03 2013 UTC Add private BViewPort class * It simplifies putting regular layout-aware views or layout items into a BScrollView. * Not quite complete yet: Height-for-width support is missing, but that also requires fixing BScrollView in this respect. Scroll bar auto-hide support would be nice as well. ---------------------------------------------------------------------------- ############################################################################ Commit: b53a2e6af53a5f375e63a50c4a021bb8967cb2d7 URL: http://cgit.haiku-os.org/haiku/commit/?id=b53a2e6 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 11 02:53:06 2013 UTC package daemon: ProblemWindow: Use a scroll view ---------------------------------------------------------------------------- ############################################################################ Commit: c159d0cfd1574d6b39482b4d6f7b3bb4187ab1c5 URL: http://cgit.haiku-os.org/haiku/commit/?id=c159d0c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 11 03:07:14 2013 UTC BActivationTransaction: Fix unarchiving constructor ---------------------------------------------------------------------------- ############################################################################ Commit: 9f12d254b1dbc2aa05274140d3bce78645aa4231 URL: http://cgit.haiku-os.org/haiku/commit/?id=9f12d25 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 11 11:39:58 2013 UTC package daemon: ProblemWindow: Simplify getting the font height ---------------------------------------------------------------------------- ############################################################################ Commit: f2cba19f533f51ee958a1a743bb6414e1eb8c96e URL: http://cgit.haiku-os.org/haiku/commit/?id=f2cba19 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 11 13:05:30 2013 UTC package daemon: ProblemWindow: Fix message constant types ---------------------------------------------------------------------------- ############################################################################ Commit: 6c883121700a3339bcd43572ebcd72c415a3124a URL: http://cgit.haiku-os.org/haiku/commit/?id=6c88312 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 11 13:06:44 2013 UTC package daemon: Replace changes alert by a window ---------------------------------------------------------------------------- ############################################################################ Commit: b3eaedd14a65a263d0cb9b7f1a477f175846d1a4 URL: http://cgit.haiku-os.org/haiku/commit/?id=b3eaedd Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Thu Sep 12 12:33:24 2013 UTC Add missing packages for x86_64 to repository. * the Pe package doesn't work (Pe won't start), I'm still investigating as to why that is ---------------------------------------------------------------------------- ############################################################################ Commit: dee358f0eccb9d6f6cc2008327089c60e408ff0c URL: http://cgit.haiku-os.org/haiku/commit/?id=dee358f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 12 21:27:22 2013 UTC AddBootModuleSymlinksToContainer: Fix symlink target The symlink was only correct, if the container was a package. For containers with a non-empty path to the system directory the link would duplicate the system directory path. ---------------------------------------------------------------------------- ############################################################################ Commit: b0d7a45c3d688a1e1488baa0592ac8038c4f3534 URL: http://cgit.haiku-os.org/haiku/commit/?id=b0d7a45 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 12 21:27:51 2013 UTC FloppyBootImage: Add packagefs ---------------------------------------------------------------------------- ############################################################################ Commit: 3465e718e75b0bf46fb4c060229645d75aa862b9 URL: http://cgit.haiku-os.org/haiku/commit/?id=3465e71 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 12 21:29:16 2013 UTC boot tarfs: Support resolving "." and ".." directory entries This makes resolving the boot module symlinks work. ---------------------------------------------------------------------------- ############################################################################ Commit: cc0838da34abe9840b09cc5c9540b7ed9e85bd45 URL: http://cgit.haiku-os.org/haiku/commit/?id=cc0838d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 12 21:31:47 2013 UTC VFS boot: Mount packagefs when booting off an image ... and the mounted boot volume looks like a PM Haiku. This gets the CD boot going. ---------------------------------------------------------------------------- ############################################################################ Commit: 76cd5b091ed3347d95af8765214e2bda2c32de92 URL: http://cgit.haiku-os.org/haiku/commit/?id=76cd5b0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 12 22:04:51 2013 UTC Move stuff from HaikuImageCommon to new rule ... AddPackagesAndRepositoryVariablesToContainerScript. ---------------------------------------------------------------------------- ############################################################################ Commit: f11d742febc634d2de75c236d172fb58ae4791bb URL: http://cgit.haiku-os.org/haiku/commit/?id=f11d742 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 12 22:05:39 2013 UTC HaikuCD: Support package resolution ---------------------------------------------------------------------------- ############################################################################ Commit: cf70d345b2a6a2612f32868fe5b81698f3282434 URL: http://cgit.haiku-os.org/haiku/commit/?id=cf70d34 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 12 23:02:28 2013 UTC Merge remote-tracking branch 'haiku/master' into package-management This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (OpenGL: Upgrade to Mesa 9.2). Conflicts: build/jam/BuildFeatures build/jam/HaikuImage build/jam/OptionalPackages build/scripts/build_cross_tools_gcc4 src/add-ons/opengl/swpipe/Jamfile src/apps/diskusage/Jamfile src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/Jamfile ---------------------------------------------------------------------------- ############################################################################ Commit: c911075e52de2132164f69847f262c4df93a82bd URL: http://cgit.haiku-os.org/haiku/commit/?id=c911075 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Fri Sep 13 22:13:37 2013 UTC Drop debug output. ---------------------------------------------------------------------------- ############################################################################ Commit: 689cebd222ad7c4e0e3d54ce49b28fb755d1e56a URL: http://cgit.haiku-os.org/haiku/commit/?id=689cebd Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sat Sep 14 13:52:20 2013 UTC Add version of Pe working on x86_64 ---------------------------------------------------------------------------- ############################################################################ Commit: 8f3f0ee615a0b58a2864fb65ff3f806a4d0f3e2a URL: http://cgit.haiku-os.org/haiku/commit/?id=8f3f0ee Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sat Sep 14 17:48:49 2013 UTC Added next version of Pe for x86_64. ---------------------------------------------------------------------------- ############################################################################ Commit: af8587ce40c2a181ab9e00ab83aee70bf9e54883 URL: http://cgit.haiku-os.org/haiku/commit/?id=af8587c Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sat Sep 14 17:51:09 2013 UTC Added new jam command 'build-remote-repository'. * build-remote-repository <packages> uploads the given set of packages to the server and builds the remote repository ---------------------------------------------------------------------------- ############################################################################ Commit: 33dc65c7ff8c5878d83b545629c4db4dd67546bf URL: http://cgit.haiku-os.org/haiku/commit/?id=33dc65c Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sat Sep 14 21:36:11 2013 UTC package daemon: Ignore only entry events of packages to remove ---------------------------------------------------------------------------- ############################################################################ Commit: 0af009d250c4f07925a26d60c735e94746e8de62 URL: http://cgit.haiku-os.org/haiku/commit/?id=0af009d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Sep 15 09:20:45 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9957 package daemon: Fix use of destroyed objects Fixes #9957. ---------------------------------------------------------------------------- ############################################################################ Commit: 278f66b6b1dd47b3834c768308fa3d21a5eadb88 URL: http://cgit.haiku-os.org/haiku/commit/?id=278f66b Author: Pawel Dziepak <pdziepak@xxxxxxxxxxx> Date: Sat Sep 14 03:25:56 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:17 2013 UTC x86[_64]: Enable NX on non-boot CPUs as soon as possible ---------------------------------------------------------------------------- ############################################################################ Commit: 1a6ebaa02ea84117961e2a412fdc07f75fc634f9 URL: http://cgit.haiku-os.org/haiku/commit/?id=1a6ebaa Author: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx> Date: Sat Sep 14 04:14:01 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:17 2013 UTC Update translations from Pootle ---------------------------------------------------------------------------- ############################################################################ Commit: 28390f696405bea8bebd66d0fa546be797043e81 URL: http://cgit.haiku-os.org/haiku/commit/?id=28390f6 Author: Jérôme Duval <jerome.duval@xxxxxxxxx> Date: Sat Sep 14 09:00:07 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:18 2013 UTC ext2: access the parent variable once checked it's non null * cleanup * add some inode flags we don't use ---------------------------------------------------------------------------- ############################################################################ Commit: a933ad6dbc4c65c3344084dcbc9ea6a2817e9c8c URL: http://cgit.haiku-os.org/haiku/commit/?id=a933ad6 Author: Jérôme Duval <jerome.duval@xxxxxxxxx> Date: Sat Sep 14 09:48:37 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:18 2013 UTC virtio_net: initial skeleton driver. ---------------------------------------------------------------------------- ############################################################################ Commit: 5594217b7f252284955547636a6edcc97dbd214d URL: http://cgit.haiku-os.org/haiku/commit/?id=5594217 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sat Sep 14 15:07:55 2013 UTC Fix accidentally truncated addresses in call frame unwind. ---------------------------------------------------------------------------- ############################################################################ Commit: 672b2600bca6c06ecdeae9739b8141265f6afebe URL: http://cgit.haiku-os.org/haiku/commit/?id=672b260 Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Sat Sep 14 15:23:04 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:19 2013 UTC ARM: kernel: Fix compilation issue with new gas. Turns out the new gas does not like spaces :( ---------------------------------------------------------------------------- ############################################################################ Commit: 1ea8fd5216a6c2c7b48efc1f4f5f774864fc8692 URL: http://cgit.haiku-os.org/haiku/commit/?id=1ea8fd5 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sat Sep 14 15:46:00 2013 UTC Debugger: Add missing std::nothrow. ---------------------------------------------------------------------------- ############################################################################ Commit: 5077cb09cb7a05a873599df1f8bf1dbfcdc60d75 URL: http://cgit.haiku-os.org/haiku/commit/?id=5077cb0 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sat Sep 14 15:53:54 2013 UTC Debugger: add Inspect context item to Registers view. - Allows one to treat the value of a register as a memory address and jump directly to inspecting said address. ---------------------------------------------------------------------------- ############################################################################ Commit: eb8616334b07e50fe041f0011abd25956b858e56 URL: http://cgit.haiku-os.org/haiku/commit/?id=eb86163 Author: Jérôme Duval <jerome.duval@xxxxxxxxx> Date: Sat Sep 14 13:37:24 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:20 2013 UTC virtio_net: add feature labels. ---------------------------------------------------------------------------- ############################################################################ Commit: 28cf626d45e65e0c1c5a2919f7a471425ee2a1ad URL: http://cgit.haiku-os.org/haiku/commit/?id=28cf626 Author: Jérôme Duval <jerome.duval@xxxxxxxxx> Date: Sat Sep 14 16:01:41 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:21 2013 UTC virtio_net: allocate queues, read macaddress, handle ioctl. ---------------------------------------------------------------------------- ############################################################################ Commit: 5a2c5827e4c0360ed36eddb24b759872d685ed40 URL: http://cgit.haiku-os.org/haiku/commit/?id=5a2c582 Author: Jérôme Duval <jerome.duval@xxxxxxxxx> Date: Sat Sep 14 16:11:43 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:21 2013 UTC add a constant for 10G base T ethernet. ---------------------------------------------------------------------------- ############################################################################ Commit: acd58c2f6c9778fd8fea213a94dd709220256406 URL: http://cgit.haiku-os.org/haiku/commit/?id=acd58c2 Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Sat Sep 14 18:13:36 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:21 2013 UTC ARM: boot: Make dd on MacOS happy Turns out dd on MacOS does not like '1M' as size descriptor, but wants '1m'. To prevent us breaking Linux builds (as it does not accept 1m), just use the actual number of bytes explicitely instead. ---------------------------------------------------------------------------- ############################################################################ Commit: a7e9ce676fb1c4f4ade5e8dfc1b43053c035dbbc URL: http://cgit.haiku-os.org/haiku/commit/?id=a7e9ce6 Author: John Scipione <jscipione@xxxxxxxxx> Date: Sat Sep 14 18:55:53 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:22 2013 UTC Use uname -s instead of uname -o ...since BSD uname (on OS X at least) doesn't have a -o param, only a -s, Haiku has both, and both print "Haiku". ---------------------------------------------------------------------------- ############################################################################ Commit: 736c1f8c5160c2dafcbbcc5bafe72e00c1a16f1e URL: http://cgit.haiku-os.org/haiku/commit/?id=736c1f8 Author: Jorma Karvonen <karvonen.jorma@xxxxxxxxx> Date: Sat Sep 14 20:43:44 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:22 2013 UTC Ticket: https://dev.haiku-os.org/ticket/7162 Localize bitsinfo Closes ticket #7162. Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx> ---------------------------------------------------------------------------- ############################################################################ Commit: cae234acf0b0ba5609033d7ec0d91d3aac6ae07c URL: http://cgit.haiku-os.org/haiku/commit/?id=cae234a Author: Jorma Karvonen <karvonen.jorma@xxxxxxxxx> Date: Sat Sep 14 20:47:58 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:23 2013 UTC Ticket: https://dev.haiku-os.org/ticket/7164 Localize bmpinfo Closes ticket #7164 Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx> ---------------------------------------------------------------------------- ############################################################################ Commit: 6a66acded810ada5d2a897e1256f2a117e0f8407 URL: http://cgit.haiku-os.org/haiku/commit/?id=6a66acd Author: Jorma Karvonen <karvonen.jorma@xxxxxxxxx> Date: Sat Sep 14 20:52:43 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:23 2013 UTC Ticket: https://dev.haiku-os.org/ticket/7168 Localize tgainfo Closes ticket #7168 Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx> ---------------------------------------------------------------------------- ############################################################################ Commit: 89f89a07e173d8789fb916e88b00a6ec9f6f77d5 URL: http://cgit.haiku-os.org/haiku/commit/?id=89f89a0 Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Sat Sep 14 18:28:54 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:24 2013 UTC ARM: boot: pass boot disk identifier This to stop the vfs_boot.cpp code from complaining. ---------------------------------------------------------------------------- ############################################################################ Commit: b9e8ec7bc02de57d5031196fc88cf44a94a6621d URL: http://cgit.haiku-os.org/haiku/commit/?id=b9e8ec7 Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 15 01:47:40 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:24 2013 UTC debugger/debuganalyzer: Remove the explicit -Werror from Jamfile Specifying -Werror in the Jamfiles directly prevents the build system from disabling error-on-warning for some arch specific warnings (or even globally), breaking the ARM build. The "src/apps" directory is already setup to compile with -Werror by the build system anyway, so remove the explicit setting here. ---------------------------------------------------------------------------- ############################################################################ Commit: 0fa2d68cdfc5b4c1c1f2c6086aa1f2668696cded URL: http://cgit.haiku-os.org/haiku/commit/?id=0fa2d68 Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 15 01:59:19 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:24 2013 UTC ARM: stub out missing int64 atomic functions Also, add an item to the TODO list for this. Really need to figure it out soon... ---------------------------------------------------------------------------- ############################################################################ Commit: ae4ad7037fcbb1e7fefd8d44f2f9f069befab135 URL: http://cgit.haiku-os.org/haiku/commit/?id=ae4ad70 Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 15 02:39:37 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:25 2013 UTC ARM: stub out makebootable so we can build a full haiku-image ---------------------------------------------------------------------------- ############################################################################ Commit: 38bd76a0e5c3d6051d54e00046ec264ed6229f86 URL: http://cgit.haiku-os.org/haiku/commit/?id=38bd76a Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 15 02:55:07 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:25 2013 UTC u-boot: make sure host makebootable builds too Somehow missed these few lines in my last commit. ---------------------------------------------------------------------------- ############################################################################ Commit: ed6722adc45b5372f2066d9ff48046100714ac7e URL: http://cgit.haiku-os.org/haiku/commit/?id=ed6722a Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 15 05:26:02 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:26 2013 UTC norflash: Add hack to hide start of NOR flash This is a workaround for hiding U-Boot that is stored in the first 2 128k blocks, so we can put a BFS image into NOR to boot from (since we do not have support for SD/MMC yet in Haiku). When manually putting a BFS filesystem at block 3 we actually get right up to the point where BootScript is attempted to be executed! ---------------------------------------------------------------------------- ############################################################################ Commit: 5308f230252c431646f6e4d69c94ff00144482df URL: http://cgit.haiku-os.org/haiku/commit/?id=5308f23 Author: Jerome Duval <jerome.duval@xxxxxxxxx> Date: Sun Sep 15 09:21:01 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:26 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9589 usb_disk: returns B_DEV_NOT_READY for SCSI_SENSE_KEY_NOT_READY ...instead of B_DEV_NO_MEDIA. The latter seems to imply we stop testing the unit is ready in usb_disk_device_added(). Based on a patch provided by markh in #9589. ---------------------------------------------------------------------------- ############################################################################ Commit: 92ab471c493e3a126e845248eeb2da26f46f9e5e URL: http://cgit.haiku-os.org/haiku/commit/?id=92ab471 Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 15 09:31:41 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:26 2013 UTC ntfs: make sure our confidence is higher then the intel partition add-on This as the intel partition addon just does a very weak test, and the NTFS test is much safer. This prevents NTFS filesystems that have a valid boot sector signature but no partition table, from being picked up by the intel partition table add-on instead of the ntfs add-on. Patch provided by markh, thanks! ---------------------------------------------------------------------------- ############################################################################ Commit: dc377ab5225383e027b8840ff3d8a3370b58de5b URL: http://cgit.haiku-os.org/haiku/commit/?id=dc377ab Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 15 09:45:40 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:37 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9790 beos_mime: add sniffer rule for .mp3 files Patch from markh (ticket #9790), thanks! ---------------------------------------------------------------------------- ############################################################################ Commit: c75ca47d05137675026a329882cd9a102a06eecd URL: http://cgit.haiku-os.org/haiku/commit/?id=c75ca47 Author: Jerome Duval <jerome.duval@xxxxxxxxx> Date: Sun Sep 15 12:39:56 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:38 2013 UTC dpc: fix comments spelling. ---------------------------------------------------------------------------- ############################################################################ Commit: 02cac492509721580adf7ef2400e7ca5fefa54c6 URL: http://cgit.haiku-os.org/haiku/commit/?id=02cac49 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sun Sep 15 13:32:19 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9960 Debugger: Implement #9960. - DebugReportGenerator now retrieves and dumps disassembly for the crashing function up to the crashing line. ---------------------------------------------------------------------------- ############################################################################ Commit: 779d8213e9fa6de8c43685094de1c69006b99f98 URL: http://cgit.haiku-os.org/haiku/commit/?id=779d821 Author: Stephan Aßmus <superstippi@xxxxxx> Date: Sun Sep 15 15:21:11 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:38 2013 UTC HaikuDepot: Use PackageInfoRefs instead of PackageInfos Instead of storing PackageInfo objects directly in the PackageLists, store PackageInfoRefs instead. This makes a lot of operations much cheaper, and it also allows making changes to a PackageInfo (which now exists only once) and have those changes reflect everywhere. In particular, it will be easier to populate some information of the PackageInfo lazily, and to listen for changes on a PackageInfo object. ---------------------------------------------------------------------------- ############################################################################ Commit: 9202a719e143ce324d611990d2fb40939cf7e8c6 URL: http://cgit.haiku-os.org/haiku/commit/?id=9202a71 Author: Stephan Aßmus <superstippi@xxxxxx> Date: Sun Sep 15 15:24:15 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:39 2013 UTC HaikuDepot: Add interface for PackageInfoListener. Also defines PackageInfoEvent. ---------------------------------------------------------------------------- ############################################################################ Commit: 697c0d7c63ed9ffdbdfa36451673c2193018b2e4 URL: http://cgit.haiku-os.org/haiku/commit/?id=697c0d7 Author: Jerome Duval <jerome.duval@xxxxxxxxx> Date: Sun Sep 15 13:22:43 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:39 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9956 hdaudio: check pin sense on init, don't wait for a switch event with headphones plugged on boot, sound was still enabled on speakers. see #9956 ---------------------------------------------------------------------------- ############################################################################ Commit: 92dbf1869ff45b8df5396f6d22e798bcef1682c4 URL: http://cgit.haiku-os.org/haiku/commit/?id=92dbf18 Author: Stephan Aßmus <superstippi@xxxxxx> Date: Sun Sep 15 15:46:01 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:40 2013 UTC HaikuDepot: Added some listener support to PackageInfo ---------------------------------------------------------------------------- ############################################################################ Commit: 1c38517e256ac29d81f2b36e896200faefb8043e URL: http://cgit.haiku-os.org/haiku/commit/?id=1c38517 Author: Siarzhuk Zharski <zharik@xxxxxx> Date: Sun Sep 15 21:39:44 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:40 2013 UTC ListView: More safe ScrollToSelection implementation The Problem was observed in the Time Preferences Zone view - the selection was set inside of TimeZoneView::DoLayout() call on the OutlineListView control that had zero-sized Bounds. After the control was resized the selection stay mainly hidden "under" the upper edge. The Problem looks like generic so should be fixed in the interface kit code. Proposed fix introduces additional check for the scroll position to not cross the top edge of control. ---------------------------------------------------------------------------- ############################################################################ Commit: 6b48fa0994c9fe5cadb92141f198a05e8a9cc586 URL: http://cgit.haiku-os.org/haiku/commit/?id=6b48fa0 Author: Jerome Duval <jerome.duval@xxxxxxxxx> Date: Mon Sep 16 09:47:23 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:40 2013 UTC usb_disk: fixes 64bit trace build ---------------------------------------------------------------------------- ############################################################################ Commit: 1a07e84d0381f46de01d03c55648288294f95e56 URL: http://cgit.haiku-os.org/haiku/commit/?id=1a07e84 Author: Jerome Duval <jerome.duval@xxxxxxxxx> Date: Mon Sep 16 11:27:42 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:40:41 2013 UTC usb_disk: fixed mounting a USB disk on x86_64 * usb_disk_prepare_partial_buffer() was miscalculating the offset in the temp buffer, which led to a page fault later when copying to the user buffer. ---------------------------------------------------------------------------- ############################################################################ Commit: 8f284ef32d8597ac987aa0ba1c84c7b90c866961 URL: http://cgit.haiku-os.org/haiku/commit/?id=8f284ef Author: Jerome Duval <jerome.duval@xxxxxxxxx> Date: Mon Sep 16 13:05:28 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:41:58 2013 UTC intel_extreme: don't expose overlay in accelerant when not allocated ... in the driver. ---------------------------------------------------------------------------- ############################################################################ Commit: af8e2aa4736c69637c294b3b6351243e9c7551fd URL: http://cgit.haiku-os.org/haiku/commit/?id=af8e2aa Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Mon Sep 16 11:28:28 2013 UTC Debugger: add settings manager for source location mappings. - If it was necessary to help the debugger locate a particular source file due to it not being found on disk at the location specified in the debug information, the associated user-supplied path mappings are now saved and restored in the team settings. The file manager still needs a bit of extra work to apply these as files are added though. ---------------------------------------------------------------------------- ############################################################################ Commit: 64aae117163474939e8936d01980afe50989636f URL: http://cgit.haiku-os.org/haiku/commit/?id=64aae11 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Mon Sep 16 13:21:18 2013 UTC Fix incorrect name usage. ---------------------------------------------------------------------------- ############################################################################ Commit: ad054cf1e108c98b3a9ea22f3ee74ff800c1fa81 URL: http://cgit.haiku-os.org/haiku/commit/?id=ad054cf Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Mon Sep 16 13:22:05 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9961 Debugger: Implement #9961. - FileManager now saves any explicitly located file mappings, and properly restores them when reloading the same team/files later. ---------------------------------------------------------------------------- ############################################################################ Commit: f7e1dc6c46f33a4ca2ab7f46f4bb1320c4e26011 URL: http://cgit.haiku-os.org/haiku/commit/?id=f7e1dc6 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Mon Sep 16 17:45:27 2013 UTC Debugger: Add selection support to MemoryView. - The Inspector's memory view now supports selecting chunks of the hex display in the manner one would in a TextView. The selection can also be copied to the clipboard, or if it matches the size of a target address, can be used as input for an address to inspect directly. Still needs some fine tuning, but basically works. ---------------------------------------------------------------------------- ############################################################################ Commit: 59cef1fa18eb75ea568bb72324bbbb91b1f156ad URL: http://cgit.haiku-os.org/haiku/commit/?id=59cef1f Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Mon Sep 16 17:59:33 2013 UTC Build fix. ---------------------------------------------------------------------------- ############################################################################ Commit: 153c6c4a405b45c7f7c50de381ec54ddf70075e4 URL: http://cgit.haiku-os.org/haiku/commit/?id=153c6c4 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Mon Sep 16 18:22:24 2013 UTC Debugger: Fix data copy issue. - B_PRIx8 unfortunately doesn't necessarily strictly stay within the bounds of an 8-bit hex constant, so force the size passed to snprintf to make it that way. ---------------------------------------------------------------------------- ############################################################################ Commit: 62b27e62773b40f3922c6a7a24d9b095f2beb187 URL: http://cgit.haiku-os.org/haiku/commit/?id=62b27e6 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Mon Sep 16 19:28:19 2013 UTC Fix previous format problem more correctly. Thanks Ingo, Oliver and Ithamar for the hint. ---------------------------------------------------------------------------- ############################################################################ Commit: 7eec822d5eb456c78ffeb5c048e7fa1c9885e13b URL: http://cgit.haiku-os.org/haiku/commit/?id=7eec822 Author: Stephan Aßmus <superstippi@xxxxxx> Date: Mon Sep 16 20:07:43 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:01 2013 UTC HaikuDepot: Package information can be retrieved asynchronously ---------------------------------------------------------------------------- ############################################################################ Commit: b9898c45f4c66e02becc8d462481767d6522269e URL: http://cgit.haiku-os.org/haiku/commit/?id=b9898c4 Author: Stephan Aßmus <superstippi@xxxxxx> Date: Mon Sep 16 20:11:06 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:01 2013 UTC HaikuDepot: Also lock the model when updating the list ---------------------------------------------------------------------------- ############################################################################ Commit: f7628f839d15c4bac0d6b4dfa11683c21eb448b7 URL: http://cgit.haiku-os.org/haiku/commit/?id=f7628f8 Author: Stephan Aßmus <superstippi@xxxxxx> Date: Mon Sep 16 20:17:42 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:02 2013 UTC HaikuDepot: Fixed selecting the right package when the list is sorted. ---------------------------------------------------------------------------- ############################################################################ Commit: 72b9e4a7bc98fc13f830ce4ba787cbc571ef3845 URL: http://cgit.haiku-os.org/haiku/commit/?id=72b9e4a Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Mon Sep 16 20:38:29 2013 UTC Fix gcc2 build. ---------------------------------------------------------------------------- ############################################################################ Commit: ed6f171aa6886208a0a2f2e695fbee97133ca3aa URL: http://cgit.haiku-os.org/haiku/commit/?id=ed6f171 Author: Stephan Aßmus <superstippi@xxxxxx> Date: Mon Sep 16 21:16:52 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:03 2013 UTC BColumnListView: Enable invalidating rows, fix SetField() * Seems like there was no easy way to simply invalidate a given BRow. Introduced BColumnListView::InvalidateRow(). * BRow::SetField() tried to invalidate the row, but invalidated the listview instead of the BOutlineView responsible for drawing the list contents. Use the new InvaalidateRow(). ---------------------------------------------------------------------------- ############################################################################ Commit: b748950b74ee3eb558d66fcd9cc3fae8b0f91adf URL: http://cgit.haiku-os.org/haiku/commit/?id=b748950 Author: Stephan Aßmus <superstippi@xxxxxx> Date: Mon Sep 16 21:18:59 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:03 2013 UTC HaikuDepot: Update package list when necessary * Pass the Model lock to the PackageListView. * Register a PackageInfoListener with every listed package. * Update the rating when it is fetched. ---------------------------------------------------------------------------- ############################################################################ Commit: 533036dde7b27174e71d77f202ed94fc4d6e2fd1 URL: http://cgit.haiku-os.org/haiku/commit/?id=533036d Author: Pawel Dziepak <pdziepak@xxxxxxxxxxx> Date: Mon Sep 16 21:08:46 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:03 2013 UTC libroot: Make sure PTHREAD_STACK_MIN is in the allowed range ---------------------------------------------------------------------------- ############################################################################ Commit: 772568c4764cfe4212b5940b124545b2f8d12862 URL: http://cgit.haiku-os.org/haiku/commit/?id=772568c Author: Pawel Dziepak <pdziepak@xxxxxxxxxxx> Date: Mon Sep 16 21:16:29 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:04 2013 UTC system: Use B_PAGE_SIZE to define stack sizes As korli suggested use B_PAGE_SIZE for defining stack size related definitions what seems to be more natural for them and also may help if we ever support an architecture with page size different than 4kB. ---------------------------------------------------------------------------- ############################################################################ Commit: 4efb0a6d36d18fb00249cd0aeee4309956515ae4 URL: http://cgit.haiku-os.org/haiku/commit/?id=4efb0a6 Author: Pawel Dziepak <pdziepak@xxxxxxxxxxx> Date: Mon Sep 16 21:19:23 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:04 2013 UTC posix: Update PTHREAD_STACK_MIN to match MIN_USER_STACK_SIZE Thanks for pointing this out Pete! ---------------------------------------------------------------------------- ############################################################################ Commit: c315b2b18a49cad52fcde98d66b304b924977c5c URL: http://cgit.haiku-os.org/haiku/commit/?id=c315b2b Author: John Scipione <jscipione@xxxxxxxxx> Date: Mon Sep 16 22:45:56 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:05 2013 UTC Revert "ScreenSaver: ScrollToSelection off-by-one" This reverts commit fb90f7ffe49c07e82cd8cf68012929c87319f656. Underlying issue fixed in hrev46066 ---------------------------------------------------------------------------- ############################################################################ Commit: 4f4270c9902b587f017ff9ea3343ed535baa6f6b URL: http://cgit.haiku-os.org/haiku/commit/?id=4f4270c Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 17 00:42:58 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:05 2013 UTC loader/u-boot: fix alignment of uimage components. The "blobs" in a U-Boot uimage are aligned at 4 bytes, which we did not take into account. Found this when adding a 3rd blob containing the Flattened Device Tree for ARM. ---------------------------------------------------------------------------- ############################################################################ Commit: ba06f0766073168cc42458c6327f6703de21943f URL: http://cgit.haiku-os.org/haiku/commit/?id=ba06f07 Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 17 01:03:17 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:05 2013 UTC ARM: kernel: fix timer resolution and implement basic timekeeping. The previously used method for programming the timer did not take into account that our timespec is 64bit while the register we poke it into is 32 bit. Since the PXA (SoC in Verdex target) has a limited scale of resolution (us,ms,second) we dynamicly determine the one that we can most closely match, and set that. For f.ex. snooze to work however, we also need system_time to work. The current implementation uses a system timer at microsecond resolution to keep track of time. Although the code is far from perfect, committing it now before it gets lost, since I'm working on the infrastructure code to properly factor out the SoC specific code out of the core ARM architecture code (so the kernel can support more then our poor old Verdex QEMU target ;)) ---------------------------------------------------------------------------- ############################################################################ Commit: 102ce4652adf3c3a4d74770d7e1c1c8efdbdaf46 URL: http://cgit.haiku-os.org/haiku/commit/?id=102ce46 Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 17 03:26:29 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:06 2013 UTC norflash: do not accept any device as a valid 'norflash' Seems the original code was a little *too* simple ;-) ---------------------------------------------------------------------------- ############################################################################ Commit: dfa5aa0c9875001fa3508463f61862ba580952f0 URL: http://cgit.haiku-os.org/haiku/commit/?id=dfa5aa0 Author: Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 17 03:50:05 2013 UTC Committer: Rene Gollent <anevilyak@xxxxxxxxx> Commit-Date: Tue Sep 17 12:42:06 2013 UTC device_manager: Move init_node_tree to after kdl cmd registration This helps when debugging, since when a driver/module causes a crash while registering with the device manager, you can actually look at the device manager state ;-) ---------------------------------------------------------------------------- ############################################################################ Commit: 2c130f09bfff272fc3a473006b86687c012bccc7 URL: http://cgit.haiku-os.org/haiku/commit/?id=2c130f0 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Tue Sep 17 09:14:38 2013 UTC Debugger: Fix calculation in MemoryView. - The offset calculation for mapping the current point wasn't taking into account the number of bytes per hex block, causing it to be proportionally further off if one switched to 16/32/64-bit hex mode. Gets mouse selection working properly in said modes. ---------------------------------------------------------------------------- ############################################################################ Commit: 98c5cb26829c1ad0d6664a5c397568cdfe8d40f8 URL: http://cgit.haiku-os.org/haiku/commit/?id=98c5cb2 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Tue Sep 17 09:17:31 2013 UTC Debugger: Fix RegistersView context menu. - Always grab the address value from the actual register value column, rather than the one that's in fact under the mouse. Fixes the "Inspect" item sending you to inspect address 0 if you happened to right click over the register name rather than the value. ---------------------------------------------------------------------------- ############################################################################ Commit: 89d18e912dfef6f0791f586d67b7f91cba30e969 URL: http://cgit.haiku-os.org/haiku/commit/?id=89d18e9 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Tue Sep 17 10:07:52 2013 UTC Debugger: MemoryView - Tweak target address drawing. - Since we actually draw a selection now, change the target address highlight to clearly distinguish it. Rather than inverting it, it's now drawn with a normal background and red text in the hex display. The text mode subcomponent still shows it as an invert though, since the latter doesn't currently indicate the selection. ---------------------------------------------------------------------------- ############################################################################ Commit: eeebe2843a61c82661720930ee0002b0a5b53ced URL: http://cgit.haiku-os.org/haiku/commit/?id=eeebe28 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Tue Sep 17 12:04:41 2013 UTC Manually merge 1410faca6c30d39dc08a7bf7caa7630ce5a16d35. ---------------------------------------------------------------------------- ############################################################################ Commit: 6f17e7a7b37d3c8f2566b605324c43864566fa6c URL: http://cgit.haiku-os.org/haiku/commit/?id=6f17e7a Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Tue Sep 17 13:58:56 2013 UTC Remove references to HAIKU_LOCALE_LIBS. - No longer exists in PM branch, and isn't really necessary any more as it only refers to liblocalestub anyhow. ---------------------------------------------------------------------------- ############################################################################ Commit: 1f67148f7069070f2966a63e6e910ad2fcb887f8 URL: http://cgit.haiku-os.org/haiku/commit/?id=1f67148 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Tue Sep 17 14:01:50 2013 UTC Automatic whitespace cleanup. ---------------------------------------------------------------------------- ############################################################################ Commit: 176041c517cdfb0a06b754378a1f3de05844c890 URL: http://cgit.haiku-os.org/haiku/commit/?id=176041c Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Tue Sep 17 14:02:43 2013 UTC Build fix. ---------------------------------------------------------------------------- ############################################################################ Commit: d6f41e89207108423d4f24b192c445df44ff4614 URL: http://cgit.haiku-os.org/haiku/commit/?id=d6f41e8 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Tue Sep 17 16:08:21 2013 UTC Debugger: Fix off by one error in report generator. - The disassembly dump would consequently stop at the instruction prior to the actual crash culprit, and also erroneously mark it as such. (cherry picked from commit 7de035619bf4e660f3f2243b343de4dffc7ab79b) ---------------------------------------------------------------------------- ############################################################################ Commit: 34d0d4d85eeac542d5e9fb4a4f4d871e6727685f URL: http://cgit.haiku-os.org/haiku/commit/?id=34d0d4d Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 17 22:17:21 2013 UTC dump_page_queue(): fix output * Determine the cache type per page instead of printing the first page's cache type for all pages. * Use vm_cache_type_to_string(). ---------------------------------------------------------------------------- ############################################################################ Commit: 93495b0354d5256d379e4b9ac5a129539658a2cb URL: http://cgit.haiku-os.org/haiku/commit/?id=93495b0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 17 22:21:04 2013 UTC X86PagingStructuresPAE: clear fVirtualPageDirs in constructor ... not just the first element. Fixes a crash in X86VMTranslationMapPAE destructor when running out of memory when initializing the map. ---------------------------------------------------------------------------- ############################################################################ Commit: bcb7463650e945f2cc2e61d3acef376c6ac39e76 URL: http://cgit.haiku-os.org/haiku/commit/?id=bcb7463 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 17 22:21:32 2013 UTC arch_vm_translation_map_early_map(): Fix debug output ---------------------------------------------------------------------------- ############################################################################ Commit: 6508ce9f521fa173b64b11cb35dff85c8bf86558 URL: http://cgit.haiku-os.org/haiku/commit/?id=6508ce9 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 17 22:25:32 2013 UTC X86VMTranslationMapPAE::Map(): More info in assert ---------------------------------------------------------------------------- ############################################################################ Commit: 372a66634410cf0450e426716c14ad42d40c0da4 URL: http://cgit.haiku-os.org/haiku/commit/?id=372a666 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 17 22:26:56 2013 UTC X86VMTranslationMapPAE: Add some ktracing for page (un)mapping ---------------------------------------------------------------------------- ############################################################################ Commit: 6dee6653c26736f534abdda6886219ab56503533 URL: http://cgit.haiku-os.org/haiku/commit/?id=6dee665 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Tue Sep 17 22:37:51 2013 UTC Ticket: https://dev.haiku-os.org/ticket/8345 When switching to PAE don't copy not needed PTEs Now we check whether the virtual address corresponding to the PTE lies in an allocated virtual address range. This fixes a cause of #8345: The assertion would trigger when such an entry was encountered. There might be other causes that trigger the same assertion, though. ---------------------------------------------------------------------------- ############################################################################ Commit: 30a517bc64e3777f47cb811ea342892cd7334e72 URL: http://cgit.haiku-os.org/haiku/commit/?id=30a517b Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Tue Sep 17 15:54:17 2013 UTC Add handling of B_PACAKGE_INFO_CHECKSUM to PackageInfoPrinter. ---------------------------------------------------------------------------- ############################################################################ Commit: 50ae264dad49d8dbb806be0c4b5a4838fa742bbf URL: http://cgit.haiku-os.org/haiku/commit/?id=50ae264 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Sep 18 10:01:27 2013 UTC Add support for adding a package-info to BRepositoryWriter. ---------------------------------------------------------------------------- ############################################################################ Commit: da33beab7098545ca6267da693f81bee608f5e50 URL: http://cgit.haiku-os.org/haiku/commit/?id=da33bea Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Sep 18 10:04:53 2013 UTC Add command 'update' to package_repo. * 'update' takes an existing repository and a package list file and then creates a new repository from that, avoiding expensive checksum-recomputations where possible ---------------------------------------------------------------------------- ############################################################################ Commit: 93cb796e370b6a3e84dc31dba43c24b0e72a94a0 URL: http://cgit.haiku-os.org/haiku/commit/?id=93cb796 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 13:22:53 2013 UTC Context: Add more uniqueness to temp directory names. - If a single thread attempted to establish multiple package kit contexts, it would fail due to a collision between their respective temporary directories. As such, use both the thread ID and system_time() as a random elements in the directory name to ensure this doesn't occur. ---------------------------------------------------------------------------- ############################################################################ Commit: 0c5468eef0c381f753da9ef0ca1a050cdba9040d URL: http://cgit.haiku-os.org/haiku/commit/?id=0c5468e Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 13:25:11 2013 UTC HaikuDepot: Stub out various support classes for package kit use. - DecisionProvider and JobStateListener will be needed in order to interact with the package kit in various ways eventually, though the implementations are currently all empty. - Adjust HaikuDepot's PackageManager class to inherit from BPackageManager, so as to be able to actually interface with the package repositories. ---------------------------------------------------------------------------- ############################################################################ Commit: 2f89f68ee722eb2d22bbff75783ed3bc1f8013dc URL: http://cgit.haiku-os.org/haiku/commit/?id=2f89f68 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 13:28:41 2013 UTC MainWindow: Initial hooks into package kit. - MainWindow now attempts to refresh all available repositories and fetch their respective package lists on startup. Much still remains to be done, such as factoring this out into a background process so it doesn't prevent the window from showing, and making the refresh step optional if we already have valid repository information, but this at least gets us showing the available package list from HaikuPorts. ---------------------------------------------------------------------------- ############################################################################ Commit: 85caa0459d645a614139d3692f68436e83abc0ab URL: http://cgit.haiku-os.org/haiku/commit/?id=85caa04 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Sep 18 11:37:08 2013 UTC Use BPackageInfoContentHandler in package_repo 'update'. * Ingo has pointed me at this class which already does the collecting of package attributes into a PackageInfo - so there's no need to do it manually. ---------------------------------------------------------------------------- ############################################################################ Commit: d7cbcb13da916672fa94b06451dc3ec344a432b2 URL: http://cgit.haiku-os.org/haiku/commit/?id=d7cbcb1 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Sep 18 11:37:33 2013 UTC Fix build of <build>package_repo. ---------------------------------------------------------------------------- ############################################################################ Commit: 53b162523f35ee9c2ba4c67e8fcbf59201d0f491 URL: http://cgit.haiku-os.org/haiku/commit/?id=53b1625 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 18 13:26:35 2013 UTC Committer: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Commit-Date: Wed Sep 18 13:41:12 2013 UTC Fix host-only build. ---------------------------------------------------------------------------- ############################################################################ Commit: 7d09a8dc6788de70bc30da84e6feb9b006c46bfb URL: http://cgit.haiku-os.org/haiku/commit/?id=7d09a8d Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Sep 18 13:42:36 2013 UTC Fix build of '<build>package_repo' for real. * add missing command_update.cpp ---------------------------------------------------------------------------- ############################################################################ Commit: 9a85313bc68fde2a79e17e51726bab55eb3d85ac URL: http://cgit.haiku-os.org/haiku/commit/?id=9a85313 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 18 14:12:51 2013 UTC X86PagingStructuresPAE: Zero fPageDirPointerTable in constructor ... and use it as a guard in the destructor. Fixes crash when running out of memory and Init() is not called. ---------------------------------------------------------------------------- ############################################################################ Commit: c13744f4c0fc1f8b597c7a349af9218473525be2 URL: http://cgit.haiku-os.org/haiku/commit/?id=c13744f Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Sep 16 09:23:22 2013 UTC useradd: Improve usage text ---------------------------------------------------------------------------- ############################################################################ Commit: 222fb7a91ab71cda2bc8d7dd58227c7fd213b677 URL: http://cgit.haiku-os.org/haiku/commit/?id=222fb7a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Sep 16 10:14:34 2013 UTC getgrgid_r()/getgrname_r(): Fix group not found return value ---------------------------------------------------------------------------- ############################################################################ Commit: fb8a9c47106f9b5beaaa76416b314accc5d4562e URL: http://cgit.haiku-os.org/haiku/commit/?id=fb8a9c4 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 18 14:15:41 2013 UTC getpw{nam,uid}[_r]: Fix return value behavior ... when the user is not found. ---------------------------------------------------------------------------- ############################################################################ Commit: de15b85e5c58a30265a5017bb16a2d3028f1eb70 URL: http://cgit.haiku-os.org/haiku/commit/?id=de15b85 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 18 14:17:03 2013 UTC getgr{nam,gid}[_r](): Fix retrieving group members ---------------------------------------------------------------------------- ############################################################################ Commit: 0e9e586cacc38965a67a67d9f40a4f6bf4d7bda6 URL: http://cgit.haiku-os.org/haiku/commit/?id=0e9e586 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Sep 16 10:15:52 2013 UTC useradd: Support specifying group by name ---------------------------------------------------------------------------- ############################################################################ Commit: e9d9ac713ffa301240e7a2e113bb0d5bb70082f8 URL: http://cgit.haiku-os.org/haiku/commit/?id=e9d9ac7 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Sep 16 13:49:36 2013 UTC Add userdel ---------------------------------------------------------------------------- ############################################################################ Commit: 82a064b57d73dded1109fa41be971d63b237fdc2 URL: http://cgit.haiku-os.org/haiku/commit/?id=82a064b Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Sep 16 14:33:26 2013 UTC useradd: small style fix ---------------------------------------------------------------------------- ############################################################################ Commit: 032ea9a485abba103a82f0b782546dda8ff8d758 URL: http://cgit.haiku-os.org/haiku/commit/?id=032ea9a Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Sep 16 16:00:48 2013 UTC useradd: Create the new user with a locked password ---------------------------------------------------------------------------- ############################################################################ Commit: 6c346b88e1134f09024879a85f358ea4992023dd URL: http://cgit.haiku-os.org/haiku/commit/?id=6c346b8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Mon Sep 16 16:01:07 2013 UTC passwd: Add option -d to delete a user's password ---------------------------------------------------------------------------- ############################################################################ Commit: dc3be296140d4b76f0de2630dd86e85f1ffbc8c5 URL: http://cgit.haiku-os.org/haiku/commit/?id=dc3be29 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 18 14:10:38 2013 UTC Enable -Werror in src/bin/multiuser ---------------------------------------------------------------------------- ############################################################################ Commit: 519bb60aef35f6e7371dc0ccf0a9c989036ae9b4 URL: http://cgit.haiku-os.org/haiku/commit/?id=519bb60 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 18 14:28:58 2013 UTC Add group{add,del,mod} ---------------------------------------------------------------------------- ############################################################################ Commit: e12c26ec2d67bd3c274a0067be674656f71c7856 URL: http://cgit.haiku-os.org/haiku/commit/?id=e12c26e Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 15:27:29 2013 UTC ModelWindow: Populate publisher URL if available. - Also rework things a bit to fix passing the same reference into the installed package list repeatedly, thus causing only the first package to be marked as actually being installed. ---------------------------------------------------------------------------- ############################################################################ Commit: f7c99dcc33eea73160acbbc88751d8e3fef70371 URL: http://cgit.haiku-os.org/haiku/commit/?id=f7c99dc Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 15:28:37 2013 UTC Remove unnecessary function. ---------------------------------------------------------------------------- ############################################################################ Commit: 2c287f5bae0adcc93ed623f3f2a05daf331e5816 URL: http://cgit.haiku-os.org/haiku/commit/?id=2c287f5 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 16:17:30 2013 UTC Model: Add Clear() method to empty out existing depot info. ---------------------------------------------------------------------------- ############################################################################ Commit: d882cc281286747b330a81a81f44401efaa3f054 URL: http://cgit.haiku-os.org/haiku/commit/?id=d882cc2 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 16:39:32 2013 UTC HaikuDepot: Move repo fetch to background worker thread. - Factor out functions for refreshing the repositories and retrieving the package lists. - Add a background worker thread which handles those tasks and then notifies the window when the model is ready. - Check if we already have a repository cache, and if so, skip the refresh step, unless forced. The latter will eventually be possible via the UI. ---------------------------------------------------------------------------- ############################################################################ Commit: c6a952d70618f65ec3de0557904f4e6c4a8f1109 URL: http://cgit.haiku-os.org/haiku/commit/?id=c6a952d Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 16:45:10 2013 UTC Add HaikuDepot to image. ---------------------------------------------------------------------------- ############################################################################ Commit: 52660ce993f66b11ef6e143adca239ad72d08d4d URL: http://cgit.haiku-os.org/haiku/commit/?id=52660ce Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 17:33:17 2013 UTC gcc2.x build fix. ---------------------------------------------------------------------------- ############################################################################ Commit: b162bdaf1d675cb8c1087776b371652a120cf893 URL: http://cgit.haiku-os.org/haiku/commit/?id=b162bda Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 17:52:11 2013 UTC Add HaikuDepot to Deskbar menu. ---------------------------------------------------------------------------- ############################################################################ Commit: 0a345af77e01131647b1017ee4631b602119f5c9 URL: http://cgit.haiku-os.org/haiku/commit/?id=0a345af Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Sep 18 18:20:43 2013 UTC Separate notification from deletion in repository-handlers. * Add NotifyDone() to all repository-attribute handlers and invoke that to notify any listeners. * Unify deletion to a single implementation of Delete() in the base class. Before, the root handler for a repository didn't do that, but just triggered the notification. ---------------------------------------------------------------------------- ############################################################################ Commit: b3a05eede68d2b0881e5372c2002df639b2236b4 URL: http://cgit.haiku-os.org/haiku/commit/?id=b3a05ee Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Wed Sep 18 19:15:26 2013 UTC Fix keeping of package info during repository update. * actually write the package info read from the repository, not the one from the package, as the latter is missing the checksum ---------------------------------------------------------------------------- ############################################################################ Commit: 976b547224ff78d2f15a4df1413f790cba9bc98f URL: http://cgit.haiku-os.org/haiku/commit/?id=976b547 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 20:32:45 2013 UTC HaikuDepot: Implement publisher hyperlink handling. - Clicking the publisher link now actually attempts to open the site in the browser. ---------------------------------------------------------------------------- ############################################################################ Commit: 8b600ba48deafbe63747e28b705551b00adb00a7 URL: http://cgit.haiku-os.org/haiku/commit/?id=8b600ba Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Sun Sep 15 10:59:20 2013 UTC package daemon: Use CommitTransactionHandler in all cases ... also when only activating/deactivating already moved packages. ---------------------------------------------------------------------------- ############################################################################ Commit: be2254e30db907dc1a8b26dd3c3b9dde014bb385 URL: http://cgit.haiku-os.org/haiku/commit/?id=be2254e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Wed Sep 18 21:55:13 2013 UTC package daemon: Handle post-installation scripts, users/groups ... specified by a package when it is going to be activated. We don't try to remove users/groups when deactivating packages yet, nor is the user properly identified in all error cases. ---------------------------------------------------------------------------- ############################################################################ Commit: 5af9dc2a77aa2ea883a0d1d2b8bda54e0ae0c6ae URL: http://cgit.haiku-os.org/haiku/commit/?id=5af9dc2 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Wed Sep 18 21:05:28 2013 UTC Style fix. ---------------------------------------------------------------------------- ############################################################################ Commit: db259584cacc8003271f839e49bc2963420af1b4 URL: http://cgit.haiku-os.org/haiku/commit/?id=db25958 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 09:45:21 2013 UTC HaikuDepot: Flesh out PackageActions a bit. - Add background worker thread for asynchronous processing of package actions. - Implement InstallPackageAction. As such, installing packages now actually works. - Wrap requests in exception handlers, as the package manager uses those for various error cases. Fixes several cases of HaikuDepot spontaneously closing if a problem occurred. Still TODO: user error reporting, errors are currently reported on the console. ---------------------------------------------------------------------------- ############################################################################ Commit: f7bf1d328206e62c334b82936b110703b59a1b6f URL: http://cgit.haiku-os.org/haiku/commit/?id=f7bf1d3 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 09:55:58 2013 UTC HaikuDepot: Add UninstallPackageAction class. Not yet used. ---------------------------------------------------------------------------- ############################################################################ Commit: adde35ff1485908a8bc8637a8eec4b9ce8f8e527 URL: http://cgit.haiku-os.org/haiku/commit/?id=adde35f Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 10:16:41 2013 UTC HaikuDepot: Flesh out PackageManager::GetPackageActions(). - Now actually checks if and where the package is installed, and correspondingly returns back the appropriate install/uninstall actions. Consequently, HaikuDepot now allows uninstallation of (non-system) packages. ---------------------------------------------------------------------------- ############################################################################ Commit: 50792d1199fdc9a211beb49ab282a7ce0a5c4c03 URL: http://cgit.haiku-os.org/haiku/commit/?id=50792d1 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Thu Sep 19 10:22:56 2013 UTC Update openssh and perl for x86_gcc2. ---------------------------------------------------------------------------- ############################################################################ Commit: b4c8d2ff49d89fa8d804bb8e58c6cf96fa01ecd0 URL: http://cgit.haiku-os.org/haiku/commit/?id=b4c8d2f Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 10:47:44 2013 UTC HaikuDepot: Show installation state in list view. - Add package installation state to PackageInfo and update accordingly in Model. - Add package listener event for installation state change (not yet used). - PackageListView now fetches installation state from package and displays accordingly. ---------------------------------------------------------------------------- ############################################################################ Commit: cea02697b41a9d99edd2c6f6c8248b0bd1b1e08a URL: http://cgit.haiku-os.org/haiku/commit/?id=cea0269 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 12:56:29 2013 UTC HaikuDepot: Fix a few issues pointed out by Stephan. Thanks! ---------------------------------------------------------------------------- ############################################################################ Commit: 4bee7f070be62564d6a6a3b1575b881ded830f31 URL: http://cgit.haiku-os.org/haiku/commit/?id=4bee7f0 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 13:32:47 2013 UTC HaikuDepot: Add "Refresh repositories" menu item. - Allows the user to request manually updating the package list from the server. ---------------------------------------------------------------------------- ############################################################################ Commit: 44698a437d72ad3c2f6919b3d3320fe99265bb70 URL: http://cgit.haiku-os.org/haiku/commit/?id=44698a4 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 13:49:54 2013 UTC HaikuDepot: Start implementing UserInteractionHandler hooks. - Use package daemon's ProblemWindow/ResultWindow for the HandleProblems() and ConfirmChanges() hooks respectively. ---------------------------------------------------------------------------- ############################################################################ Commit: b967ea4be4c3cd6dbee282463fc6c42ca1a6b387 URL: http://cgit.haiku-os.org/haiku/commit/?id=b967ea4 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 15:01:52 2013 UTC Debugger: Temporarily disable file manager mappings. - There seem to be cases where the file manager is incorrectly reapplying stored mappings, resulting in no source being displayed. As such, the functionality is being disabled until the cause can be found. ---------------------------------------------------------------------------- ############################################################################ Commit: c848949bf19ed8bd74da1f54428d43a469b58dca URL: http://cgit.haiku-os.org/haiku/commit/?id=c848949 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 15:43:36 2013 UTC Debugger: Fix crash in Inspector. - If a selection was active, and the hex mode was switched to not display, a divide by zero crash would occur. Spotted by Olivier Coursiere. ---------------------------------------------------------------------------- ############################################################################ Commit: efcb3de14e69170079b8302c5ff204e6aad4752d URL: http://cgit.haiku-os.org/haiku/commit/?id=efcb3de Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 18:55:18 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9961 Debugger: Fix #9961. - The previous solution was applying source path mappings too early, with the consequence that the file manager would incorrectly adjust some relocations due to not being aware of the presence of all the possible parent paths yet, leading to the observed "Source not available" behavior when restoring some combinations of mappings. We now lazily apply the mappings at the point when the source code itself is actually requested to be loaded, which doesn't occur until after all image loading, etc. has completed, so the information map is complete. ---------------------------------------------------------------------------- ############################################################################ Commit: 1c521f0b311686a352b2f57aa12bd53dc5dbdced URL: http://cgit.haiku-os.org/haiku/commit/?id=1c521f0 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 19 18:55:23 2013 UTC BString::Split(): Fix check ---------------------------------------------------------------------------- ############################################################################ Commit: 59f1891eda8a019e072f590003611c78ae8167ba URL: http://cgit.haiku-os.org/haiku/commit/?id=59f1891 Author: Jessica Hamilton <jessica.l.hamilton@xxxxxxxxx> Date: Thu Sep 19 12:12:44 2013 UTC Committer: Ingo Weinhold <ingo_weinhold@xxxxxx> Commit-Date: Thu Sep 19 19:07:10 2013 UTC Ticket: https://dev.haiku-os.org/ticket/9968 Change volume label for MOUNT_TYPE_HOME to "config". Fixes #9968. Signed-off-by: Ingo Weinhold <ingo_weinhold@xxxxxx> ---------------------------------------------------------------------------- ############################################################################ Commit: 4f9db8d66d0685065fd63d9c3adfd62ee01dc72c URL: http://cgit.haiku-os.org/haiku/commit/?id=4f9db8d Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Thu Sep 19 19:22:57 2013 UTC Should have been part of previous commit. ---------------------------------------------------------------------------- ############################################################################ Commit: 7092893bdd93d25da3a7f53b675a1130f51a03fd URL: http://cgit.haiku-os.org/haiku/commit/?id=7092893 Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Thu Sep 19 20:37:54 2013 UTC Actually rename the updated repository to the target name. ---------------------------------------------------------------------------- ############################################################################ Commit: acc6f8326abf9e305ec617c16bfe80236c884532 URL: http://cgit.haiku-os.org/haiku/commit/?id=acc6f83 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 19 21:51:29 2013 UTC Update x86 openssh and perl packages, add libedit_devel ---------------------------------------------------------------------------- ############################################################################ Commit: 7cf0e764393c03d69015b56674a7d2bf84158621 URL: http://cgit.haiku-os.org/haiku/commit/?id=7cf0e76 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Fri Sep 20 18:37:46 2013 UTC HaikuDepot: Cleanups. - Fix passing the force parameter to the refresh worker. This makes the refresh depots menu item actually work. - Make failure messages regarding depot initialization/refresh visible to the user. ---------------------------------------------------------------------------- ############################################################################ Commit: fdcd014b1d9cfcb80662947e85db5fc5c601b49c URL: http://cgit.haiku-os.org/haiku/commit/?id=fdcd014 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sat Sep 21 12:40:17 2013 UTC HaikuDepot: Only send package status change notifications... ...if the package status actually did change. ---------------------------------------------------------------------------- ############################################################################ Commit: e550d7b8c563b9276ba9d8bd86b7ab41ec729836 URL: http://cgit.haiku-os.org/haiku/commit/?id=e550d7b Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sat Sep 21 18:27:12 2013 UTC HaikuDepot: Miscellanous improvements to package state tracking. - MainWindow now listens for package installation state changes so it can keep Model's package location lists in sync. - PackageListView now updates its status column on package state changes. - PackageInfoView now updates the available action list when package installation state changes. - PackageManager populates the expected user-specified install/uninstall package sets for ProblemWindow so that one can properly filter those out. There still remain some issues with the installed locations for ResultWindow not being entirely correct though, which causes issues for package uninstallation. ---------------------------------------------------------------------------- ############################################################################ Commit: c996b65a894a38b587d02c9f34c795619f59e418 URL: http://cgit.haiku-os.org/haiku/commit/?id=c996b65 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sat Sep 21 20:58:14 2013 UTC HaikuDepot: Init with correct repo flags before performing actions. Still something not entirely correct with the uninstall case though. ---------------------------------------------------------------------------- ############################################################################ Commit: 9e8ffcbb8f3845988687b68017e12d1447e79048 URL: http://cgit.haiku-os.org/haiku/commit/?id=9e8ffcb Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sun Sep 22 13:02:46 2013 UTC HaikuDepot: Rework to get actions working properly. - BPackageManager doesn't (currently) support being reused for multiple differing actions, so instantiate it on the fly for each action to be performed. - As such, pull the package action worker out of PackageManager and into MainWindow. Define abstract interface PackageActionHandler for other parts of Depot to use to instruct it to queue actions. - Adjust other parts of code to take the above into account. ---------------------------------------------------------------------------- ############################################################################ Commit: 99b3982f2c87679b8fd852e52e953f9166a9d1ac URL: http://cgit.haiku-os.org/haiku/commit/?id=99b3982 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sun Sep 22 13:04:59 2013 UTC PackageListView: Force status field to update properly. ---------------------------------------------------------------------------- ############################################################################ Commit: d68208fa16f6716c53d598d3aa65ed1d4659d06a URL: http://cgit.haiku-os.org/haiku/commit/?id=d68208f Author: Matt Madia <mattmadia@xxxxxxxxx> Date: Sun Sep 22 17:57:53 2013 UTC Use double parenthesis for math expressions. This allows FreeBSD with a pure /bin/sh (not a symlink to /bin/bash) to build the cross-tools to a dedicated directory, outside of the generated folder. ---------------------------------------------------------------------------- ############################################################################ Commit: 34f4c3ec4f135fee3ff025ab530b0df11f267452 URL: http://cgit.haiku-os.org/haiku/commit/?id=34f4c3e Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sun Sep 22 20:46:33 2013 UTC Ticket: https://dev.haiku-os.org/ticket/10000 HaikuDepot: Fix #10000. - When switching selected packages, compare the new and old package action list. If they're the same, don't bother rebuilding the button bar. ---------------------------------------------------------------------------- ############################################################################ Commit: f4058a3f9f229a812fd5a0d3e33011aacec25d05 URL: http://cgit.haiku-os.org/haiku/commit/?id=f4058a3 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sun Sep 22 20:48:10 2013 UTC HaikuDepot: Adjust displayed publisher. - If available, show the package's copyright information for the publisher rather than the vendor, as the latter simply indicates the maintainer of the repository rather than the actual developers of the software contained in the package. ---------------------------------------------------------------------------- ############################################################################ Commit: dd9658f0107294b280b2920d66588204ad2c1256 URL: http://cgit.haiku-os.org/haiku/commit/?id=dd9658f Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sun Sep 22 21:26:26 2013 UTC HaikuDepot: Sort package list by name column on startup. ---------------------------------------------------------------------------- ############################################################################ Commit: a5d9833346499aadc1c200f9d77f87a4ad148ceb URL: http://cgit.haiku-os.org/haiku/commit/?id=a5d9833 Author: Rene Gollent <anevilyak@xxxxxxxxx> Date: Sun Sep 22 21:26:55 2013 UTC HaikuDepot: Minor optimization. - PackageAction now stores/returns a type code indicating the embodied action. Adjust PackageActionView accordingly in its comparison of the old/new package action list. ---------------------------------------------------------------------------- ############################################################################ Commit: 43ff23ebbf3fa9a879d882cca183a21656ae7e8f URL: http://cgit.haiku-os.org/haiku/commit/?id=43ff23e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 26 22:31:52 2013 UTC <NotOwningEntryRef.h>: Denote BPrivate explicitly ---------------------------------------------------------------------------- ############################################################################ Commit: 4cf3529cbbd27b670dc63c7de2ce237d0bdce852 URL: http://cgit.haiku-os.org/haiku/commit/?id=4cf3529 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 26 22:35:11 2013 UTC BCopyEngine: Add base class BEntryOperationEngineBase It contains a helper class Entry, which allows to generalize the BCopyEngine::CopyEntry() parameters. ---------------------------------------------------------------------------- ############################################################################ Commit: 0ee677e7f179b5ba09a736110f8865e511fc63a2 URL: http://cgit.haiku-os.org/haiku/commit/?id=0ee677e Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 26 22:36:47 2013 UTC Add BRemoveEngine Similar to BCopyEngine, but it (surprise!) removes an entry. ---------------------------------------------------------------------------- ############################################################################ Commit: 99f1939fd8298c9318cfcb1f54dfc6996a2be85a URL: http://cgit.haiku-os.org/haiku/commit/?id=99f1939 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 26 22:37:45 2013 UTC package daemon: Package: Add RevisionedName[Throws]() ---------------------------------------------------------------------------- ############################################################################ Commit: 23733521a7b2d6c16027654c606c6069ef026357 URL: http://cgit.haiku-os.org/haiku/commit/?id=2373352 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 26 22:47:09 2013 UTC package daemon: Implement writable files handling * Move Volume::Exception to top level and into own files. * Add utility class FSUtils, move Volume::RelativePath there and add a bunch of FS utility functionality. * Add FSTransaction, a helper class to record FS operations and revert them. * When activating a package we now extract the writable files/directories it declares. The handling is not quite complete: - We don't handle merges yet. I.e. the user will have to do that manually for now. - We don't propagate issues/infos regarding the writable files (e.g. that a manual intervention is required) to the user yet. ---------------------------------------------------------------------------- ############################################################################ Commit: 81291304ada328790118123ac74fb3dee8ce11fa URL: http://cgit.haiku-os.org/haiku/commit/?id=8129130 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Thu Sep 26 23:55:45 2013 UTC Merge remote-tracking branch 'haiku/master' into package-management Conflicts: build/jam/BuildSetup build/jam/HaikuImage build/jam/board/sam460ex/BoardSetup build/jam/board/verdex/BoardSetup data/catalogs/apps/icon-o-matic/fr.catkeys src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp src/apps/debugger/files/FileManager.cpp src/apps/debugger/files/FileManager.h src/apps/debugger/user_interface/gui/inspector_window/MemoryView.cpp src/apps/haiku-depot/MainWindow.cpp src/apps/haiku-depot/MainWindow.h src/apps/haiku-depot/Model.cpp src/apps/haiku-depot/PackageInfo.h src/apps/haiku-depot/PackageInfoListener.h src/apps/haiku-depot/PackageInfoView.cpp src/apps/haiku-depot/PackageInfoView.h src/apps/haiku-depot/PackageListView.cpp src/apps/haiku-depot/PackageListView.h src/system/kernel/arch/arm/arch_timer.cpp src/system/libroot/os/arch/arm/atomic.S src/tools/translation/bitsinfo/Jamfile src/tools/translation/bmpinfo/Jamfile src/tools/translation/tgainfo/Jamfile ---------------------------------------------------------------------------- ############################################################################ Revision: hrev46113 Commit: 9f81ca838ce7b92b5689e57d3f86765db4705a7b URL: http://cgit.haiku-os.org/haiku/commit/?id=9f81ca8 Author: Ingo Weinhold <ingo_weinhold@xxxxxx> Date: Fri Sep 27 00:01:12 2013 UTC Merge branch 'package-management' Conflicts: src/preferences/network/Jamfile ----------------------------------------------------------------------------