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

