[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/tramp-nspawn 8c5fbc479e 22/22: Merge pull request #1 fr
From: |
ELPA Syncer |
Subject: |
[elpa] externals/tramp-nspawn 8c5fbc479e 22/22: Merge pull request #1 from bjc/next |
Date: |
Sat, 19 Feb 2022 18:58:05 -0500 (EST) |
branch: externals/tramp-nspawn
commit 8c5fbc479ebb1f795db08edd89495ab630123c42
Merge: f7c7ef3851 6403f4f883
Author: Brian Cully <bjc@kublai.com>
Commit: GitHub <noreply@github.com>
Merge pull request #1 from bjc/next
Pull in version 1.0.
---
Makefile | 13 ++++++
README.org | 14 +++---
nspawn-tramp.el => tramp-nspawn.el | 87 +++++++++++++++++++-------------------
3 files changed, 64 insertions(+), 50 deletions(-)
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000..3b59df4188
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,13 @@
+EMACS?= emacs
+
+ELCS= nspawn-tramp.elc
+
+.PHONY: all clean
+
+all: $(ELCS)
+
+clean:
+ rm -f $(ELCS)
+
+%.elc: %.el
+ $(EMACS) -Q --batch -f batch-byte-compile $<
diff --git a/README.org b/README.org
index 0cc3454500..ede42d469b 100644
--- a/README.org
+++ b/README.org
@@ -1,22 +1,24 @@
* Introduction
-=nspawn-tramp= adds support for =systemd-nspawn= containers with Emacs’
+=tramp-nspawn= adds support for =systemd-nspawn= containers with Emacs’
TRAMP system.
* Installation
-This package is not yet available on the various package sites
+** ELPA
+This package is available on
[[https://elpa.gnu.org/packages/nspawn-tramp.html][GNU ELPA]] and can be
installed with
+=M-x package-install RET tramp-nspawn RET= from within Emacs itself.
** Direct download
Download this repository to some location, then add the following to
your Emacs initialization:
#+begin_src elisp
- (add-to-list 'load-path "/path/to/nspawn-tramp")
- (require 'nspawn-tramp)
+ (add-to-list 'load-path "/path/to/tramp-nspawn")
+ (require 'tramp-nspawn)
#+end_src
* Usage
-Call ~nspawn-tramp-setup~ to add support:
+Call ~tramp-nspawn-setup~ to add support:
#+begin_src elisp
- (add-hook 'after-init-hook 'nspawn-tramp-setup)
+ (add-hook 'after-init-hook 'tramp-nspawn-setup)
#+end_src
diff --git a/nspawn-tramp.el b/tramp-nspawn.el
similarity index 52%
rename from nspawn-tramp.el
rename to tramp-nspawn.el
index e5233406fe..286074a5e5 100644
--- a/nspawn-tramp.el
+++ b/tramp-nspawn.el
@@ -1,13 +1,12 @@
-;;; nspawn-tramp.el -- TRAMP integration for systemd-nspawn containers -*-
lexical-binding: t; -*-
+;;; tramp-nspawn.el -- Tramp integration for systemd-nspawn containers -*-
lexical-binding: t; -*-
-;; Copyright © 2021 Free Software Foundation, Inc.
+;; Copyright © 2021-2022 Free Software Foundation, Inc.
;; Author: Brian Cully <bjc@kublai.com>
;; Maintainer: Brian Cully <bjc@kublai.com>
-;; URL: https://github.com/bjc/nspawn-tramp
+;; URL: https://github.com/bjc/tramp-nspawn
;; Keywords: tramp, nspawn, machinectl, systemd, systemd-nspawn
-;; Maintainer: Brian Cully <bjc@kublai.com>
-;; Version: 0.1
+;; Version: 1.0
;; Package-Requires: ((emacs "23"))
;;; License:
@@ -28,30 +27,30 @@
;;; Commentary:
;;
-;; ‘nspawn-tramp’ allows TRAMP to work with containers provided by
+;; ‘tramp-nspawn’ allows Tramp access to environments provided by
;; systemd-nspawn.
;;
;; ## Usage
;;
-;; Call ‘nspawn-tramp-setup’ in your Emacs initialization.
+;; Call ‘tramp-nspawn-setup’ in your Emacs initialization.
;;
-;; (add-hook 'after-init-hook 'nspawn-tramp-setup)
+;; (add-hook 'after-init-hook 'tramp-nspawn-setup)
;;
;; Open a file on a running systemd-nspawn container:
;;
-;; C-x C-f /nspawn:user@container:/path/to/file
+;; C-x C-f /nspawn:USER@CONTAINER:/path/to/file
;;
;; Where:
-;; ‘user’ is the user on the container to connect as (optional)
-;; ‘container’ is the container to connect to
+;; USER is the user on the container to connect as (optional)
+;; CONTAINER is the container to connect to
;;
;; ## Privileges
;;
;; systemd-nspawn and its container utilities often require super user
-;; access to run, and this package does not do privilege escalation in
+;; access to run, and this package does not escalate privileges in
;; order to accomplish that.
;;
-;; One way of working around this using TRAMP’s built-in multi-hop
+;; One way of working around this using Tramp’s built-in multi-hop
;; facilities with doas or sudo to raise your privileges.
;;
;; Another possibility is using polkit(8) to allow specific users
@@ -62,28 +61,28 @@
(require 'tramp)
-(defgroup nspawn-tramp nil
- "TRAMP integration for systemd-nspawn containers."
- :prefix "nspawn-tramp-"
+(defgroup tramp-nspawn nil
+ "Tramp integration for systemd-nspawn containers."
+ :prefix "tramp-nspawn-"
:group 'applications
- :link '(url-link :tag "Github" "https://github.com/bjc/nspawn-tramp")
- :link '(emacs-commentary-link :tag "Commentary" "nspawn-tramp"))
+ :link '(url-link :tag "Github" "https://github.com/bjc/tramp-nspawn")
+ :link '(emacs-commentary-link :tag "Commentary" "tramp-nspawn"))
-(defcustom nspawn-tramp-machinectl-path "machinectl"
- "Path to machinectl executable."
+(defcustom tramp-nspawn-machinectl-program "machinectl"
+ "Name of the machinectl program."
:type 'string
- :group 'nspawn-tramp)
+ :group 'tramp-nspawn)
-(defconst nspawn-tramp-method "nspawn"
- "TRAMP method name to use to connect to systemd-nspawn containers.")
+(defconst tramp-nspawn-method "nspawn"
+ "Tramp method name to use to connect to systemd-nspawn containers.")
-(defun nspawn-tramp--completion-function (&rest _args)
+(defun tramp-nspawn--completion-function (&rest _args)
"List systemd-nspawn containers available for connection.
This function is used by ‘tramp-set-completion-function’, please
see its function help for a description of the format."
(let* ((raw-list (shell-command-to-string
- (concat nspawn-tramp-machinectl-path
+ (concat tramp-nspawn-machinectl-program
" list -q")))
(lines (cdr (split-string raw-list "\n")))
(first-words (mapcar (lambda (line) (car (split-string line)))
@@ -92,10 +91,10 @@ see its function help for a description of the format."
(mapcar (lambda (m) (list nil m)) machines)))
-(defun nspawn-tramp--add-method ()
- "Add TRAMP method handler for nspawn conainers."
- (push `(,nspawn-tramp-method
- (tramp-login-program ,nspawn-tramp-machinectl-path)
+(defun tramp-nspawn--add-method ()
+ "Add Tramp method handler for nspawn containers."
+ (push `(,tramp-nspawn-method
+ (tramp-login-program ,tramp-nspawn-machinectl-program)
(tramp-login-args (("shell")
("-q")
("--uid" "%u")
@@ -105,22 +104,22 @@ see its function help for a description of the format."
(tramp-remote-shell-args ("-i" "-c")))
tramp-methods))
-(defun nspawn-tramp--remove-method ()
- "Remove TRAMP method handler for nspawn containers."
- (setf (alist-get nspawn-tramp-method tramp-methods nil t 'string=) nil))
+(defun tramp-nspawn--remove-method ()
+ "Remove Tramp method handler for nspawn containers."
+ (setf (alist-get tramp-nspawn-method tramp-methods nil t 'string=) nil))
-(defun nspawn-tramp-unload-function ()
- "Remove TRAMP method handler and completion functions."
- (tramp-set-completion-function nspawn-tramp-method nil)
- (nspawn-tramp--remove-method)
+(defun tramp-nspawn-unload-function ()
+ "Remove Tramp method handler and completion functions."
+ (tramp-set-completion-function tramp-nspawn-method nil)
+ (tramp-nspawn--remove-method)
nil)
;;;###autoload
-(defun nspawn-tramp-setup ()
- "Initialize systemd-nspawn support for TRAMP."
- (nspawn-tramp--add-method)
- (tramp-set-completion-function nspawn-tramp-method
- '((nspawn-tramp--completion-function ""))))
-
-(provide 'nspawn-tramp)
-;;; nspawn-tramp.el ends here
+(defun tramp-nspawn-setup ()
+ "Initialize systemd-nspawn support for Tramp."
+ (tramp-nspawn--add-method)
+ (tramp-set-completion-function tramp-nspawn-method
+ '((tramp-nspawn--completion-function ""))))
+
+(provide 'tramp-nspawn)
+;;; tramp-nspawn.el ends here
- [elpa] externals/tramp-nspawn 1c8f42c7bf 08/22: Add feature unload function., (continued)
- [elpa] externals/tramp-nspawn 1c8f42c7bf 08/22: Add feature unload function., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn 3b31544b21 19/22: Rename package to ‘tramp-nspawn’., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn 48102d38e7 05/22: Clean up autoloads., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn 49f23d8ec9 07/22: Use filename in comment header., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn c90c85f1e9 14/22: Minor changes as suggested by Stefan Monnier., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn b8380ee8a7 16/22: Update version to 1.0 in preparation for ELPA release., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn ae6d0d218b 20/22: Clarify wording on package commentary., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn df4ba32b89 09/22: Add usage info for nspawn-tramp-setup., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn d0a137d560 13/22: Add Makefile for build testing outside of Emacs., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn ebaa155c83 15/22: Update README.org to point to add ELPA install instructions., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn 8c5fbc479e 22/22: Merge pull request #1 from bjc/next,
ELPA Syncer <=
- [elpa] externals/tramp-nspawn cb58c4f9aa 10/22: tyop, ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn 87a1d64426 17/22: Remove redundant ‘Maintainer’ tag., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn f10849740a 18/22: Rename “TRAMP” to “Tramp”, it’s proper spelling., ELPA Syncer, 2022/02/19
- [elpa] externals/tramp-nspawn 6403f4f883 21/22: Rename tramp-nspawn-machinectl-file-name to -program., ELPA Syncer, 2022/02/19