Opennet Firmware
 Alle Dateien Funktionen Variablen Gruppen Seiten
on-opkg
gehe zur Dokumentation dieser Datei
1 #!/bin/sh
2 #
3 # Dieses Skript wird nur ein einziges Mal nach einem Upgrade oder der Erstinstallation ausgefuehrt:
4 # http://wiki.openwrt.org/doc/uci#defaults
5 #
6 
7 set -eu
8 
9 
10 # Alle openwrt-Releases bis einschliesslich Chaos Calmer 15.05-rc3 haben die opkg.conf als
11 # erhaltenswerte Nutzer-Konfiguration behandelt und somit bei Updates unverändert gelassen.
12 # Dies führt naturgemäß zu unbrauchbaren Paket-Feeds nach einer Firmware-Aktualisierung.
13 # Das Problem ist hier beschrieben:
14 # * https://dev.openwrt.org/ticket/19882
15 # * https://dev.openwrt.org/ticket/20439
16 # Und hier ist die Loesung (ab Chaos Chalmer (final release)):
17 # * https://dev.openwrt.org/changeset/46491
18 # Bei dieser Problembehebung werden die alten Repositories (aus der /etc/opkg.conf) in die
19 # /etc/opkg/customfeeds.conf verschoben. Die /etc/opkg.conf enthaelt daraufhin nur noch
20 # grundlegende Einstellungen.
21 # Die neue Datei /etc/opkg/customfeeds.conf enthaelt dagegen alle distributions-spezifischen
22 # Repositories. Diese Datei gilt nicht als Konfigurationsdatei und wird somit bei einer
23 # Aktualisierung ersetzt.
24 # Somit muessen wir alte unbrauchbare Feeds aus der Datei "customfeeds" entfernen.
26  # die opkg.conf-Datei der folgenden Releases ist zu ersetzen:
27  # backfire: Release v0.4-1
28  # attitude_adjustment: Release v0.4-5
29  # barrier_breaker: Release v0.5.0/1
30  # chaos_calmer/15.05-rc: Entwicklungsversionen von v0.5.2
31  local opkg_file="/etc/opkg/customfeeds.conf"
32  grep -v '\(backfire\|attitude_adjustment\|barrier_breaker\|chaos_calmer\/15\.05-rc\)' "$opkg_file" | \
33  on-function update_file_if_changed "$opkg_file" || true
34 }
35 
36 
37 # Der openwrt-Build-Prozess fügt den opennet-Feed zur /etc/opkg/distfeeds.conf hinzu.
38 # Wir möchten dies jedoch nicht (siehe opennet-Doku zur Paketverwaltung).
40  local opkg_file="/etc/opkg/distfeeds.conf"
41  grep -v "opennet$" "$opkg_file" | on-function update_file_if_changed "$opkg_file" || true
42 }
43 
44 
45 # Fuege den Hinweis auf die separate opennet-opkg-Konfigurationsdatei in die opkg.conf ein.
46 # Bis Version 0.5.1 war es üblich, alle Pakete einfach via "opkg install" zu installieren.
47 # Ab Version 0.5.2 sind die Konfigurationsdateien für die opennet- und die openwrt-Feeds
48 # getrennt zu verwenden.
50  grep -q "Opennet" /etc/opkg.conf || return 0
51  cat >>/etc/opkg.conf <<EOF
52 #########################################################################
53 # Hinweis: verwende "on-function install_from_opennet_repository PAKET" #
54 # um Opennet-Pakete zu installieren. #
55 #########################################################################
56 EOF
57 }
58 
59 
add_on_repository_hint()
Definition: on-opkg:49
update_file_if_changed(target_filename)
Aktualisiere eine Datei, falls sich ihr Inhalt geändert haben sollte.
Definition: core.sh:49
set eu remove_obsolete_repositories()
Definition: on-opkg:25
remove_opennet_feed_from_distfeeds_opkg_conf()
Definition: on-opkg:39