diff options
Diffstat (limited to '')
-rw-r--r-- | 2019/talks/22.md | 90 | ||||
-rw-r--r-- | 2019/talks/22/discussion.md | 6 |
2 files changed, 96 insertions, 0 deletions
diff --git a/2019/talks/22.md b/2019/talks/22.md new file mode 100644 index 00000000..8099a3e3 --- /dev/null +++ b/2019/talks/22.md @@ -0,0 +1,90 @@ +[[!meta title="Packaging emacs packages for Debian - David Bremner"]] +[[!meta copyright="Copyright © 2019 David Bremner"]] + +[[!template id=vid +src="https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-22-packaging-emacs-packages-for-debian--bremner.webm" +type="video/webm"]] + +### Download + +- [Video](https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-22-packaging-emacs-packages-for-debian--bremner.webm) (1080p) + +### Notes + +```org +#+TITLE: Packaging Emacs packages for Debian +#+AUTHOR: David Bremner +#+PROPERTY: header-args:sh :results output :session demo :output session +* Why Debian Packages for Emacs addons? +** For users +- Extra layer of curation +- Integration testing +- Non-emacs dependencies are easy +- Co-operates with other =package.el= sources, e.g. /Melpa stable/. +** For admins +- Familiar tools +- Known trust model +- Building VM images +- Stable releases + +* Packaging demo +** setup +#+begin_src sh :var dir=(expand-file-name default-directory) +export SUDO_ASKPASS=/usr/bin/ssh-askpass +export DPKG_COLORS=never +export DEBIAN_FRONTEND=noninteractive +cd $dir +rm -rf build +mkdir build +cd build +#+end_src + +** grab the source +#+begin_src sh +git clone -q -o upstream https://github.com/takaxp/org-tree-slide.git +#+end_src + +** generate the packaging +#+begin_src sh +cd org-tree-slide +dh-make-elpa --pkg-emacsen +#+end_src + +** inspecting the results +#+begin_src elisp +(dired "build/org-tree-slide/debian") +(dired-hide-details-mode) +#+end_src + +** building the package + +#+begin_src sh +dpkg-buildpackage -uc -us -b +#+end_src + +** install the package +#+begin_src sh +sudo -A env NEEDRESTART_SUSPEND=y DEBIAN_FRONTEND=noninteractive \ + apt-get install --reinstall -q -y ../elpa-org-tree-slide*.deb </dev/null +#+end_src + +** activate the package +#+begin_src elisp +(package-initialize) +(locate-library "org-tree-slide") +#+end_src + +#+begin_src sh +dpkg -L elpa-org-tree-slide < /dev/null +#+end_src + +* Cleanup this buffer +#+begin_src elisp +(org-babel-remove-result-one-or-many 't) +#+end_src + +* Configuration +# Local Variables: +# org-confirm-babel-evaluate: nil +# End: +``` diff --git a/2019/talks/22/discussion.md b/2019/talks/22/discussion.md new file mode 100644 index 00000000..81e55f73 --- /dev/null +++ b/2019/talks/22/discussion.md @@ -0,0 +1,6 @@ +Nice and clear. +Good for teaching us the goog and best practice for a beginner. With that we what to to and in which sequence. +This cas be the start for a good developper to automate a bit and virtualize for abstract packaging in a DevOps and DevSecOps, so thank you a lot. This is very usefull ! +kf + +-- kf_kiff_Packaging_e4d 2019-11-14 09:40 UTC |