3 # File : constructPkgContent.sh
5 # Purpose : Create the hierarchy of folders and files that will
6 # comprise the installation package.
8 # Copyright : Written by and Copyright (C) 2001-2012 the
9 # Privoxy team. http://www.privoxy.org/
11 # This program is free software; you can redistribute it
12 # and/or modify it under the terms of the GNU General
13 # Public License as published by the Free Software
14 # Foundation; either version 2 of the License, or (at
15 # your option) any later version.
17 # This program is distributed in the hope that it will
18 # be useful, but WITHOUT ANY WARRANTY; without even the
19 # implied warranty of MERCHANTABILITY or FITNESS FOR A
20 # PARTICULAR PURPOSE. See the GNU General Public
21 # License for more details.
23 # The GNU General Public License should be included with
24 # this file. If not, you can view it at
25 # http://www.gnu.org/copyleft/gpl.html
26 # or write to the Free Software Foundation, Inc.,
27 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
30 # Modification : If you modify this file please consider whether your
31 # changes ought to be passed back to the OSXPackageBuilder
35 # Use the common script to locate the directory containing Privoxy's source ($SOURCEDIR)
38 # Remove existing 'pkg content' folder if found
40 echo "Remove existing 'pkg content' folder if found"
43 # Copy the package skeleton (the unchanging content) to a new folder named 'pkg content'
45 echo "Copy the package skeleton (the unchanging content) to a new folder named 'pkg content'"
47 cp -vR pkg\ content\ skeleton pkg\ content
49 # Replace the version number placeholders in the uninstallation script
51 echo "Replace the version number placeholders in the uninstallation script"
53 VERSION=`perl findversion.pl ../${SOURCE_DIR}/ChangeLog`
54 sed "s/PRIVOXY_VERSION/${VERSION}/g" pkg\ content\ skeleton/Applications/Privoxy/uninstall.command > pkg\ content/Applications/Privoxy/uninstall.command
56 # Copy the compiled privoxy binary from the '${SOURCE_DIR}' directory
59 echo "Copy the compiled privoxy binary from the '${SOURCE_DIR}' directory"
61 cp -v ../${SOURCE_DIR}/privoxy pkg\ content/usr/local/sbin
63 # Copy the configuration hierarchy from the '${SOURCE_DIR}' directory
66 echo "Copy most of the configuration hierarchy from the '${SOURCE_DIR}' directory"
68 for i in default.action default.filter match-all.action trust user.action user.filter templates; do
69 if [ "$i" = "templates" ]; then
70 # for the templates subfolder copy all files therein
71 cp -vR ../${SOURCE_DIR}/$i pkg\ content/usr/local/etc/privoxy/vanilla/$i
73 # for all regular files just copy them across
74 cp -v ../${SOURCE_DIR}/$i pkg\ content/usr/local/etc/privoxy/vanilla/$i
78 # Enter the correct values for confdir and logdir into the config file
81 echo "Copy the config file from the '${SOURCE_DIR}' directory, modifying the confdir and logdir in passing"
83 sed 's/confdir ./confdir \/usr\/local\/etc\/privoxy/g' ../${SOURCE_DIR}/config > pkg\ content/usr/local/etc/privoxy/vanilla/config_temp
84 sed 's/logdir ./logdir \/var\/log\/privoxy/g' pkg\ content/usr/local/etc/privoxy/vanilla/config_temp > pkg\ content/usr/local/etc/privoxy/vanilla/config
85 rm -f pkg\ content/usr/local/etc/privoxy/vanilla/config_temp
87 # Copy the documentation hierarchy from the '${SOURCE_DIR}' directory
90 echo "Copy the documentation hierarchy from the '${SOURCE_DIR}' directory"
92 # copy the required directory hierarchies
93 for i in developer-manual faq images man-page team user-manual; do
94 cp -vR ../${SOURCE_DIR}/doc/webserver/$i pkg\ content/usr/local/share/doc/privoxy/$i
96 # copy the top-level files
97 for i in announce.txt p_doc.css privoxy-index.html; do
98 cp -v ../${SOURCE_DIR}/doc/webserver/$i pkg\ content/usr/local/share/doc/privoxy/$i
100 # copy the project's AUTHORS, ChangeLog, LICENSE and README files
101 for i in AUTHORS ChangeLog LICENSE README; do
102 cp -v ../${SOURCE_DIR}/$i pkg\ content/usr/local/share/doc/privoxy/$i
105 # Copy the manpage from the '${SOURCE_DIR}' directory
108 echo "Copy the manpage from the '${SOURCE_DIR}' directory"
110 cp -v ../${SOURCE_DIR}/privoxy.1 pkg\ content/usr/local/share/man/man1
112 # Optionally copy the PCRE libraries
113 if [ "$1" == "-pcre" ]; then
116 echo "Copy the external PCRE libraries"
118 mkdir pkg\ content/usr/local/lib
119 cp -v /usr/local/lib/libpcre* pkg\ content/usr/local/lib
120 mkdir pkg\ content/usr/local/lib/pkgconfig
121 cp -v /usr/local/lib/pkgconfig/libpcre* pkg\ content/usr/local/lib/pkgconfig
124 # Remove CVS administration files
127 echo "Remove CVS administration files"
129 find pkg\ content -name CVS.sandboxinfo -exec rm -rf {} \;
130 find pkg\ content -name CVS -exec rm -rf {} \;