From 70a8219f9211ebad893d43250af732189940b09e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eric=20M=C3=BCller?= Date: Wed, 28 Mar 2018 14:54:40 +0200 Subject: [PATCH] Adds liblockfile (and patch to avoid need for root) (#7621) * --enable-shared *additionally* builds shared libraries (and it builds fast, so no variant here) --- .../liblockfile/install_as_nonroot.patch | 46 +++++++++++++++++++ .../builtin/packages/liblockfile/package.py | 40 ++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 var/spack/repos/builtin/packages/liblockfile/install_as_nonroot.patch create mode 100644 var/spack/repos/builtin/packages/liblockfile/package.py diff --git a/var/spack/repos/builtin/packages/liblockfile/install_as_nonroot.patch b/var/spack/repos/builtin/packages/liblockfile/install_as_nonroot.patch new file mode 100644 index 0000000000..66c6f994eb --- /dev/null +++ b/var/spack/repos/builtin/packages/liblockfile/install_as_nonroot.patch @@ -0,0 +1,46 @@ +--- liblockfile-1.14/Makefile.in 2017-01-17 13:21:05.000000000 +0000 ++++ liblockfile-1.14/Makefile.in 2018-03-28 07:20:45.054312625 +0000 +@@ -49,35 +49,33 @@ xlockfile.o: lockfile.c + $(CC) $(CFLAGS) -c lockfile.c -o xlockfile.o + + install_static: static install_common +- install -d -m 755 -g root -p $(libdir) ++ install -d -m 755 -p $(libdir) + install -m 644 liblockfile.a $(libdir) + + install_shared: shared install_static install_common +- install -d -m 755 -g root -p $(libdir) ++ install -d -m 755 -p $(libdir) + install -m 755 liblockfile.so \ + $(libdir)/liblockfile.so.$(SOVER) + ln -s liblockfile.so.$(SOVER) $(libdir)/liblockfile.so.$(MAJOR) + ln -s liblockfile.so.$(SOVER) $(libdir)/liblockfile.so +- if test "$(DESTDIR)" = ""; then @LDCONFIG@; fi + + install_common: +- install -d -m 755 -g root -p $(includedir) +- install -d -m 755 -g root -p $(bindir) +- install -d -m 755 -g root -p $(mandir)/man1 +- install -d -m 755 -g root -p $(mandir)/man3 ++ install -d -m 755 -p $(includedir) ++ install -d -m 755 -p $(bindir) ++ install -d -m 755 -p $(mandir)/man1 ++ install -d -m 755 -p $(mandir)/man3 + install -m 644 lockfile.h maillock.h $(includedir) + if [ "$(MAILGROUP)" != "" ]; then\ + install -g $(MAILGROUP) -m 2755 dotlockfile $(bindir);\ + else \ +- install -g root -m 755 dotlockfile $(bindir); \ ++ install -m 755 dotlockfile $(bindir); \ + fi + install -m 644 *.1 $(mandir)/man1 + install -m 644 *.3 $(mandir)/man3 + + install_nfslib: nfslib +- install -d -m 755 -g root -p $(nfslockdir) ++ install -d -m 755 -p $(nfslockdir) + install -m 755 nfslock.so.$(NFSVER) $(nfslockdir) +- if test "$(DESTDIR)" = ""; then @LDCONFIG@; fi + + clean: + rm -f *.a *.o *.so *.so.* dotlockfile diff --git a/var/spack/repos/builtin/packages/liblockfile/package.py b/var/spack/repos/builtin/packages/liblockfile/package.py new file mode 100644 index 0000000000..6e6f092edc --- /dev/null +++ b/var/spack/repos/builtin/packages/liblockfile/package.py @@ -0,0 +1,40 @@ +############################################################################## +# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/spack/spack +# Please also see the NOTICE and LICENSE files for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# 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 terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + + +class Liblockfile(AutotoolsPackage): + """NFS-safe locking library""" + + homepage = "https://github.com/miquels/liblockfile" + url = "https://github.com/miquels/liblockfile/archive/v1.14.tar.gz" + + version('1.14', '24ce9dbb34d7f508a52a91f762746ce3') + + patch('install_as_nonroot.patch') + + def configure_args(self): + args = ['--enable-shared'] + return args