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
|
||||
UPLOAD_PATH ?= generic@sysmocom-downloads:documents
|
||||
SYMLINKS = common build
|
||||
CLEAN_FILES += $(SYMLINKS)
|
||||
CLEAN_FILES += $(SYMLINKS) $(SHRINK_MARKER)
|
||||
PDF_FILES = $(patsubst %.adoc,%.pdf,$(ASCIIDOC)) $(patsubst %.xml,%.pdf,$(VTY_REFERENCE))
|
||||
SHRINK_MARKER = generated/.pdf_shrink_marker
|
||||
PUBLISH_REF ?= master
|
||||
PUBLISH_TEMPDIR = _publish_tmpdir
|
||||
|
||||
|
@ -20,12 +21,17 @@ prefix ?= /usr/local
|
|||
$(SYMLINKS):
|
||||
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
|
||||
upload: $(UPLOAD_FILES)
|
||||
upload: shrink
|
||||
rsync -avz $(UPLOAD_FILES) $(UPLOAD_PATH)/
|
||||
|
||||
# Publish to https://ftp.osmocom.org/docs/
|
||||
publish: $(UPLOAD_FILES)
|
||||
publish: shrink
|
||||
[ -n "$(OSMO_REPOSITORY)" ] || exit 1
|
||||
rm -rf "$(PUBLISH_TEMPDIR)"
|
||||
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