/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
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.
- bsd.port.mk:
- Move Linux related bits to Uses/linux.mk, except USE_LINUX_PREFIX.
- Put USE_LINUX_PREFIX handling after USES processing.
- Define DOCSDIR, DATADIR, etc. after handling USE_LINUX_PREFIX so it can
give these variables a different default value.
- When a package needs to run Linux ldconfig check before installation if
Linux support is enabled.
- emulators/linux_base-*:
- Use USES=linux and remove duplication.
- Remove files/lp. FreeBSD or CUPS lp(1) should work.
- Remove files/yp.conf. No longer seems to be used.
- Remove pkg-deinstall and move pkg-install into pkg-plist.
- Update pkg-descr and pkg-message.
- Fix handling of ldconfig cache in pkg-plist.
- devel/fb-adb: Use a Linux shell to run a Linux script but patch the script
to use FreeBSD mkdir so mkdir -p $path creates $path and not
/compat/linux/$path.
PR: 211645
Exp-run by: antoine
Approved by: portmgr (antoine)
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
OVERRIDE_LINUX_NONBASE_PORTS=c6_64
This is on top of the exiting c6 linux ports. Given that CentOS 7 is 64bits
only, we decided to have it as an "overlay" instead of new ports.
The 64bit part only installs 64bit executables, the 32bit ports can not be
installed at the same time (if needed we can think of letting the 64bit
overlay install the 32bit parts too, but given the CentOS 7 comment
above...).
Differential Revision: https://reviews.freebsd.org/D174
Submitted by: alanjude
Sponsored by: Essen FreeBSD Hackathon 2015
Reviewed by: xmj, eadler (earlier versions)
Approved by: portmgr (antoine after some EXP-runs)
- 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
This is on top of the exiting c6 linux ports. Given that CentOS 7 is 64bits
only, we decided to have it as an "overlay" instead of new ports.
The 64bit part only installs 64bit executables, the 32bit ports can not be
installed at the same time (if needed we can think of letting the 64bit
overlay install the 32bit parts too, but given the CentOS 7 comment
above...).
Differential Revision: https://reviews.freebsd.org/D174
Submitted by: alanjude
Sponsored by: Essen FreeBSD Hackathon 2015
Reviewed by: xmj, eadler (earlier versions)
Approved by: portmgr (implicit, I remember blanked approval for
linux parts loooong ago, punish me if you don't
agree anymore)
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:
OVERRIDE_LINUX_BASE_PORT=c6
OVERRIDE_LINUX_NONBASE_PORTS=c6
If you encounter any difficulties, please follow the UPDATING entry from
20140922 but skip step 2. In case these steps do not fix the issues,
please submit an issue report in Bugzilla and send an email to FreeBSD's
emulation mailing list.
Differential Revision: https://reviews.freebsd.org/D1145
Reviewed by: wblock, bcr (doc), rene (emulation)
Approved by: swills (mentor)
Approved by: portmgr (swills)
Sponsored by: Perceivon Hosting Inc.
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
. add comments and warnings about problems with chroot into the linux base; [1]
. delete a note about linux port for alpha; [1]
. add an advice to use linux_dist ports for cross-development; [1]
. fix the link linux-XFree86-libs -> linux-xorg-libs.
Submitted by: netchild (at freebsd-emulation@) [1]
the current linux_base-8 port).
You should only switch to this port if you know what you are doing.
You may or may not have problems with installing other linux related
ports after switching to it. Success or failure reports welcome.
To switch:
- echo "OVERRIDE_LINUX_BASE_PORT=fc3" >> /etc/make.conf
- portupgrade -fo emulators/linux_base-fc3 linux_base-8
News and changes (from submitter with some small changes by me):
- based on linux_base-8 port;
- don't use linux rpm binary to install. The whole source tree is
created at ${WRKDIR} and then installed (using cpio);
- removes some files and directories (etc/passwd, etc/group,
usr/local, ...) to ensure using FreeBSD original files;
- introduces etc/nsswitch.conf.dist and etc/yp.conf.sample files,
uses correct install/deinstall behaviour with etc/nsswitch.conf
and etc/yp.conf files;
- doesn't do [u]mounting while install/deinstall process.
Thus it is possible to use jails while building packages.
But since linprocfs is not automounted, special measures should be
taken at package building for those ports which need a mounted
linprocfs (i.e. for linux JDK building);
- uses linux ldconfig in the pkg-install file (as opposed to using in
the Makefile). It is needed when upgrading (i.e. when other linux
libraries are present in the system) and when installing by packages.
Submitted by: Boris Samorodov <bsam@ipt.ru> (some small changes by me)