This port contains packages from a near-minimal installation of CentOS 6
Linux. These packages, in conjunction with the Linux kernel module,
form the basis of the Linux compatibility environment. It is designed to
provide a nice user experience by using the FreeBSD configuration for
corresponding Linux stuff where possible. Because of this any work which
needs to chroot into the Linux base may not work as expected (no fallthrough
to the FreeBSD config possible).
===> The following configuration options are available for linux_base-c6-6.10_2:
DOCS=on: Build and/or install documentation
NLS=on: Native Language Support
===> Use 'make config' to modify these settings
Some programs need linprocfs mounted on /compat/linux/proc. Add the
following line to /etc/fstab:
linprocfs /compat/linux/proc linprocfs rw 0 0
Then run "mount /compat/linux/proc".
Some programs need tmpfs mounted on /compat/linux/dev/shm. Add the
following line to /etc/fstab:
tmpfs /compat/linux/dev/shm tmpfs rw,mode=1777 0 0
Then run "mount /compat/linux/dev/shm".
On amd64 adding DEFAULT_VERSIONS+=linux=c6 to /etc/make.conf made Linux
infrastructure ports (linux_base-c6 and linux-c6*) install i386 CentOS 6
packages. Using c6_64 instead of c6 made them install mixed amd64/i386
CentOS 6 packages and allowed Linux application ports to install amd64
binaries when available. The i386-only configuration was only useful for
users of x11/nvidia-driver* which didn't provide Linux amd64 emulation
until recently.
With x11/nvidia-driver* now supporting Linux amd64 there's no longer a
need for i386-only Linux on amd64. Let DEFAULT_VERSIONS+=linux=c6 make
Linux infrastructure ports install mixed amd64/i386 CentOS 6 packages,
like c6_64 before, and remove support for c6_64 as a value.
Replace LINUX_ARCH with ARCH everywhere because they are always the same
now.
Address some portlint warnings in the Linux infrastructure ports.
Eliminate LINUXNAME from port Makefiles. This was just a helper variable
without special meaning outside port Makefiles but several developers have
copied it to new ports where it was then unused, apparently thinking that
it did have some special meaning.
Remove compatibility code for FreeBSD < 11.2 from all ports.
Simplify some ports where DragonFlyBSD no longer needs to be special-cased.
Submitted by: rene
Reviewed by: bapt, jbeich
Differential Revision: https://reviews.freebsd.org/D17724
- Update security/linux-c6-nss to 3.28.4-3.el6_9. [1]
- Move nss-softokn-freebl to linux_base-c6 because it is needed by
libcrypt.so (part of glibc).
PR: 220146 [1]
Submitted by: Piotr Kubaj <pkubaj@anongoth.pl> [1]
- Autodetect the installed linux_base port and use LINUX_DEFAULT only as
a last resort.
- Construct a list of DISTFILES for every architecture (amd64, i386).
Select one list for regular make and all lists for make makesum so linux
ports can have one combined distinfo file.
- Set DIST_SUBDIR?=centos so there's only one copy of common distfiles.
- Use MASTER_SITES and DISTFILES groups so make fetch is a bit smarter.
- Regenerate all distinfo files.
- For linux_base-c6 (just like linux_base-c7 already does) turn bin, lib,
lib64 and sbin into symbolic links to the same directory under usr.
This fixes the problem where some programs/libraries exist under / on
FreeBSD and /usr on Linux or vice versa and then depending on the order
of search paths Linux programs may run/load FreeBSD programs/libraries
and fail.
- Turn usr/share/icons into a symbolic link to LOCALBASE/share/icons so
(Only the first 15 lines of the commit message are shown above )
Don't use @dir for directories that may have filesystems mounted. It may
not be possible to change their mode and timestamp like @dir tries to do.
PR: 215769
MFH: 2017Q1
Fix modes for /compat/linux/proc
When linprocfs is mounted the mode set to /compat/linux/proc is set to 555
while the package said 755 meaning pkg will try to change it 755 and fail
preventing upgrade or installation of the package because linprocfs does not
support changing attributes.
Enforce it to 555 to prevent that situation
Since base r283461 /compat/linux/dev/shm must point to a tmpfs. Make
/compat/linux/dev/shm a plain directory instead of a link to /tmp so we
don't force users to mount tmpfs on /tmp. This also makes /dev/shm a
separate namespace from /tmp.
PR: 207769
- Replace Mk/bsd.linux-apps.mk and Mk/bsd.linux-rpm.mk with
Mk/Uses/linux.mk.
- Replace USE_LINUX=yes with USES+=linux and USE_LINUX=(.*) with
USES+=linux:\1 in all ports.
- Replace USE_LINUX_APPS with USE_LINUX in all ports.
- Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install scripts in some
ports.
- When USE_LINUX_RPM is defined, simplify the way DISTFILES and EXTRACT_ONLY
are defined.
- Remove BRANDELF_DIRS and BRANDELF_FILES handling. In the very rare cases
that it is still necessary ports can run ${BRANDELF} from post-patch.
- Remove AUTOMATIC_PLIST handling. Only one port used it.
- Fix Linux MASTER_SITES.
- Replace OVERRIDE_LINUX_BASE_PORT and OVERRIDE_LINUX_NONBASE_PORTS with
default versions framework.
(Only the first 15 lines of the commit message are shown above )
Use LINUX_REPO_ARCH instead of LINUX_RPM_ARCH when setting DISTINFO_FILE
and PLIST for Linux ports. LINUX_RPM_ARCH is the CPU targetted by a
package and LINUX_REPO_ARCH is like our ARCH which is more suitable. This
only affects Centos 6 ports because they are the only ones where
LINUX_REPO_ARCH != LINUX_RPM_ARCH.
Do not try to load the linux* modules from the pre install scripts
It will always fail when jailed, it is also inaccurate given we now have
linux and linux64 modules. There is alrady a test before that via checking
compat.linux.* which is good enough to determien if linux emulation is supported
Update glibc and glibc-common to latest version
PR: 207272
Submitted by: Johannes Jost Meixner <johannes@meixner.dk>
MFH: 2016Q1
Security: CVE-2015-7547
Welcome Centos 6.7
- Upgrade all linux-c6- to CentOS 6.7
- Cleanups
PR: 205846
Submitted by: xmj
In Collaboration with: allanjude, netchild, xmj
Exp-run: antoine
Sponsored by: Perceivon Hosting Inc.
Differential Revision: D3428
We'd like to thanks for all the feedback and comments.
Fix ports that confused the meaning of WRKDIR and WRKSRC.
PR: 204056
Submitted by: mat
Reviewed by: bapt
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D2735
emulators/linux_base-c6: fix unfetchable distfiles
- After Centos 6.6 was deprecated, the MASTER_SITE_SUBDIR was pointing to no
longer
existing location. This change gets that fixed, allowing the port to build
again.
Submitted by: Pawel Biernacki <pawel.biernacki@gmail.com>
MFH: 2015Q4
Remove UNIQUENAME and LATEST_LINK.
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.
Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.
Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)
Reviewed by: antoine, bapt
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3336
Re-commit of
64 bit linuxulator support (not activated by default):
- most of the work was done by Alan Jude
- all errors are mine
- 64bit (may) have rough edges
- I validated
* that the 32bit part doesn't has deinstall regressions (incl. EXP runs by
antoine)
* 29 of 72 64bit ports ports don't have deinstall leftovers (more validation
later, when I dare to activate the 64bit linuxulator in the kernel)
- the infrastructure part looks mature enough to let more test-bunnies get
some experience with the new 64 bit parts
- to use it you shall have no linux ports installed and have to specify
(on your own risk) the following in make.conf before installing the ports:
OVERRIDE_LINUX_BASE_PORT=c6_64
(Only the first 15 lines of the commit message are shown above )
64 bit linuxulator support (not activated by default):
- most of the work was done by Alan Jude
- all errors are mine
- 64bit (may) have rough edges
- I validated
* that the 32bit part doesn't has deinstall regressions
* 29 of 72 64bit ports ports don't have deinstall leftovers (more validation
later, when I dare to activate the 64bit linuxulator in the kernel)
- the infrastructure part looks mature enough to let more test-bunnies get
some experience with it
- to use it you shall have no linux ports installed and have to specify
(on your own risk) the following in make.conf before installing the ports:
OVERRIDE_LINUX_BASE_PORT=c6_64
OVERRIDE_LINUX_NONBASE_PORTS=c6_64
(Only the first 15 lines of the commit message are shown above )
- White space fixes
- Like r315899 did for linux_base-f10, add some symlinks to linux_base-c6
for executables that exist in /usr/bin on Linux but /bin on FreeBSD.
This guarantees that Linux shell scripts run the Linux executables and
not the FreeBSD ones.
PR: 197406
Set CentOS 6.6 as default Linux version.
Since CentOS 6.5 landed in the portstree and was updated to CentOS 6.6 and we've
fixed the remaining issues, it's time to replace Fedora 10 as Linux default --
given that in the past five years it has done its service and has long since
gone EOL upstream.
The CentOS 6 series will go End of Life in 2020, this should give us some time
to keep its annual releases up to date.
If you have not switched to using CentOS 6.6 ports, please refer to today's
UPDATING entry -- it contains detailed instructions.
If you have already switched to CentOS 6.6 userland,
you can now remove the following two lines from make.conf:
(Only the first 15 lines of the commit message are shown above )
Force PREFIX to LINUXBASE
Using pkg with linux packages will generate conflicts with non-linux ports if
PREFIX is set in make.conf. If USE_LINUX_PREFIX is defined, force PREFIX to
LINUXBASE, which can be overridden separately.
Differential Revision: https://reviews.freebsd.org/D1265
Approved by: koobs, swills (mentors)
linux_base-f10/c6: add missing gmp
- expr(1) and factor(1) currently shipped with linux emulation fail, due to
missing gmp libraries. Add these to allow the correct behavior
- Bump PORTREVISIONs
PR: 195084
Differential Revision: https://reviews.freebsd.org/D1252
Submitted by: Jan Beich <jbeich@vfemail.net>
Approved by: swills (mentor)
emulators/linux_base-c6: distfiles cleanup
- replace two i686 distfiles in SRC_DISTFILES with their src.rpm counterpart
Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com>
Approved by: swills (mentor)
emulators/linux_base-c6: Use a CVE-free version of bash
Bash 4.1.2 as shipped with this Linux base port is vulnerable to
CVE-2014-6271 and CVE-2014-7169. As EL6 policy is to backport security
patches, use a RPM that is not vulnerable to either remote code execution
vulnerability.
While here:
- Add the proper UDPATES Master site
- remove sample files installation from Makefile, in favor of @sample
Approved by: swills (mentor)
Security: 71ad81da-4414-11e4-a33e-3c970e169bc2
Update CentOS base to 6.5, add userland ports
The Fedora 10 infrastructure ports have been in use since June 2009 and, while
having served a great deed, have become unsupported upstream and hence affected
by unfixed security vulnerabilities. In addition to that, many recent Linux
binaries need newer libc / stdlibc++ versions.
This commit adds the linux-c6- userland as drop-in replacement for the -f10
infrastructure, as well as upgrading the linux_base-c6 port to CentOS 6.5.
If you want to switch to linux-c6 ports, please define at /etc/make.conf:
OVERRIDE_LINUX_BASE_PORT=c6
OVERRIDE_LINUX_NONBASE_PORTS=c6
(Only the first 15 lines of the commit message are shown above )
Add libuuid:
- f10 had it
- this fixes at least the flashplugin with this linux_base
Fix comment.
PR: 186118
Submitted by: Nikolai Lifanov <lifanov@mail.lifanov.com>
- Add staging support
- Properly handle yp.conf and krb5.conf
- Remove some assignments with default values
Note that staging warns about etc/*shadow not being readable, because their
permissions are 0.
- Finish removal of support for Linux 2.4 in bsd.linux-apps.mk and
bsd.linux-rpm.mk. The default linux version is now Fedora 10.
- Remove now obsolete checks for Linux 2.4 in emulators/linux_base-c6,
emulators/linux_base-f10, and emulators/linux_dist-gentoo-stage3.
While there, remove superfluous -p argument from ${MKDIR}.
- Remove now obsolete check for Linux 2.4 or FreeBSD 6 and lower from
astro/google-earth.
- Remove expired Fedora Core 4 ports which were only used on FreeBSD 7
and below.
- Update LEGAL and MOVED
PR: ports/176877
Submitted by: myself
Approved by: portmgr (bapt)
Exp-run by: bapt
After repocopy (by marcus@) from linux_base-f10:
Add linux_base-c6 port. This is a linux_base port based upon CentOS 6.
CentOS 6 is supported upstream (so far) until November 30, 2020.
Compared to the port as submitted in the PR, I added most SRC_DISTFILES
and set the maintainer to emulation@ (discussed with the submitter).
Not connected to the ports collection (emulation/Makefile) yet, first I want
to find the missing src RPMs (compat-*, stdc++, ...). The port is committed
anyway, so that people can help with the TODO list (in the Makefile).
WARNING: it is highly experimental to use this port instead of the default
linux_base port. You need to set compat.linux.osrelease to 2.6.18, so watch
out for unimplemented syscalls (most recent 8-stable / 9-stable or -current
is recommended for this).
Submitted by: Svyatoslav Lempert <svyatoslav.lempert@gmail.com>
PR: 165900