Commit Graph

46503 Commits

Author SHA1 Message Date
Ingo Weinhold 5ce950ae76 BuildFeature: missing ";" 2013-06-13 16:42:36 +02:00
Ingo Weinhold c46f5969b7 Update zlib, gettext, libiconv, ncurses packages 2013-06-13 15:13:12 +02:00
Ingo Weinhold c625c5fd36 <langinfo.h>/<select.h>: don't use C++ comments 2013-06-12 14:55:16 +02:00
Ingo Weinhold 7b6d45c942 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.
2013-06-11 19:41:16 +02:00
Ingo Weinhold a1832a0e83 <resolv.h>: Make self-contained 2013-06-11 15:23:18 +02:00
Ingo Weinhold beeaf379b1 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.
2013-06-08 00:55:12 +02:00
Ingo Weinhold 444b035d5d 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.
2013-06-08 00:20:24 +02:00
Ingo Weinhold c80c7982c8 boot packagefs: Fix zlib dependency declaration 2013-06-08 00:18:28 +02:00
Ingo Weinhold 3dadb47f21 boot loader tarfs: Declare dependency to zlib package 2013-06-08 00:04:45 +02:00
Siarzhuk Zharski 3b8f8e0caa 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
2013-06-07 23:39:57 +02:00
Ingo Weinhold 52a43b19ff 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.
2013-06-07 15:31:03 +02:00
Ingo Weinhold 69de9c6e3c 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.
2013-06-07 15:17:42 +02:00
Ingo Weinhold bc96e8f30c 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.
2013-06-07 02:27:48 +02:00
Ingo Weinhold 01176bd944 Add basic BUuid class
ATM it's only able to generate random UUIDs.
2013-06-07 02:03:16 +02:00
Ingo Weinhold 280b7cb63a 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.
2013-06-07 02:01:46 +02:00
Ingo Weinhold a266b57a9a ReaderImplBase: Handle new ...IS_WRITABLE_DIRECTORY attribute 2013-06-06 00:49:53 +02:00
Ingo Weinhold 4489c88b61 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.
2013-06-06 00:17:02 +02:00
Ingo Weinhold 8944824d1c rm_attrs: Fix for parameters with whitespace 2013-06-06 00:17:02 +02:00
Oliver Tappe 729c6333ad Runtime loader: rename compatibilitySubDir to abiSpecificSubDir. 2013-06-05 18:32:47 +02:00
Oliver Tappe 0050b4b452 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
2013-06-05 18:32:47 +02:00
Ingo Weinhold 9938009810 add_catalog_entry_attributes.sh: Remove optional directory 2013-06-05 00:18:38 +02:00
Ingo Weinhold a6e03f41d2 find_directory(): Fix B_{APPS,PREFERENCES}_DIRECTORY paths 2013-06-05 00:00:47 +02:00
Ingo Weinhold 48581f9891 FHaikuPackageGrist: Avoid potential package name clashes 2013-06-04 23:59:37 +02:00
Ingo Weinhold fa374ad4c3 Remove config.log files 2013-06-04 23:37:53 +02:00
Ingo Weinhold a532c57308 Remove /boot/{apps,preferences} symlinks
And adjust all remained occurrence in the tree accordingly (->
/boot/common/{apps,preferences}).
2013-06-04 23:36:46 +02:00
Oliver Tappe 872e7aa2a6 Rename haiku_cross_devel packages.
* haiku_cross_devel is now haiku_cross_devel_sysroot
* haiku_cross_devel_wrapper is now haiku_cross_devel
2013-06-04 22:37:59 +02:00
Oliver Tappe 25601cfaf7 Minor fix: extend copyright in all package infos to 2013. 2013-06-04 17:16:47 +02:00
Oliver Tappe c915f7bafa 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
2013-06-04 17:16:01 +02:00
Oliver Tappe eeddc9fd26 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
2013-06-04 14:25:34 +02:00
Oliver Tappe 02783d54bd 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
2013-06-04 00:27:00 +02:00
Oliver Tappe 59e2e2f3a7 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
2013-06-04 00:24:37 +02:00
Ingo Weinhold 6c36ad168e 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.
2013-06-02 19:11:39 +02:00
Ingo Weinhold f4953ba541 Installer: WorkerThread::EntryFilter: Use path map
... instead of implicit comparisons.
2013-06-02 16:30:58 +02:00
Ingo Weinhold ba6f7c8c42 Installer: CopyEngine: Pass relative path to EntryFilter
... instead of the file name.
2013-06-02 16:16:45 +02:00
Ingo Weinhold 348d9eac3b 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.
2013-06-02 15:44:35 +02:00
Ingo Weinhold e8eb6ae212 Installer: WorkerThread::_PerformInstall(): get rid of goto 2013-06-02 15:22:20 +02:00
Ingo Weinhold c2be967eb9 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.
2013-06-02 15:16:26 +02:00
Ingo Weinhold a601eaa9e1 Installer: Remove "/boot/var" directory check
The PM Haiku Installer doesn't need support installing ancient Haiku
versions.
2013-06-02 14:43:02 +02:00
Ingo Weinhold fb5f0bb1c7 Installer: Move path string constants to new InstallerDefs.h/cpp 2013-06-02 14:40:52 +02:00
Ingo Weinhold 28fd71c586 Installer: CopyEngine: Remove some debug/uncommented code 2013-06-01 22:18:53 +02:00
Ingo Weinhold b23d504796 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.
2013-06-01 04:04:25 +02:00
Ingo Weinhold 10e9f49914 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.
2013-06-01 03:58:11 +02:00
Ingo Weinhold d055934e36 QueryParser: Fix some debug macros 2013-06-01 02:40:08 +02:00
Ingo Weinhold 118028674c 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().
2013-06-01 00:32:07 +02:00
Ingo Weinhold fa962e6008 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.
2013-06-01 00:32:07 +02:00
Ingo Weinhold ba96552b6a 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.
2013-06-01 00:32:07 +02:00
Ingo Weinhold 7b2016c8af Update libsolv package 2013-05-30 23:51:30 +02:00
Oliver Tappe 7ea6bb1305 Add c++-libs to haiku_cross_devel.hpkg 2013-05-30 00:22:06 +02:00
Oliver Tappe 30c2352188 Adjust buildscript for gcc4 to configure with a sysroot. 2013-05-30 00:22:06 +02:00
Ingo Weinhold e63bdfec75 Rename post_install dir to post-install 2013-05-29 02:24:54 +02:00