# Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: $ DESCRIPTION="IBM iSeries Access for Linux provides 5250 emulation and ODBC connectivity. Formerly called IBM Client Access." HOMEPAGE="http://www-1.ibm.com/servers/eserver/iseries/access/linux/" # Note on IBM version numbering: # This ebuild is versioned 5.2.0.1.3, while IBM versioned 5.2.0-1.3. # This translates into the following: # 5.2.0 = Version.Release.Modification of associated OS/400. # 1.3 = Version of iSeries Access for Linux. # # This version numbering overcomes Portage's inability to recognize # iseriesaccess-5.2.0-1.3.ebuild. MY_P="5.2.0-1.3" # You must register with IBM to download this software; it is not available # through public servers. SRC_URI="" # Determine architecture conversion for RPM file name. if [ "${ARCH}"=="x86" ] || [ "${ARCH}"=="~x86" ] ; then MY_ARCH=i386 elif [ "${ARCH}"=="ppc" ] || [ "${ARCH}"=="~ppc" ] ; then MY_ARCH=ppc else MY_ARCH="" # Could this happen or does emerge prevent? fi MY_A=iSeriesAccess-${MY_P}.${MY_ARCH}.rpm MY_AA=iSeriesAccess-${MY_P}.${MY_ARCH}.tar.gz MY_EVERINST=`has_version net-misc/iseriesaccess` # IBM eServer iSeries Access for Linux (5722-XL1) is a licensed program. # The 5250 Display Emulation component requires an IBM iSeries Access Family # (5722-XW1) license before you can use it. # # For more information about iSeries Access Family license requirements, refer # to the IBM International Program License Agreement included with the iSeries # Access Family (5722-XW1). LICENSE="" SLOT="0" KEYWORDS="-* ~x86 ~ppc" IUSE="X" DEPEND=">=dev-db/unixODBC-2.0.11 >=x11-libs/openmotif-2.0 app-arch/rpm2targz >=sys-libs/glibc-2.2" # We only need rpm2targz to extract the program files from the RPM. # unixODBC is not needed for the 5250 emulator to function but is required # for file transfer. RDEPEND=">=x11-libs/openmotif-2.0 >=sys-libs/glibc-2.2" RESTRICT="nostrip" pkg_nofetch() { echo "Please download ${MY_A} from ${HOMEPAGE} to ${DISTDIR}" } pkg_setup() { if [ ! -f ${DISTDIR}/${MY_A} ] ; then die "Please download ${MY_A} from ${HOMEPAGE} to ${DISTDIR}" else if [ ! -f ${T}/${MY_AA} ] ; then if [ -f ${PORTAGE_TMPDIR}/portage/${MY_AA} ] ; then rm ${PORTAGE_TMPDIR}/portage/${MY_AA} fi echo ">>> Converting ${MY_A} to tar.gz format" rpm2targz ${DISTDIR}/${MY_A} mv ${PORTAGE_TMPDIR}/portage/${MY_AA} ${T}/. fi fi } src_unpack() { if [ ! -f ${T}/${MY_AA} ] ; then die "${T}/${MY_AA} not found. Aieee!" fi # Circumventing unpack because portage won't let me move the .tar.gz # file back into $DISTDIR. (access violation) echo ">>> Unpacking ${MY_AA} to ${WORKDIR}" tar --no-same-owner -zxf ${T}/${MY_AA} || \ die "Problem unpacking ${MY_AA}. Aieee!" } src_install() { dodir / cp -a ${WORKDIR}/opt ${D}/ dodir /usr/lib dosym /opt/ibm/iSeriesAccess/lib/libcwbcore.so \ /usr/lib/libcwbcore.so dosym /opt/ibm/iSeriesAccess/lib/libcwbrc.so \ /usr/lib/libcwbrc.so dodir /usr/bin dosym /opt/ibm/iSeriesAccess/bin/ibm5250 \ /usr/bin/ibm5250 dosym /opt/ibm/iSeriesAccess/bin/setup5250 \ /usr/bin/setup5250 dosym /opt/ibm/iSeriesAccess/mri/en \ /opt/ibm/iSeriesAccess/mri/en_US dodoc /opt/ibm/iSeriesAccess/doc/* dohtml /opt/ibm/iSeriesAccess/doc/* } pkg_postinst() { # Register ODBC drivers with unixODBC on first-time installation. if [ MY_EVERINST==1 ] ; then # Never before installed echo ">>> Registering ODBC driver with unixODBC." einfo einfo "To do this again, run \"odbcinst -i -d -f /opt/ibm/iSeriesAccess/unixodbcregistration\"" einfo if [ -e "/usr/local/bin/odbcinst" ] ; then /usr/local/bin/odbcinst -i -d -f /opt/ibm/iSeriesAccess/unixodbcregistration elif [ -e "/usr/bin/odbcinst" ] ; then /usr/bin/odbcinst -i -d -f /opt/ibm/iSeriesAccess/unixodbcregistration else odbcinst -i -d -f /opt/ibm/iSeriesAccess/unixodbcregistration fi fi } pkg_prerm() { # Unregister ODBC drivers. # !!! When the build is updated or re-emerged, the ODBC driver will # remove itself, then install itself. Not sure if it's a bug yet. # On upgrade: # * merge upgraded files # * call pkg_prerm # * unmerge upgraded files # * call pkg_postinst (has_version==1??) echo ">>> Unregistering ODBC driver with unixODBC." if [ -e "/usr/local/bin/odbcinst" ] ; then /usr/local/bin/odbcinst -u -d -n "iSeries Access ODBC Driver" elif [ -e "/usr/bin/odbcinst" ] ; then /usr/bin/odbcinst -u -d -n "iSeries Access ODBC Driver" else odbcinst -u -d -n "iSeries Access ODBC Driver" fi }