in any order:
- add the X11 lib path to ld.so.conf in the linux base port
- (re)generate the ld.so.cache file in the linux base port too
- don't change the ld.so.conf in the linux X11 port
At deinstall time the linux base port may still complain about a changed
ld.so.cache file. A clean way to solve this would be to use ("@unexec" and
"@exec") in the plist. Since the plist is autogenerated this would need
some little magic in the plist generation or we have to switch to a static
plist. Delay the decission about how to handle this until we know when/how
to update to a more recent linux base port.
little bit and allows to proceed to a more recent linux_base from
a stable (read as: the major bugs should be ironed out or identified
and most linux ports build just fine) source.
It also allows to ship 4.11 with a working linuxolator (the EOLed
linux_base is marked forbidden because of a security hole).
This is a major update, please read UPDATING (and CHANGES if you
develop linux ports).
Changes:
- change the default linux_base from v7 to v8
- add a newer freetype to linux_base-8 for nicer fonts display [1]
- don't let cpio use hardlinks in the linux_base-8 port to quiet some
warnings in some cases [2]
- fix a cut&past error in the linux_base-8 pkg-install script [3]
- convert the binary knob "USE_LINUX" to a version specifier, e.g.
USE_LINUX=<value> specifies a dependency upon
emulators/linux_base-<value>, exceptions are a value of "7" (which
does what you want and adds a dependency to linux_base) and any
value without a corresponding port in
PORTSDIR/emulators/linux_base-<value> (which adds a dependency to
the default linux_base)
- don't implicitly add USE_LINUX with the USE_LINUX_PREFIX knob,
this allows us to use the USE_LINUX_PREFIX knob for linux_base and
paves the way for splitting up future linux base ports into
individual pieces
- remove RESTRICTED from some GPL licensed ports, even when we only
distribute binaries, we get them from official linux sites, so
anyone can grab them there if he needs to
- add a dependency upon the linux X11 bits where necessary (based upon
guesswork)
- don't use USE_X_PREFIX in some linux ports since it adds a dependency
to the FreeBSD X11 libs, as a workaround use PREFIX?= (the clean
solution would be to remove the implicit USE_XLIB from USE_X_PREFIX)
- bump the portrevision of the linux ports ("better safe than sorry"
algorithm)
- pass maintainership of the important linux infrastructure to a
mailinglist, hijack freebsd-emulation@ for this purpose (if somebody
doesn't like this: tell us your bikeshed color at freebsd-emulation@,
my color would be "linuxolator@" in case someone cares...)
- add a pkg-install script for linux-fontconfig, but don't use it;
everything should work without it (the FreeBSD fc-cache program should
do all the work), but in case we need it we just need to decomment the
pkg-install part in the Makefile
- fix some dependencies
- fix some bugs
- add some static plists
- unbreak the ports with dependecies to more than one linux_base
This also fixes some ports which are marked BROKEN because of dependencies
to v7 and v8 of linux_base at the same time.
Known bugs:
- the linux-mesa and linux-devtools ports install libGL*.so symlinks
- some "minor" plist bugs (e.g. ld.so.{conf,cache} are modified by
the linux X11 port, so linx_Base-8 moans at deinstall time)
Future work (interested souls should coordinate with freebsd-emulation@):
- add some kind of USE_LINUX_X11 knob to streamline the X11 dependencies,
or modify the behavior of USE_XLIB in the USE_LINUX case
AFAIK trevor has some patches.
- make USE_XLIB and USE_X_PREFIX orthogonal to be able to get rid of
the PREFIX?= workaround in some linux ports
Should be discussed/coordinated on/with x11@.
- move the RPM bits from x11-toolkits/linux-gtk/Makefile to PORTSDIR/Mk/
- update to a more recent linux base
PR: 69997, 70539 (and maybe others)
Discussed with/on: java@, x11@, trevor, portmgr
Tested by: mezz, portmgr, pointyhat
RPM hunted down by: Joseph Gelinas <scirocco@tasam.com> [1]
Requested by: portmgr [2]
Submitted by: kris [3]
Approved by: portmgr
I think it's a bug that linux_base thinks it conflicts with itself.
--petef
The problem occurs if you do
make install; make install FORCE_PKG_REGISTER=yes
which is somewhat supported, although [seldom] (never?) used.
--eik
Also record conflicts with cle_base.
that states that the software is based in part of [sic] the
work of the FreeType Team, in the distribution documentation.
We also encourage you to put an URL to the FreeType web
page in your documentation, though this isn't mandatory.
-- <URL:http://cvs.freetype.org/cgi-bin/viewcvs.cgi/~checkout~/freetype2/docs/
FTL.txt?rev=1.7>
by programs such as mv (used in installation); remove librpm404 and
rpm404-python which are unused. Make rpm an EXTRACT_DEPENDS rather
than BUILD_DEPENDS, based on Phil Pennock's suggestion for the
sgifonts port.
Submitted by: Frank Reppin (adding libattr and libacl)
Installation of linux_base-7.1_2 fails when linprocfs is
mounted. Unmounting linprocfs before installing works
around the issue.
At Lars' suggestion, this script also mounts the linprocfs after
installation. I assume that if the user has a linprocfs entry in
/etc/fstab, the user wants it to be mounted. It also seemed like
a good idea to un-mount it before de-installation.
PR: 46172
The function gzprintf within zlib, when called with a string
longer than Z_PRINTF_BUFZISE (= 4096 bytes), can overflow
without giving a warning. zlib-1.1.4 and earlier exhibit
this behavior. There are no known exploits of the gzprintf
overrun, and only a few programs, including rpm2html and
gimp-print, are known to use the gzprintf function. The
problem has been fixed by checking the length of the output
string within gzprintf.
--<URL:http://rhn.redhat.com/errata/RHSA-2003-079.html>
package. libstdc++-2.96 is a core package that is referenced by many
linux_base applications such as linux-eagle. For instance, linux-eagle
doesn't work with linux_base-7.1_3.
Despite the importance, libstdc++-2.96 has been forgotten to be extracted
since 6 months. (Actually, the RPM package is listed in the Makefile,
but was badly defined so that no extraction was performed.)
Since linux_base is an important package, I hesitated to commit this
correction (for a long time :). If there is any incovenience in the
way of package definition, please feel free to correct my change.
remotely exploitable RPC bug (Red Hat advisory RHSA-2003-089 and
CERT advisory CA-2003-10).
According to <URL:http://www.redhat.com/apps/support/errata/>, "all
errata support for Alpha products, Sparc products, and Powertools
products have reached end of life."
I didn't do proper run-time testing of this, but "make package
deinstall" leaves a clean /compat/linux/ behind.
different MD5 hash from the corresponding package from 7.1/i386.
The contained etc/redhat-release files have the same contents but
different time stamps. By having both hashes in both distinfo
files, installation can proceed for users who share the same distfile
cache for both architectures.
list by bsd.port.mk insert anti foot-shooting device, which prevents
infinite fork loop when the user defines corresponding USE_XXX in global
make.conf, command line or environment.
Similar devices should probably be inserted into ports that might be inserted
into dependency list by others bsd.foo.mk files (bsd.ruby.mk, bsd.python.mk
and so on.)