Skip to content

deferable-reboot

https://github.com/libremesh/lime-packages/blob/master/packages/deferable-reboot

Makefile

#
# Copyright (C) 2019 Santiago Piccinini <spiccinini@altermundi.net>
#
# This is free software, licensed under the GNU General Public License v3.
#

include $(TOPDIR)/rules.mk

GIT_COMMIT_DATE:=$(shell git log -n 1 --pretty=%ad --date=short . )
GIT_COMMIT_TSTAMP:=$(shell git log -n 1 --pretty=%at . )

PKG_NAME:=deferable-reboot
PKG_VERSION=$(GIT_COMMIT_DATE)-$(GIT_COMMIT_TSTAMP)

include $(INCLUDE_DIR)/package.mk

define Package/$(PKG_NAME)
  SECTION:=utils
  CATEGORY:=Utilities
  TITLE:=$(PKG_NAME) provides a deferable reboot.
  MAINTAINER:=Santiago Piccinini <spiccinini@altermundi.net>
  DEPENDS:=+lua +lime-system
  PKGARCH:=all
endef

define Package/$(PKG_NAME)/description
	This $(PKG_NAME) provides a deferable reboot mechanism. The system
	will be rebooted when the uptime of the system reach a specified amount
	of seconds and if /tmp/deferable-reboot.defer file does not contain a
	number that is greater than the current uptime.
	This way if anyone wants to postpone the reboot, the way is to store the
	next checkpoint in seconds. For example if the system must not reboot from
	now and up to 120 seconds in the future then something like this can be donde
	awk '{print $1 + 120}' /proc/uptime > /tmp/deferable-reboot.defer
endef

define Build/Configure
endef

define Build/Compile
	@rm -rf ./build || true
	@mkdir ./build
	$(CP) ./files ./build
	$(FIND) ./build -name '*.sh' -exec sed -i '/^\s*#\[Doc\]/d' {} +
	$(FIND) ./build -name '*.lua' -exec sed -i '/^\s*--!.*/d' {} +
endef


define Package/$(PKG_NAME)/install
	$(INSTALL_DIR) $(1)/
	$(CP) ./files/* $(1)/
endef

$(eval $(call BuildPackage,$(PKG_NAME)))