build/Makefile.common: shrink pdfs before publish
Closes: SYS#6380 Change-Id: I7c01b1cb1a0e7de385359671461a0ad142dfa5ad
This commit is contained in:
parent
33b5f5c889
commit
24cca7086b
|
@ -9,8 +9,9 @@
|
||||||
SSH_COMMAND = ssh -o 'UserKnownHostsFile=$(OSMO_GSM_MANUALS_DIR)/build/known_hosts' -p 48
|
SSH_COMMAND = ssh -o 'UserKnownHostsFile=$(OSMO_GSM_MANUALS_DIR)/build/known_hosts' -p 48
|
||||||
UPLOAD_PATH ?= generic@sysmocom-downloads:documents
|
UPLOAD_PATH ?= generic@sysmocom-downloads:documents
|
||||||
SYMLINKS = common build
|
SYMLINKS = common build
|
||||||
CLEAN_FILES += $(SYMLINKS)
|
CLEAN_FILES += $(SYMLINKS) $(SHRINK_MARKER)
|
||||||
PDF_FILES = $(patsubst %.adoc,%.pdf,$(ASCIIDOC)) $(patsubst %.xml,%.pdf,$(VTY_REFERENCE))
|
PDF_FILES = $(patsubst %.adoc,%.pdf,$(ASCIIDOC)) $(patsubst %.xml,%.pdf,$(VTY_REFERENCE))
|
||||||
|
SHRINK_MARKER = generated/.pdf_shrink_marker
|
||||||
PUBLISH_REF ?= master
|
PUBLISH_REF ?= master
|
||||||
PUBLISH_TEMPDIR = _publish_tmpdir
|
PUBLISH_TEMPDIR = _publish_tmpdir
|
||||||
|
|
||||||
|
@ -20,12 +21,17 @@ prefix ?= /usr/local
|
||||||
$(SYMLINKS):
|
$(SYMLINKS):
|
||||||
ln -s $(OSMO_GSM_MANUALS_DIR)/$@ $@
|
ln -s $(OSMO_GSM_MANUALS_DIR)/$@ $@
|
||||||
|
|
||||||
|
# Reduce pdf size by storing the embedded images with less quality (SYS#6380)
|
||||||
|
shrink: $(SHRINK_MARKER)
|
||||||
|
$(SHRINK_MARKER): $(UPLOAD_FILES)
|
||||||
|
build/shrink-pdfs.sh $(UPLOAD_FILES)
|
||||||
|
|
||||||
# Publish to $UPLOAD_PATH
|
# Publish to $UPLOAD_PATH
|
||||||
upload: $(UPLOAD_FILES)
|
upload: shrink
|
||||||
rsync -avz $(UPLOAD_FILES) $(UPLOAD_PATH)/
|
rsync -avz $(UPLOAD_FILES) $(UPLOAD_PATH)/
|
||||||
|
|
||||||
# Publish to https://ftp.osmocom.org/docs/
|
# Publish to https://ftp.osmocom.org/docs/
|
||||||
publish: $(UPLOAD_FILES)
|
publish: shrink
|
||||||
[ -n "$(OSMO_REPOSITORY)" ] || exit 1
|
[ -n "$(OSMO_REPOSITORY)" ] || exit 1
|
||||||
rm -rf "$(PUBLISH_TEMPDIR)"
|
rm -rf "$(PUBLISH_TEMPDIR)"
|
||||||
mkdir -p "$(PUBLISH_TEMPDIR)/$(OSMO_REPOSITORY)/$(PUBLISH_REF)"
|
mkdir -p "$(PUBLISH_TEMPDIR)/$(OSMO_REPOSITORY)/$(PUBLISH_REF)"
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
# Reduce pdf size by storing the embedded images with less quality (SYS#6380)
|
||||||
|
# usage: shrink-pdfs.sh first.pdf [second.pdf [...]]
|
||||||
|
mkdir -p generated
|
||||||
|
|
||||||
|
for i in $@; do
|
||||||
|
out="generated/shrink_temp.pdf"
|
||||||
|
ps2pdf -dPDFSETTINGS=/ebook "$i" "$out"
|
||||||
|
|
||||||
|
size_old=$(du "$i" | cut -f1)
|
||||||
|
size_old_h=$(du -h "$i" | cut -f1)
|
||||||
|
size_new=$(du "$out" | cut -f1)
|
||||||
|
size_new_h=$(du -h "$out" | cut -f1)
|
||||||
|
|
||||||
|
if [ "$size_new" -lt "$size_old" ]; then
|
||||||
|
echo "* $i: $size_new_h (shrunk from $size_old_h)"
|
||||||
|
mv "$out" "$i"
|
||||||
|
else
|
||||||
|
echo "* $i: $size_old_h"
|
||||||
|
rm "$out"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add a marker so the Makefile knows that the shrink script ran. The generated
|
||||||
|
# dir is already in the gitignore files of repositories using osmo-gsm-manuals,
|
||||||
|
# so put it there.
|
||||||
|
touch generated/.pdf_shrink_marker
|
Loading…
Reference in New Issue