;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages wget)
#:use-module (gnu packages perl))
(define-public debian-archive-keyring
(package
(name "debian-archive-keyring")
- (version "2018.1")
+ (version "2019.1")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "136vr5dj7w0dz563qdghsndcfcqm2m8d4j1dyiq9dzx5vd0rcpcw"))))
+ "0bphwji3ywk1zi5bq8bhqk7l51fwjy1idwsw7zfqnxca8m5wvw1g"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "verify-results"
(define-public debootstrap
(package
(name "debootstrap")
- (version "1.0.109")
+ (version "1.0.123")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0bjqlyg605lnsjcn3wjplc6jl75nx7c6miyac2qsahi484rylg5g"))))
+ (base32 "0fr5ir8arzisx71jybbk4xz85waz50lf2y052nfimzh6vv9dx54c"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(("/usr") ubuntu))
(substitute* "debootstrap"
(("=/usr") (string-append "=" out)))
+ ;; Ensure PATH works both in guix and within the debian chroot
+ ;; workaround for: https://bugs.debian.org/929889
+ (substitute* "functions"
+ (("PATH=/sbin:/usr/sbin:/bin:/usr/bin")
+ "PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin"))
(substitute* (find-files "scripts" ".")
(("/usr/share/zoneinfo") (string-append tzdata "/share/zoneinfo")))
#t)))
(description "Debootstrap is used to create a Debian base system from
scratch, without requiring the availability of @code{dpkg} or @code{apt}.
It does this by downloading .deb files from a mirror site, and carefully
-unpacking them into a directory which can eventually be chrooted into.
-
-It is recommended to run @code{debootstrap --foreign --arch=...} and then
-@code{chroot} into the directory, set the PATH and run @code{debootstrap
---second-stage} after.")
+unpacking them into a directory which can eventually be chrooted into.")
(license license:gpl2)))
+
+
+(define-public apt-mirror
+ (let ((commit "e664486a5d8947c2579e16dd793d762ea3de4202")
+ (revision "1"))
+ (package
+ (name "apt-mirror")
+ (version (git-version "0.5.4" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apt-mirror/apt-mirror/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qj6b7gldwcqyfs2kp6amya3ja7s4vrljs08y4zadryfzxf35nqq"))))
+ (build-system gnu-build-system)
+ (outputs '("out"))
+ (arguments
+ `(#:tests? #f
+ ;; sysconfdir is not PREFIXed in the makefile but DESTDIR is
+ ;; honored correctly; we therefore use DESTDIR for our
+ ;; needs. A more correct fix would involve patching.
+ #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))
+ "PREFIX=/")
+ #:phases (modify-phases %standard-phases (delete 'configure))))
+ (inputs
+ `(("wget" ,wget)
+ ("perl" ,perl)))
+ (home-page "http://apt-mirror.github.io/")
+ (synopsis "Script for mirroring a Debian repository")
+ (description
+ "apt-mirror is a small tool that provides the ability to
+selectively mirror Debian and Ubuntu GNU/Linux distributions or any
+other apt sources typically provided by open source developers.")
+ (license license:gpl2))))