opsi-product-updater.conf

Antworten
Benutzeravatar
GEI
Beiträge: 229
Registriert: 12 Feb 2010, 13:00
Wohnort: Braunschweig
Kontaktdaten:

opsi-product-updater.conf

Beitrag von GEI »

hi,

mich würden zwei Dinge interessieren:

a) wie ist die Priorisierung von includeProductIds und excludes?
b) was ist die maximale Zeilenlänge?

Code: Alles auswählen

; Comma separated list of productIds that will be updated
; If not a product package file matches one of these regular expressions it will not be downloaded
includeProductIds =
; Comma separated list of regular expressions
; If a product package file matches one of these regular expressions it will not be downloaded
excludes = ^win.*,^win81
Aktuell hat bei mir die Zeile 'excludes = ....' 688 Zeichen :-(

Code: Alles auswählen

[repository_dfn]
active = true
opsiDepotId =
baseUrl = https://opsi.wzb.eu
; Comma separated directories to include in search for product packages, Use / if search should be done in baseUrl
dirs = /
; Comma separated list of regular expressions, iIf a product package file matches one of these regular expressions it will not be downloaded
excludes = 0_dfn_,lib,dfn_adobeconnect,dfn_adobe-brackets,dfn_ant-renamer,dfn_camstudio,dfn_context,dfn_crystaldiskinfo,dfn_chrome,dfn_chromas-free ...
Georg-Eckert-Institut - Leibniz-Institut für internationale Schulbuchforschung (GEI)
---
'opsi4instituts' = Communityprojekt für wissenschaftliche Einrichtungen
offenes Repository, Update-Notifier
http://www.gei.de/o4i - https://wiki.o4i.org
larsg
Beiträge: 283
Registriert: 16 Dez 2014, 18:06

Re: opsi-product-updater.conf

Beitrag von larsg »

ich denke include vor exclude, aber so ganz sicher bin ich mir da nicht.

dein exclude ist ja mal übersichtlich.

um das etwas abzukürzen könntest du mit regex arbeiten.
es werden einige regex-regeln unterstützt, aber nicht alle.
welche genau ist scheinbar nicht vielen menschen bekannt, s. meine nachfrage weiter unten zu einem ähnlichen thema.

was ich bislang rausgefunden hab:
  • umschließende wildcards werden automatisch gesetzt, bspw. "template" findet die pakete "opsi-template" und "opsi-template-with-admin".
  • ^ findet den anfang eines strings, bspw. "^opsi-" findet alle pakete die mit "opsi-" beginnen, also nicht "l-opsi-".
  • $ findet das ende eines strings nicht, bspw. "audit$" findet keins der audit-pakete.
  • gruppen werden unterstützt, bswp. "^config-(win10|win81)" findet die pakete "config-win81-desktop" und "config-win10", aber nicht "config-win-base".
  • charakterklassen werden unterstützt, bswp. "^config-[inw]{3}[\d]{2}" findet die pakete "config-win81-desktop" und "config-win10", würde aber auch "config-iwn10" finden, jedoch nicht "config-wi10" oder "config-win8".
soweit ich sehen kann ist das $-Zeichen für den abschluss eines strings die einzige regex-regel die nicht unterstützt wird, habe aber bei weitem nicht alles ausprobiert.

die regeln können für beides eingesetzt werden, includeProductIds und excludes.
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: opsi-product-updater.conf

Beitrag von n.wenselowski »

Hi,
GEI hat geschrieben:a) wie ist die Priorisierung von includeProductIds und excludes?
Erst includes, dann excludes.
Das ist ein aktuelles Implementierungsdetail.
GEI hat geschrieben:b) was ist die maximale Zeilenlänge?
Gibt es aktuell meines Wissens nach nicht.
larsg hat geschrieben:soweit ich sehen kann ist das $-Zeichen für den abschluss eines strings die einzige regex-regel die nicht unterstützt wird, habe aber bei weitem nicht alles ausprobiert.
Es geht nicht um die Produkt-IDs, sondern um die Dateinamen.
Siehe Implementierung.
; If a product package file matches this regular expression it will be downloaded.
; Regular Expressions made under excludes can override anything under this.
Aus opsi-product-updater.conf.

Das Verhalten ist erstmal ungewöhnlich, bietet aber eine Reihe von Vorteilen, weil sich dadurch bspw. gezielt einzelne Paketversionen oder Custom-Pakete ausschließen lassen.
Mit den Paket-Namen zu arbeiten wäre vermutlich intuitiver, ist aber erstmal ein Bruch mit dem bekannten Verhalten.

Ich hoffe das klärts etwas auf :)



Viele Grüße

Niko

Code: Alles auswählen

import OPSI
larsg
Beiträge: 283
Registriert: 16 Dez 2014, 18:06

Re: opsi-product-updater.conf

Beitrag von larsg »

aaahhh
ok.

also wenn ich das jetzt richtig verstehe ist die dateiendung in dem sinne nicht bestandteil des dateinamens,
also um auf das ende der product-id hin zu prüfen bräuchte ich statt sowas hier:

Code: Alles auswählen

_\d+[\d\.]*-\d+$
:idea:
Antworten