From 243c7c2024860d9ce8cb13ff4bc029fd5e7776f5 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 12 Jun 2011 01:30:17 +0200 Subject: [PATCH] new package: add package 'libnfs' Signed-off-by: Stephan Raue --- packages/network/libnfs/build | 41 +++++++++++++ packages/network/libnfs/install | 30 ++++++++++ packages/network/libnfs/meta | 36 +++++++++++ ...b382d4409c4d561025132c99b8c1850b63ad.patch | 59 +++++++++++++++++++ ...6d6bcd625d0162cc7158b597e04ef3ee1379.patch | 28 +++++++++ tools/mkpkg/mkpkg_libnfs | 43 ++++++++++++++ 6 files changed, 237 insertions(+) create mode 100755 packages/network/libnfs/build create mode 100755 packages/network/libnfs/install create mode 100644 packages/network/libnfs/meta create mode 100644 packages/network/libnfs/patches/libnfs-81132c6-310bb382d4409c4d561025132c99b8c1850b63ad.patch create mode 100644 packages/network/libnfs/patches/libnfs-81132c6-d20a6d6bcd625d0162cc7158b597e04ef3ee1379.patch create mode 100755 tools/mkpkg/mkpkg_libnfs diff --git a/packages/network/libnfs/build b/packages/network/libnfs/build new file mode 100755 index 0000000000..c17dd6d985 --- /dev/null +++ b/packages/network/libnfs/build @@ -0,0 +1,41 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +# libnfs fails to build with LTO support + strip_lto + +cd $PKG_BUILD +./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --sysconfdir=/etc \ + --without-examples \ + +make + +$MAKEINSTALL +ln -sf libnfs.so.1.0.0 $SYSROOT_PREFIX/usr/lib/libnfs.so.1.0 +ln -sf libnfs.so.1.0 $SYSROOT_PREFIX/usr/lib/libnfs.so.1 +ln -sf libnfs.so.1 $SYSROOT_PREFIX/usr/lib/libnfs.so + diff --git a/packages/network/libnfs/install b/packages/network/libnfs/install new file mode 100755 index 0000000000..66fce82317 --- /dev/null +++ b/packages/network/libnfs/install @@ -0,0 +1,30 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/usr/lib + cp -P $PKG_BUILD/lib/*.so* $INSTALL/usr/lib/ + ln -sf libnfs.so.1.0.0 $INSTALL/usr/lib/libnfs.so.1.0 + ln -sf libnfs.so.1.0 $INSTALL/usr/lib/libnfs.so.1 + ln -sf libnfs.so.1 $INSTALL/usr/lib/libnfs.so + diff --git a/packages/network/libnfs/meta b/packages/network/libnfs/meta new file mode 100644 index 0000000000..5d1b2ce0d6 --- /dev/null +++ b/packages/network/libnfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="libnfs" +PKG_VERSION="81132c6" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="https://github.com/sahlberg/libnfs" +PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="network" +PKG_SHORTDESC="libnfs: a client library for accessing NFS shares over a network." +PKG_LONGDESC="LIBNFS is a client library for accessing NFS shares over a network." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="yes" diff --git a/packages/network/libnfs/patches/libnfs-81132c6-310bb382d4409c4d561025132c99b8c1850b63ad.patch b/packages/network/libnfs/patches/libnfs-81132c6-310bb382d4409c4d561025132c99b8c1850b63ad.patch new file mode 100644 index 0000000000..c7619dc139 --- /dev/null +++ b/packages/network/libnfs/patches/libnfs-81132c6-310bb382d4409c4d561025132c99b8c1850b63ad.patch @@ -0,0 +1,59 @@ +From 310bb382d4409c4d561025132c99b8c1850b63ad Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Sat, 11 Jun 2011 23:25:07 +0200 +Subject: [PATCH] add DESTDIR support, needed for crosscompiling; dont + hardcode /usr/include - use --includedir= instead on + configure time + +Signed-off-by: Stephan Raue +--- + Makefile.in | 25 ++++++++++--------------- + 1 files changed, 10 insertions(+), 15 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 64f03d8..d86a1b7 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1,6 +1,7 @@ + prefix = @prefix@ + exec_prefix = @exec_prefix@ + libdir = @libdir@ ++includedir = @includedir@ + bindir = @bindir@ + LIBS=@LIBS@ + INSTALLCMD = @install@ -c +@@ -109,22 +110,16 @@ rquota/libnfs-raw-rquota.o: rquota/libnfs-raw-rquota.c rquota/libnfs-raw-rquota. + $(CC) $(CFLAGS) -c rquota/libnfs-raw-rquota.c -o $@ + + install: $(LIBNFS_A) $(LIBNFS_SO) +-ifeq ("$(LIBDIR)x","x") +- mkdir -p $(libdir) +- $(INSTALLCMD) -m 755 $(LIBNFS_SO) $(libdir) +- $(INSTALLCMD) -m 755 $(LIBNFS_A) $(libdir) ++ mkdir -p $(DESTDIR)$(libdir) ++ $(INSTALLCMD) -m 755 $(LIBNFS_SO) $(DESTDIR)$(libdir) ++ $(INSTALLCMD) -m 755 $(LIBNFS_A) $(DESTDIR)$(libdir) + @ldconfig@ +-else +- mkdir -p $(LIBDIR) +- $(INSTALLCMD) -m 755 $(LIBISCSI_SO) $(LIBDIR) +- $(INSTALLCMD) -m 755 $(LIBNFS_A) $(LIBDIR) +-endif +- mkdir -p $(prefix)/include/nfsc +- $(INSTALLCMD) -m 644 include/libnfs.h $(prefix)/include/nfsc +- $(INSTALLCMD) -m 644 include/libnfs-private.h $(prefix)/include/nfsc +- $(INSTALLCMD) -m 644 mount/libnfs-raw-mount.h $(prefix)/include/nfsc +- $(INSTALLCMD) -m 644 nfs/libnfs-raw-nfs.h $(prefix)/include/nfsc +- $(INSTALLCMD) -m 644 portmap/libnfs-raw-portmap.h $(prefix)/include/nfsc ++ mkdir -p $(DESTDIR)$(includedir)/nfsc ++ $(INSTALLCMD) -m 644 include/libnfs.h $(DESTDIR)$(includedir)/nfsc ++ $(INSTALLCMD) -m 644 include/libnfs-private.h $(DESTDIR)$(includedir)/nfsc ++ $(INSTALLCMD) -m 644 mount/libnfs-raw-mount.h $(DESTDIR)$(includedir)/nfsc ++ $(INSTALLCMD) -m 644 nfs/libnfs-raw-nfs.h $(DESTDIR)$(includedir)/nfsc ++ $(INSTALLCMD) -m 644 portmap/libnfs-raw-portmap.h $(DESTDIR)$(includedir)/nfsc + + distclean: clean + rm -f config.h config.log config.status configure Makefile +-- +1.7.5.4 + diff --git a/packages/network/libnfs/patches/libnfs-81132c6-d20a6d6bcd625d0162cc7158b597e04ef3ee1379.patch b/packages/network/libnfs/patches/libnfs-81132c6-d20a6d6bcd625d0162cc7158b597e04ef3ee1379.patch new file mode 100644 index 0000000000..6b8926ddd7 --- /dev/null +++ b/packages/network/libnfs/patches/libnfs-81132c6-d20a6d6bcd625d0162cc7158b597e04ef3ee1379.patch @@ -0,0 +1,28 @@ +From d20a6d6bcd625d0162cc7158b597e04ef3ee1379 Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Sat, 11 Jun 2011 23:22:19 +0200 +Subject: [PATCH] Disable run of ldconfig if crosscompiling too + +Signed-off-by: Stephan Raue +--- + configure.ac | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9973c92..363e671 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -64,6 +64,10 @@ AC_ARG_WITH([ldconfig], + [ --without-ldconfig Disable call of ldconfig on make install], + [ldconfig='echo ldconfig disabled']) + ++if test x"$cross_compiling" = xyes; then ++ ldconfig='echo crosscompiling: ldconfig disabled' ++fi ++ + AC_CONFIG_HEADER(config.h) + + EXTRA_OBJ="" +-- +1.7.5.4 + diff --git a/tools/mkpkg/mkpkg_libnfs b/tools/mkpkg/mkpkg_libnfs new file mode 100755 index 0000000000..612c4302e6 --- /dev/null +++ b/tools/mkpkg/mkpkg_libnfs @@ -0,0 +1,43 @@ +#!/bin/sh +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +echo "getting sources..." + if [ ! -d libnfs.git ]; then + git clone git://github.com/sahlberg/libnfs.git libnfs.git + fi + + cd libnfs.git + git pull + GIT_REV=`git log -n1 --format=%h` + cd .. + +echo "copying sources..." + rm -rf libnfs-$GIT_REV + cp -R libnfs.git libnfs-$GIT_REV + +echo "cleaning sources..." + rm -rf libnfs-$GIT_REV/.git + +echo "packing sources..." + tar cvjf libnfs-$GIT_REV.tar.bz2 libnfs-$GIT_REV + +echo "remove temporary sourcedir..." + rm -rf libnfs-$GIT_REV