Add scripts to compile optipng & libwebp
This commit is contained in:
parent
9d02d67ae7
commit
a4a3c99be7
|
@ -1,5 +1,5 @@
|
|||
sudo: required
|
||||
dist: xenial
|
||||
dist: bionic
|
||||
|
||||
language: bash
|
||||
|
||||
|
@ -17,8 +17,8 @@ addons:
|
|||
|
||||
script:
|
||||
- sudo apt-get install jpegoptim -y
|
||||
- sudo bash install-webp.sh
|
||||
- sudo bash install-optipng.sh
|
||||
- sudo bash scripts/install-webp.sh
|
||||
- sudo bash scripts/install-optipng.sh
|
||||
- sudo cp optimize.sh /usr/local/bin/img-optimize
|
||||
- sudo chmod 755 /usr/local/bin/img-optimize
|
||||
- /usr/local/bin/img-optimize --all
|
||||
|
|
|
@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||
|
||||
- quiet mode
|
||||
- option --no-run-if-empty added to xargs
|
||||
- scripts to compile optipng & libwebp from source
|
||||
|
||||
### Changed
|
||||
|
||||
|
|
27
README.md
27
README.md
|
@ -10,6 +10,8 @@
|
|||
- optipng for png optimization
|
||||
- cwebp for WebP conversion
|
||||
|
||||
### From APT repositories
|
||||
|
||||
Debian/Ubuntu :
|
||||
|
||||
```bash
|
||||
|
@ -22,6 +24,18 @@ Centos 7 :
|
|||
sudo yum install optipng jpegoptim libwebp-tools -y
|
||||
```
|
||||
|
||||
### Compile the latest release (optipng & libwebp)
|
||||
|
||||
For Debian/Ubuntu (available in scripts folder) :
|
||||
|
||||
```bash
|
||||
# optipng
|
||||
curl -sL git.io/fjd0v | sudo -E bash
|
||||
|
||||
# libwebp
|
||||
curl -sL git.io/fjd0v | sudo -E bash
|
||||
```
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
## Installation
|
||||
|
@ -43,12 +57,13 @@ echo "alias img-optimize=$HOME/.img-optimize/optimize.sh" >> $HOME/.bashrc
|
|||
source $HOME/.bashrc
|
||||
```
|
||||
|
||||
**Method 2** : Copy the script in /usr/local/bin
|
||||
**Method 2** : Add an alias to the script in /usr/local/bin
|
||||
|
||||
With this method img-optimize can be used by all users
|
||||
|
||||
```bash
|
||||
sudo cp $HOME/.img-optimize/optimize.sh /usr/local/bin/img-optimize
|
||||
sudo ln -s $HOME/.img-optimize/optimize.sh /usr/local/bin/img-optimize
|
||||
sudo chmod +x /usr/local/bin/img-optimize
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
@ -80,15 +95,9 @@ To update the script, just run :
|
|||
git -C $HOME/.img-optimize pull
|
||||
```
|
||||
|
||||
If you previously used the 2nd install method, you have to copy the script again to update it
|
||||
|
||||
```bash
|
||||
sudo cp $HOME/.img-optimize/optimize.sh /usr/local/bin/img-optimize -f
|
||||
```
|
||||
|
||||
## Setup daily cronjob
|
||||
|
||||
You copy the scripts to /etc/cron.daily :
|
||||
You just have to copy the scripts to /etc/cron.daily :
|
||||
|
||||
```bash
|
||||
cp $HOME/.img-optimize/crons/jpg-png-cron.sh /etc/cron.daily/jpg-png-cron
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# install prerequisites
|
||||
apt-get install build-essential libpng-dev zlib1g-dev curl pigz -y
|
||||
|
||||
# go into /usr/local/src and remove previous optipng folder/archive
|
||||
cd /usr/local/src || exit 1
|
||||
rm -rf optipng*
|
||||
|
||||
# get the latest optipng release link
|
||||
OPTIPNGLATEST=$(curl -sL optipng.sourceforge.net | grep tar.gz | awk -F '["]' '{print $4}')
|
||||
|
||||
# download and extract optipng
|
||||
wget $OPTIPNGLATEST -O optipng.tar.gz
|
||||
tar -I pigz -xf optipng.tar.gz
|
||||
cd optipng-* || exit 1
|
||||
|
||||
# configure and compile optipng
|
||||
./configure --prefix=/usr
|
||||
make -j "$(nproc)"
|
||||
strip --strip-unneeded /usr/local/src/optipng-*/src/optipng/optipng
|
||||
make install
|
|
@ -1,19 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# install prerequisites
|
||||
apt-get install build-essential libjpeg-dev libpng-dev libtiff-dev libgif-dev libwebp-dev tar gzip wget -y
|
||||
|
||||
# go into /usr/local/src and remove previous libwebp folder/archive
|
||||
cd /usr/local/src || exit
|
||||
rm -rf libwebp*
|
||||
|
||||
# download and extract latest libwebp sources
|
||||
wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.2.tar.gz -O libwebp.tar.gz
|
||||
tar xzf libwebp.tar.gz
|
||||
cd libwebp-* || exit
|
||||
|
||||
# configure libwebp and launch compilation
|
||||
./configure --prefix=/usr
|
||||
make -j "$(nproc)"
|
||||
strip --strip-unneeded /usr/local/src/libwebp-*/examples/.libs/{cwebp,dwebp}
|
||||
make install
|
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/env bash
|
||||
#----------------------------------------------------------------------------
|
||||
# img-optimize- optipng compilation script
|
||||
#----------------------------------------------------------------------------
|
||||
# Website: https://virtubox.net
|
||||
# GitHub: https://github.com/VirtuBox/img-optimize
|
||||
# Author: VirtuBox
|
||||
# License: M.I.T
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# install prerequisites
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt update && apt-get install --assume-yes build-essential libpng-dev zlib1g-dev curl pigz jpegoptim
|
||||
|
||||
# get the latest optipng release link
|
||||
OPTIPNGLATEST=$(curl -sL optipng.sourceforge.net | grep tar.gz | awk -F '["]' '{print $4}')
|
||||
|
||||
# go into /usr/local/src and remove previous optipng folder/archive
|
||||
cd /usr/local/src || exit 1
|
||||
rm -rf optipng*
|
||||
|
||||
# download and extract optipng
|
||||
curl -sL "$OPTIPNGLATEST" | tar -I pigz -xf -
|
||||
cd optipng-* || exit 1
|
||||
|
||||
# configure and compile optipng
|
||||
./configure --prefix=/usr
|
||||
make -j "$(nproc)"
|
||||
strip --strip-unneeded /usr/local/src/optipng-*/src/optipng/optipng
|
||||
make install
|
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/env bash
|
||||
#----------------------------------------------------------------------------
|
||||
# img-optimize- libwebp compilation script
|
||||
#----------------------------------------------------------------------------
|
||||
# Website: https://virtubox.net
|
||||
# GitHub: https://github.com/VirtuBox/img-optimize
|
||||
# Author: VirtuBox
|
||||
# License: M.I.T
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# install prerequisites
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update && apt-get install --assume-yes build-essential libjpeg-dev libpng-dev libtiff-dev libgif-dev libwebp-dev tar pigz curl
|
||||
|
||||
# get the latest release number
|
||||
LATEST_WEBP=$(curl https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html 2>&1 | grep ".tar.gz\"" | awk -F '["]' '{print $2}' | sort -r | head -n 1 2>&1)
|
||||
|
||||
# go into /usr/local/src and remove previous libwebp folder/archive
|
||||
cd /usr/local/src || exit
|
||||
rm -rf libwebp*
|
||||
|
||||
# download and extract latest libwebp sources
|
||||
curl -sL "https:$LATEST_WEBP" | tar -I pigz -xf -
|
||||
cd libwebp-* || exit
|
||||
|
||||
# configure libwebp and launch compilation
|
||||
./configure --prefix=/usr
|
||||
make -j "$(nproc)"
|
||||
strip --strip-unneeded /usr/local/src/libwebp-*/examples/.libs/{cwebp,dwebp}
|
||||
make install
|
Loading…
Reference in New Issue