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 # Copy the compiled privoxy binary from the '${SOURCE_DIR}' directory
52 echo "Copy the compiled privoxy binary from the '${SOURCE_DIR}' directory"
54 cp -v ../${SOURCE_DIR}/privoxy pkg\ content/usr/local/sbin
56 # Copy the configuration hierarchy from the '${SOURCE_DIR}' directory
59 echo "Copy most of the configuration hierarchy from the '${SOURCE_DIR}' directory"
61 for i in default.action default.filter match-all.action trust user.action user.filter templates; do
62 if [ "$i" = "templates" ]; then
63 # for the templates subfolder copy all files therein
64 cp -vR ../${SOURCE_DIR}/$i pkg\ content/usr/local/etc/privoxy/vanilla/$i
66 # for all regular files just copy them across
67 cp -v ../${SOURCE_DIR}/$i pkg\ content/usr/local/etc/privoxy/vanilla/$i
71 # Enter the correct values for confdir and logdir into the config file
74 echo "Copy the config file from the '${SOURCE_DIR}' directory, modifying the confdir and logdir in passing"
76 sed 's/confdir ./confdir \/usr\/local\/etc\/privoxy/g' ../${SOURCE_DIR}/config > pkg\ content/usr/local/etc/privoxy/vanilla/config_temp
77 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
78 rm -f pkg\ content/usr/local/etc/privoxy/vanilla/config_temp
80 # Copy the documentation hierarchy from the '${SOURCE_DIR}' directory
83 echo "Copy the documentation hierarchy from the '${SOURCE_DIR}' directory"
85 # copy the required directory hierarchies
86 for i in developer-manual faq images man-page team user-manual; do
87 cp -vR ../${SOURCE_DIR}/doc/webserver/$i pkg\ content/usr/local/share/doc/privoxy/$i
89 # copy the top-level files
90 for i in announce.txt p_doc.css privoxy-index.html; do
91 cp -v ../${SOURCE_DIR}/doc/webserver/$i pkg\ content/usr/local/share/doc/privoxy/$i
93 # copy the project's AUTHORS, ChangeLog, LICENSE and README files
94 for i in AUTHORS ChangeLog LICENSE README; do
95 cp -v ../${SOURCE_DIR}/$i pkg\ content/usr/local/share/doc/privoxy/$i
98 # Copy the manpage from the '${SOURCE_DIR}' directory
101 echo "Copy the manpage from the '${SOURCE_DIR}' directory"
103 cp -v ../${SOURCE_DIR}/privoxy.1 pkg\ content/usr/local/share/man/man1
105 # Optionally copy the PCRE libraries
106 if [ "$1" == "-pcre" ]; then
109 echo "Copy the external PCRE libraries"
111 mkdir pkg\ content/usr/local/lib
112 cp -v /usr/local/lib/libpcre* pkg\ content/usr/local/lib
113 mkdir pkg\ content/usr/local/lib/pkgconfig
114 cp -v /usr/local/lib/pkgconfig/libpcre* pkg\ content/usr/local/lib/pkgconfig
117 # Remove CVS administration files
120 echo "Remove CVS administration files"
122 find pkg\ content -name CVS.sandboxinfo -exec rm -rf {} \;
123 find pkg\ content -name CVS -exec rm -rf {} \;