Chrysostomus / manjaro-architect

Development branch of the Architect Installation Framework
GNU General Public License v2.0
86 stars 18 forks source link

stable mirrorlist not created properly #21

Closed oberon-manjaro closed 7 years ago

oberon-manjaro commented 7 years ago

There is a weird thing going on with mirrorlist when 'stable' is selected: First I tried with setting OnlyCountry = Germany via 'Edit Pacman Mirror Configuration' and then used menu entry 'Rank Mirrors by Speed' with selection unstable. All is well like this. When I do the same thing and select 'stable' this results in an empty list, why??

Next I removed the OnlyCountry entry and ran rankmirrors with stable again. This gives me a list of apparently the two slowest servers instead of what should be a very long list :wink: What's going on there? Is this issue maybe pacman-mirrors related @Huluti ? the relevant code in aif can be found here

Huluti commented 7 years ago

Do you use the latest version (3.2.2)?

fhdk commented 7 years ago

Have a look at my 3.3-unstable branch

@oberon2007

First I tried with setting OnlyCountry = Germany via 'Edit Pacman Mirror Configuration' and then used menu entry 'Rank Mirrors by Speed' with selection unstable. All is well like this. When I do the same thing and select 'stable' this results in an empty list, why??

I will see if I can reproduce with the 3.3 branch

oberon-manjaro commented 7 years ago

the weird thing is that when I run what configure_mirrorlist() does outside the installer, all seems fine. But as soon as it runs inside I get this strange sorting behaviour. I'll try if un-nesting rank_mirrors()rank_mirrors() makes any difference - I wouldn't no why, though :wink:

fhdk commented 7 years ago

I am by no means a fox on shell scripting but I think a variable survives when your'e nesting the functions - you could try with local'aling your variable to keep them in scope.

I would try move this outside configure_mirrorlist()

Architect didn't have to deal with a branch variable and pacman-mirrors has implemented the new mirrors.json from repo.manjaro.org - so you will also have to rethink the country listing in your installer.

    rank_mirrors() {
        #Choose the branch for mirrorlist        
        BRANCH="/tmp/.branch"
        DIALOG "$_MirrorBranch" --radiolist " $_UseSpaceBar" 0 0 3 \
          "stable" "-" on \
          "testing" "-" off \
          "unstable" "-" off 2>${BRANCH}

        pacman-mirrors -gib $(cat ${BRANCH})
    }
oberon-manjaro commented 7 years ago

Currently country can only be chosen by editing the config. I have removed the original function, since the mt-live sets country with geoip. I'm not sure what you mean with

I think a variable survives when your'e nesting them I would move this outside configure_mirrorlist()

somehow there is one negation too much - or too little? :wink: :laughing: - in any case I was about to un-nest it anyway since we're now more in library mode :) It does makes sense I think that the nesting would have caused the issue.

fhdk commented 7 years ago

I'm not sure what you mean with

I think a variable survives when your'e nesting them I would move this outside configure_mirrorlist()

I have dived into the shell scripting thing yet. Just brainstorming - just the thought that if a variable was set previously and you reenter - do you make an assumption or do you explicit reset? The first would be able to make a fuzz the second not.

oberon-manjaro commented 7 years ago

However, unnesting doesn't solve the issue. I've just tried. How and where does pacman-mirrors remember the collected mirrors data before displaying the list for selection in the TUI?

oberon-manjaro commented 7 years ago

Why on earth is it only an issue with stable branch?? Can it have anything to do with it being the pre-selection? I'll try that next ... ;)

fhdk commented 7 years ago

pacman-mirrors is python an uses an in-memory structure to hold selections in/out.

Pacman-mirrors handles eg. branch in this order

  1. Hardcoded defaults
  2. Load from conf
  3. Arguments

I was thinking - could you check if pacman-mirrors is fully unloaded from memory between runs? It is probably a long shot but I am thinking a cache issue.

As I think my 3.3 branch will make it master I think you should try it by manual copying the files from the pacman_mirrors subfolder to the python3.6 site-packages folder in your dev env

⁣Sendt af TypeApp ​

Den 18. feb. 2017 13.42, fra 13.42, Bernhard Landauer notifications@github.com skrev:

However, unnesting doesn't solve the issue. I've just tried. How and where does pacman-mirrors remember the collected mirrors data before displaying the list for selection in the TUI?

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Chrysostomus/manjaro-architect/issues/21#issuecomment-280843243

oberon-manjaro commented 7 years ago

Setting no default in dialog seems to do the trick. Seems to be working now.