diff options
Diffstat (limited to 'libre/cacert-dot-org/cacert-dot-org.install')
-rw-r--r-- | libre/cacert-dot-org/cacert-dot-org.install | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libre/cacert-dot-org/cacert-dot-org.install b/libre/cacert-dot-org/cacert-dot-org.install new file mode 100644 index 000000000..eb11f6607 --- /dev/null +++ b/libre/cacert-dot-org/cacert-dot-org.install @@ -0,0 +1,26 @@ +post_install() { + #UPDATE FILE NAMES IN ca-certificates.conf IF THEY'RE OUT OF DATE + [[ `grep -c "mozilla/cacert.org" /etc/ca-certificates.conf` -gt 0 ]] && sed -i 's/mozilla\/cacert\.org/cacert\.org\/cacert\.org/g' /etc/ca-certificates.conf + [[ `grep -c "cacert.org/cacert.org-" /etc/ca-certificates.conf` -gt 0 ]] && sed -i 's/cacert\.org\/cacert\.org-/cacert\.org\/cacert\.org_/g' /etc/ca-certificates.conf + + #ADD THE CERTIFICATES TO ca-certificates.conf IF THEY'RE MISSING + [[ `grep -c "cacert.org/cacert.org_root.crt" /etc/ca-certificates.conf` -eq 0 ]] && echo "cacert.org/cacert.org_root.crt" >> /etc/ca-certificates.conf + [[ `grep -c "cacert.org/cacert.org_class3.crt" /etc/ca-certificates.conf` -eq 0 ]] && echo "cacert.org/cacert.org_class3.crt" >> /etc/ca-certificates.conf + + #UPDATE THE CERTIFICATES BASED ON ca-certificates.conf + update-ca-certificates --fresh +} + +post_upgrade() { + post_install +} + +post_remove() { + grep -v "cacert.org" /etc/ca-certificates.conf > /dev/shm/ca-certificates.conf.tmp + if [[ -s /dev/shm/ca-certificates.conf.tmp ]]; then + mv /dev/shm/ca-certificates.conf.tmp /etc/ca-certificates.conf + update-ca-certificates --fresh + else + echo "An error occurred that prevented the cacert.org certificates from being removed from /etc/ca-certificates.conf, please remove them manually, then run update-ca-certificates --fresh" + fi +} |