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
Linux programs can find desktop theme icons. This eliminates the need
for x11-themes/linux*-hicolor-icon-theme.
- Rename pkg-plist.x86_64 to pkg-plist.amd64.
- Regenerate all pkg-plist files.
- Add @preexec to linux_base pkg-plist that moves existing files in bin,
lib, lib64, sbin and icons to the new destination before the directories
are turned into symbolic links.
- Remove several empty directories from linux_base ports.
- Sweep over all linux ports: use consistent style, remove old CONFLICTS,
remove unused pkg-descr files, add NLS option,...
- Remove old linux arts, esound and openssl-compat ports.
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
/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)
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.
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
- 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.
- 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
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
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)
- 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
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.
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)
- 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)
- replace two i686 distfiles in SRC_DISTFILES with their src.rpm counterpart
Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com>
Approved by: swills (mentor)
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
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
Additionally, please add the following line to /etc/sysctl.conf:
compat.linux.osrelease=2.6.18
Upgrading procedures are shown in /usr/ports/UPDATING.
This work has been inspired by Artyom Mirgorodskiy's post to emulation@ in
November 2013, using and extending mav@'s work. It has been tested extensively
and most reported issues were already fixed. Please report any additional bug
or "features" to the emulation mailing list.
Many thanks to: mav@, rene@, allanjude@, netchild@, antoine@, everyone who's
filed Issues and Pull requests on GitHub,
PR: 186820
Differential Revision: https://reviews.freebsd.org/D793
Reviewed by: allanjude, antoine, bapt, rene
Approved by: portmgr (antoine, bapt)
Approved by: koobs (mentor)
Sponsored by: Perceivon Hosting Inc.
- 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>
- 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.
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