Opennet Firmware
makefile_include_opennet_packages.patch
gehe zur Dokumentation dieser Datei
1die opennet-Pakete verwenden gemeinsame Makefile-Elemente
2Index: on_firmware/openwrt/include/opennet.mk
3===================================================================
4--- /dev/null
5+++ on_firmware/openwrt/include/opennet.mk
6@@ -0,0 +1,52 @@
7+# wir lesen die Versionsnummer aus der config-Datei
8+VERSION_NUMBER = $(shell cat "$(TOPDIR)/.config" | grep "^CONFIG_VERSION_NUMBER=" | cut -f 2- -d = | tr -d \"\')
9+ifeq "$(VERSION_NUMBER)" ""
10+ # Wenn es noch keine CONFIG_VERSION_NUMBER in .config gibt,
11+ # setze einen default Wert, um Fehlermeldungen zu vermeiden
12+ VERSION_NUMBER="0.0.0-0"
13+endif
14+
15+# Wir verwenden die Version des Gesamt-Builds
16+# Wir teilen die VERSION_NUMBER (z.B. "0.5.0-694" oder "0.5.1-unstable-810") an der Stelle des letzten Bindestrichs
17+PKG_VERSION = $(shell echo "$(VERSION_NUMBER)" | sed 's/-[0-9]\+\‍(-[0-9a-f]\+\‍)\?$$//g')
18+PKG_RELEASE = $(shell echo "$(VERSION_NUMBER)" | sed 's/^.*-\‍([0-9]\+\‍(-[0-9a-f]\+\‍)\?\‍)$$/\1/g')
19+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
20+PKG_BUILD_DEPENDS := $(if $(STAGING_DIR_ROOT),lua/host)
21+
22+# "package.mk" muss nach dem Setzen von PKG_VERSION und PKG_RELEASE geladen werden
23+include $(INCLUDE_DIR)/package.mk
24+
25+
26+PO_CONV = ../../../luci/modules/luci-base/src/po2lmo
27+
28+
29+define Package/opennet/install/template
30+ $(INSTALL_DIR) "$(1)/"
31+ @# das on-goodies-Paket enthaelt keinerlei Dateien - also darf die Kopie fehlschlagen
32+ $(CP) "$(PKG_BUILD_DIR)/files/." "$(1)/" || true
33+ @# Zertifikate hashen, falls noetig (nur fuer on-certificates relevant; notwendig fuer csr-Upload via https)
34+ [ -d "$(1)/etc/ssl/certs/opennet-initiative.de" ] && c_rehash "$(1)/etc/ssl/certs/opennet-initiative.de" || true
35+ @# falls es keine ipkg-Dateien gibt, existiert das Quell-Verzeichnis in git nicht
36+ $(CP) -L "$(PKG_BUILD_DIR)/ipkg/." "$(1)/CONTROL" || true
37+ $(INSTALL_DIR) "$(1)/usr/lib/lua/luci/i18n"
38+ # leere po-Dateien fuehren zu fehlenden lmo-Dateien (z.B. on-core) - das koennen wir ignorieren
39+ $(CP) "$(PKG_BUILD_DIR)/lmo"/*.lmo "$(1)/usr/lib/lua/luci/i18n/" || true
40+endef
41+
42+# falls Build/Compile nicht definiert wird, dann wird das Makefile aus dem build_dir geloescht
43+# siehe https://forum.openwrt.org/viewtopic.php?pid=143534#p143534
44+define Build/Compile
45+endef
46+
47+define Build/Prepare
48+ mkdir -p $(PKG_BUILD_DIR)/lmo; $(TAR) c \
49+ --exclude=.pc --exclude=.svn --exclude=.git \
50+ --exclude='boa-0*' --exclude='*.o' --exclude='*.so' \
51+ --exclude=dist . | \
52+ $(TAR) x -C $(PKG_BUILD_DIR)/
53+ @# po2lmo bauen, falls nicht vorhanden
54+ [ -x "$(PO_CONV)" ] || make -C ../../../luci/modules/luci-base/src/ po2lmo
55+ @# "find" liefert leider keine Fehlermeldung, falls "-exec" fehlschlaegt - also loesen wir es manuell aus
56+ [ -x "$(PO_CONV)" ] || { echo >&2 "ERROR: po2lmo does not exist"; exit 1; }
57+endef
58+