Skip to contentSkip to conversation

squid: two fixes

PATCH New Yi Zhao 1 participant 3 messages Sep 23, 2016

lore
Share & tools
lore

Yi Zhao

author
#0 lore raw

cover squid: two fixes

The following changes since commit 24e387aaf78bc0f68a46abb1fab3a76364804bd1:

openldap: fix CVE-2015-3276 (2016-09-19 16:24:10 +0200)

are available in the git repository at:

git://git.openembedded.org/meta-openembedded-contrib yzhao/squid-fixes
http://cgit.openembedded.org/cgit.cgi/meta-openembedded-contrib/log/?h=yzhao/squid-fixes

Yi Zhao (2):
squid: specify sysconfdir and logdir
squid: fix ptest failure

 ...squid-don-t-do-squid-conf-tests-at-build-time.patch |  6 +++---
 .../recipes-daemons/squid/files/volatiles.03_squid     |  1 +
 meta-networking/recipes-daemons/squid/squid_3.5.20.bb  | 18 ++++++++++++++++--
 3 files changed, 20 insertions(+), 5 deletions(-)
Signature · 1 line
2.7.4
author
#1 lore raw

PATCH 1/2 squid: specify sysconfdir and logdir

The default sysconfdir is /etc and logdir is /var/logs. Set sysconfdir and logdir when configure, replace them with /etc/squid and /var/log/squid.

---
 .../squid-don-t-do-squid-conf-tests-at-build-time.patch   |  6 +++---
 .../recipes-daemons/squid/files/volatiles.03_squid        |  1 +
 meta-networking/recipes-daemons/squid/squid_3.5.20.bb     | 15 +++++++++++++--
 3 files changed, 17 insertions(+), 5 deletions(-)
meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch +3 -3
index a5e5547..312f44f 100644
@@ -37,7 +37,7 @@ index d5468be..77fc480 100644
  ##	$(AR_R) $(TARGLIB) $(LIBOBJS)
  
 -squid-conf-tests: $(top_builddir)/src/squid.conf.default $(srcdir)/squidconf/*
-+squid-conf-tests: /etc/squid.conf.default squidconf/*
++squid-conf-tests: $(sysconfdir)/squid.conf.default squidconf/*
  	@failed=0; cfglist="$?"; rm -f $@ || $(TRUE); \
  	for cfg in $$cfglist ; do \
 -		$(top_builddir)/src/squid -k parse -f $$cfg || \
@@ -45,7 +45,7 @@ index d5468be..77fc480 100644
  			{ echo "FAIL: squid.conf test: $$cfg" | \
 -				sed s%$(top_builddir)/src/%% | \
 -				sed s%$(srcdir)/squidconf/%% ; \
-+				sed s%/etc/%% | \
++				sed s%$(sysconfdir)/%% | \
 +				sed s%squidconf/%% ; \
  				failed=1; break; \
  			}; \
@@ -53,7 +53,7 @@ index d5468be..77fc480 100644
  			echo "PASS: squid.conf test: $$cfg" | \
 -				sed s%$(top_builddir)/src/%% | \
 -				sed s%$(srcdir)/squidconf/%% ; \
-+				sed s%/etc/%% | \
++				sed s%$(sysconfdir)/%% | \
 +				sed s%squidconf/%% ; \
  		else break; fi; \
  	done; \
meta-networking/recipes-daemons/squid/files/volatiles.03_squid +1 -0
index b96865d..83e1f8b 100644
@@ -1,2 +1,3 @@
 # <type> <owner> <group> <mode> <path> <linksource>
 d squid squid 0755 /var/run/squid none
+d squid squid 0750 /var/log/squid none
meta-networking/recipes-daemons/squid/squid_3.5.20.bb +13 -2
index fe1b027..1341d92 100644
@@ -48,7 +48,8 @@ BASIC_AUTH = "DB SASL LDAP NIS"
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}"
 
-EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}'"
+EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' --sysconfdir=${sysconfdir}/${BPN} --with-logdir=${localstatedir}/log/${BPN}"
+
 export BUILDCXXFLAGS="${BUILD_CXXFLAGS}"
 
 TESTDIR = "test-suite"
@@ -75,10 +76,20 @@ do_install_ptest() {
 }
 
 do_install_append() {
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+        echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+    fi
+
     install -d ${D}${sysconfdir}/default/volatiles
-    install -m 0644 ${WORKDIR}/volatiles.03_squid  ${D}${sysconfdir}/default/volatiles/volatiles.03_squid
+    install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid
+
     rmdir "${D}${localstatedir}/run/${BPN}"
     rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run"
+
+    rmdir "${D}${localstatedir}/log/${BPN}"
+    rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log"
 }
 
 FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons"
Signature · 1 line
2.7.4
author
#2 lore raw

PATCH 2/2 squid: fix ptest failure

In reply to Yi Zhao

Fix error when run ptest on target:
cp: cannot stat '/usr/bin/true': No such file or directory
make: *** [Makefile:1120: squid-conf-tests] Error 1

The correct path should be /bin/true on target.

---
 meta-networking/recipes-daemons/squid/squid_3.5.20.bb | 3 +++
 1 file changed, 3 insertions(+)
meta-networking/recipes-daemons/squid/squid_3.5.20.bb +3 -0
index 1341d92..364d00e 100644
@@ -73,6 +73,9 @@ do_install_ptest() {
     sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \
         -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \
         -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+    # Ensure the path for command true is correct
+    sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
 }
 
 do_install_append() {
Signature · 1 line
2.7.4