gnu: vsftpd: Update to 3.0.4.
* gnu/packages/ftp.scm (vsftpd): Update to 3.0.4. [source]: Build from the regular upstream tarball again. [arguments]: Add ‘-lcap’ and ‘-lpam’ to LDFLAGS. Remove obsolete custom 'unpack and 'apply-CentOS-patches phases. [native-inputs]: Remove p7zip and cpio.master
parent
d20720755e
commit
a841d8e8b3
|
@ -29,7 +29,6 @@
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cpio)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
|
@ -258,82 +257,45 @@ directory comparison and more.")
|
|||
(properties '((upstream-name . "FileZilla")))))
|
||||
|
||||
(define-public vsftpd
|
||||
;; Use a significantly patched CentOS variant with TLSv1.2 support and
|
||||
;; further bug and security fixes.
|
||||
(let ((upstream-version "3.0.3")
|
||||
(centos-version "8.3.2011")
|
||||
(revision "32.el8"))
|
||||
(package
|
||||
(name "vsftpd")
|
||||
(version (string-append upstream-version "-" revision))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://vault.centos.org/centos/" centos-version
|
||||
"/AppStream/Source/SPackages/vsftpd-" upstream-version "-"
|
||||
revision ".src.rpm"))
|
||||
(sha256
|
||||
(base32 "1xl0kqcismf82hl99klqbvvpylpyk1yr1qjy5hd8f80cj4lyl0f4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("LDFLAGS=-lcrypt -lssl -pie")
|
||||
#:tests? #f ; no tests exist
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(invoke "7z" "e" source "-ocpio")
|
||||
(invoke "cpio" "-idmv"
|
||||
(string-append "--file=cpio/vsftpd-"
|
||||
,upstream-version "-" ,revision
|
||||
".src.cpio"))
|
||||
(invoke "tar" "xvf"
|
||||
(string-append "vsftpd-" ,upstream-version ".tar.gz"))
|
||||
(chdir (string-append "vsftpd-" ,upstream-version))))
|
||||
(add-after 'unpack 'apply-CentOS-patches
|
||||
;; Apply all patches as enumerated in vsftpd.spec, in order:
|
||||
;; simply using FIND-FILES would silently corrupt the result.
|
||||
(lambda _
|
||||
(call-with-input-file "../vsftpd.spec"
|
||||
(lambda (port)
|
||||
(use-modules (ice-9 rdelim))
|
||||
(let loop ()
|
||||
(let ((line (read-line port)))
|
||||
(unless (eof-object? line)
|
||||
(when (string-prefix? "Patch" line)
|
||||
(let* ((space (string-rindex line #\space))
|
||||
(patch (string-drop line (+ 1 space))))
|
||||
(format #t "Applying '~a'.\n" patch)
|
||||
(invoke "patch" "-Np1"
|
||||
"-i" (string-append "../" patch))))
|
||||
(loop))))))))
|
||||
(add-after 'unpack 'patch-installation-directory
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "Makefile"
|
||||
(("/usr") (assoc-ref outputs "out")))
|
||||
#t))
|
||||
(add-before 'install 'mkdir
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p out)
|
||||
(mkdir (string-append out "/sbin"))
|
||||
(mkdir (string-append out "/man"))
|
||||
(mkdir (string-append out "/man/man5"))
|
||||
(mkdir (string-append out "/man/man8"))
|
||||
#t)))
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
;; Used to unpack the source RPM.
|
||||
`(("p7zip" ,p7zip)
|
||||
("cpio" ,cpio)))
|
||||
(inputs
|
||||
`(("libcap" ,libcap)
|
||||
("linux-pam" ,linux-pam)
|
||||
("openssl" ,openssl)))
|
||||
(home-page "https://security.appspot.com/vsftpd.html")
|
||||
(synopsis "Share files securely over FTP or FTPS")
|
||||
(description "@command{vsftpd} is a daemon that listens on a TCP socket
|
||||
(package
|
||||
(name "vsftpd")
|
||||
(version "3.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://security.appspot.com/downloads/"
|
||||
"vsftpd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "09kap2qsd80m0x80jv5224x002x2jkr584dksppcv9p84yyj353b"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list "LDFLAGS=-lcap -lcrypt -lpam -pie")
|
||||
#:tests? #f ; no test suite
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-installation-directory
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "Makefile"
|
||||
(("/usr") (assoc-ref outputs "out")))
|
||||
#t))
|
||||
(add-before 'install 'mkdir
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p out)
|
||||
(mkdir (string-append out "/sbin"))
|
||||
(mkdir (string-append out "/man"))
|
||||
(mkdir (string-append out "/man/man5"))
|
||||
(mkdir (string-append out "/man/man8"))
|
||||
#t)))
|
||||
(delete 'configure)))) ; no configure script
|
||||
(inputs
|
||||
`(("libcap" ,libcap)
|
||||
("linux-pam" ,linux-pam)
|
||||
("openssl" ,openssl)))
|
||||
(synopsis "vsftpd FTP daemon")
|
||||
(description "@command{vsftpd} is a daemon that listens on a TCP socket
|
||||
for clients and gives them access to local files via File Transfer
|
||||
Protocol.")
|
||||
(license gpl2))))
|
||||
(home-page "https://security.appspot.com/vsftpd.html")
|
||||
(license gpl2)))
|
||||
|
|
Reference in New Issue