diff --git a/.gitignore b/.gitignore index f9521672..1227c901 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,7 @@ out .config .config.old klippy/.version + +.pybuild/ +dist +firmware diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000..bfc773d4 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +klipper (0.1) stable; urgency=medium + + * Initial release. + + -- Dongjin Kim Mon, 11 Jan 2021 17:30:47 -0500 diff --git a/debian/compat b/debian/compat new file mode 100644 index 00000000..f599e28b --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 diff --git a/debian/control b/debian/control new file mode 100644 index 00000000..dff3b970 --- /dev/null +++ b/debian/control @@ -0,0 +1,39 @@ +Source: klipper +Maintainer: Kevin O'Connor +Uploaders: Dongjin Kim +Section: utils +Priority: optional +Build-Depends: debhelper (>=9), + python2, + python-setuptools, + pypy, + pypy-setuptools, + dh-python, + dh-systemd, + gcc-arm-none-eabi, + libnewlib-arm-none-eabi, + libnewlib-dev, + build-essential, + libc6-dev, + gcc-avr, + avr-libc +Standards-Version: 3.9.5 +X-Python-Version: >= 2.7 +Vcs-Browser: https://github.com/tobetter/klipper.git +Vcs-Git: https://github.com/tobetter/klipper.git + +Package: klipper +Architecture: any +Depends: ${misc:Depends}, ${python:Depends}, + curl, + gcc-aarch64-linux-gnu, + python2-dev, + libffi-dev +Description: Klipper Host software + ... + +Package: klipper-mcu +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Klipper MCU firmware + ... diff --git a/debian/klipper-mcu.install b/debian/klipper-mcu.install new file mode 100644 index 00000000..bd4a8aa7 --- /dev/null +++ b/debian/klipper-mcu.install @@ -0,0 +1,2 @@ +firmware/* /usr/share/klipper/firmware/ +scripts/klipper-mcu /etc/init.d/ diff --git a/debian/klipper.install b/debian/klipper.install new file mode 100644 index 00000000..cef31e41 --- /dev/null +++ b/debian/klipper.install @@ -0,0 +1,3 @@ +config/* /usr/share/klipper/config/ +scripts/klippy-requirements.txt /usr/share/klipper/ +scripts/klipper /etc/init.d/ diff --git a/debian/klipper.postinst b/debian/klipper.postinst new file mode 100644 index 00000000..9b563841 --- /dev/null +++ b/debian/klipper.postinst @@ -0,0 +1,22 @@ +#!/bin/sh + +KLIPPER_CONFIG_PATH=/etc/klippy_config +DEFAULT_CONFIG=generic-bigtreetech-skr-v1.3.cfg + +## Install required Python packages + +if [ ! `which pip2` ]; then + curl https://bootstrap.pypa.io/get-pip.py --output /tmp/get-pip.py + python2 /tmp/get-pip.py +fi + +/usr/local/bin/pip install -r /usr/share/klipper/klippy-requirements.txt + +## Default printer configuration +mkdir -p ${KLIPPER_CONFIG_PATH} +if [ ! -f ${KLIPPER_CONFIG_PATH}/printer.cfg ]; then + ln -s /usr/share/klipper/config/$DEFAULT_CONFIG \ + ${KLIPPER_CONFIG_PATH}/printer.cfg +fi + +#DEBHELPER# diff --git a/debian/klipper.service b/debian/klipper.service new file mode 100644 index 00000000..0078efdc --- /dev/null +++ b/debian/klipper.service @@ -0,0 +1,14 @@ +[Unit] +Description=Klipper service +After=network.target + +[Install] +WantedBy=multi-user.target + +[Service] +Type=simple +RemainAfterExit=yes +ExecStart=python2 /usr/lib/pypy/dist-packages/klippy/klippy.py \ + /etc/klippy_config/printer.cfg \ + -l /tmp/klippy.log \ + -a /tmp/klippy_uds diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000..d5a1aea1 --- /dev/null +++ b/debian/rules @@ -0,0 +1,35 @@ +#!/usr/bin/make -f + +export PYBUILD_DESTDIR_pypy=debian/klipper + +define firmware + make distclean + echo CONFIG_MACH_$(1)=y | tr -d '[[:space:]]' \ + > $(shell pwd)/.config && make olddefconfig + TOPDIR=$(shell pwd) make + mkdir -p $(shell pwd)/firmware/$(1) + cp out/$(2) $(shell pwd)/firmware/$(1)/$(3) +endef + +%: + dh $@ --with=python2 --buildsystem=pybuild --with=systemd + +override_dh_auto_build: + dh_auto_build + $(call firmware,LINUX,klipper.elf,klipper_mcu) + $(call firmware,LPC176X,klipper.bin,FIRMWARE.BIN) + $(call firmware,at90usb1286,klipper.elf.hex,klipper.elf.hex) + $(call firmware,at90usb646,klipper.elf.hex,klipper.elf.hex) + $(call firmware,atmega1280,klipper.elf.hex,klipper.elf.hex) + $(call firmware,atmega1284p,klipper.elf.hex,klipper.elf.hex) + $(call firmware,atmega168,klipper.elf.hex,klipper.elf.hex) + $(call firmware,atmega2560,klipper.elf.hex,klipper.elf.hex) + $(call firmware,atmega328,klipper.elf.hex,klipper.elf.hex) + $(call firmware,atmega328p,klipper.elf.hex,klipper.elf.hex) + $(call firmware,atmega32u4,klipper.elf.hex,klipper.elf.hex) + $(call firmware,atmega644p,klipper.elf.hex,klipper.elf.hex) + +override_dh_auto_install: + dh_auto_install + dh_systemd_enable || true + dh_systemd_start || true diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt)