Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

some patches for building on Debian/kFreeBSD and FreeBSD [CORE2825] #3212

Closed
firebird-automations opened this issue Jan 23, 2010 · 17 comments
Closed

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Damyan Ivanov (dam)

Attachments:
freebsd-mutex-sysv.patch
optional_posix_fadv.patch
install_freebsd_as_linux.patch
freebsd_targets.patch
install_freebsd_as_linux.patch

I had to apply the following patches in order to make Firebird 2.5 RC1. Some are specific for the Debian/kFreeBSD architecture (that is GNU userland plus Debian package management over FreeBSD kernel), others are relevant for plain FreeBSD too.

freebsd-mutex-sysv.patch - makes mutex code use SYSV semaphores for mutexes on FreeBSD (same as DARWIN)

optional_posix_fadv.patch: use advisory posix features only when available. apparently the POSIX_FADV_* constants are not available on Debian/kFreeBSD

install_freebsd_as_linux.patch: use linux install makefile on k*BSD; the 'normal' freebsd install makefile misses the image/tar building targets

freebsd_targets.patch: fixes Makefile targets on FreeBSD. The current prefix file misses the fbsvcmgr and fbtracemgr targets

Commits: 49a4e3f 65a7c56 97b210a

@firebird-automations
Copy link
Collaborator Author

Commented by: Damyan Ivanov (dam)

The FreeBSD kernel does not support process-shared mutexes. This match makes firebird use System V semaphores instead, similarly to Darwin (which is based on FreeBSD)

@firebird-automations
Copy link
Collaborator Author

Modified by: Damyan Ivanov (dam)

Attachment: freebsd-mutex-sysv.patch [ 11550 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Damyan Ivanov (dam)

nbackup uses advisoru file fcntl in order to hint the OS in order to optimize the file access for sequential, one time reading. unfortunately the POSIX_FADV_* defines are not presend on Debian/kFreeBSD even of the function itself is present.

This patch makes advisory fcntl usage dependent on prresence of the respective POSIX_FADV_* defines.

@firebird-automations
Copy link
Collaborator Author

Modified by: Damyan Ivanov (dam)

Attachment: optional_posix_fadv.patch [ 11551 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Damyan Ivanov (dam)

FreeBSD's install makefile follows a different route than the Linux one and does not provide image/tar building targets.

This is a problem for the Debian/kFreeBSD package, because there is no way to create an isolated "install" .

Unfortunately I have no access to a "pure" FreeBSD so I can't say whether the patch is appropriate there.

@firebird-automations
Copy link
Collaborator Author

Modified by: Damyan Ivanov (dam)

Attachment: install_freebsd_as_linux.patch [ 11552 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Damyan Ivanov (dam)

add the missing fbsvcmgr and fbtracemgr targets to the freebsd prefix file.

@firebird-automations
Copy link
Collaborator Author

Modified by: Damyan Ivanov (dam)

Attachment: freebsd_targets.patch [ 11553 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

assignee: Alexander Peshkov [ alexpeshkoff ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Damyan Ivanov (dam)

The previous version of install_freebsd_as_linux.patch didn't work as expected on kfreebsd-amd64

@firebird-automations
Copy link
Collaborator Author

Modified by: Damyan Ivanov (dam)

Attachment: install_freebsd_as_linux.patch [ 11554 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

Fix Version: 2.5.0 [ 10221 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0 Alpha 1 [ 10331 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Fix Version: 2.5 RC3 [ 10381 ]

Fix Version: 2.5.0 [ 10221 ] =>

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

QA Status: No test

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test => Cannot be tested

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment