Fink:Policy:system-openssl

From the Fink Wiki
Revision as of 04:23, 15 October 2015 by Nieder (talk | contribs) (fixed packages)
Jump to: navigation, search


Linking Against the System OpenSSL

There is a package in Fink called system-openssl-dev that exists to make it easier to link software against Apple's provided OpenSSL (why?). It creates symlinks in prefix/lib/system-openssl that you can use to override the flags of existing software.

In some cases, you will have to patch your package to point to the system-openssl directory, but most likely, all you will have to do to use system-openssl-dev is to set one or more of the following:

 CPPFLAGS:        -I%p/lib/system-openssl/include
 CFLAGS:          -I%p/lib/system-openssl/include
 CXXFLAGS:        -I%p/lib/system-openssl/include
 
 LDFLAGS:         -L%p/lib/system-openssl/lib
 LIBS:            -L%p/lib/system-openssl/lib
 
 PKG_CONFIG_PATH: %p/lib/system-openssl/lib/pkgconfig

Creating Upgrade Packages

Since the goal is to create packages using OpenSSL that don't have to be in the crypto/ tree, you will probably want to make upgrade packages for the old versions of your SSL packages. If you have a set of packages such as foo and foo-ssl both of which have splitoffs, you will have conflict/upgrade issues if you just make a new foo-ssl dummy package that depends on foo. Instead, the recommended practice is to create a foo-unified package.

Example: Before Unification

foo.info:

 Package: foo
 Depends: %N-shlibs
 Conflicts: foo-ssl
 SplitOff: <<
   Package: %N-shlibs
   Conflicts: foo-ssl-shlibs
 <<

foo-ssl.info:

 Package: foo-ssl
 Depends: %N-shlibs
 Conflicts: foo
 SplitOff: <<
   Package: %N-shlibs
   Conflicts: foo-shlibs
 <<

Example: After Unification

foo-unified.info:

 Package: foo-unified
 Depends: %N-shlibs
 Replaces: foo (<< %v-%r), foo-ssl (<< %v-%r)
 SplitOff: <<
   Package: %N-shlibs
   Replaces: foo-shlibs (<< %v-%r), foo-ssl (<< %v-%r)
 <<
 SplitOff2: <<
   Package: foo
   Depends: %N (= %v-%r)
 <<
 SplitOff3: <<
   Package: foo-shlibs
   Depends: %N-shlibs (= %v-%r)
 <<
 SplitOff4: <<
   Package: foo-ssl
   Depends: %N (= %v-%r)
 <<
 SplitOff5: <<
   Package: foo-ssl-shlibs
   Depends: %N-shlibs (= %v-%r)
 <<

Deprecation of system-openssl-dev

OS X 10.11 has deprecated the use of a system provided OpenSSL library. While /usr/lib/libcrypto.0.9.8.dylibs and /usr/lib/libssl.0.9.8.dylib were not removed, Apple removed the OpenSSL headers in /usr/include/openssl. Therefore, it is no longer possible to compile programs that use the system OpenSSL on OS X 10.11. As a result, the system-openssl-dev package is marked as available only on 10.10 and earlier. In order to accommodate this change, packages will need to transition to use Fink's OpenSSL (openssl100-dev/openssl100-shlibs as of Oct 2015) or some other SSL provider (such as GnuTLS). Because binaries of (L)GPL packages that link to OpenSSL can not be distributed, a new value for the License: field has been proposed. This field will allow maintainers to mark their package with the original license, but also note that it links to OpenSSL and therefore keep it out of the binary distribution.

The following table is a list of packages as of October 13, 2015 that use system-openssl-dev and need to be updated.

Package License Maintainer
akonadi-mac LGPL Hanspeter Niederstrasser
ark4-mac GPL Hanspeter Niederstrasser
arora GPL Jack Fink
arora-mac GPL Jack Fink
baloo-mac GPL Hanspeter Niederstrasser
baz LGPL None
blinken4-mac GPL Hanspeter Niederstrasser
bomber4-mac GPL/LGPL Hanspeter Niederstrasser
bovo4-mac GPL/LGPL Hanspeter Niederstrasser
cantor4-mac GPL Hanspeter Niederstrasser
cervisia4-mac GPL/LGPL Hanspeter Niederstrasser
claws-mail GPL Hanspeter Niederstrasser
crypt-openssl-bignum-pm* GPL Keith Ward
crypt-openssl-random-pm* GPL Keith Ward
crypt-openssl-rsa-pm* GPL Keith Ward
crypt-ssleay-pm* Artistic Daniel Macks
cyrus-sasl2 OSI-Approved Daniel Johnson
dragonplayer4-mac GPL Hanspeter Niederstrasser
elinks GPL Daniel Macks
ffmpegthumbs4-mac GPL Hanspeter Niederstrasser
filelight-kde4-mac GPL Hanspeter Niederstrasser
fossil BSD Daniel Johnson
fraqtive GPL Jack Fink
gconf2 GPL/LGPL The Gnome Core Team
gnome-vfs2-unified GPL/LGPL The Gnome Core Team
gnucash2 GPL Dave Reiser
gnupg-unified GPL Benjamin Reed
gnupg2 GPL Brendan Cully
granatier4-mac GPL/LGPL Hanspeter Niederstrasser
gst-plugins-bad-0.10 Restrictive Benjamin Reed
gwenhywfar60 LGPL Dave Reiser
gwenview4-mac GPL Hanspeter Niederstrasser
irsii GPL Daniel Macks
isync GPL Brendan Cully
jpilot GPL Alexander Hansen
juk4-mac GPL Hanspeter Niederstrasser
kactivities6-mac-shlibs GPL/LGPL Hanspeter Niederstrasser
kalgebra4-mac GPL Hanspeter Niederstrasser
kalzium4-mac GPL Hanspeter Niederstrasser
kamera4-mac GPL Hanspeter Niederstrasser
kanagram4-mac GPL Hanspeter Niederstrasser
kapman4-mac GPL/LGPL Hanspeter Niederstrasser
kapptemplate4-mac GPL/LGPL Hanspeter Niederstrasser
kate4-mac LGPL Hanspeter Niederstrasser
katomic4-mac GPL/LGPL Hanspeter Niederstrasser
kbackup-kde4-mac GPL Jack Fink
kblackbox4-mac GPL/LGPL Hanspeter Niederstrasser
kblocks4-mac GPL/LGPL Hanspeter Niederstrasser
kbounce4-mac GPL/LGPL Hanspeter Niederstrasser
kbreakout4-mac GPL/LGPL Hanspeter Niederstrasser
kbruch4-mac GPL Hanspeter Niederstrasser
kcachegrind4-mac GPL/LGPL Hanspeter Niederstrasser
kcalc4-mac GPL Hanspeter Niederstrasser
kcharselect4-mac GPL Hanspeter Niederstrasser
kcolorchooser4-mac BSD Hanspeter Niederstrasser
kcron4-mac GPL Hanspeter Niederstrasser
kdeartwork4-mac GPL/LGPL Hanspeter Niederstrasser
kdebase4-mac GPL/LGPL Hanspeter Niederstrasser
kdebase4-runtime-mac GPL/LGPL Hanspeter Niederstrasser
kdegraphics4-mac-mobipocket GPL/LGPL Hanspeter Niederstrasser
kdegraphics4-mac-strigi-analyzer GPL/LGPL Hanspeter Niederstrasser
kdegraphics4-mac-thumbnailers GPL Hanspeter Niederstrasser
kdelibs4-mac GPL/LGPL Hanspeter Niederstrasser
kdenetwork4-mac-filesharing GPL Hanspeter Niederstrasser
kdenetwork4-mac-strigi-analyzers GPL/LGPL Hanspeter Niederstrasser
kdepim4-mac GPL/LGPL Hanspeter Niederstrasser
kdepim4-runtime-mac GPL/LGPL Hanspeter Niederstrasser
kdepimlibs4-mac GPL/LGPL Hanspeter Niederstrasser
kdesdk4-mac-dev-utils LGPL Hanspeter Niederstrasser
kdesdk4-mac-dolphin-plugins GPL Hanspeter Niederstrasser
kdesdk4-mac-kioslaves GPL Hanspeter Niederstrasser
kdesdk4-mac-scripts GPL/LGPL Hanspeter Niederstrasser
kdesdk4-mac-strigi-analyzers GPL/LGPL Hanspeter Niederstrasser
kdesdk4-mac-thumbnailers GPL Hanspeter Niederstrasser
kdiamond4-mac GPL/LGPL Hanspeter Niederstrasser
kdiskfree4-mac GPL Hanspeter Niederstrasser
kdnssd4-mac GPL/LGPL Hanspeter Niederstrasser
kfloppy4-mac GPL Hanspeter Niederstrasser
kfourinline4-mac GPL/LGPL Hanspeter Niederstrasser
kgeography4-mac GPL Hanspeter Niederstrasser
kget4-mac GPL/LGPL Hanspeter Niederstrasser
kgoldrunner4-mac GPL/LGPL Hanspeter Niederstrasser
kgpg4-mac GPL Hanspeter Niederstrasser
khangman4-mac GPL Hanspeter Niederstrasser
kig4-mac GPL Hanspeter Niederstrasser
kigo4-mac GPL/LGPL Hanspeter Niederstrasser
kile-kde4-mac GPL Jack Fink
killbots4-mac GPL/LGPL Hanspeter Niederstrasser
kiriki4-mac GPL/LGPL Hanspeter Niederstrasser
kiten4-mac GPL/LGPL Hanspeter Niederstrasser
kjumpingcube4-mac GPL/LGPL Hanspeter Niederstrasser
kletters4-mac GPL/LGPL Hanspeter Niederstrasser
klickety4-mac GPL/LGPL Hanspeter Niederstrasser
klines4-mac GPL/LGPL Hanspeter Niederstrasser
kmag4-mac GPL Hanspeter Niederstrasser
kmahjongg4-mac GPL/LGPL Hanspeter Niederstrasser
kmines4-mac GPL/LGPL Hanspeter Niederstrasser
kmix4-mac GPL Hanspeter Niederstrasser
kmouth4-mac GPL Hanspeter Niederstrasser
kmplot4-mac GPL Hanspeter Niederstrasser
knavalbattle4-mac GPL/LGPL Hanspeter Niederstrasser
knetwalk4-mac GPL/LGPL Hanspeter Niederstrasser
kolf4-mac GPL/LGPL Hanspeter Niederstrasser
kollision4-mac GPL/LGPL Hanspeter Niederstrasser
kolourpaint4-mac LGPL Hanspeter Niederstrasser
kompare4-mac GPL/LGPL Hanspeter Niederstrasser
konquest4-mac GPL/LGPL Hanspeter Niederstrasser
konsole4-mac GPL Hanspeter Niederstrasser
kopete4-mac GPL/LGPL Hanspeter Niederstrasser
kpat4-mac GPL/LGPL Hanspeter Niederstrasser
kqtquickcharts4-mac GPL Hanspeter Niederstrasser
kreversi4-mac GPL/LGPL Hanspeter Niederstrasser
kruler4-mac GPL Hanspeter Niederstrasser
ksaneplugin4-mac GPL Hanspeter Niederstrasser
kscd4-mac GPL Hanspeter Niederstrasser
kshisen4-mac GPL/LGPL Hanspeter Niederstrasser
ksirk4-mac GPL/LGPL Hanspeter Niederstrasser
ksnakeduel4-mac GPL/LGPL Hanspeter Niederstrasser
kspaceduel4-mac GPL/LGPL Hanspeter Niederstrasser
ksquares4-mac GPL/LGPL Hanspeter Niederstrasser
kstars4-mac GPL Hanspeter Niederstrasser
ksudoku4-mac GPL/LGPL Hanspeter Niederstrasser
ksystemlog4-mac GPL Hanspeter Niederstrasser
kteatime4-mac GPL Hanspeter Niederstrasser
ktimer4-mac GPL Hanspeter Niederstrasser
ktouch4-mac GPL Hanspeter Niederstrasser
ktuberling4-mac GPL/LGPL Hanspeter Niederstrasser
kturtle4-mac GPL Hanspeter Niederstrasser
kubrick4-mac GPL/LGPL Hanspeter Niederstrasser
kuser4-mac GPL Hanspeter Niederstrasser
kwalletmanager4-mac GPL Hanspeter Niederstrasser
kwebdev4-mac GPL/LGPL Hanspeter Niederstrasser
kwordquiz4-mac GPL Hanspeter Niederstrasser
libanalitza5-mac-shlibs GPL Hanspeter Niederstrasser
libarchive BSD AIDA Shinra
libarchive31 BSD AIDA Shinra
libbaloowidgets4-mac-shlibs GPL Hanspeter Niederstrasser
libdbusmenu-qt5.2 LGPL Hanspeter Niederstrasser
libimobiledevice LGPL Karl-Michael Schindler
libircclient GPL2 None
libkcddb4-mac-shlibs BSD Hanspeter Niederstrasser
libkcompactdisc4-mac-shlibs BSD Hanspeter Niederstrasser
libkdcraw23-mac-shlibs GPL/LGPL Hanspeter Niederstrasser
libkdeedu-mac-data GPL/LGPL Hanspeter Niederstrasser
libkdeedu4-mac-shlibs GPL/LGPL Hanspeter Niederstrasser
libkdegames6-mac-shlibs GPL/LGPL Hanspeter Niederstrasser
libkexiv2.11-mac-shlibs GPL/LGPL Hanspeter Niederstrasser
libkf5html5-shlibs GPL Hanspeter Niederstrasser
libkf5kdelibs4support5 GPL Hanspeter Niederstrasser
libkface3-mac-shlibs GPL Hanspeter Niederstrasser
libkfbapi1-mac-shlibs LGPL Hanspeter Niederstrasser
libkfilemetadata4-mac-shlibs LGPL Hanspeter Niederstrasser
libkgapi2.2-mac-shlibs GPL Hanspeter Niederstrasser
libkipi11-mac-shlibs BSD Hanspeter Niederstrasser
libkmahjongglib4-mac-shlibs BSD Hanspeter Niederstrasser
libkomparediff2.4-mac-shlibs GPL Hanspeter Niederstrasser
libksane0-mac-shlibs GPL/LGPL Hanspeter Niederstrasser
libktorrent5-mac-shlibs GPL Hanspeter Niederstrasser
libmeanwhile LGPL None
libmsn-0.3 GPL None
libofx4 GPL Dave Reiser
libofx5 GPL Dave Reiser
libprison0-shlibs BSD Hanspeter Niederstrasser
libraptor1-shlibs GPL/LGPL Benjamin Reed
libraptor2-shlibs GPL/LGPL David Fang
librasqal3-shlibs GPL/LGPL Benjamin Reed
libserf0 BSD Daniel Johnson
libtorrent15 GPL David Fang
libtorrent19 GPL David Fang
linuxdcpp GPL Hanspeter Niederstrasser
lokalize4-mac GPL Hanspeter Niederstrasser
lskat4-mac GPL/LGPL Hanspeter Niederstrasser
lynx GPL elcepi
lynx-cur GPL elcepi
m2crypto-py* BSD Brendan Cully
marble4-mac GPL Hanspeter Niederstrasser
mp3diags-* GPL2 Daniel Johnson
mplayerthumbs4-mac GPL Hanspeter Niederstrasser
mupdf GPL Stefan Bruda
mutt GPL Brendan Cully
mysql-python-py* GPL Beat Birkhofer
nepomuk-core GPL/LGPL Hanspeter Niederstrasser
nepomuk-widgets LGPL Hanspeter Niederstrasser
nginx BSD Andreas Gockel
nginx-cur BSD Andreas Gockel
nut GPL Charles Lepple
okteta4-mac GPL Hanspeter Niederstrasser
okular4-mac GPL/LGPL Hanspeter Niederstrasser
openvpn GPL Andreas Gockel
oxygen-icons GPL/LGPL Hanspeter Niederstrasser
oxygen-icons-mac GPL/LGPL Hanspeter Niederstrasser
pairs4-mac GPL Hanspeter Niederstrasser
palapeli4-mac GPL Hanspeter Niederstrasser
parley4-mac GPL Hanspeter Niederstrasser
phonon-*-backend-gstreamer LGPL Benjamin Reed
phonon-*-backend-xine LGPL Benjamin Reed
picmi4-mac GPL/LGPL Hanspeter Niederstrasser
postfix* OSI-Approved Daniel Johnson
poxml4-mac GPL Hanspeter Niederstrasser
python-ldap-py27 OSI-Approved Charles Lepple
qca2-* LGPL Benjamin Reed
qgpgme-mac GPL/LGPL Benjamin Reed
qtassistant-compat-mac GPL/LGPL Benjamin Reed
qtiplot-qt4-* GPL Alexandre Vial
qwt-qt4-* LGPL Alexandre Vial
qwt6-qt4-* LGPL Daniel Macks
redland-shlibs GPL/LGPL Benjamin Reed
rocs4-mac GPL/LGPL Hanspeter Niederstrasser
root5* LGPL Remi Mommsen
slrn GPL Daniel Macks
socat GPL Andreas Gockel
socnetv-mac GPL Jack Fink
soprano-* GPL/LGPL Benjamin Reed
step4-mac GPL Hanspeter Niederstrasser
svgpart4-mac GPL Hanspeter Niederstrasser
sweeper4-mac GPL Hanspeter Niederstrasser
swi-prolog LGPL Jesse Alama
sylpheed GPL Kevin Horton
tcpflow GPL Nick Siripipat
tinc GPL Jack Fink
umbrello4-mac GPL/LGPL Hanspeter Niederstrasser
valkyrie* GPL2+ Daniel Johnson
vorbis-tools GPL Max Horn
xchat GPL Max Horn
xsane GPL None
xxdiff-mac/x11 GPL Daniel Macks