Package: packaging-tutorial
Version: 0.13
Severity: wishlist
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hi Lucas, and perl people,

please find a practical session for packaging a CPAN module attached.

Cheers,
gregor


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQJ8BAEBCgBmBQJUASLtXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREMUUxMzE2RTkzQTc2MEE4MTA0RDg1RkFC
QjNBNjgwMTg2NDlBQTA2AAoJELs6aAGGSaoGcMsP/0C98PRpOppEKsH/KDEw6nz9
TQXkUkbv3HXgIfyKW9xqHPbrJ3dGfngmzy9hj8I81jGexDFfEHpGlyK1t5+nyBKn
4V5cDqdzt8CvlsQaUn2hWHcnMEcfLK2zyDW+FlS7fy8UdNzuEbVXkIoK0jyG7rpg
MRyi6l2ickN+o2kRSWMO0P6cWAPA5Tvo18NrkBgOfCSht1yEl+haGoaWwrKqM9Et
NBM6rchp/aHpi1I4nnuR+NB9AIYQqa+rV9bNAAul0DMZNIjjwrmLHcvQrprHlTgS
M3+/CEXxgQndE4FyyQwGh/QvE78bRF5lv6j0M1N6UMoA6sl7iy3MTny7gYp8QaP1
AmQVWY2T3X2TGSZpZtiYe8VL18dT19QzZEgFFHJ44QVknDEZfeGFg7/USowP7BaS
cS5oBX2ULufSE8GYttO0dh1KA2IpDlbUeo1ZigciXYalqjlxe1rQu48Mq8qtIY/q
Ygy72OmJx5RqHtd6b/FWNuBViHIyhKIDNBDuRCFR1P262XifoZlvzlqItmv6GmCF
+U3J5cCG9n2IrsIHNuPTNDqzWSIMPOtuuMC7TbmO237lG/2D/beN5b305HKvTpV5
J3aI/WWhUsKuGpN7wAN4dwZI7P8DnBlV1U/nkR1Vh86pqwGikqbJuT8HaPMpkKdO
Erjos27Gg5P3MtUgXewt
=9hGu
-----END PGP SIGNATURE-----
>From 7fc256500dda068553bee56edef3ea2f55b0997d Mon Sep 17 00:00:00 2001
From: gregor herrmann <[email protected]>
Date: Fri, 29 Aug 2014 18:00:33 -0700
Subject: [PATCH] Add Practical session 5: packaging a Perl module.

This short session shows how to package a CPAN distribution with
dh-make-perl.
---
 packaging-tutorial.tex | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/packaging-tutorial.tex b/packaging-tutorial.tex
index c7739f0..5a28e49 100644
--- a/packaging-tutorial.tex
+++ b/packaging-tutorial.tex
@@ -1441,6 +1441,25 @@ You
 \end{enumerate}
 \end{frame}
 
+\section{Practical session 5: packaging a Perl module}
+\begin{frame}[fragile=singleslide]{Practical session 5: packaging a Perl module}
+\begin{enumerate}
+	\item Take a quick look at some documentation about Perl packaging:\\
+		\begin{itemize}
+		\item \url{http://pkg-perl.alioth.debian.org/}
+      \hbr
+		\item \url{http://wiki.debian.org/Teams/DebianPerlGroup}
+      \hbr
+		\item \texttt{dh-make-perl(1)}, \texttt{dpt(1)} (in the \texttt{pkg-perl-tools} package)
+		\end{itemize}
+		\hbr
+	\item Create a basic Debian source package from the \texttt{Acme} CPAN distribution:\\
+		\verb|dh-make-perl --cpan Acme|
+	\hbr
+	\item Improve it so that it becomes a proper Debian package
+\end{enumerate}
+\end{frame}
+
 \section{Answers to practical sessions}
 
 \begin{frame}
@@ -1866,4 +1885,46 @@ It fails to build. There are two problems:
 Compare your package with the \texttt{ruby-net-ssh} package in the Debian archive
 \end{frame}
 
+\subsection{Practical session 5: packaging a Perl module}
+\begin{frame}[fragile=singleslide]{Practical session 5: packaging a Perl module}
+\begin{enumerate}
+	\item Take a quick look at some documentation about Perl packaging:\\
+		\begin{itemize}
+		\item \url{http://pkg-perl.alioth.debian.org/}
+      \hbr
+		\item \url{http://wiki.debian.org/Teams/DebianPerlGroup}
+      \hbr
+		\item \texttt{dh-make-perl(1)}, \texttt{dpt(1)} (in the \texttt{pkg-perl-tools} package)
+		\end{itemize}
+		\hbr
+	\item Create a basic Debian source package from the \texttt{Acme} CPAN distribution:\\
+		\verb|dh-make-perl --cpan Acme|
+	\hbr
+	\item Improve it so that it becomes a proper Debian package
+\end{enumerate}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]{Step by step\ldots}
+\verb|dh-make-perl --cpan Acme|:
+\begin{itemize}
+\item Downloads the tarball from the CPAN
+\item Creates a suitable .orig.tar.gz archive, and untars it
+\item Initializes a Debian source package based on the distribution's metadata
+	\begin{itemize}
+		\item Named \texttt{lib\textsl{distname}-perl}
+	\end{itemize}
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile=singleslide]{Step by step\ldots (2)}
+Improve the generated package:
+\begin{itemize}
+	\item \texttt{debian/changelog}, \texttt{debian/compat}, \texttt{debian/libacme-perl.docs}, and \texttt{debian/watch} should be correct
+		\hbr
+	\item Edit \texttt{debian/control}: improve \texttt{Description}, and remove boilerplate at the bottom
+		\hbr
+	\item Edit \texttt{debian/copyright}: remove boilerplate paragraph at the top, add years of copyright to the \texttt{Files:\hspace{0.3em}*} stanza
+\end{itemize}
+\end{frame}
+
 \end{document}
-- 
2.1.0

Reply via email to