package-stuff/photoprism/Makefile

75 lines
1.9 KiB
Makefile

.PHONY: control
VERSION=221118-e58fee0fb
BASENAME=photoprism
help:
@echo
@echo "make all # to attempt to download, extract and build the .deb package using dpkg"
@echo
all: download clean extract DEBIAN build
build-dep:
apt install tensorflow # this isn't actually packaged
git clone https://github.com/photoprism/photoprism.git
dd photoprism
git checkout release
sudo make all
sudo ./scripts/build.sh prod /opt/photoprism/bin/photoprism
sudo cp -a assets/ /opt/photoprism/assets
# now follow instructions for adduser, postgresql, etc:
# https://github.com/IndrekHaav/photoprism-debian
clean:
rm -rf ../files
rm -f ../*.deb
rm -f ../*.tar.xz data.tar.xz
rm -rf DEBIAN
download:
@echo
@echo This uses the binary /usr/local/bin/photoprism
@echo
@echo https://github.com/photoprism/photoprism/releases
@echo mkdir ~/go/src/github.com/photoprism; cd ~/go/src/github.com/photoprism/
@echo git clone http://github.com/photoprism/photoprism
@echo cd photoprims/; go get -v -u ...
extract:
cp -a files ../
mkdir -p ../files/opt/
cd ../files/opt/ && tar xfz ../../221118-e58fee0fb.tar.gz
# makes the DEBIAN/ directory
DEBIAN:
mkdir -p DEBIAN
# make the md5sum file
cd ../files/ && find -type f -exec md5sum '{}' \; |sort -k2 >../md5sums
mv ../md5sums DEBIAN/
# make the control there
mkdir -p DEBIAN
cp control DEBIAN/
# echo Version: ${VERSION} >>DEBIAN/control
cp postinst DEBIAN
build:
mv DEBIAN ../files/
cd .. && dpkg-deb --build files ${BASENAME}_${VERSION}_amd64.deb
cd .. && dpkg-deb --info ${BASENAME}_${VERSION}_amd64.deb
# how to make a debian package "raw" just using tar and ar
#
# READ THIS AGAIN:
#
# A .deb file is just output from 'ar rcs'
#
tar-ar: control
cd DEBIAN && tar --ignore-failed-read -cvJf ../control.tar.xz .
cd files && tar -cvJf ../data.tar.xz .
ar rcs ${BASENAME}_${VERSION}_amd64.deb debian-binary control.tar.xz data.tar.xz
dpkg-deb --info ${BASENAME}_${VERSION}_amd64.deb