Mailinglist Archive: yast-devel (77 mails)

< Previous Next >
Re: [yast-devel] Re: [opensuse-factory] System Ugrade: Previously Used Repositories
  • From: Michael Andres <ma@xxxxxxx>
  • Date: Thu, 15 Jan 2009 12:16:06 +0100
  • Message-id: <200901151216.07772.ma@xxxxxxx>
On Tuesday 13 January 2009 17:30:27 Duncan Mac-Vicar Prett wrote:

A solution worth to explore is to start using variables like $releasever
in the .repo files.

So repos with 11.1 would automaitcally be 11.2 afterwards. Of course
still there is the need to check that those repos are valid.

You know, the time between 'before' and 'afterwards' is the tricky part.

Esp. upgrades in the running system will become more tricky, as the
$releasever actually changes within commit (at the time the *-release
package gets installed). But you need the new value before to get the new
repos, and maybe you also want to keep the old repo for a while afterwards.

Also a little damage to the release package, or a misplaced baseproduct
symlink, and the repo you'd need to fix it is also unusable, because the
systems $releasever was lost.


I'd feel more comfortable if the variables played a less important role within
the repo URL. If they'd serve as a placeholder, but can also define a fixed
substitution value:

${releasever} - follow sytems releasever
${releasever:-11.1} - fixed 11.1
${releasever:-11.2} - fixed 11.2

The fixed form is to ease rewriting the URL from some old to a new version. So
you don't have to guess the location of a version part. And it could even be
used in bash:

$ echo ${releasever:-11.2}
11.2


And if we'd use ${releasever} in URL, then people will want to use it in alias
and name as well:

[repo-update-${releasever}]
name=openSUSE-${releasever}-Update
enabled=1
autorefresh=1
baseurl=http://download.opensuse.org/update/${releasever}/

But I'm not sure whether I like this.



A classification of repositories which allows to make better decisions would
IMO be the better approach.

All the repos we add more or less automatically together with a product should
be disabled(deleted) together with the product. Not rewritten, because the
next product will probably provide it's own new set.

--

cu,
Michael Andres

+------------------------------------------------------------------+
Key fingerprint = 2DFA 5D73 18B1 E7EF A862 27AC 3FB8 9E3A 27C6 B0E4
+------------------------------------------------------------------+
Michael Andres YaST Development ma@xxxxxxxxxx
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg)
Maxfeldstrasse 5, D-90409 Nuernberg, Germany, ++49 (0)911 - 740 53-0
+------------------------------------------------------------------+


< Previous Next >