diff --git a/can.conf b/can.conf new file mode 100644 index 00000000..34ae938c --- /dev/null +++ b/can.conf @@ -0,0 +1,2 @@ +can-raw +can-dev \ No newline at end of file diff --git a/debian/changelog b/debian/changelog index bfc773d4..abcca7a1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +klipper (0.13.0) stable; urgency=medium + + * Version up + + -- YoungSoo Shin Wed, 04 Jun 2025 09:47:26 +0900 + klipper (0.1) stable; urgency=medium * Initial release. diff --git a/debian/control b/debian/control index dff3b970..2498a280 100644 --- a/debian/control +++ b/debian/control @@ -4,31 +4,26 @@ 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 + dh-virtualenv (>= 1.0), + python3, + python3-dev, + python3-pip, + libffi-dev, +Standards-Version: 3.9.5 Package: klipper Architecture: any -Depends: ${misc:Depends}, ${python:Depends}, - curl, - gcc-aarch64-linux-gnu, - python2-dev, - libffi-dev +Depends: ${misc:Depends}, + python3, + python3-dev, + virtualenv, + libffi-dev, + build-essential, + libusb-dev, + libusb-1.0-0, + usbutils, Description: Klipper Host software ... diff --git a/debian/klipper-mcu.install b/debian/klipper-mcu.install index bd4a8aa7..42a3ea59 100644 --- a/debian/klipper-mcu.install +++ b/debian/klipper-mcu.install @@ -1,2 +1 @@ -firmware/* /usr/share/klipper/firmware/ -scripts/klipper-mcu /etc/init.d/ +firmware/* /usr/share/klipper/firmware/ \ No newline at end of file diff --git a/debian/klipper-mcu.service b/debian/klipper-mcu.service new file mode 100644 index 00000000..852ea2f0 --- /dev/null +++ b/debian/klipper-mcu.service @@ -0,0 +1,21 @@ +#Systemd klipper linux mcu Service + +[Unit] +Description=Starts the MCU Linux firmware for klipper on startup +Documentation=https://www.klipper3d.org/RPi_microcontroller.html +Before=klipper.service +ConditionFileIsExecutable=/usr/share/klipper/firmware/LINUX/klipper_mcu + +[Install] +WantedBy=multi-user.target + +[Service] +Type=simple +Environment=KLIPPER_HOST_MCU_SERIAL=/tmp/klipper_host_mcu +RemainAfterExit=yes +ExecStart=/usr/share/klipper/firmware/LINUX/klipper_mcu -r -I ${KLIPPER_HOST_MCU_SERIAL} +ExecStop=sh -c 'echo "FORCE_SHUTDOWN" > ${KLIPPER_HOST_MCU_SERIAL}' +ExecStop=sleep 1 +TimeoutStopSec=2 +Restart=always +RestartSec=5 diff --git a/debian/klipper.install b/debian/klipper.install index cef31e41..adf7bd11 100644 --- a/debian/klipper.install +++ b/debian/klipper.install @@ -1,3 +1,3 @@ -config/* /usr/share/klipper/config/ -scripts/klippy-requirements.txt /usr/share/klipper/ -scripts/klipper /etc/init.d/ +config/* /var/printer_data/config/ +klippy/* /usr/share/klippy +can.conf /lib/modules-load.d/ \ No newline at end of file diff --git a/debian/klipper.postinst b/debian/klipper.postinst index 9b563841..013f83e8 100644 --- a/debian/klipper.postinst +++ b/debian/klipper.postinst @@ -1,22 +1,6 @@ #!/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 +mkdir -p "/var/printer_data/logs" +ln -s example-odroidc5.cfg /var/printer_data/config/printer.cfg #DEBHELPER# diff --git a/debian/klipper.service b/debian/klipper.service index 0078efdc..72d04e2f 100644 --- a/debian/klipper.service +++ b/debian/klipper.service @@ -1,5 +1,6 @@ +#Systemd service file for klipper [Unit] -Description=Klipper service +Description=Starts klipper on startup After=network.target [Install] @@ -8,7 +9,8 @@ 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 +ExecStart=/opt/venvs/klipper/bin/python3 \ + usr/share/klippy/klippy.py \ + /var/printer_data/config/printer.cfg \ + -l /var/printer_data/logs/klippy.log \ + -a /tmp/klipper.sock \ No newline at end of file diff --git a/debian/rules b/debian/rules index d5a1aea1..d7b80f96 100755 --- a/debian/rules +++ b/debian/rules @@ -1,35 +1,31 @@ #!/usr/bin/make -f -export PYBUILD_DESTDIR_pypy=debian/klipper - define firmware make distclean - echo CONFIG_MACH_$(1)=y | tr -d '[[:space:]]' \ + echo CONFIG_MACH_LINUX=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) + mkdir -p $(shell pwd)/firmware/LINUX + cp out/klipper.elf $(shell pwd)/firmware/LINUX/klipper_mcu endef %: - dh $@ --with=python2 --buildsystem=pybuild --with=systemd + dh $@ --with python-virtualenv --with systemd -override_dh_auto_build: - dh_auto_build +override_dh_auto_configure: $(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) + dh_auto_configure + +override_dh_virtualenv: + dh_virtualenv --requirements scripts/klippy-requirements.txt --no-package klipper-mcu --skip-install + +override_dh_strip: + dh_strip --exclude=/site-packages/ + +override_dh_shlibdeps: + dh_shlibdeps --exclude=/site-packages/ override_dh_auto_install: dh_auto_install - dh_systemd_enable || true - dh_systemd_start || true + dh_systemd_enable || false + dh_systemd_start || false \ No newline at end of file