Date: Thu, 1 Oct 2015 14:34:26 +0000 (UTC) From: Mathieu Arnold <mat@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r47467 - head/en_US.ISO8859-1/books/porters-handbook/plist Message-ID: <201510011434.t91EYRlo026725@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mat Date: Thu Oct 1 14:34:26 2015 New Revision: 47467 URL: https://svnweb.freebsd.org/changeset/doc/47467 Log: Update the @sample example to catch up with reality. Reviewed by: brd, wblock Sponsored by: Absolight Differential Revision: https://reviews.freebsd.org/D3755 Modified: head/en_US.ISO8859-1/books/porters-handbook/plist/chapter.xml Modified: head/en_US.ISO8859-1/books/porters-handbook/plist/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/plist/chapter.xml Thu Oct 1 14:34:20 2015 (r47466) +++ head/en_US.ISO8859-1/books/porters-handbook/plist/chapter.xml Thu Oct 1 14:34:26 2015 (r47467) @@ -881,7 +881,7 @@ EOD</programlisting> <title>Real Life Example, How <literal>@sample</literal> is Implemented</title> - <para>This keyword does three things, it adds the + <para>This keyword does three things. It adds the first <replaceable>filename</replaceable> passed as an argument to <literal>@sample</literal> to the packing list, it adds to the <literal>post-install</literal> script instructions to @@ -890,27 +890,46 @@ EOD</programlisting> <literal>post-deinstall</literal> instructions to remove the configuration file if it has not been modified.</para> - <programlisting>actions: [file] + <programlisting>actions: [file(1)] +arguments: true post-install: <<EOD - case "%@" in - /*) sample_file="%@" ;; - *) sample_file="%D/%@" ;; + case "%1" in + /*) sample_file="%1" ;; + *) sample_file="%D/%1" ;; esac target_file="${sample_file%.sample}" + set -- %@ + if [ $# -eq 2 ]; then + target_file=${2} + fi + case "${target_file}" in + /*) target_file="${target_file}" ;; + *) target_file="%D/${target_file}" ;; + esac if ! [ -f "${target_file}" ]; then - /bin/cp -p "${sample_file}" "${target_file}" + /bin/cp -p "${sample_file}" "${target_file}" && \ + /bin/chmod u+w "${target_file}" fi EOD pre-deinstall: <<EOD - case "%@" in - /*) sample_file="%@" ;; - *) sample_file="%D/%@" ;; + case "%1" in + /*) sample_file="%1" ;; + *) sample_file="%D/%1" ;; esac target_file="${sample_file%.sample}" + set -- %@ + if [ $# -eq 2 ]; then + set -- %@ + target_file=${2} + fi + case "${target_file}" in + /*) target_file="${target_file}" ;; + *) target_file="%D/${target_file}" ;; + esac if cmp -s "${target_file}" "${sample_file}"; then rm -f "${target_file}" else - echo "You may need to manually remove ${target_file} if it's no longer needed." + echo "You may need to manually remove ${target_file} if it is no longer needed." fi EOD</programlisting> </example>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201510011434.t91EYRlo026725>