image_optim_pack 0.10.1-x86_64-linux → 0.11.0-x86_64-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/check.yml +3 -4
- data/.github/workflows/docker-build.yml +1 -1
- data/.github/workflows/livecheck.yml +1 -1
- data/.github/workflows/rubocop.yml +1 -1
- data/.gitignore +0 -1
- data/CHANGELOG.markdown +11 -0
- data/Dockerfile +2 -0
- data/Dockerfile.debian +2 -0
- data/LICENSE.txt +1 -1
- data/Makefile +15 -6
- data/README.markdown +2 -4
- data/checksums.mk +4 -4
- data/image_optim_pack.gemspec +1 -1
- data/patches/pngcrush.patch +15 -0
- data/script/livecheck +7 -2
- data/script/platform_downloads +4 -1
- data/script/run +66 -33
- data/vendor/linux-x86_64/advpng +0 -0
- data/vendor/linux-x86_64/gifsicle +0 -0
- data/vendor/linux-x86_64/jhead +0 -0
- data/vendor/linux-x86_64/jpeg-recompress +0 -0
- data/vendor/linux-x86_64/jpegoptim +0 -0
- data/vendor/linux-x86_64/jpegtran +0 -0
- data/vendor/linux-x86_64/libjpeg.so +0 -0
- data/vendor/linux-x86_64/liblcms2.so +0 -0
- data/vendor/linux-x86_64/libpng.so +0 -0
- data/vendor/linux-x86_64/libz.so +0 -0
- data/vendor/linux-x86_64/optipng +0 -0
- data/vendor/linux-x86_64/oxipng +0 -0
- data/vendor/linux-x86_64/pngcrush +0 -0
- data/vendor/linux-x86_64/pngquant +0 -0
- metadata +5 -12
- data/Vagrantfile +0 -61
- data/boxes/.gitignore +0 -3
- data/boxes/.rubocop.yml +0 -10
- data/boxes/Gemfile +0 -10
- data/boxes/Rakefile +0 -88
- data/boxes/definitions/centos-amd64/definition.rb +0 -32
- data/boxes/definitions/centos-amd64/ks.cfg +0 -37
- data/boxes/definitions/centos-postinstall.sh +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6636517380c47aef26b61fae25a9ffe04997ad3c06f3820994e54fab03913f8d
|
4
|
+
data.tar.gz: abfa8e7149d00920966321155ea72d3a9175fddd25af972395c7ea71b6ca67c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a643a07be49d1861eaa72bd5bf01a7a3de75fc8950a3932a6fee23f617431178aba89148537ea7e1092a4324168c6829179925d7c2068e15a4c9148c3f1c77f9
|
7
|
+
data.tar.gz: 70dc3d479cbe9aa27673ddef6749000f2012afec64c433b0054e51f6d1b116394b3c038f0f1d50c2df658a6113d1a0cbf8e97cd7e06ff6c0ab2b301a6a333db8
|
data/.github/workflows/check.yml
CHANGED
@@ -11,18 +11,17 @@ jobs:
|
|
11
11
|
matrix:
|
12
12
|
os:
|
13
13
|
- ubuntu-latest
|
14
|
-
- macos-
|
14
|
+
- macos-13
|
15
15
|
ruby:
|
16
|
-
- '2.6'
|
17
16
|
- '2.7'
|
18
17
|
- '3.0'
|
19
18
|
- '3.1'
|
20
19
|
- '3.2'
|
21
|
-
-
|
20
|
+
- '3.3'
|
22
21
|
- jruby-9.4
|
23
22
|
fail-fast: false
|
24
23
|
steps:
|
25
|
-
- uses: actions/checkout@
|
24
|
+
- uses: actions/checkout@v4
|
26
25
|
- uses: ruby/setup-ruby@v1
|
27
26
|
with:
|
28
27
|
ruby-version: "${{ matrix.ruby }}"
|
@@ -14,7 +14,7 @@ jobs:
|
|
14
14
|
- DOCKER_FILE=Dockerfile.debian DOCKER_TAG_SUFFIX=-debian
|
15
15
|
fail-fast: false
|
16
16
|
steps:
|
17
|
-
- uses: actions/checkout@
|
17
|
+
- uses: actions/checkout@v4
|
18
18
|
- uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
|
19
19
|
with:
|
20
20
|
registry: ghcr.io
|
data/.gitignore
CHANGED
data/CHANGELOG.markdown
CHANGED
@@ -2,6 +2,17 @@
|
|
2
2
|
|
3
3
|
## unreleased
|
4
4
|
|
5
|
+
## v0.11.0 (2024-05-05)
|
6
|
+
|
7
|
+
* Use container instead of vagrant to build linux binaries [@toy](https://github.com/toy)
|
8
|
+
* oxipng 9.1.1 [@toy](https://github.com/toy)
|
9
|
+
|
10
|
+
## v0.10.1.20240317 (2024-03-17)
|
11
|
+
|
12
|
+
* gifsicle 1.95 [@toy](https://github.com/toy)
|
13
|
+
* libpng 1.6.43, patching pngcrush to be compatible [@toy](https://github.com/toy)
|
14
|
+
* libjpeg 9f [@toy](https://github.com/toy)
|
15
|
+
|
5
16
|
## v0.10.1 (2023-12-05)
|
6
17
|
|
7
18
|
* liblcms 2.16 [@toy](https://github.com/toy)
|
data/Dockerfile
CHANGED
@@ -120,8 +120,10 @@ FROM libpng as pngcrush
|
|
120
120
|
ARG PNGCRUSH_VER
|
121
121
|
ARG PNGCRUSH_SHA256
|
122
122
|
COPY download/pngcrush-$PNGCRUSH_VER.tar.gz download/
|
123
|
+
COPY patches/pngcrush.patch patches/
|
123
124
|
RUN ./extract pngcrush && \
|
124
125
|
cd build/pngcrush && \
|
126
|
+
patch < ../../patches/pngcrush.patch && \
|
125
127
|
make && \
|
126
128
|
install -c pngcrush /usr/local/bin
|
127
129
|
|
data/Dockerfile.debian
CHANGED
@@ -120,8 +120,10 @@ FROM libpng as pngcrush
|
|
120
120
|
ARG PNGCRUSH_VER
|
121
121
|
ARG PNGCRUSH_SHA256
|
122
122
|
COPY download/pngcrush-$PNGCRUSH_VER.tar.gz download/
|
123
|
+
COPY patches/pngcrush.patch patches/
|
123
124
|
RUN ./extract pngcrush && \
|
124
125
|
cd build/pngcrush && \
|
126
|
+
patch < ../../patches/pngcrush.patch && \
|
125
127
|
make && \
|
126
128
|
install -c pngcrush /usr/local/bin
|
127
129
|
|
data/LICENSE.txt
CHANGED
data/Makefile
CHANGED
@@ -3,17 +3,17 @@ all :
|
|
3
3
|
# ====== VERSIONS ======
|
4
4
|
|
5
5
|
ADVANCECOMP_VER := 2.6
|
6
|
-
GIFSICLE_VER := 1.
|
6
|
+
GIFSICLE_VER := 1.95
|
7
7
|
JHEAD_VER := 3.04
|
8
8
|
JPEGARCHIVE_VER := 2.2.0
|
9
9
|
JPEGOPTIM_VER := 1.5.5
|
10
|
-
LIBJPEG_VER :=
|
10
|
+
LIBJPEG_VER := 9f
|
11
11
|
LIBLCMS_VER := 2.16
|
12
12
|
LIBMOZJPEG_VER := 4.1.5
|
13
|
-
LIBPNG_VER := 1.6.
|
13
|
+
LIBPNG_VER := 1.6.43
|
14
14
|
LIBZ_VER := 1.2.11
|
15
15
|
OPTIPNG_VER := 0.7.8
|
16
|
-
OXIPNG_VER := 9.
|
16
|
+
OXIPNG_VER := 9.1.1
|
17
17
|
PNGCRUSH_VER := 1.8.13
|
18
18
|
PNGOUT_VER := 20200115
|
19
19
|
PNGOUT_LINUX_VER := $(PNGOUT_VER)
|
@@ -43,6 +43,9 @@ BUILD_ROOT_DIR := $(CURDIR)/build
|
|
43
43
|
BUILD_DIR := $(BUILD_ROOT_DIR)/$(OS)-$(ARCH)
|
44
44
|
OUTPUT_ROOT_DIR := $(CURDIR)/vendor
|
45
45
|
OUTPUT_DIR := $(OUTPUT_ROOT_DIR)/$(OS)-$(ARCH)
|
46
|
+
PATCHES_DIR := $(CURDIR)/patches
|
47
|
+
|
48
|
+
export CARGO_HOME := $(DL_DIR)/cargo
|
46
49
|
|
47
50
|
ANSI_RED=\033[31m
|
48
51
|
ANSI_GREEN=\033[32m
|
@@ -112,6 +115,10 @@ $(eval $(call archive-dl,PNGQUANT, https://pngquant.org/pngquant-[VER]-src.ta
|
|
112
115
|
download : $(foreach archive,$(ARCHIVES),$($(archive)_ARC))
|
113
116
|
.PHONY : download
|
114
117
|
|
118
|
+
download-dependencies : $(OXIPNG_EXTRACTED)
|
119
|
+
cd $(OXIPNG_DIR) && cargo fetch --locked
|
120
|
+
.PHONY : download-dependencies
|
121
|
+
|
115
122
|
download-tidy-up :
|
116
123
|
rm -f $(filter-out $(foreach archive,$(ARCHIVES),$($(archive)_ARC)),$(wildcard $(DL_DIR)/*.*))
|
117
124
|
.PHONY : download-tidy-up
|
@@ -269,6 +276,7 @@ test :
|
|
269
276
|
update-versions :
|
270
277
|
script/livecheck --update
|
271
278
|
make checksum-update
|
279
|
+
make download-dependencies
|
272
280
|
.PHONY : update-versions
|
273
281
|
|
274
282
|
# ====== DOCKER ======
|
@@ -410,7 +418,7 @@ $(JHEAD_TARGET) :
|
|
410
418
|
## jpeg-recompress
|
411
419
|
$(eval $(call depend-build,JPEG-RECOMPRESS,LIBMOZJPEG))
|
412
420
|
$(JPEG-RECOMPRESS_TARGET) :
|
413
|
-
cd $(DIR) && $(MAKE) jpeg-recompress CC="$(CC) $(CFLAGS)" LIBJPEG=$(LIBMOZJPEG_TARGET) \
|
421
|
+
cd $(DIR) && $(MAKE) jpeg-recompress CC="$(CC) $(CFLAGS) -fcommon" LIBJPEG=$(LIBMOZJPEG_TARGET) \
|
414
422
|
MAKE=$(MAKE) # fix for bsd in jpeg-archive-2.1.1
|
415
423
|
|
416
424
|
## jpegoptim
|
@@ -489,12 +497,13 @@ $(OPTIPNG_TARGET) :
|
|
489
497
|
|
490
498
|
## oxipng
|
491
499
|
$(OXIPNG_TARGET) :
|
492
|
-
cd $(DIR) && cargo build --release --
|
500
|
+
cd $(DIR) && cargo build --release --frozen --offline
|
493
501
|
|
494
502
|
## pngcrush
|
495
503
|
$(eval $(call depend,PNGCRUSH,LIBPNG LIBZ))
|
496
504
|
$(PNGCRUSH_TARGET) :
|
497
505
|
cd $(DIR) && rm -f png.h pngconf.h
|
506
|
+
cd $(DIR) && patch < $(PATCHES_DIR)/pngcrush.patch
|
498
507
|
cd $(DIR) && $(MAKE) pngcrush \
|
499
508
|
CC="$(CC)" \
|
500
509
|
LD="$(CC)" \
|
data/README.markdown
CHANGED
@@ -70,9 +70,7 @@ gem 'image_optim_pack'
|
|
70
70
|
|
71
71
|
## Development
|
72
72
|
|
73
|
-
Mac OS X binaries and libraries are built on host, others using
|
74
|
-
|
75
|
-
Boxes for vagrant are built using [veewee](https://github.com/jedi4ever/veewee), check [boxes/Rakefile](boxes/Rakefile) and [boxes/definitions](boxes/definitions).
|
73
|
+
Mac OS X binaries and libraries are built on host, others using containers.
|
76
74
|
|
77
75
|
```sh
|
78
76
|
script/run # Build and test all for all oses and architectures
|
@@ -119,4 +117,4 @@ make docker-push # will push tags created by docker-build
|
|
119
117
|
|
120
118
|
## Copyright
|
121
119
|
|
122
|
-
Copyright (c) 2014-
|
120
|
+
Copyright (c) 2014-2024 Ivan Kuchin. See [LICENSE.txt](LICENSE.txt) for details.
|
data/checksums.mk
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
ADVANCECOMP_SHA256 := b07d77735540409771cbe1b6df165b5151c11bb9c3d8f01290be0ec88ec3498f
|
2
|
-
GIFSICLE_SHA256 :=
|
2
|
+
GIFSICLE_SHA256 := b2711647009fd2a13130f3be160532ed46538e762bfc0f020dea50618a7dc950
|
3
3
|
JHEAD_SHA256 := ef89bbcf4f6c25ed88088cf242a47a6aedfff4f08cc7dc205bf3e2c0f10a03c9
|
4
4
|
JPEGARCHIVE_SHA256 := 3da16a5abbddd925dee0379aa51d9fe0cba33da0b5703be27c13a2dda3d7ed75
|
5
5
|
JPEGOPTIM_SHA256 := 90a309d1c092de358bb411d702281ac3039b489d03adb0bc3c4ef04cf0067d38
|
6
|
-
LIBJPEG_SHA256 :=
|
6
|
+
LIBJPEG_SHA256 := 04705c110cb2469caa79fb71fba3d7bf834914706e9641a4589485c1f832565b
|
7
7
|
LIBLCMS_SHA256 := d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51
|
8
8
|
LIBMOZJPEG_SHA256 := 9fcbb7171f6ac383f5b391175d6fb3acde5e64c4c4727274eade84ed0998fcc1
|
9
|
-
LIBPNG_SHA256 :=
|
9
|
+
LIBPNG_SHA256 := e804e465d4b109b5ad285a8fb71f0dd3f74f0068f91ce3cdfde618180c174925
|
10
10
|
LIBZ_SHA256 := c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
|
11
11
|
OPTIPNG_SHA256 := 25a3bd68481f21502ccaa0f4c13f84dcf6b20338e4c4e8c51f2cefbd8513398c
|
12
|
-
OXIPNG_SHA256 :=
|
12
|
+
OXIPNG_SHA256 := f50db90c7ef95c0964dc980f6596b821f362e15d6d4bab247f1eb4aab7554db8
|
13
13
|
PNGCRUSH_SHA256 := fed0aaf5c098aa8c7f78c75365cd18d7341417326ecbdba547876b7b4f3df4be
|
14
14
|
PNGOUT_LINUX_SHA256 := ac38bba6f0de29033de866538c3afa64341319b695bbe388efbc5fd9e830e928
|
15
15
|
PNGOUT_LINUX_STATIC_SHA256 := 7a78ea475d65a00981bf418e5dfa3b34e42d6460fb992340802873bb14b08597
|
data/image_optim_pack.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'image_optim_pack'
|
5
|
-
s.version = '0.
|
5
|
+
s.version = '0.11.0'
|
6
6
|
s.summary = %q{Precompiled binaries for image_optim: advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegtran, optipng, pngcrush, pngquant}
|
7
7
|
s.homepage = "https://github.com/toy/#{s.name}"
|
8
8
|
s.authors = ['Ivan Kuchin']
|
@@ -0,0 +1,15 @@
|
|
1
|
+
diff --git a/pngcrush.c b/pngcrush.c
|
2
|
+
index d0c387e..ed27eff 100644
|
3
|
+
--- a/pngcrush.c
|
4
|
+
+++ b/pngcrush.c
|
5
|
+
@@ -5520,8 +5520,10 @@ int main(int argc, char *argv[])
|
6
|
+
* they were already checked in the pngcrush_measure_idat
|
7
|
+
* function
|
8
|
+
*/
|
9
|
+
+# ifdef PNG_IGNORE_ADLER32
|
10
|
+
png_set_option(read_ptr, PNG_IGNORE_ADLER32,
|
11
|
+
PNG_OPTION_ON);
|
12
|
+
+# endif
|
13
|
+
png_set_crc_action(read_ptr, PNG_CRC_QUIET_USE,
|
14
|
+
PNG_CRC_QUIET_USE);
|
15
|
+
}
|
data/script/livecheck
CHANGED
@@ -122,8 +122,13 @@ class Livecheck
|
|
122
122
|
def update_changelog
|
123
123
|
changelog = FSPath('CHANGELOG.markdown')
|
124
124
|
lines = changelog.readlines
|
125
|
-
|
126
|
-
lines
|
125
|
+
i = 4
|
126
|
+
if lines[i] =~ /^## /
|
127
|
+
lines.insert(i, "\n")
|
128
|
+
else
|
129
|
+
i += 1 while lines[i] =~ /^\* /
|
130
|
+
end
|
131
|
+
lines.insert(i, changelog_entry)
|
127
132
|
write(changelog, lines.join(''))
|
128
133
|
end
|
129
134
|
|
data/script/platform_downloads
CHANGED
@@ -5,7 +5,10 @@ require 'gems'
|
|
5
5
|
require 'ostruct'
|
6
6
|
require 'terminal-table'
|
7
7
|
|
8
|
-
versions = Gems.versions('image_optim_pack').map
|
8
|
+
versions = Gems.versions('image_optim_pack').map do |attributes|
|
9
|
+
attributes['number'] = Gem::Version.new(attributes['number'])
|
10
|
+
OpenStruct.new(attributes) # rubocop:disable Style/OpenStructUse
|
11
|
+
end
|
9
12
|
|
10
13
|
platforms = versions.map(&:platform).uniq.sort_by do |platform|
|
11
14
|
platform.sub('amd64', 'x86_64').split('-').reverse
|
data/script/run
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
#!/usr/bin/env bash
|
1
|
+
#!/usr/bin/env bash -e
|
2
2
|
|
3
3
|
# Build tools on Mac OS X host and in all vms
|
4
4
|
|
5
|
-
set -e
|
6
|
-
|
7
5
|
MAKE_TASK='all -j'
|
8
6
|
|
9
7
|
filters=()
|
@@ -29,6 +27,8 @@ if [[ $(uname -s) != 'Darwin' ]]; then
|
|
29
27
|
exit 1
|
30
28
|
fi
|
31
29
|
|
30
|
+
make download-dependencies
|
31
|
+
|
32
32
|
for arch in x86_64; do
|
33
33
|
platform="darwin-$arch"
|
34
34
|
passes-filter "$platform" || continue
|
@@ -38,53 +38,86 @@ for arch in x86_64; do
|
|
38
38
|
|
39
39
|
mkdir -p "vendor/$platform"
|
40
40
|
|
41
|
-
|
42
|
-
set -e
|
41
|
+
rsync -aR --del Makefile checksums.mk download patches "$build_dir"
|
43
42
|
|
43
|
+
sudo -u _image_optim --set-home bash -exc "
|
44
44
|
mkdir -p '$build_dir'
|
45
45
|
cd '$build_dir'
|
46
46
|
|
47
|
-
ln -nsf '$PWD/Makefile' '$PWD/checksums.mk' '$PWD/download' .
|
48
|
-
rsync -aR --del '$PWD/./vendor/$platform' .
|
49
|
-
|
50
47
|
make $MAKE_TASK ARCH=$arch
|
51
48
|
"
|
52
49
|
|
53
50
|
rsync -aR --del "$build_dir/./vendor/$platform" .
|
54
51
|
done
|
55
52
|
|
56
|
-
|
57
|
-
|
58
|
-
|
53
|
+
if command -v docker &> /dev/null; then
|
54
|
+
container_tool="docker"
|
55
|
+
elif command -v podman &> /dev/null; then
|
56
|
+
container_tool="podman"
|
57
|
+
else
|
58
|
+
echo "neither docker nor podman found"
|
59
|
+
exit 1
|
60
|
+
fi
|
59
61
|
|
60
|
-
|
61
|
-
|
62
|
-
|
62
|
+
container_build() {
|
63
|
+
vm=$1
|
64
|
+
image=$2
|
65
|
+
|
66
|
+
passes-filter "$vm" || return 0
|
67
|
+
header "$vm"
|
63
68
|
|
64
|
-
|
65
|
-
|
66
|
-
vagrant ssh-config "$vm" > "$ssh_config"
|
69
|
+
container_name="image_optim_pack-build-$vm"
|
70
|
+
workdir=/pack
|
67
71
|
|
68
|
-
|
69
|
-
|
70
|
-
|
72
|
+
if [[ -z "$NO_UP" ]]; then
|
73
|
+
status=$("$container_tool" inspect --format '{{.State.Status}}' "$container_name" 2>/dev/null || true)
|
74
|
+
|
75
|
+
if [[ "$status" == "" ]]; then
|
76
|
+
mount="./_path_:$workdir/_path_"
|
77
|
+
|
78
|
+
"$container_tool" \
|
79
|
+
container create \
|
80
|
+
--quiet \
|
81
|
+
--name="$container_name" \
|
82
|
+
--stop-signal SIGHUP \
|
83
|
+
-it \
|
84
|
+
-v "${mount//_path_/}:ro" \
|
85
|
+
-v "${mount//_path_/build/$vm}" \
|
86
|
+
-v "${mount//_path_/vendor/$vm}" \
|
87
|
+
--workdir "$workdir" \
|
88
|
+
"$image"
|
89
|
+
|
90
|
+
"$container_tool" container start "$container_name"
|
91
|
+
|
92
|
+
"$container_tool" exec -it "$container_name" bash -exc "
|
93
|
+
apt update
|
94
|
+
apt -y install make gcc g++ chrpath perl pkg-config autoconf automake libtool nasm cmake patch
|
95
|
+
"
|
96
|
+
fi
|
71
97
|
|
72
|
-
|
73
|
-
|
74
|
-
|
98
|
+
if [[ "$status" = @(created|exited) ]]; then
|
99
|
+
"$container_tool" container start "$container_name"
|
100
|
+
fi
|
75
101
|
|
76
|
-
|
102
|
+
if [[ "$status" = @(created|exited|running) ]]; then
|
103
|
+
"$container_tool" exec -it "$container_name" bash -exc "
|
104
|
+
apt update
|
105
|
+
apt -y dist-upgrade
|
106
|
+
rustup update
|
107
|
+
"
|
108
|
+
fi
|
77
109
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
else
|
82
|
-
gmake $MAKE_TASK
|
110
|
+
if ! [[ "$status" = @(|created|exited|running) ]]; then
|
111
|
+
echo "unexpected status $status"
|
112
|
+
exit 1
|
83
113
|
fi
|
114
|
+
fi
|
115
|
+
|
116
|
+
"$container_tool" exec -it "$container_name" bash -exc "
|
117
|
+
make $MAKE_TASK
|
84
118
|
"
|
85
119
|
|
86
|
-
|
87
|
-
|
120
|
+
[[ -n "$NO_HALT" ]] || "$container_tool" container stop "$container_name"
|
121
|
+
}
|
88
122
|
|
89
|
-
|
90
|
-
done
|
123
|
+
container_build linux-x86_64 rust:slim
|
data/vendor/linux-x86_64/advpng
CHANGED
Binary file
|
Binary file
|
data/vendor/linux-x86_64/jhead
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/vendor/linux-x86_64/libz.so
CHANGED
Binary file
|
data/vendor/linux-x86_64/optipng
CHANGED
Binary file
|
data/vendor/linux-x86_64/oxipng
CHANGED
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: image_optim_pack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: x86_64-linux
|
6
6
|
authors:
|
7
7
|
- Ivan Kuchin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: image_optim
|
@@ -112,7 +112,6 @@ files:
|
|
112
112
|
- LICENSE.txt
|
113
113
|
- Makefile
|
114
114
|
- README.markdown
|
115
|
-
- Vagrantfile
|
116
115
|
- acknowledgements/7z.txt
|
117
116
|
- acknowledgements/advancecomp.txt
|
118
117
|
- acknowledgements/bmp2png.txt
|
@@ -139,19 +138,13 @@ files:
|
|
139
138
|
- acknowledgements/zlib.txt
|
140
139
|
- acknowledgements/zopfli-contributors.txt
|
141
140
|
- acknowledgements/zopfli.txt
|
142
|
-
- boxes/.gitignore
|
143
|
-
- boxes/.rubocop.yml
|
144
|
-
- boxes/Gemfile
|
145
|
-
- boxes/Rakefile
|
146
|
-
- boxes/definitions/centos-amd64/definition.rb
|
147
|
-
- boxes/definitions/centos-amd64/ks.cfg
|
148
|
-
- boxes/definitions/centos-postinstall.sh
|
149
141
|
- checksums.mk
|
150
142
|
- image_optim_pack-darwin-x86_64.gemspec
|
151
143
|
- image_optim_pack-linux-x86_64.gemspec
|
152
144
|
- image_optim_pack.gemspec
|
153
145
|
- lib/image_optim/pack.rb
|
154
146
|
- lib/image_optim_pack.rb
|
147
|
+
- patches/pngcrush.patch
|
155
148
|
- script/extract
|
156
149
|
- script/livecheck
|
157
150
|
- script/platform_downloads
|
@@ -180,7 +173,7 @@ licenses:
|
|
180
173
|
metadata:
|
181
174
|
bug_tracker_uri: https://github.com/toy/image_optim_pack/issues
|
182
175
|
changelog_uri: https://github.com/toy/image_optim_pack/blob/master/CHANGELOG.markdown
|
183
|
-
documentation_uri: https://www.rubydoc.info/gems/image_optim_pack/0.
|
176
|
+
documentation_uri: https://www.rubydoc.info/gems/image_optim_pack/0.11.0
|
184
177
|
source_code_uri: https://github.com/toy/image_optim_pack
|
185
178
|
post_install_message:
|
186
179
|
rdoc_options: []
|
@@ -197,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
190
|
- !ruby/object:Gem::Version
|
198
191
|
version: '0'
|
199
192
|
requirements: []
|
200
|
-
rubygems_version: 3.
|
193
|
+
rubygems_version: 3.5.5
|
201
194
|
signing_key:
|
202
195
|
specification_version: 4
|
203
196
|
summary: 'Precompiled binaries for image_optim: advpng, gifsicle, jhead, jpeg-recompress,
|
data/Vagrantfile
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
Vagrant.configure('2') do |config|
|
2
|
-
# don't mess with keys
|
3
|
-
config.ssh.insert_key = false
|
4
|
-
|
5
|
-
# doesn't make sense to check updates for local boxes
|
6
|
-
config.vm.box_check_update = false
|
7
|
-
|
8
|
-
# there are no guest additions
|
9
|
-
config.vm.provider 'virtualbox' do |vb|
|
10
|
-
vb.check_guest_additions = false
|
11
|
-
vb.customize ['modifyvm', :id, '--groups', '/image_optim']
|
12
|
-
vb.customize ['modifyvm', :id, '--uartmode1', 'disconnected'] # override for ubuntu/xenial32
|
13
|
-
end
|
14
|
-
|
15
|
-
# handle manually using rsync
|
16
|
-
config.vm.synced_folder '.', '/vagrant', disabled: true
|
17
|
-
|
18
|
-
{
|
19
|
-
'linux-x86_64' => 'boxes/centos-amd64.box',
|
20
|
-
}.each do |name, location|
|
21
|
-
config.vm.define name do |machine|
|
22
|
-
machine.vm.hostname = name.gsub('_', '-')
|
23
|
-
machine.vm.box = location
|
24
|
-
|
25
|
-
machine.vm.provision :shell, inline: <<-SH
|
26
|
-
if command -v apt-get; then
|
27
|
-
set -ex
|
28
|
-
|
29
|
-
apt-get update
|
30
|
-
apt-get -y install rsync ntpdate make wget gcc g++ chrpath perl pkg-config autoconf automake libtool nasm cmake cargo
|
31
|
-
apt-get -y remove unattended-upgrades
|
32
|
-
else
|
33
|
-
set -ex
|
34
|
-
|
35
|
-
yum -y install epel-release
|
36
|
-
yum -y install rsync ntpdate make wget gcc gcc-c++ chrpath perl pkg-config autoconf automake libtool nasm cmake cargo
|
37
|
-
fi
|
38
|
-
|
39
|
-
mkdir -p /vagrant
|
40
|
-
chown vagrant:vagrant /vagrant
|
41
|
-
SH
|
42
|
-
|
43
|
-
machine.vm.provision :shell, run: 'always', inline: <<-SH
|
44
|
-
if command -v apt-get; then
|
45
|
-
set -ex
|
46
|
-
|
47
|
-
apt-get update
|
48
|
-
apt-get -y dist-upgrade
|
49
|
-
|
50
|
-
if [ $(lsb_release -r | egrep -o '[0-9]+' | head -1) -lt 18 ]; then
|
51
|
-
do-release-upgrade -f DistUpgradeViewNonInteractive
|
52
|
-
fi
|
53
|
-
else
|
54
|
-
set -ex
|
55
|
-
|
56
|
-
yum -y update
|
57
|
-
fi
|
58
|
-
SH
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
data/boxes/.gitignore
DELETED
data/boxes/.rubocop.yml
DELETED
data/boxes/Gemfile
DELETED
data/boxes/Rakefile
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'pathname'
|
4
|
-
|
5
|
-
class Box # :nodoc:
|
6
|
-
attr_reader :definition_path, :definition_dir, :name, :path, :groups
|
7
|
-
|
8
|
-
def initialize(definition_path)
|
9
|
-
@definition_path = Pathname(definition_path)
|
10
|
-
@definition_dir = @definition_path.dirname
|
11
|
-
@name = @definition_dir.basename.to_s
|
12
|
-
@path = Pathname("#{@name}.box")
|
13
|
-
parts = @name.split('-')
|
14
|
-
@groups = (1...parts.length).map{ |n| parts.take(n).join('-') }
|
15
|
-
end
|
16
|
-
|
17
|
-
def dependencies
|
18
|
-
postinstall_file_paths = Array(definition[:postinstall_files]).map do |path|
|
19
|
-
definition_dir + path
|
20
|
-
end
|
21
|
-
[definition_path] + postinstall_file_paths
|
22
|
-
end
|
23
|
-
|
24
|
-
def build
|
25
|
-
sh(*%W[veewee vbox build --auto --checksum --force --nogui #{name}])
|
26
|
-
sh(*%w[sleep 30])
|
27
|
-
sh(*%W[veewee vbox export --force #{name}])
|
28
|
-
sh(*%W[veewee vbox destroy #{name}])
|
29
|
-
end
|
30
|
-
|
31
|
-
def add
|
32
|
-
assert_box_created
|
33
|
-
|
34
|
-
sh(*%W[vagrant box add --force --name boxes/#{path} #{path}])
|
35
|
-
end
|
36
|
-
|
37
|
-
private
|
38
|
-
|
39
|
-
def definition
|
40
|
-
@definition ||= eval definition_path.read.sub('Veewee::Session.declare', '{}.merge')
|
41
|
-
end
|
42
|
-
|
43
|
-
def assert_box_created
|
44
|
-
abort "#{path} doesn't exist" unless path.size?
|
45
|
-
end
|
46
|
-
|
47
|
-
def sh(*args)
|
48
|
-
abort unless system(*args)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
Dir['definitions/*/definition.rb'].each do |definition_path|
|
53
|
-
box = Box.new(definition_path)
|
54
|
-
|
55
|
-
desc "build #{box.name} box"
|
56
|
-
file box.path => box.dependencies do
|
57
|
-
box.build
|
58
|
-
end
|
59
|
-
|
60
|
-
namespace :add do
|
61
|
-
desc "add #{box.name} box to vagrant"
|
62
|
-
task box.name => box.path do
|
63
|
-
box.add
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
box.groups.each do |group|
|
68
|
-
desc "build #{group} boxes"
|
69
|
-
task "build:#{group}" => box.path
|
70
|
-
|
71
|
-
desc "add #{group} boxes to vagrant"
|
72
|
-
task "add:#{group}" => "add:#{box.name}"
|
73
|
-
end
|
74
|
-
|
75
|
-
desc 'build all boxes'
|
76
|
-
task build: box.path
|
77
|
-
|
78
|
-
desc 'add all boxes to vagrant'
|
79
|
-
task add: "add:#{box.name}"
|
80
|
-
end
|
81
|
-
|
82
|
-
desc 'remove *.box and iso dir'
|
83
|
-
task :clean do
|
84
|
-
sh 'rm *.box || true'
|
85
|
-
sh 'rm -r iso || true'
|
86
|
-
end
|
87
|
-
|
88
|
-
task default: :build
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
Veewee::Session.declare({
|
4
|
-
cpu_count: '1',
|
5
|
-
memory_size: '512',
|
6
|
-
disk_size: '8192',
|
7
|
-
disk_format: 'VDI',
|
8
|
-
hostiocache: 'off',
|
9
|
-
os_type_id: 'RedHat6_64',
|
10
|
-
iso_file: 'CentOS-7-x86_64-Minimal-2009.iso',
|
11
|
-
iso_src: 'http://linux.darkpenguin.net/distros/CentOS/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso',
|
12
|
-
iso_sha256: '07b94e6b1a0b0260b94c83d6bb76b26bf7a310dc78d7a9c7432809fb9bc6194a',
|
13
|
-
iso_download_timeout: '1000',
|
14
|
-
boot_wait: '10',
|
15
|
-
boot_cmd_sequence: [
|
16
|
-
'<Tab> text ks=http://%IP%:%PORT%/ks.cfg<Enter>',
|
17
|
-
],
|
18
|
-
kickstart_port: '7122',
|
19
|
-
kickstart_timeout: '300',
|
20
|
-
kickstart_file: 'ks.cfg',
|
21
|
-
ssh_login_timeout: '10000',
|
22
|
-
ssh_user: 'veewee',
|
23
|
-
ssh_password: 'veewee',
|
24
|
-
ssh_key: '',
|
25
|
-
ssh_host_port: '7222',
|
26
|
-
ssh_guest_port: '22',
|
27
|
-
sudo_cmd: "echo '%p'|sudo -S sh '%f'",
|
28
|
-
shutdown_cmd: '/sbin/halt -h -p',
|
29
|
-
postinstall_files: %w[../centos-postinstall.sh],
|
30
|
-
postinstall_timeout: '10000',
|
31
|
-
skip_iso_transfer: true,
|
32
|
-
})
|
@@ -1,37 +0,0 @@
|
|
1
|
-
install
|
2
|
-
cdrom
|
3
|
-
lang en_US.UTF-8
|
4
|
-
keyboard us
|
5
|
-
network --bootproto=dhcp
|
6
|
-
rootpw --iscrypted $1$damlkd,f$UC/u5pUts5QiU3ow.CSso/
|
7
|
-
firewall --enabled --service=ssh
|
8
|
-
authconfig --enableshadow --passalgo=sha512
|
9
|
-
selinux --disabled
|
10
|
-
timezone UTC
|
11
|
-
bootloader --location=mbr
|
12
|
-
|
13
|
-
text
|
14
|
-
skipx
|
15
|
-
zerombr
|
16
|
-
|
17
|
-
clearpart --all --initlabel
|
18
|
-
autopart
|
19
|
-
|
20
|
-
auth --useshadow --enablemd5
|
21
|
-
firstboot --disabled
|
22
|
-
reboot
|
23
|
-
|
24
|
-
%packages --nobase
|
25
|
-
@core
|
26
|
-
openssh-clients
|
27
|
-
%end
|
28
|
-
|
29
|
-
%post
|
30
|
-
/usr/bin/yum -y install sudo
|
31
|
-
/usr/sbin/groupadd veewee
|
32
|
-
/usr/sbin/useradd veewee -g veewee -G wheel
|
33
|
-
echo "veewee"|passwd --stdin veewee
|
34
|
-
echo "veewee ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/veewee
|
35
|
-
chmod 0440 /etc/sudoers.d/veewee
|
36
|
-
%end
|
37
|
-
|
@@ -1,29 +0,0 @@
|
|
1
|
-
set -ex
|
2
|
-
|
3
|
-
sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
|
4
|
-
|
5
|
-
yum -y install wget
|
6
|
-
|
7
|
-
# Make ssh faster by not waiting on DNS
|
8
|
-
echo "UseDNS no" >> /etc/ssh/sshd_config
|
9
|
-
|
10
|
-
# Vagrant specific
|
11
|
-
date > /etc/vagrant_box_build_time
|
12
|
-
|
13
|
-
# Add vagrant user
|
14
|
-
/usr/sbin/groupadd vagrant
|
15
|
-
/usr/sbin/useradd vagrant -g vagrant -G wheel
|
16
|
-
echo "vagrant"|passwd --stdin vagrant
|
17
|
-
echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/vagrant
|
18
|
-
chmod 0440 /etc/sudoers.d/vagrant
|
19
|
-
|
20
|
-
# Installing vagrant keys
|
21
|
-
mkdir -pm 700 /home/vagrant/.ssh
|
22
|
-
wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
|
23
|
-
chmod 0600 /home/vagrant/.ssh/authorized_keys
|
24
|
-
chown -R vagrant /home/vagrant/.ssh
|
25
|
-
|
26
|
-
yum -y clean all
|
27
|
-
|
28
|
-
# Zero out the free space to save space in the final image
|
29
|
-
dd if=/dev/zero of=/filler bs=1M || rm /filler
|