]>
Commit | Line | Data |
---|---|---|
cd1a2927 | 1 | ############################################################################### |
cd1a2927 | 2 | # # |
70df8302 | 3 | # IPFire.org - A linux based firewall # |
89892117 | 4 | # Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> # |
70df8302 MT |
5 | # # |
6 | # This program is free software: you can redistribute it and/or modify # | |
cd1a2927 | 7 | # it under the terms of the GNU General Public License as published by # |
70df8302 | 8 | # the Free Software Foundation, either version 3 of the License, or # |
cd1a2927 MT |
9 | # (at your option) any later version. # |
10 | # # | |
70df8302 | 11 | # This program is distributed in the hope that it will be useful, # |
cd1a2927 MT |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of # |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # | |
14 | # GNU General Public License for more details. # | |
15 | # # | |
16 | # You should have received a copy of the GNU General Public License # | |
70df8302 | 17 | # along with this program. If not, see <http://www.gnu.org/licenses/>. # |
cd1a2927 | 18 | # # |
cd1a2927 MT |
19 | ############################################################################### |
20 | ||
21 | ############################################################################### | |
22 | # Definitions | |
23 | ############################################################################### | |
24 | ||
25 | include Config | |
26 | ||
9ae861b2 | 27 | VER = 5.7 |
cd1a2927 MT |
28 | |
29 | THISAPP = squid-$(VER) | |
754f508b | 30 | DL_FILE = $(THISAPP).tar.xz |
e383179b | 31 | DL_FROM = $(URL_IPFIRE) |
cd1a2927 MT |
32 | DIR_APP = $(DIR_SRC)/$(THISAPP) |
33 | TARGET = $(DIR_INFO)/$(THISAPP) | |
34 | ||
11b5e5cb AF |
35 | CXXFLAGS+= -Wno-error=format-truncation |
36 | ||
abde7323 MT |
37 | ifeq "$(BUILD_ARCH)" "riscv64" |
38 | LDFLAGS += -latomic | |
39 | endif | |
40 | ||
cd1a2927 MT |
41 | ############################################################################### |
42 | # Top-level Rules | |
43 | ############################################################################### | |
44 | ||
363fb6af | 45 | objects = $(DL_FILE) |
cd1a2927 MT |
46 | |
47 | $(DL_FILE) = $(DL_FROM)/$(DL_FILE) | |
48 | ||
9ae861b2 | 49 | $(DL_FILE)_BLAKE2 = 4a403ca4f94034356922ea1a4feffd5f5289e2aadbe1585bd04e83ee89712227ce04c53f7e05c10f7c8ac6be67a265a32b47032e7b56e929a172772fa41d5299 |
cd1a2927 MT |
50 | |
51 | install : $(TARGET) | |
52 | ||
53 | check : $(patsubst %,$(DIR_CHK)/%,$(objects)) | |
54 | ||
55 | download :$(patsubst %,$(DIR_DL)/%,$(objects)) | |
56 | ||
9a7e4d85 | 57 | b2 : $(subst %,%_BLAKE2,$(objects)) |
cd1a2927 MT |
58 | |
59 | ############################################################################### | |
9a7e4d85 | 60 | # Downloading, checking, b2sum |
cd1a2927 | 61 | ############################################################################### |
6bd4bcda | 62 | |
cd1a2927 MT |
63 | $(patsubst %,$(DIR_CHK)/%,$(objects)) : |
64 | @$(CHECK) | |
65 | ||
66 | $(patsubst %,$(DIR_DL)/%,$(objects)) : | |
67 | @$(LOAD) | |
68 | ||
9a7e4d85 PM |
69 | $(subst %,%_BLAKE2,$(objects)) : |
70 | @$(B2SUM) | |
cd1a2927 MT |
71 | |
72 | ############################################################################### | |
73 | # Installation Details | |
74 | ############################################################################### | |
75 | ||
76 | $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) | |
77 | @$(PREBUILD) | |
754f508b | 78 | @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xaf $(DIR_DL)/$(DL_FILE) |
198c3926 | 79 | |
bbca73d4 MF |
80 | cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/squid/01_squid-gcc11.patch |
81 | ||
02a60a9b MT |
82 | cd $(DIR_APP) && autoreconf -vfi |
83 | cd $(DIR_APP)/libltdl && autoreconf -vfi | |
84 | ||
bf62652e MT |
85 | cd $(DIR_APP) && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ |
86 | LDFLAGS="$(LDFLAGS)" ./configure \ | |
754f508b MT |
87 | --prefix=/usr \ |
88 | --sysconfdir=/etc/squid \ | |
89 | --datadir=/usr/lib/squid \ | |
90 | --mandir=/usr/share/man \ | |
91 | --libexecdir=/usr/lib/squid \ | |
92 | --localstatedir=/var \ | |
88b1e637 | 93 | --disable-ssl \ |
754f508b MT |
94 | --disable-icmp \ |
95 | --disable-wccp \ | |
198c3926 MF |
96 | --disable-wccpv2 \ |
97 | --disable-kqueue \ | |
98 | --disable-esi \ | |
99 | --disable-arch-native \ | |
3196d226 | 100 | --disable-strict-error-checking \ |
198c3926 | 101 | --enable-poll \ |
754f508b | 102 | --enable-ident-lookups \ |
efccb433 | 103 | --enable-storeio=aufs,diskd,ufs \ |
754f508b MT |
104 | --enable-underscores \ |
105 | --enable-http-violations \ | |
efccb433 | 106 | --enable-removal-policies=heap,lru \ |
754f508b MT |
107 | --enable-delay-pools \ |
108 | --enable-linux-netfilter \ | |
109 | --enable-snmp \ | |
110 | --enable-auth \ | |
111 | --enable-auth-basic \ | |
112 | --enable-auth-digest \ | |
113 | --enable-auth-negotiate \ | |
114 | --enable-auth-ntlm \ | |
115 | --enable-log-daemon-helpers \ | |
116 | --enable-url-rewrite-helpers \ | |
117 | --enable-build-info \ | |
118 | --enable-eui \ | |
198c3926 | 119 | --enable-async-io=16 \ |
754f508b MT |
120 | --enable-unlinkd \ |
121 | --enable-internal-dns \ | |
122 | --enable-epoll \ | |
754f508b MT |
123 | --enable-select \ |
124 | --enable-cache-digests \ | |
125 | --enable-forw-via-db \ | |
126 | --enable-htcp \ | |
754f508b | 127 | --enable-kill-parent-hack \ |
754f508b | 128 | --enable-icap-client \ |
69a324f0 | 129 | --enable-zph-qos \ |
198c3926 | 130 | --with-dl \ |
a2bcb413 MF |
131 | --with-large-files \ |
132 | --without-gnutls \ | |
133 | --without-netfilter-conntrack | |
ed38f89d | 134 | |
fd3e7da0 | 135 | cd $(DIR_APP) && make $(MAKETUNING) |
cd1a2927 MT |
136 | cd $(DIR_APP) && make install |
137 | ||
138 | rm -f /etc/squid/squid.conf | |
46c01c09 | 139 | ln -sf /var/ipfire/proxy/squid.conf /etc/squid/squid.conf |
fe1656d2 CS |
140 | rm -f /etc/squid/cachemgr.conf |
141 | ln -sf /var/ipfire/proxy/cachemgr.conf /etc/squid/cachemgr.conf | |
cd1a2927 | 142 | rm -f /etc/squid/errors |
d4c6ba21 | 143 | ln -sf /usr/lib/squid/errors/en /etc/squid/errors |
cd1a2927 | 144 | |
46c01c09 | 145 | -mkdir -p /var/log/cache /var/log/squid /var/log/updatexlrator |
cd1a2927 | 146 | touch /var/log/squid/access.log |
46c01c09 MT |
147 | chown -R squid:squid /var/log/squid /var/log/cache /var/log/updatexlrator |
148 | ||
fe1656d2 | 149 | cp /usr/lib/squid/cachemgr.cgi /srv/web/ipfire/cgi-bin/cachemgr.cgi |
f2ccb35f | 150 | chown root:root /srv/web/ipfire/cgi-bin/cachemgr.cgi |
fe1656d2 | 151 | |
46c01c09 MT |
152 | cp -f $(DIR_SRC)/config/updxlrator/updxlrator /usr/sbin/updxlrator |
153 | cp -f $(DIR_SRC)/config/updxlrator/checkup /var/ipfire/updatexlrator/bin/checkup | |
154 | cp -f $(DIR_SRC)/config/updxlrator/download /var/ipfire/updatexlrator/bin/download | |
e79f3ac0 AF |
155 | cp -f $(DIR_SRC)/config/updxlrator/convert /var/ipfire/updatexlrator/bin/convert |
156 | cp -f $(DIR_SRC)/config/updxlrator/lscache /var/ipfire/updatexlrator/bin/lscache | |
4f4092e3 CS |
157 | cp -f $(DIR_SRC)/config/updxlrator/checkdeaddl /var/ipfire/updatexlrator/bin/checkdeaddl |
158 | ||
bffe0abd | 159 | cp -f $(DIR_SRC)/config/updxlrator/updxlrator-lib.pl /var/ipfire/updatexlrator/updxlrator-lib.pl |
5ae664e1 | 160 | |
46c01c09 | 161 | chmod 755 /usr/sbin/updxlrator /var/ipfire/updatexlrator/bin/checkup \ |
5ae664e1 AF |
162 | /var/ipfire/updatexlrator/bin/download \ |
163 | /var/ipfire/updatexlrator/bin/convert \ | |
4f4092e3 CS |
164 | /var/ipfire/updatexlrator/bin/lscache \ |
165 | /var/ipfire/updatexlrator/bin/checkdeaddl | |
46c01c09 | 166 | |
09eb4f00 MT |
167 | ln -fs /bin/false /var/ipfire/updatexlrator/autocheck/cron.daily |
168 | ln -fs /bin/false /var/ipfire/updatexlrator/autocheck/cron.monthly | |
169 | ln -fs /bin/false /var/ipfire/updatexlrator/autocheck/cron.weekly | |
46c01c09 MT |
170 | |
171 | chown -R nobody:nobody /var/ipfire/updatexlrator | |
859100c5 | 172 | chown -R root:root /var/ipfire/updatexlrator/bin |
362c5537 | 173 | chown root:root /var/ipfire/updatexlrator/updxlrator-lib.pl |
5db10f47 AF |
174 | chown nobody.squid /var/updatecache |
175 | chown nobody.squid /var/updatecache/download | |
176 | chown nobody.squid /var/updatecache/metadata | |
177 | chmod 775 /var/updatecache | |
178 | chmod 775 /var/updatecache/download | |
179 | chmod 775 /var/updatecache/metadata | |
46c01c09 | 180 | chmod 755 /var/log/updatexlrator |
bd24e1fa | 181 | chmod 755 /srv/web/ipfire/html/images/updbooster |
66c36198 | 182 | |
b4f8d26c MT |
183 | chown squid:squid /var/log/squid |
184 | ln -sf /usr/lib/squid /usr/lib/squid/auth | |
268292e7 CS |
185 | cp -f $(DIR_SRC)/config/proxy/proxy.pac /srv/web/ipfire/html/proxy.pac |
186 | chown nobody.nobody /srv/web/ipfire/html/proxy.pac | |
b4f8d26c | 187 | ln -sf /srv/web/ipfire/html/proxy.pac /srv/web/ipfire/html/wpad.dat |
46c01c09 | 188 | |
859100c5 | 189 | # Copy stylesheets for the errorpages |
ab4a5a35 AF |
190 | cp -f $(DIR_SRC)/config/proxy/errorpage-ipfire.css /var/ipfire/proxy/ |
191 | cp -f /etc/squid/errorpage.css /var/ipfire/proxy/errorpage-squid.css | |
192 | ||
cd1a2927 MT |
193 | @rm -rf $(DIR_APP) |
194 | @$(POSTBUILD) |