package-stuff/tensorflow/Makefile

79 lines
2.1 KiB
Makefile

.PHONY: control
VERSION=0.6.2
BASENAME=tensorflow
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-deb:
# apt install -y gcc g++ git gnupg make zip unzip
# pip install tensorflow
# this actually seems to work:
pip install tf-nightly-cpu
build:
apt install python3-dev python3-pip
pip install -U --user pip numpy wheel packaging requests opt_einsum
pip install -U --user keras_preprocessing --no-deps
apt install bazel
mkdir ~/tmp; cd ~/tmp/ && git clone https://github.com/tensorflow/tensorflow.git
./configure
bazel build [--config=option] //tensorflow/tools/pip_package:build_pip_package # for cpu support
bazel build --config=cuda [--config=option] //tensorflow/tools/pip_package:build_pip_package # for gpu support
./bazel-bin/tensorflow/tools/pip_package/build_pip_package --nightly_flag /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-version
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/tensorflow
@echo
@echo pip install tensorflow
extract:
cp -a files ../
mkdir -p ../files/usr/bin
cp /usr/local/bin/tensorflow ../files/usr/bin
# 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