3 # Dieses Skript wird nur ein einziges Mal nach einem Upgrade oder der Erstinstallation ausgefuehrt: 4 # http://wiki.openwrt.org/doc/uci#defaults 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" | \
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" 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 #########################################################################
update_file_if_changed(target_filename)
Aktualisiere eine Datei, falls sich ihr Inhalt geändert haben sollte.
set eu remove_obsolete_repositories()
remove_opennet_feed_from_distfeeds_opkg_conf()