Re: mariadb client server conflict
Harold Gutch <[email protected]> Thu, 25 Jan 2018 11:42:47 +0100
| Newsgroups | gmane.os.freebsd.questions.german |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Jan 25, 2018 at 10:06:21AM +0100, Sascha Hüdepohl wrote: > Hallo! > > * Harold Gutch ([email protected]) schrieb: > > > Deine Ports sind nicht ganz aktuell, seit ein paar Stunden sind die > > mariadb102-{client,server}-10.2.12 bei Revision 2 (also ..._2 als > > Version). > > > > Vor 6 Tagen wurden die Headerdateien in den -client-Port geschoben, > > die sollten also in einem aktuellen -server-Port gar nicht mehr > > vorkommen. Ich weià jetzt nicht wann genau du deine Ports aktualisiert > > hast, also ob vor oder schon nach dieser Ãnderung. Ich *vermute* das > > Problem ist einfach nur dass du *erst* mariadb102-server aktualisieren > > musst und erst *danach* mariadb102-client, aber wenn du ganz sicher > > gehen willst dann kannst du das ganze auch noch mit ganz aktuellen > > Ports machen: > > > > # portsnap fetch update > > # portmaster mariadb102-server > > # portmaster mariadb102-client > > # portmaster -a > > Ok, verstehe. > Aber ich hatte ja unmittelbar vorher portsnap fetch update gemacht. Hm, eigentlich sollte dann aber mariadb102-client-10.2.12_2 und nicht mariadb102-client-10.2.12_1 installiert werden. Letztlich ist das aber (zumindest für dein Problem) wohl irrelevant, Grund für das Problem ist wie gesagt eher dass am 14.1. einige Headerdateien (*.h) vom -server in den -client-Port umgezogen wurden. Dementsprechend vertragen sich ein -server-Port von vor diesem Zeitpunkt und ein -client-Port von nach diesem Zeitpunkt nicht miteinander (weil beide der Meinung sind diese Headerdateien seien ihre). Das Update von mariadb102-server *vor* dem Update von mariadb102-client sorgt dann dafür dass diese Dateien gelöscht werden und -client dann ohne Konflikt installiert werden kann (und im Zuge dessen diese Dateien eh wieder installiert werden). Ich vermute dass "portmaster -a" Ports im wesentlichen in alphabetischer Reihenfolge aktualisert (ich denke dass das durch irgendein Shellglobbing passiert, das ist dann alphabetisch je nach gesetzter LC_COLLATE, das müsste man aber in Portmaster nachsehen...), und da kommt dann -client eben vor -server. Rein prinzipiell könnte man exakt den Fall der hier aufgetreten ist wohl abfangen, aber wie oft genau so etwas vorkommt und ob das den Aufwand wert ist (inklusive Prüfung ob man wirklich alle Randfälle abgedeckt hat) kann ich dir nicht sagen. > Meine Sorge ist hauptsächlich, was ich mache wenn das auf einem > produktiven System passiert. Mmh, ich wäre da generell etwas vorsichtig mit "-a". Vielleicht bin ich da übermäÃig vorsichtig, aber ich selbst bevorzuge es, veraltete Ports einzeln zu aktualisieren, also "pkg version -l '<'" und dann alles was veraltet ist einzeln zu aktualisieren. Und wenn ein Port X dann feststellt dass er aber Ports A, B, C erst noch aktualiseren will dann kümmere ich mich zuerst um A, B, C und erst *dann* um X. Je nachdem um wieviele Ports (und Rechner) es geht ist das aber natürlich nicht immer praktikabel. > Dann sollte ich portmaster besser mit der Option -b verwenden, damit > die Backups nicht gelöscht werden und ich im Fehlerfall auf die alte > Version der Pakete zurück kann? Ja, das ist meiner Meinung nach eine gute Idee, das mache ich auch immer so. Unabhängig davon benutze ich auch noch "-g", für die meisten Fälle ist das aber doppelt gemoppelt (wennauch beide Optionen dafür Sorgen dass die Packages zu komplett verschiedenen Zeitpunkten erstellt werden). GruÃ, Harold To Unsubscribe: send mail to [email protected] with "unsubscribe de-bsd-questions" in the body of the message