1 die opennet-Pakete verwenden gemeinsame Makefile-Elemente
2 Index: on_firmware/openwrt/include/opennet.mk
3 ===================================================================
5 +++ on_firmware/openwrt/include/opennet.mk
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"
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)
22 +# "package.mk" muss nach dem Setzen von PKG_VERSION und PKG_RELEASE geladen werden
23 +include $(INCLUDE_DIR)/package.mk
26 +PO_CONV = ../../../luci/modules/luci-base/src/po2lmo
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
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
48 + mkdir -p $(PKG_BUILD_DIR)/lmo; $(TAR) c . \
49 + --exclude=.pc --exclude=.svn --exclude=.git \
50 + --exclude='boa-0*' --exclude='*.o' --exclude='*.so' \
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 + @# TODO: mehrere Sprachen?
58 + find ../../po/de -type f -name "$(PKG_NAME).po" -exec "$(PO_CONV)" '{}' "$(PKG_BUILD_DIR)/lmo/$(PKG_NAME).de.lmo" \;