1c77dc5417ac0b44f8bcc84fa463f290f4025945
[OSXPackageBuilder.git] / constructZip.sh
1 #!/bin/sh
2
3 # File        :  constructPkgContent.sh
4 #
5 # Purpose     :  Create the hierarchy of folders and files that will 
6 #                comprise the installation package and zip them.
7 #
8 # Copyright   :  Written by and Copyright (C) 2001-2013 the
9 #                Privoxy team. http://www.privoxy.org/
10 #
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.
16 #
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.
22 #
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,
28 #                USA
29 #
30 # Modification : If you modify this file please consider whether your 
31 #                changes ought to be passed back to the iOSPackageBuilder
32 #                module.
33 #
34
35 # Use the common script to locate the directory containing Privoxy's source ($SOURCEDIR)
36 . ./common.sh
37
38 # Remove existing 'pkg content' folder if found
39 echo ""
40 echo "Remove existing 'pkg content' folder if found"
41 rm -rf pkg\ content
42
43 # Copy the package skeleton (the unchanging content) to a new folder named 'pkg content'
44 echo ""
45 echo "Copy the package skeleton (the unchanging content) to a new folder named 'pkg content'"
46 echo ""
47 cp -vR pkg\ content\ skeleton pkg\ content
48
49 # Copy the compiled privoxy binary from the '${SOURCE_DIR}' directory
50 echo ""
51 echo ""
52 echo "Copy the compiled privoxy binary from the '${SOURCE_DIR}' directory"
53 echo ""
54 cp -v ../${SOURCE_DIR}/privoxy pkg\ content/usr/local/sbin
55
56 # Copy the configuration hierarchy from the '${SOURCE_DIR}' directory
57 echo ""
58 echo ""
59 echo "Copy most of the configuration hierarchy from the '${SOURCE_DIR}' directory"
60 echo ""
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/$i
65         else
66                 # for all regular files just copy them across
67                 cp -v ../${SOURCE_DIR}/$i pkg\ content/usr/local/etc/privoxy/$i
68         fi
69 done
70
71 # Enter the correct values for confdir, logdir and enable-edit-actions into the config file 
72 echo ""
73 echo ""
74 echo "Copy the config file from the '${SOURCE_DIR}' directory, modifying confdir, logdir and enable-edit-actions in passing"
75 echo ""
76 sed 's/confdir ./confdir \/usr\/local\/etc\/privoxy/g' ../${SOURCE_DIR}/config > pkg\ content/usr/local/etc/privoxy/config_temp
77 sed 's/logdir ./logdir \/var\/log\/privoxy/g' pkg\ content/usr/local/etc/privoxy/config_temp > pkg\ content/usr/local/etc/privoxy/config_temp2
78 sed 's/enable-edit-actions 0/enable-edit-actions 1/g' pkg\ content/usr/local/etc/privoxy/config_temp2 > pkg\ content/usr/local/etc/privoxy/config
79 rm -f pkg\ content/usr/local/etc/privoxy/config_temp
80 rm -f pkg\ content/usr/local/etc/privoxy/config_temp2
81
82 # Copy the documentation hierarchy from the '${SOURCE_DIR}' directory
83 echo ""
84 echo ""
85 echo "Copy the documentation hierarchy from the '${SOURCE_DIR}' directory"
86 echo ""
87 # copy the required directory hierarchies
88 for i in developer-manual faq images man-page team user-manual; do
89         cp -vR ../${SOURCE_DIR}/doc/webserver/$i pkg\ content/usr/local/share/doc/privoxy/$i
90 done
91 # copy the top-level files
92 for i in announce.txt p_doc.css privoxy-index.html; do
93         cp -v ../${SOURCE_DIR}/doc/webserver/$i pkg\ content/usr/local/share/doc/privoxy/$i
94 done
95 # copy the project's AUTHORS, ChangeLog, LICENSE and README files
96 for i in AUTHORS ChangeLog LICENSE README; do
97         cp -v ../${SOURCE_DIR}/$i pkg\ content/usr/local/share/doc/privoxy/$i
98 done
99
100 # Copy the manpage from the '${SOURCE_DIR}' directory
101 echo ""
102 echo ""
103 echo "Copy the manpage from the '${SOURCE_DIR}' directory"
104 echo ""
105 cp -v ../${SOURCE_DIR}/privoxy.1 pkg\ content/usr/local/share/man/man1
106
107 # Optionally copy the PCRE libraries
108 if [ "$1" == "-pcre" ]; then
109         echo ""
110         echo ""
111         echo "Copy the external PCRE libraries"
112         echo ""
113         mkdir pkg\ content/usr/local/lib
114         cp -v /usr/local/lib/libpcre* pkg\ content/usr/local/lib
115         mkdir pkg\ content/usr/local/lib/pkgconfig
116         cp -v /usr/local/lib/pkgconfig/libpcre* pkg\ content/usr/local/lib/pkgconfig
117 fi
118
119 # Remove CVS administration files
120 echo ""
121 echo ""
122 echo "Remove CVS administration files"
123 echo ""
124 find pkg\ content -name CVS.sandboxinfo -exec rm -rf {} \;
125 find pkg\ content -name CVS -exec rm -rf {} \;
126
127 # Build zip file
128 cd pkg\ content
129 zip -r org.ijbswa.privoxy.zip *
130 cd ..