Giter VIP home page Giter VIP logo

pacman-mirrors's Introduction

pacman-mirrors's People

Contributors

elishl avatar excalibur1234 avatar fhdk avatar guinux avatar huluti avatar jacobtey avatar kirek avatar korrode avatar maitesin avatar manjaroroland avatar philmmanjaro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pacman-mirrors's Issues

Make a review of all strings

I have two propositions:

  • Can someone with a good level of English review all the texts displayed in the console?
  • Move the non-translatable chars (like "::", "=>",...) from the strings outside the gettext function.

We need to do this to facilitate life of translators and no longer change the sentences all the time.

[Request] Interactive Mode Needs a Label

When doing sudo pacman-mirrors -i, there was confusion on my end on the popup window showing the custom list. On the left of the pop-up window there are times marked there, and in the terminal there are times marked there as well. I was confused on which one meant time and what the other one meant. Until I realized the pop-up displayed the server's last sync time, and the terminal meant speed.

Can we add a label for the pop-up to let people know that means the last sync time to prevent confusion?

Thank you!

I dont understand this

When running the current code - I get no server available.

When playing around with the code I discovered that the last_sync is set to 119:47 for all servers?

I went through all the recent commits and I see a simplified last_sync calculation.

You are the experts here what has happened?

Updating translations

@Huluti @Kirek
There has been changes to pot-file and I think we need to syncronize the translations with transifex.

If you think its a good suggestion - I volounteer to keep them updated.

A little oddity

When running without parameters we are informed that a -g/--generate is required to to generate a new mirror list.

However, if run with any parameter excluding -g/--generate we also generate a new mirror list.

So it seems the -g/--generate parameter is only required if we want a default mirror list based on pacman-mirrors.conf.

But what if I always want to use a specific branch say unstable? Then I have 2 choices

  • edit pacman-mirrors.conf by hand
  • always remember to supply the -b/--branch unstable

As it is now our specialized choices is not written to pacman-mirrors.conf but we have to supply them every time we want to refresh the mirror list. That is if we have chosen to use unstable branch we have to remember that when refreshing the mirror list or we will get errors/warnings when we run pacman -Syyu.

From a users POV, wouldn't it be expected that the users personal choices was saved to the configuration file?

When I rewrote the code I assumed - in line with the -i/--interactive parameter - that the country selection should be updated in the configuration, and was a bit puzzled when the review contained a remark on this addition.

So I was thinking of expanding the modify_configuration() function to write the entire default configuration - not just the custom configuration.

I think it would be an improvement - what do you think of this?

I am going to look at this

# pacman-mirrors -c Philipines,Australia,Indonesia -i
Traceback (most recent call last):
  File "/usr/bin/pacman-mirrors", line 52, in <module>
    pm.run()
  File "/usr/lib/python3.6/site-packages/pacman_mirrors/pacman_mirrors.py", line 717, in run
    self.command_line_parse()
  File "/usr/lib/python3.6/site-packages/pacman_mirrors/pacman_mirrors.py", line 187, in command_line_parse
    self.available_countries)
  File "/usr/lib/python3.6/site-packages/pacman_mirrors/pacman_mirrors.py", line 642, in validate_country_list
    ", ".join(available_countries)))
IndexError: tuple index out of range

Use default options for the help menu

I have played with the options of the argparse module and I've found something strange: I prefer the way the help is displayed with the default settings (by removing the custom parser). It seems more orderly. I do not think that avoiding the repetition of the parameters is a good thing. With the default way, the syntax is better distinguished.
help
What do you think?

Console UI

As an excercise in python I am planning on tinkering with a console ui for --interactive.

I know - why that - but as pointed out

with what options?

So a console way of launching the --interactive option could be fun.

What do you think?

After poking around on the web I found different approaches and decided to try urwid

pacman-mirrors updating

Is there any way we can preserve the users pacman-mirrors.conf when replacing pacman-mirrorlist to pacman-mirrors?

Do we really need to handle two paths for the custom file?

In the file 'scripts/pacman-mirrors' we check if a '/etc/pacman.d/mirrors/Custom' exits and if so we move it to '/var/lib/pacman-mirrors/Custom'. So, I consider that '/var/lib/pacman-mirrors/Custom' is the best path, isn't it? So, why do we take care about the etc folder ? I know that the wiki says to write a custom mirrorlist in the etc folder.
Should not one path be encouraged? Did I miss something?

GTK GUI

@Huluti
With my little suggestion in this PR, which you have kindly accepted, I found it has an odd behavior but I cannot pinpoint it.

Normally when checking the first server - the commit button becomes active.

Even though I am convinced I only touched strings and rearranged a couple of columns, my code does not activate the commit button.

I have become blind to the code - even when having them side by side.

Adding useful info to CONTRIBUTING.md

Regarding the virtualenv and virtualenvwrapper I find that some useful info is missing.

I suggested adding info on installation

  • sudo pacman -Syu python-pip
  • sudo python -m pip install virtualenv virtualenvwrapper

And adding a link to virtualenvwrapper docs

Missed one

I finshed the Danish translation at Transifex and while doing that I saw this - I remember thinking - need to consolidate them to one - but obviously forgot.

ERR_SERVER_NOT_REACHABLE = _("Failed to reach server")
ERR_SERVER_TIMEOUT = _("Failed to reach the server")

Good idea for consolidating these two?

pacman-mirrors is broken in chroot

(143/235) installing pacman-mirrors                                   [#######################################] 100%
.: Info ping google.com x 1
.: Info ping repo.manjaro.org x 1
.: Info Downloading mirrors from repo.manjaro.org
.: Info Using default mirror file
.: Info Querying mirrors - This may take some time
   0.692 Australia      : http://mirror.ventraip.net.au/Manjaro/
   0.728 Australia      : http://manjaro.uberglobalmirror.com/
   1.307 Australia      : http://manjaro.mirror.serversaustralia.com.au/
   0.168 Austria        : http://mirror.inode.at/manjaro/
   0.189 Belarus        : http://mirror.datacenter.by/pub/mirrors/manjaro/
   0.094 Belgium        : http://ftp.belnet.be/manjaro/
   ..... Belgium        : https://manjaro.cu.be/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://manjaro.cu.be/'

   0.636 Brasil         : http://linorg.usp.br/manjaro/
   ..... Bulgaria       : https://mirrors.netix.net/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirrors.netix.net/manjaro/'

   0.151 Bulgaria       : http://manjaro.ipacct.com/manjaro/
   0.214 Bulgaria       : http://manjaro.telecoms.bg/
   0.385 Canada         : http://manjaro.cybr.ca/
   ..... Canada         : https://ca.mirror.babylon.network/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://ca.mirror.babylon.network/manjaro/'

   1.317 Chile          : http://manjaro.dcc.uchile.cl/
   ..... Chile          : http://doge.ing.puc.cl/Mirrors/Manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'http://doge.ing.puc.cl/Mirrors/Manjaro/'

   2.037 China          : http://mirrors.ustc.edu.cn/manjaro/
   0.755 China          : http://ftp.cuhk.edu.hk/pub/Linux/manjaro/
   2.959 China          : http://mirrors.tuna.tsinghua.edu.cn/manjaro/
   ..... China          : https://mirrors.zju.edu.cn/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirrors.zju.edu.cn/manjaro/'

   0.649 Colombia       : http://mirror.edatel.net.co/manjaro/
   0.632 Costa_Rica     : http://mirrors.ucr.ac.cr/manjaro/
   ..... Czech          : https://mirror.dkm.cz/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirror.dkm.cz/manjaro/'

   ..... Denmark        : https://mirrors.dotsrc.org/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirrors.dotsrc.org/manjaro/'

   0.249 Denmark        : http://www.uex.dk/repos/manjaro/
   ..... Ecuador        : https://mirror.cedia.org.ec/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirror.cedia.org.ec/manjaro/'

   ..... Ecuador        : https://mirror.uta.edu.ec/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirror.uta.edu.ec/manjaro/'

   ..... Ecuador        : https://mirror.espoch.edu.ec/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirror.espoch.edu.ec/manjaro/'

   0.093 France         : http://manjarolinux.polymorf.fr/
   0.163 France         : http://mirror.lignux.com/manjaro/
   0.148 France         : http://ftp.free.org/mirrors/repo.manjaro.org/repos/
   ..... France         : https://fr.mirror.babylon.network/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://fr.mirror.babylon.network/manjaro/'

   0.152 Germany        : http://mirror.ragenetwork.de/manjaro/
   0.115 Germany        : http://ftp.halifax.rwth-aachen.de/manjaro/
   0.066 Germany        : http://ftp.tu-chemnitz.de/pub/linux/manjaro/
   ..... Germany        : https://mirror.netzspielplatz.de/manjaro/packages/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirror.netzspielplatz.de/manjaro/packages/'

   ..... Germany        : https://mirror.netcologne.de/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirror.netcologne.de/manjaro/'

   ..... Germany        : https://repo.rhindon.net/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://repo.rhindon.net/manjaro/'

   ..... Germany        : https://repo.stdout.net/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://repo.stdout.net/manjaro/'

   ..... Germany        : https://manjaro-mirror-a.alpix.eu/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://manjaro-mirror-a.alpix.eu/'

   0.107 Germany        : http://ftp.rz.tu-bs.de/pub/mirror/manjaro.org/repos/
   0.285 Greece         : http://ftp.cc.uoc.gr/mirrors/linux/manjaro/
   0.221 Hungary        : http://mirror.infotronik.hu/mirrors/pub/manjaro/
   0.901 Indonesia      : http://kambing.ui.ac.id/manjaro/
   0.788 Indonesia      : http://kartolo.sby.datautama.net.id/manjaro/
   4.519 Indonesia      : http://jaran.undip.ac.id/manjaro/
   ..... Ireland        : https://ftp.heanet.ie/mirrors/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://ftp.heanet.ie/mirrors/manjaro/'

   0.248 Italy          : http://manjaro.mirror.garr.it/mirrors/manjaro/
   0.172 Italy          : http://ba.mirror.garr.it/mirrors/manjaro/
   0.238 Italy          : http://ct.mirror.garr.it/mirrors/manjaro/
   1.498 Japan          : http://ftp.tsukuba.wide.ad.jp/Linux/manjaro/
   1.269 Japan          : http://ftp.riken.jp/Linux/manjaro/
   0.088 Netherlands    : http://ftp.nluug.nl/pub/os/Linux/distr/manjaro/
   0.095 Netherlands    : http://ftp.snt.utwente.nl/pub/linux/manjaro/
   ..... Netherlands    : https://nl.mirror.babylon.network/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://nl.mirror.babylon.network/manjaro/'

   0.632 Philippines    : http://mirror.rise.ph/manjaro/
   0.315 Poland         : http://mirror.chmuri.net/manjaro/
   0.609 Portugal       : http://ftp.dei.uc.pt/pub/linux/manjaro/
   0.326 Portugal       : http://manjaro.barata.pt/
   0.227 Romania        : http://mirrors.serverhost.ro/manjaro/packages/
   0.131 Romania        : http://ftp.lug.ro/manjaro/
   ..... Russia         : https://mirror.yandex.ru/mirrors/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirror.yandex.ru/mirrors/manjaro/'

   1.498 Singapore      : http://download.nus.edu.sg/mirror/manjaro/
   0.521 South_Africa   : http://mirror.is.co.za/mirrors/manjaro.org/
   ..... Sweden         : https://ftp.lysator.liu.se/pub/manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://ftp.lysator.liu.se/pub/manjaro/'

   0.153 Sweden         : http://mirror.zetup.net/manjaro/
   1.563 Taiwan         : http://free.nchc.org.tw/manjaro/
   0.332 Turkey         : http://ftp.linux.org.tr/manjaro/
   0.173 United_Kingdom : http://repo.manjaro.org.uk/
   ..... United_Kingdom : https://www.mirrorservice.org/sites/repo.manjaro.org/r
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://www.mirrorservice.org/sites/repo.manjaro.org/repos/'

   0.153 United_Kingdom : http://mirror.catn.com/pub/manjaro/
   0.165 United_Kingdom : http://manjaro.mirrors.uk2.net/
   0.349 United_States  : http://mirror.dacentec.com/manjaro/
   0.386 United_States  : http://mirror.jmu.edu/manjaro/
   0.415 United_States  : http://mirror.solarvps.com/manjaro/
   0.453 United_States  : http://mirror.nexcess.net/manjaro/
   0.437 United_States  : http://distro.ibiblio.org/manjaro/
   0.502 United_States  : http://mirror.clarkson.edu/manjaro/
   0.774 United_States  : http://mirrors.ocf.berkeley.edu/manjaro/
   ..... Vietnam        : https://mirror.freedif.org/Manjaro/
.: Error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 'https://mirror.freedif.org/Manjaro/'

.: Error Cannot write file: /etc/pacman.d/mirrorlist: No such file or directory

Further, $chroot/etc/pacman.d dir looks rather strange.

$ ls -l /var/build/manjaro-tools/buildiso/lxqt/x86_64/rootfs/etc/pacman.d/
insgesamt 1464
srwx------ 1 root root      0 18. Mär 18:30 S.dirmngr
drwx------ 2 root root   4096 18. Mär 18:30 crls.d
-rw-r--r-- 1 root root    114 24. Aug 2015  gpg.conf
drwx------ 2 root root   4096 24. Aug 2015  openpgp-revocs.d
drwx------ 2 root root   4096 24. Aug 2015  private-keys-v1.d
-rw-r--r-- 1 root root 707575 18. Mär 18:40 pubring.gpg
-rw-r--r-- 1 root root 707575 18. Mär 18:40 pubring.gpg~
-rw------- 1 root root      0 24. Aug 2015  secring.gpg
-rw-r--r-- 1 root root  49152 18. Mär 18:40 tofu.db
-rw-r--r-- 1 root root  13400 18. Mär 18:40 trustdb.gpg

The gpg dir is missing.

$ ls -l /etc/pacman.d/
insgesamt 12
drwxr-xr-x 5 root root 4096 18. Mär 18:57 gnupg
-rw-r--r-- 1 root root  573 19. Mär 23:24 mirrorlist

Proof reading

@Kirek @Huluti
I see a lot of improvement possible - like removing ().
I would like to proof read the file and make the adjustments before you build the next version.

Are you fine with that?

weird issue

custom mirror file is not reset when using -c all

pacman-mirrors to manjaro-mirrors

Since your rewrite of the web-repo-status - I decided to go up against a complete rewrite of pacman-mirrors.

The codename is manjaro-mirrors since it is based on your new data-files.

My intentions is to port the best parts of pacman-mirrors and build the selectable parts on the new data files.

To avoid confusion with pacman-mirrors the conf, data files and custom mirror file is intended to live in /etc/manjaro-mirrors.

The idea is

  • save status.json: S-<timestamp>.json and if a defined interval has elapsed, update it
  • save mirrors.json: M-<timestamp>.json and do the same

thinking-hat

  • a --save to write some options to configuration for reuse
  • configurable intervals for checking file status
  • only do the checking when the app is run by user - no daemon stuff
- only basic messages on screen - verbose as option - geoip is a must What do you think?

Next steps

I was thinking - making the components more testable, so a change not accidentally breaks some other component and writing tests for some of the existing parts.

#54

Or do You have other plans?

Custom mirror list seems to be not respected

Something doesn't seem to work as designed with latest changes regarding custom mirror selection.
When I run
pacman-mirrors -gic Germany
and select just netzspielplatz as my custom mirror, resulting /etc/pacman.d/mirrorlist contains

## Manjaro Linux Custom mirrorlist
## Generated on 20 March 2017 22:16
##
## Use 'pacman-mirrors -c all' to reset
##

## Country       : Germany
Server = ftp://ftp.tu-chemnitz.de/pub/linux/manjaro/unstable/$repo/$arch

## Country       : Germany
Server = http://ftp.tu-chemnitz.de/pub/linux/manjaro/unstable/$repo/$arch

## Country       : Germany
Server = http://mirror.ragenetwork.de/manjaro/unstable/$repo/$arch

## Country       : Germany
Server = ftp://ftp.rz.tu-bs.de/pub/mirror/manjaro.org/repos/unstable/$repo/$arch

## Country       : Germany
Server = http://ftp.rz.tu-bs.de/pub/mirror/manjaro.org/repos/unstable/$repo/$arch

## Country       : Germany
Server = ftp://ftp.halifax.rwth-aachen.de/manjaro/unstable/$repo/$arch

## Country       : Germany
Server = http://ftp.halifax.rwth-aachen.de/manjaro/unstable/$repo/$arch

## Country       : Germany
Server = https://mirror.netcologne.de/manjaro/unstable/$repo/$arch

## Country       : Germany
Server = http://repo.stdout.net/manjaro/unstable/$repo/$arch

## Country       : Germany
Server = https://repo.stdout.net/manjaro/unstable/$repo/$arch

## Country       : Germany
Server = https://mirror.netzspielplatz.de/manjaro/packages/unstable/$repo/$arch

## Country       : Germany
Server = https://repo.rhindon.net/manjaro/unstable/$repo/$arch

## Country       : Germany
Server = http://manjaro-mirror-a.alpix.eu/unstable/$repo/$arch

## Country       : Germany
Server = https://manjaro-mirror-a.alpix.eu/unstable/$repo/$arch

and I get a /var/lib/pacman-mirrors/custom-mirrors.json like this:

[
    {
        "country": "Germany",
        "protocols": [
            "https"
        ],
        "url": "https://mirror.netzspielplatz.de/manjaro/packages/"
    }

However when I run pacman -Syu now, I can tell by the sync time that netzspielplatz is certainly not being used as the primary or only mirror.
As soon as I edit /etc/pacman.d/mirrorlist manually and remove all unwanted mirrors, I see the desired result and apparently only now my custom mirror is being used as the only one.

--interactive

In terminator under openbox pacman-mirrors --interactive is generating a message I do not quite understand.

Maybe you know what this means

(pacman-mirrors:1138): Gtk-WARNING **: Allocating size to pacman_mirrors+graphicalui+GraphicalUI 0x1fa6290 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?

module 'pacman_mirrors.i18n' has no attribute 'language'

When trying to update Manjaro, I get this error message:

sudo pacman-mirrors -g

Traceback (most recent call last):
  File "/usr/bin/pacman-mirrors", line 26, in <module>
    _ = i18n.language.gettext
AttributeError: module 'pacman_mirrors.i18n' has no attribute 'language'

Use a better versionning format

Actually versioning of pacman-mirrors seems a bit confused:

  • Version is set to 2.0 in some files.
  • The package version is 20161101.

I've had a talk with Kirek, here's his suggestion:

In this case a date is better because we update pacman-mirrors every time we add or remove a mirror, and that would be tagging it everytime all the time.

So, it could be a good idea to unify version to only one versioning format and maybe use Github tags.

What do you think guys?

Interactive mode

When opening interactive mode all server-urls are capped in non obvious places.

What is the idea behind that?

Wouldn't it be better to left-align the list and not cap it?

Also all the mirrors are pre-selected - that somehow goes against the idea of an interactive selection - currently it is more an interactive de-selection :)

Why are interactive mode showing the calculated mirror age when the list is sorted by response time?

I mean when filtering in pacman-mirrors it is 3 levels - good, resp, bad.

Could we pass the all three lists to the gui and assign then in the order good, resp, bad?

"Method" key in pacman-mirros.conf file is not read

"pacman-mirrors -g" command always use rank method even if "random" is written in /etc/pacman-mirrors.conf. The error is that option is not read by the parse_configuration_file function.
"pacman-mirrors-g -m random" command works as expected.

A scripting API

One packager @udeved has sent a wish for some kind of scripting API.

Can it be done without confusing end users with a never ending list of options and arguments?

E.g. an api to manipulate branch - though this is very close to the -b argument
all that needs to be done is write it to pacman-mirrors.conf.

Reverse is even easier since this is default behavior - reading the branch from pacman-mirrors.conf and generating the mirrorlist accordingly.

could use a ranking limiter

A very cool feature was to be able to do

pacman-mirrors -g -m rank -l 5

where -l limits to 5 fastest mirrors instead of ranking full list.
Use case would be in live session to ensure we always start with the fastest mirror regardless of location.

When several protocols exist

The mirrorlist looks weird

(pacman-mirrors) /media/.../manjaro/pacman-mirrors >>> sudo pacman-mirrors -c Denmark,Germany                                                               ±[●][master]
.: Info ping google.com x 1
.: Info ping repo.manjaro.org x 1
.: Info Downloading mirrors from repo.manjaro.org
.: Info Using custom mirror file
.: Info Querying mirrors - This may take some time
   0.094 Denmark        : https://mirrors.dotsrc.org/manjaro/
   0.004 Denmark        : http://www.uex.dk/repos/manjaro/
   0.056 Germany        : http://mirror.ragenetwork.de/manjaro/
   0.057 Germany        : http://ftp.halifax.rwth-aachen.de/manjaro/
   0.067 Germany        : http://ftp.tu-chemnitz.de/pub/linux/manjaro/
   0.144 Germany        : https://mirror.netzspielplatz.de/manjaro/packages/
   0.111 Germany        : https://mirror.netcologne.de/manjaro/
   0.120 Germany        : https://repo.rhindon.net/manjaro/
   0.107 Germany        : https://repo.stdout.net/manjaro/
   0.134 Germany        : https://manjaro-mirror-a.alpix.eu/
   0.065 Germany        : http://ftp.rz.tu-bs.de/pub/mirror/manjaro.org/repos/
.: Info Writing mirror list
   Denmark         : http://www.uex.dk/repos/manjaro/unstable
   Germany         : http://mirror.ragenetwork.de/manjaro/unstable
   Germany         : http://ftp.halifax.rwth-aachen.de/manjaro/unstable
   Germany         : http://ftp.halifax.rwth-aachen.de/manjaro/unstable
   Germany         : http://ftp.rz.tu-bs.de/pub/mirror/manjaro.org/repos/unstable
   Germany         : http://ftp.rz.tu-bs.de/pub/mirror/manjaro.org/repos/unstable
   Germany         : http://ftp.tu-chemnitz.de/pub/linux/manjaro/unstable
   Germany         : http://ftp.tu-chemnitz.de/pub/linux/manjaro/unstable
   Denmark         : https://mirrors.dotsrc.org/manjaro/unstable
   Denmark         : https://mirrors.dotsrc.org/manjaro/unstable
   Germany         : https://repo.stdout.net/manjaro/unstable
   Germany         : https://repo.stdout.net/manjaro/unstable
   Germany         : https://mirror.netcologne.de/manjaro/unstable
   Germany         : https://repo.rhindon.net/manjaro/unstable
   Germany         : https://manjaro-mirror-a.alpix.eu/unstable
   Germany         : https://manjaro-mirror-a.alpix.eu/unstable
   Germany         : https://mirror.netzspielplatz.de/manjaro/packages/unstable
.: Info Mirrorlist generated and saved to: /etc/pacman.d/mirrorlist

handle outdated or dysfunctional mirrors

Now with the improved web-repo-interface an existing problem becomes even more obvious.
For example, right now, when you look at the mirror state sorted by country, you will notice that you are in a really bad position if you live in Belgium (I used to think that Brussels is not such a remote and lonely location, maybe I was wrong? 😜 ) and have set pacman-mirrors to use your home country while using testing branch - especially taking into account that sorting by speed might not even save you from your closest mirrors, even if they are totally outdated as they might still respond normally to pacman:

mirrors

Should we remove those mirrors from the database? Is there maybe even a way to exclude bad mirrors after a certain amount of days/weeks/months of inactivity?

Error in TTY - display server refuse connection

Additional at #21
I would also change
query_mirror_state(state_url, mirror_branch, request_timeout, verbose=False) the verbose change from optional to required
query_mirror_state(state_url, mirror_branch, request_timeout, verbose)

TTY error - this issue
What is much more interesting is what error is thrown here?
User screenshot from OP forum ref.
AFAIK it should not be possible since a GTK_AVAILABLE variable is set at launch - which should prevent the --interactive for being launched.

If an error is thrown in tty then I must have made an error? or not?

I checked in tty and I think the variable initializes correct but because its in tty the display server cannot initialize. How do we eliminate this error?

Add npyscreen in requirements

I don't know if we need to add npyscreen in requirements.txt.. We also have to not forget to add npyscreen in the PKGBUILD.

Generation by Country should Update Config

I noticed that pacman-mirrors -i updates the pacman-mirrors.conf to use OnlyCountry = Custom, but does not do the same to the config file when asking to make a mirrorlist of the specificed country with pacman-mirrors -g -c COUNTRYNAME.

Is that expected or a bug?

Nice sorting feature

I like that - it has good potential

Another thought
The sorting reflect in the actual write to mirrorlist.
I mean - why bother ranking the mirrors before selecting them when the sorting is changed afterwards?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.