From 997d66c489ca7e252a9e8db2bbbec0fe24cddd2c Mon Sep 17 00:00:00 2001 From: kyren Date: Tue, 7 Nov 2017 17:57:01 -0500 Subject: [PATCH 1/3] netatalk: 3.1.7 -> 3.1.11 Netatalk 3.1.11 is the latest stable release. There is also a nasty bug with netatalk < 3.1.11 (https://sourceforge.net/p/netatalk/bugs/636/) that prevents using netatalk shares for time machine backups. --- pkgs/tools/filesystems/netatalk/default.nix | 5 ++-- .../netatalk/omitLocalstatedirCreation.patch | 28 +++++++++---------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix index 445e724e1a2a..0fd403f873a8 100644 --- a/pkgs/tools/filesystems/netatalk/default.nix +++ b/pkgs/tools/filesystems/netatalk/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconv, pam, openssl, acl, ed, glibc }: stdenv.mkDerivation rec{ - name = "netatalk-3.1.7"; + name = "netatalk-3.1.11"; src = fetchurl { url = "mirror://sourceforge/netatalk/netatalk/${name}.tar.bz2"; - sha256 = "0wf09fyqzza024qr1s26z5x7rsvh9zb4pv598gw7gm77wjcr6174"; + sha256 = "3434472ba96d3bbe3b024274438daad83b784ced720f7662a4c1d0a1078799a6"; }; nativeBuildInputs = [ pkgconfig ]; @@ -46,3 +46,4 @@ stdenv.mkDerivation rec{ maintainers = with stdenv.lib.maintainers; [ jcumming ]; }; } + diff --git a/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch b/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch index d1a9dcb0b3bf..02a36df24a13 100644 --- a/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch +++ b/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch @@ -1,7 +1,7 @@ -diff -ur netatalk-3.1.7-old/config/Makefile.in netatalk-3.1.7-new/config/Makefile.in ---- netatalk-3.1.7-old/config/Makefile.in 2014-08-29 03:33:35.000000000 -0700 -+++ netatalk-3.1.7-new/config/Makefile.in 2015-08-13 20:52:35.000000000 -0700 -@@ -699,7 +699,7 @@ +diff -ur netatalk-3.1.11-old/config/Makefile.in netatalk-3.1.11-new/config/Makefile.in +--- netatalk-3.1.11-old/config/Makefile.in 2017-11-07 17:16:50.000000000 -0500 ++++ netatalk-3.1.11-new/config/Makefile.in 2017-11-07 17:17:33.000000000 -0500 +@@ -735,7 +735,7 @@ info-am: @@ -10,16 +10,16 @@ diff -ur netatalk-3.1.7-old/config/Makefile.in netatalk-3.1.7-new/config/Makefil install-dvi: install-dvi-recursive -@@ -754,7 +754,7 @@ - cscopelist cscopelist-recursive ctags ctags-recursive \ - distclean distclean-generic distclean-libtool distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ -- install-am install-data install-data-am install-data-local \ -+ install-am install-data install-data-am \ - install-dbusserviceDATA install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ -@@ -782,12 +782,6 @@ +@@ -788,7 +788,7 @@ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ +- install-data-local install-dbusserviceDATA install-dvi \ ++ install-dbusserviceDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ +@@ -817,12 +817,6 @@ # install configuration files # From 1e75677118f0dffde0cbba7a6650f4bb0a703fd0 Mon Sep 17 00:00:00 2001 From: kyren Date: Wed, 8 Nov 2017 15:11:06 -0500 Subject: [PATCH 2/3] netatalk: make perl / python utility scripts work Adds `perl` and `python2` to nativeBuildInputs, to make the included perl and python utility script `#!` lines point at the right place. --- pkgs/tools/filesystems/netatalk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix index 0fd403f873a8..786c39c0100c 100644 --- a/pkgs/tools/filesystems/netatalk/default.nix +++ b/pkgs/tools/filesystems/netatalk/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconv, pam, openssl, acl, ed, glibc }: +{ fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconv, pam, openssl, acl, ed, glibc, perl, python2 }: stdenv.mkDerivation rec{ name = "netatalk-3.1.11"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec{ sha256 = "3434472ba96d3bbe3b024274438daad83b784ced720f7662a4c1d0a1078799a6"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig perl python2 ]; buildInputs = [ db libgcrypt avahi libiconv pam openssl acl ]; patches = ./omitLocalstatedirCreation.patch; From e1340e67aaa91ecbe46d76e1f99912b0d4e73272 Mon Sep 17 00:00:00 2001 From: Orivej Desh Date: Thu, 9 Nov 2017 04:52:23 +0000 Subject: [PATCH 3/3] netatalk: support SSL and afpstats --- pkgs/tools/filesystems/netatalk/default.nix | 23 ++++++++--- pkgs/tools/filesystems/netatalk/no-suid.patch | 11 ++++++ .../netatalk/omitLocalstatedirCreation.patch | 38 ++++++------------- 3 files changed, 39 insertions(+), 33 deletions(-) create mode 100644 pkgs/tools/filesystems/netatalk/no-suid.patch diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix index 786c39c0100c..33b473df5a22 100644 --- a/pkgs/tools/filesystems/netatalk/default.nix +++ b/pkgs/tools/filesystems/netatalk/default.nix @@ -1,4 +1,7 @@ -{ fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconv, pam, openssl, acl, ed, glibc, perl, python2 }: +{ fetchurl, stdenv, autoreconfHook, pkgconfig, perl, python +, db, libgcrypt, avahi, libiconv, pam, openssl, acl +, ed, glibc +}: stdenv.mkDerivation rec{ name = "netatalk-3.1.11"; @@ -8,14 +11,18 @@ stdenv.mkDerivation rec{ sha256 = "3434472ba96d3bbe3b024274438daad83b784ced720f7662a4c1d0a1078799a6"; }; - nativeBuildInputs = [ pkgconfig perl python2 ]; - buildInputs = [ db libgcrypt avahi libiconv pam openssl acl ]; + patches = [ + ./no-suid.patch + ./omitLocalstatedirCreation.patch + ]; - patches = ./omitLocalstatedirCreation.patch; + nativeBuildInputs = [ autoreconfHook pkgconfig perl python python.pkgs.wrapPython ]; + + buildInputs = [ db libgcrypt avahi libiconv pam openssl acl ]; configureFlags = [ "--with-bdb=${db}" - "--with-openssl=${openssl.dev}" + "--with-ssl-dir=${openssl.dev}" "--with-lockfile=/run/lock/netatalk" "--localstatedir=/var/lib" ]; @@ -36,6 +43,11 @@ stdenv.mkDerivation rec{ EOF ''; + postInstall = '' + buildPythonPath ${python.pkgs.dbus-python} + patchPythonScript $out/bin/afpstats + ''; + enableParallelBuilding = true; meta = { @@ -46,4 +58,3 @@ stdenv.mkDerivation rec{ maintainers = with stdenv.lib.maintainers; [ jcumming ]; }; } - diff --git a/pkgs/tools/filesystems/netatalk/no-suid.patch b/pkgs/tools/filesystems/netatalk/no-suid.patch new file mode 100644 index 000000000000..194c1f5fac9f --- /dev/null +++ b/pkgs/tools/filesystems/netatalk/no-suid.patch @@ -0,0 +1,11 @@ +diff --git a/bin/afppasswd/Makefile.am b/bin/afppasswd/Makefile.am +index 578eac1..d17aa22 100644 +--- a/bin/afppasswd/Makefile.am ++++ b/bin/afppasswd/Makefile.am +@@ -16,5 +16,5 @@ AM_CFLAGS = @SSL_CFLAGS@ -I$(top_srcdir)/sys \ + + install-exec-hook: + if HAVE_OPENSSL +- chmod u+s $(DESTDIR)$(bindir)/afppasswd ++# chmod u+s $(DESTDIR)$(bindir)/afppasswd + endif diff --git a/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch b/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch index 02a36df24a13..01c4ee9ba478 100644 --- a/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch +++ b/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch @@ -1,35 +1,19 @@ -diff -ur netatalk-3.1.11-old/config/Makefile.in netatalk-3.1.11-new/config/Makefile.in ---- netatalk-3.1.11-old/config/Makefile.in 2017-11-07 17:16:50.000000000 -0500 -+++ netatalk-3.1.11-new/config/Makefile.in 2017-11-07 17:17:33.000000000 -0500 -@@ -735,7 +735,7 @@ - - info-am: - --install-data-am: install-data-local install-dbusserviceDATA -+install-data-am: install-dbusserviceDATA - - install-dvi: install-dvi-recursive - -@@ -788,7 +788,7 @@ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ -- install-data-local install-dbusserviceDATA install-dvi \ -+ install-dbusserviceDATA install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ -@@ -817,12 +817,6 @@ - # install configuration files +diff --git a/config/Makefile.am b/config/Makefile.am +index c98a2ab..58b7f0a 100644 +--- a/config/Makefile.am ++++ b/config/Makefile.am +@@ -36,10 +36,10 @@ endif # --install-data-local: install-config-files + install-data-local: install-config-files - mkdir -pm 0755 $(DESTDIR)$(localstatedir)/netatalk/ - mkdir -pm 0755 $(DESTDIR)$(localstatedir)/netatalk/CNID/ - $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(localstatedir)/netatalk/ - $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(localstatedir)/netatalk/CNID/ -- ++# mkdir -pm 0755 $(DESTDIR)$(localstatedir)/netatalk/ ++# mkdir -pm 0755 $(DESTDIR)$(localstatedir)/netatalk/CNID/ ++# $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(localstatedir)/netatalk/ ++# $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(localstatedir)/netatalk/CNID/ + uninstall-local: @for f in $(CONFFILES) $(GENFILES); do \ - echo rm -f $(DESTDIR)$(pkgconfdir)/$$f; \ -