EFI boot needs -fpic but all boot code was built with -fno-pic.
This is now set accordingly in HAIKU_BOOT_CCFLAGS and
HAIKU_BOOT_C++FLAGS.
Also setup compile flags for EFI platform.
* Only set HAIKU_BOOT_PLATFORM to bios_ia32 if not defined
* Add gnuefi build feature
* Introduce BOOT_LDFLAGS, and move options for passing to linker
into ArchitectureSetup
* x86_64 compile fixes for warnings in boot loader
* loader/elf.cpp: don't include ELF32 support when targeting EFI
* relocation_func.cpp: copy of the relocation code from gnuefi
to make _relocate extern "C", and avoid including <efilib.h>
* boot_loader_efi.ld: copy of gnuefi's elf_x86_64_efi.lds,
modified to include support for C++ constructors, etc. Keep in
sync with the gnuefi package
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Install this font to see all those icons WebPositive currently
fails to display e.g. at the discussion forum at
https://discuss.haiku-os.org
Thanks PulkoMandy for pointing this out!
TimeTracker lets you create tasks for your various projects and
shows them in a list. Via double-click on an entry you start/stop the timer
on that task, thus helping you keep track of how much time you spend doing
what.
A few weeks back, I spotted in the Musl FAQ that they apparently ship
empty libm.a and libpthread.a files (https://www.musl-libc.org/faq.html),
which they said was for POSIX compatibility. A bit of digging got me to
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html which
says:
> It is unspecified whether the libraries libc.a, libl.a, libm.a, libpthread.a,
> librt.a, [OB] [Option Start] libtrace.a, [Option End] libxnet.a, or liby.a
> exist as regular files. The implementation may accept as -l option-arguments
> names of objects that do not exist as regular files.
So to follow the letter of the law, we only need to have the "c99" command
accept these; however, it appears all Linux and BSD cstdlibs accept them
no matter what compliance mode is in effect.
Discussed with PulkoMandy. This will make HaikuPorts' job a lot easier...
The boot still crashes some time later, but at least it is easier to
test now.
- PackageFS included in the net boot archive
- Tell the system it is booted "from image" when netbooting
* I shrunk this down, but it seems like packages.haiku-os.org
is taking an long time to access some packages (>10 sec)
* This should help relability of package downloads until
someone checks out why connections take so long
Fixes#12710.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
I fixed the modifications to the Jamfiles in src/bin, they were all wrong
in the patch.
- Add subfolder src/kits/debugger which contains the debugger's core
functionality and lower layers. Correspondingly add headers/private/debugger
for shared headers to be used by clients such as the Debugger application
and eventual remote_debug_server. Adjust various files to account for
differences as a result of the split and moves.
- Add libdebugger.so to minimal Jamfile.
* Use BUrlProtocolRoster instead of BFileRequest.
* Removed HTTPMediaIO custom code that now inherits
BAdapterIO and make the whole thing more simple.
* It work with some formats (flv, mp3, mkv) but ffmpeg fail
on others (mp4, 3gp).
* GetSize needs improvements.
Changes:
* A new GUI that integrates Filer and AutoFiler settings.
* Change to the action names, rule settings have to be created anew.
* Some usability improvements like drag&drop support for AutoFiler folders and a
tooltip for actions in the rule editing window.
* Apply changed settings, rules and monitored folders live.
* Add a button to manually start/stop AutoFiler.
* Add a dropzone and make it replicatable.
* Add an option to stop matching rules after the first match was found (idea and
code by Pete Goodeve).
* Add user documentation.
Changed the Launcher URLs to the website's user guide and welcome
page instead of the trunk at http://cgit.haiku-os.org/, because
that'll only show the html source code.
Changed http to https in the bookmarks where possible.
Einsteinium provides smarter monitoring of applications and system services for
Haiku. It will restart applications and system services that quit or crash,
gather statistics on application usage and provide customizable ranked lists
of applications.
* The latter doesn't link against libroot.so, which lets the library init fail.
* Fix kernel_debugger crash in malloc().
* libsupc++.so will be deleted from gcc_syslibs package (the static libs will
stay however).
* Previous enablement broke gcc2 and hybrid builds
* gcc2 builds fixed and tested working now
* Fix Hybrid builds via missing MultiArch Jam
* Sorry for the noise, enjoy early Bluetooth support
Filer is an automatic file organizer. It takes the files it's opened with or
that are dropped on its icon and moves, renames, copies or does all sorts of
other things with them according to rules created by the user.
There was a typo in the PROVIDES of the recipe that left the package
un-installable. Thanks vidrep for reporting and Diver for spotting
the issue! Closes#12694.
So people aren't tempted to make .pkg files for x86_64/ARM/etc, and
because there should be no reason to have it there.
Discussed with PulkoMandy on IRC.
- As suggested by Ingo, add libshared.a to the architecture name map.
This allows it to be linked by its short name like other frequently
used libraries.
- Adjust all Jamfiles referencing the lib accordingly.
Additionally to more robust pasting to sprunge (now checks if the
service is operational) the required curl version is now the one
that's actually in the HaikuPorts repo, 7.45.0.
Clipdinger 0.5 depended on a newer version, which rendered it uninstallable
with only the default HaikuPorts repo.
There's a messaging issue that results in pasting to sprunge twice, which
I'm still investigating. Releasing now, as it's not a debilitating bug.
* update_package_requires uses the latest version available, so haiku package
would then require a version 5.x of libgcc.
* Be sure to check that gcc_syslibs is installed and not gcc5_syslibs.
New in v0.5:
* Added a feature to paste to the online service Sprunge.us
* Bug fix: A chosen favorite will now appear at the top of the clip list,
which always shows what's currently in the clipboard.
* Bug fix: Using the mouse instead of the cursor keys to switch list now
correctly shows the inactive list "dimmed".
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
This is a squash of the 42 commits by @mshlyn, as I couldn't find a
way to break them into logical chunks. I did not include these in the build,
as it appears that they only partially work anyway, and much more cleanup is
still needed. However, this is a huge improvement on what was in the tree
before, which looked horrendous and didn't even compile (as it was designed
for the old stack).
Mostly fixes#812.
* update gmp package for x86, gmp_x86 for x86_gcc2.
* update wget packages for x86 and x86_gcc2.
* update icu* packages for x86_gcc2 and x86.
* update libgpg_error* packages for x86_gcc2.
* Beware that installing these packages will replace gcc and syslibs. gcc5 packages
can be used to check that packages still build correctly with gcc5, simply being
places in haikuporter packages folder.
* libstdc++ is configured for "gcc4 compatibility", this means we could switch to
this version, while maintaining binary compatibility. However a switch to the new abi
will eventually require a full rebuild of packages depending on libstdc++. For this
to happen, the affected packages should be buildable with gcc5, which can easily be done
with the addition of these packages. Mainstream packages with up to date versions are
probably already buildable with gcc5, some aren't (ie boost). All haiku-* packages are
to be checked. I'll open a provisioning ticket to track the related activities.
- openssl: changed compat to 1.0.0 for the package itself as well
as the library provides.
- libqt4: rebuilt against latest openssl packages; dependency on
libssl/libcrypto is now 1.0.0, as it should be.
The build with a newer revision of the source turned out to keep crashing.
Reverting back to #51740 (which can't be built with the old recipe, so I
manipulated the dependencies in the .PackageInfo of the old package
manually...)
Tested with a 5MB image, seems to work.
There seems to be an issue with too long names though, or possibly names with spaces.
Also, technically it supports FAT12,16 and 32, so it should probably be renamed
in the interface.
Didn't check how to declare support for more than 1 partition types either.
* The dependency declarations were broken in previous versions, so all
packages depending on OpenSSL need to be rebuilt with the proper
dependency on the libs (1.0.0 and not 1.0.0r or similar).
* I have confirmed that this version works fine in a running Haiku
install (so the problems affecting the initial 1.0.1 port are fixed).
* OpensSL 1.0.2 can be used with a current ca_root_certificates package,
so also update that.
This depends on quite a nasty hack to generate those, namely using
inline assembly to generate a file with things that are not actually
assembly, which Clang therefore filters out.
This adds to the "unittests" target a dependency on the
"AppTestRunApp3a" (etc.) files meant to be copied as part of the
BApplication test suite so they are generated when "jam unittests" is
run.
* TestsRules: Add "UnitTestDependency" rule.
* testapps/Jamfile: Make unit tests depend on copied files.
Fixes#12441.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Having to upload the 650+ MiB source package with every new version is a drag.
People interested in the code can get it directly at
https://github.com/haiku/webkit/releases
* There is a small API change, and only the x86_gcc2 package was
updated. This means the x86 and x86_64 builds are broken until someone
updates the packages.
* Fix several small bugs, the most important one being that cookies are
written to disk again.
While the game is pure python and packaged for any architecture, the
engine (FIFE) is C++ with python binding via swig, making the game
only installable on x86 and x86_64. We'd need to provide a python_x86
to support secondary architecture python modules.
Solves #9322. Thanks to dsjonny for the original work, that I
slightly improved upon.
The Userguide and Welcome pages now load the page of the user's
system language.
Splitting the almost 70 MiB userguide package into one package per
language at ~4.5 MiB saves time and space when installing/updating.
At the online tool that manages the user guide pages, we have to
make changes to fall back to the online page if you try to switch
to a language you haven't installed locally. See #9322.
* The same mechanism (and the same PostInstallScript) is used for this.
* If a file first_login exists in ~/config/settings/boot, the first-login
scripts are launched, and the file removed.
* This fixes adding the deskbar tray icons even when there is no Deskbar
running yet (for example on first boot when the FirstBootPrompt
starts), or, IOW bug #12275.
Diver and others have worked on a number of recipes that are now added to the
haikuports repo:
smplayer_x86, smtube_x86, qutim_x86, vmware_addons, lnlauncher, album,
aspell, libgsasl, libbluray_x86, netpulse, clipdinger
Changes in v0.9.12:
* Make the "Window always on top" optional. Not everyone was pleased with
that change of v0.9.11...
* Also fix the formerly not usable file dialog when adding files/folders to
ignore. It was hidden behind the always-on-top window.
* Added Italian localization, thanks Barrett!
This can be used by scripts to do verious performance measurements.
Specifically it can be used to measure the boot time since it represents
the uptime.
The individual debug heap implementations are now exposed via a
structure of function pointers and a common frontend dispatches the
malloc and malloc_debug APIs through them.
The MALLOC_DEBUG environment variable can be used to select the guarded
heap by adding 'g', otherwise the debug heap is used as the default.
Consequently the separate libroot_guarded is not needed anymore and has
been removed.
To allow the use of environment variables this early, init_env_post_heap
has been added and the heap dependent atfork() moved there. This allowed
to fold the code of init_heap_post_env into init_heap so the former has
been removed.
* Add support for macports lib and headers dirs.
* Link libs change for Mac OS X for tool build.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
* This directory is for services that are launched per user (in a user
context), but installed globally.
* This is now used for the default "user" configuration; before this was
put into ~/config/non-packaged/data/launch, which didn't really fit,
and has the huge disadvantage that it cannot be updated.
* Fixes part of #12227.
* Instead of launching Tracker/Deskbar directly, we now launch the
Login application.
* This will now start a new session for the selected user (the password
is currently ignored).
* When a user session is started, the launch_daemon forks, and the
child then restarts the LaunchDaemon application in user mode.
* It then registers itself with its parent, in order to resolve user
dependent services.
* Added a user launch file that will cause Tracker, and Deskbar to
start in the new session.
* Added initializing /tmp & /var/shared_memory to the launch_daemon.
* Moved clockconfig.cpp code into the launch_daemon.
* This follows systemd design; since those jobs are fixed, it doesn't
matter where you maintain them.
* The init jobs are BJobs, but the JobQueue is only used for that
one use for now. At a later time, I intend to put the job launching
in there, as well. BJob allows to represent the dependencies already.
* This is actually working already, although we cannot reproduce all
the features of the former Bootscript yet. This is without any
dependency support in launch_daemon.
* All shell activity like cleaning out /tmp, setting up the environment,
setting the time, etc. is not yet working.
* This enables a mechanism to profile almost the complete boot process
(starting with main2()), if SYSTEM_PROFILER is defined to 1.
* You can access the profiling data using "profile -r".
gcc2 only for the time being, as the other plattforms either
don't build or the resulting binary doesn't launch.
x86: "runtime_loader: Cannot open file libnetwork.so: No such file or directory"
It also refuses to build with haikuporter's -S option:
"POLICY ERROR: can't find used library "libstdc++.r4.so"
x64: "bash: ./Pe: cannot execute binary file: Not an executable"
And the same policy error with -S as x86.
Anyone feel free to fix that... :)
* Drop lib/edit and matching bsd header
* Convert Debugger to libedit build package
* Should solve problems with libedit consumers
not defining _BSD_SOURCE
* Progress on #10267