summaryrefslogtreecommitdiffstats
path: root/2019/talks/22.md
diff options
context:
space:
mode:
authorAmin Bandali <bandali@gnu.org>2020-07-19 14:54:42 -0400
committerAmin Bandali <bandali@gnu.org>2020-07-19 14:54:42 -0400
commit3d9ad5862f8643861543acb25aa6f97953ad4f0a (patch)
treee4d96c59f258879e16e8b3e9474e3747f132ab24 /2019/talks/22.md
parenta2d65cb287a8e3e22898309788f4389c0d10108c (diff)
downloademacsconf-wiki-3d9ad5862f8643861543acb25aa6f97953ad4f0a.tar.xz
emacsconf-wiki-3d9ad5862f8643861543acb25aa6f97953ad4f0a.zip
2019/talks/: import the remaining ones
adding transcripts on-site when possible
Diffstat (limited to '2019/talks/22.md')
-rw-r--r--2019/talks/22.md90
1 files changed, 90 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 &copy; 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:
+```