summaryrefslogtreecommitdiff
path: root/libre-testing/cnchi
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2015-11-29 12:01:54 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2015-11-29 12:02:58 -0300
commit115e8963a052a765498df1e26aa671515bbdbab4 (patch)
tree3c82eb54963eaae8638a6941dd361dd4993be8e2 /libre-testing/cnchi
parentdbd46999437c2ba1f5e78d7aefd8bcbacb295f87 (diff)
downloadabslibre-115e8963a052a765498df1e26aa671515bbdbab4.tar.gz
abslibre-115e8963a052a765498df1e26aa671515bbdbab4.tar.bz2
abslibre-115e8963a052a765498df1e26aa671515bbdbab4.zip
cnchi: add new package to [libre-testing]
Diffstat (limited to 'libre-testing/cnchi')
-rw-r--r--libre-testing/cnchi/PKGBUILD46
-rw-r--r--libre-testing/cnchi/libre+rebranding.patch1731
2 files changed, 1777 insertions, 0 deletions
diff --git a/libre-testing/cnchi/PKGBUILD b/libre-testing/cnchi/PKGBUILD
new file mode 100644
index 000000000..f0cbdf2a2
--- /dev/null
+++ b/libre-testing/cnchi/PKGBUILD
@@ -0,0 +1,46 @@
+# Maintainer (Artegos): Alex Filgueira <alexfilgueira@antergos.com>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+
+_pkgname=Cnchi
+pkgname=cnchi
+pkgver=0.12.0
+pkgrel=1.parabola1
+pkgdesc='Graphical Installer for Parabola GNU/Linux-libre, without nonfree software installation support (Parabola rebranded)'
+arch=(any)
+license=(GPL)
+url="https://github.com/Antergos/Cnchi"
+conflicts=(cnchi-dev)
+depends=(python pyalpm python-gobject python-dbus python-cairo python-requests
+ python-parted webkitgtk upower python-mako iso-codes gptfdisk python-bugsnag)
+source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Antergos/Cnchi/archive/v${pkgver}.tar.gz"
+ libre+rebranding.patch)
+sha256sums=('ada2fecd5710307570feb6a8e01ebafb57ef55d2f1fe1d01d1929608a89af17b')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i ${srcdir}/libre+rebranding.patch
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ install -d ${pkgdir}/usr/share/locale/
+ install -d ${pkgdir}/usr/share/cnchi
+ install -Dm755 "bin/${pkgname}" "${pkgdir}/usr/bin/cnchi"
+ install -Dm755 "${pkgname}.desktop" "${pkgdir}/usr/share/applications/cnchi.desktop"
+ for i in cnchi bin data scripts ui; do
+ cp -R ${i} "${pkgdir}/usr/share/cnchi/"
+ done
+
+ for files in po/*; do
+ if [ -f "$files" ] && [ "$files" != 'po/cnchi.pot' ]; then
+ STRING_PO=`echo ${files#*/}`
+ STRING=`echo ${STRING_PO%.po}`
+ mkdir -p ${pkgdir}/usr/share/locale/${STRING}/LC_MESSAGES
+ msgfmt $files -o ${pkgdir}/usr/share/locale/${STRING}/LC_MESSAGES/cnchi.mo
+ echo "${STRING} installed..."
+ fi
+ done
+}
+# -*- mode: bash;-*-
diff --git a/libre-testing/cnchi/libre+rebranding.patch b/libre-testing/cnchi/libre+rebranding.patch
new file mode 100644
index 000000000..5874e893f
--- /dev/null
+++ b/libre-testing/cnchi/libre+rebranding.patch
@@ -0,0 +1,1731 @@
+diff -Nur Cnchi-0.12.0.orig/cnchi/bootinfo.py Cnchi-0.12.0/cnchi/bootinfo.py
+--- Cnchi-0.12.0.orig/cnchi/bootinfo.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/bootinfo.py 2015-11-11 16:07:35.591545616 -0300
+@@ -162,7 +162,7 @@
+
+
+ def _check_linux(mount_name):
+- """ Checks for linux """
++ """ Checks for GNU/Linux """
+ detected_os = _("unknown")
+
+ for os_release in OS_RELEASE_PATHS:
+diff -Nur Cnchi-0.12.0.orig/cnchi/check.py Cnchi-0.12.0/cnchi/check.py
+--- Cnchi-0.12.0.orig/cnchi/check.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/check.py 2015-11-11 16:10:40.930840753 -0300
+@@ -27,7 +27,7 @@
+ # along with Cnchi; If not, see <http://www.gnu.org/licenses/>.
+
+
+-""" Check screen (detects if Antergos prerequisites are meet) """
++""" Check screen (detects if Parabola prerequisites are meet) """
+
+
+ from gi.repository import GLib
+diff -Nur Cnchi-0.12.0.orig/cnchi/cnchi.py Cnchi-0.12.0/cnchi/cnchi.py
+--- Cnchi-0.12.0.orig/cnchi/cnchi.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/cnchi.py 2015-11-26 15:58:52.069504426 -0300
+@@ -26,7 +26,7 @@
+ # You should have received a copy of the GNU General Public License
+ # along with Cnchi; If not, see <http://www.gnu.org/licenses/>.
+
+-""" Main Cnchi (Antergos Installer) module """
++""" Main Cnchi (Parabola Installer) module """
+
+ import os
+ import sys
+@@ -122,17 +122,17 @@
+ BUGSNAG_ERROR = "Cannot find /etc/raven.conf file"
+ return bugsnag_api
+
+- def get_url_for_id_request(self):
+- build_server = None
+- if self.api_key:
+- build_srv = ['http://build', 'antergos', 'com']
+- build_srv_query = ['/hook', 'cnchi=']
+- build_server = '.'.join(build_srv) + '?'.join(build_srv_query) + self.api_key
+- return build_server
++# def get_url_for_id_request(self):
++# build_server = None
++# if self.api_key:
++# build_srv = ['https://build', 'parabola', 'nu']
++# build_srv_query = ['/hook', 'cnchi=']
++# build_server = '.'.join(build_srv) + '?'.join(build_srv_query) + self.api_key
++# return build_server
+
+ def bugsnag_before_notify_callback(self, notification=None):
+ if notification is not None:
+- notification.user = {"id": self.id, "name": "Antergos User", "install_id": self.install}
++ notification.user = {"id": self.id, "name": "Parabola User", "install_id": self.install}
+ return notification
+
+
+@@ -142,7 +142,7 @@
+ def __init__(self):
+ """ Constructor. Call base class """
+ Gtk.Application.__init__(self,
+- application_id="com.antergos.cnchi",
++ application_id="nu.parabola.cnchi",
+ flags=Gio.ApplicationFlags.FLAGS_NONE)
+ self.TMP_RUNNING = "/tmp/.setup-running"
+
+@@ -358,7 +358,7 @@
+
+ import argparse
+
+- desc = _("Cnchi v{0} - Antergos Installer").format(info.CNCHI_VERSION)
++ desc = _("Cnchi v{0} - Parabola Installer").format(info.CNCHI_VERSION)
+ parser = argparse.ArgumentParser(description=desc)
+
+ parser.add_argument(
+@@ -413,7 +413,7 @@
+ action="store_true")
+ parser.add_argument(
+ "--disable-rank-mirrors",
+- help=_("Do not try to rank Arch and Antergos mirrors"),
++ help=_("Do not try to rank Parabola mirrors"),
+ action="store_true")
+ parser.add_argument(
+ "-v", "--verbose",
+@@ -453,33 +453,6 @@
+ # Gdk.threads_init()
+
+
+-def update_cnchi():
+- """ Runs updater function to update cnchi to the latest version if necessary """
+- upd = updater.Updater(
+- force_update=cmd_line.update,
+- local_cnchi_version=info.CNCHI_VERSION)
+-
+- if upd.update():
+- logging.info("Program updated! Restarting...")
+- misc.remove_temp_files()
+- if cmd_line.update:
+- # Remove -u and --update options from new call
+- new_argv = []
+- for argv in sys.argv:
+- if argv != "-u" and argv != "--update":
+- new_argv.append(argv)
+- else:
+- new_argv = sys.argv
+-
+- # Do not try to update again now
+- new_argv.append("--disable-update")
+-
+- # Run another instance of Cnchi (which will be the new version)
+- with misc.raised_privileges():
+- os.execl(sys.executable, *([sys.executable] + new_argv))
+- sys.exit(0)
+-
+-
+ def setup_gettext():
+ """ This allows to translate all py texts (not the glade ones) """
+
+diff -Nur Cnchi-0.12.0.orig/cnchi/config.py Cnchi-0.12.0/cnchi/config.py
+--- Cnchi-0.12.0.orig/cnchi/config.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/config.py 2015-11-26 15:50:10.523794481 -0300
+@@ -44,7 +44,7 @@
+ self.settings.put({
+ 'alternate_package_list': '',
+ 'auto_device': '/dev/sda',
+- 'bootloader': 'grub2',
++ 'bootloader': 'grub',
+ 'bootloader_device': '/dev/sda',
+ 'bootloader_install': True,
+ 'bootloader_installation_successful': False,
+@@ -54,7 +54,7 @@
+ 'country_name': '',
+ 'country_code': '',
+ 'data': '/usr/share/cnchi/data/',
+- 'desktop': 'gnome',
++ 'desktop': 'mate',
+ 'desktop_ask': True,
+ 'desktops': [],
+ 'download_module': 'requests',
+@@ -62,22 +62,19 @@
+ 'encrypt_home': False,
+ 'f2fs': False,
+ 'failed_download': False,
+- 'feature_aur': False,
++ #'feature_pur': False,
+ 'feature_bluetooth': False,
+ 'feature_cups': False,
+- 'feature_firefox': False,
++ 'feature_iceweasel': False,
+ 'feature_firewall': False,
+- 'feature_fonts': False,
+- 'feature_games': False,
+ 'feature_lamp': False,
+ 'feature_lemp': False,
+ 'feature_lts': False,
+ 'feature_office': False,
+ 'feature_smb': False,
+- 'feature_visual': False,
+ 'fullname': '',
+ 'GRUB_CMDLINE_LINUX': '',
+- 'hostname': 'antergos',
++ 'hostname': 'parabola',
+ 'keyboard_layout': '',
+ 'keyboard_variant': '',
+ 'language_name': '',
+@@ -95,7 +92,6 @@
+ 'require_password': True,
+ 'ruuid': '',
+ 'sentry_dsn': '',
+- 'third_party_software': False,
+ 'timezone_human_zone': '',
+ 'timezone_country': '',
+ 'timezone_zone': '',
+diff -Nur Cnchi-0.12.0.orig/cnchi/desktop.py Cnchi-0.12.0/cnchi/desktop.py
+--- Cnchi-0.12.0.orig/cnchi/desktop.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/desktop.py 2015-11-13 20:24:48.824912565 -0300
+@@ -58,7 +58,7 @@
+ self.listbox.set_selection_mode(Gtk.SelectionMode.BROWSE)
+ self.listbox.set_sort_func(self.listbox_sort_by_name, None)
+
+- self.desktop_choice = 'gnome'
++ self.desktop_choice = 'mate'
+
+ self.enabled_desktops = self.settings.get("desktops")
+
+@@ -150,8 +150,8 @@
+
+ self.listbox.add(box)
+
+- # Set Gnome as default
+- self.select_default_row(desktop_info.NAMES["gnome"])
++ # Set MATE as default
++ self.select_default_row(desktop_info.NAMES["mate"])
+
+ @staticmethod
+ def listbox_sort_by_name(row1, row2, user_data):
+@@ -205,7 +205,7 @@
+ def store_values(self):
+ """ Store desktop """
+ self.settings.set('desktop', self.desktop_choice.lower())
+- logging.info("Cnchi will install Antergos with the '%s' desktop", self.desktop_choice.lower())
++ logging.info("Cnchi will install Parabola with the '%s' desktop", self.desktop_choice.lower())
+ return True
+
+ @staticmethod
+diff -Nur Cnchi-0.12.0.orig/cnchi/desktop_info.py Cnchi-0.12.0/cnchi/desktop_info.py
+--- Cnchi-0.12.0.orig/cnchi/desktop_info.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/desktop_info.py 2015-11-29 11:41:22.574402776 -0300
+@@ -63,28 +63,28 @@
+ 'gtk': ["cinnamon", "enlightenment", "gnome", "mate", "openbox", "xfce"],
+ 'qt': ["kde4", "lxqt", "plasma5"]}
+
+-ALL_FEATURES = ["aur", "bluetooth", "cups", "firefox", "fonts", "games", "graphic_drivers", "lamp", "lts", "office",
+- "visual", "firewall", "smb"]
++ALL_FEATURES = ["bluetooth", "cups", "iceweasel", "lamp", "lts", "office",
++ "firewall", "smb"]
+
+ # Each desktop has its own available features
+ FEATURES = {
+- 'cinnamon': ["aur", "bluetooth", "cups", "firefox", "firewall", "fonts", "games", "graphic_drivers", "lts",
++ 'cinnamon': ["bluetooth", "cups", "iceweasel", "firewall", "lts",
+ "office", "smb"],
+- 'gnome': ["aur", "bluetooth", "cups", "firefox", "firewall", "fonts", "games", "graphic_drivers", "lts",
++ 'gnome': ["bluetooth", "cups", "iceweasel", "firewall", "lts",
+ "office", "smb"],
+- 'kde4': ["aur", "bluetooth", "cups", "firefox", "firewall", "fonts", "games", "graphic_drivers", "lts",
++ 'kde4': ["bluetooth", "cups", "iceweasel", "firewall", "lts",
+ "office", "smb"],
+- 'plasma5': ["aur", "bluetooth", "cups", "firefox", "firewall", "fonts", "games", "graphic_drivers", "lts",
++ 'plasma5': ["bluetooth", "cups", "iceweasel", "firewall", "lts",
+ "office", "smb"],
+- 'mate': ["aur", "bluetooth", "cups", "firefox", "firewall", "fonts", "lts", "office", "games", "graphic_drivers", "smb"],
+- 'enlightenment': ["aur", "bluetooth", "cups", "firefox", "firewall", "fonts", "games", "graphic_drivers", "lts",
++ 'mate': ["bluetooth", "cups", "iceweasel", "firewall", "lts", "office", "smb"],
++ 'enlightenment': ["bluetooth", "cups", "iceweasel", "firewall", "lts",
+ "office", "smb"],
+- 'base': ["aur", "cups", "fonts", "lamp", "lts"],
+- 'openbox': ["aur", "bluetooth", "cups", "firefox", "firewall", "fonts", "games", "graphic_drivers", "lts",
++ 'base': ["cups", "lamp", "lts"],
++ 'openbox': ["bluetooth", "cups", "iceweasel", "firewall", "lts",
+ "office", "smb", "visual"],
+- 'lxqt': ["aur", "bluetooth", "cups", "firefox", "firewall", "fonts", "games", "graphic_drivers", "lts",
++ 'lxqt': ["bluetooth", "cups", "iceweasel", "firewall", "lts",
+ "office", "smb"],
+- 'xfce': ["aur", "bluetooth", "cups", "firefox", "firewall", "fonts", "games", "graphic_drivers", "lts",
++ 'xfce': ["bluetooth", "cups", "iceweasel", "firewall", "lts",
+ "office", "smb"]}
+
+ # Session names for lightDM setup
+@@ -108,11 +108,10 @@
+ DESCRIPTIONS = {
+ 'gnome': _("GNOME 3 is an easy and elegant way to use your "
+ "computer. It features the Activities Overview which "
+- "is an easy way to access all your basic tasks. GNOME 3 is "
+- "the default desktop in Antergos."),
++ "is an easy way to access all your basic tasks.",
+
+ 'cinnamon': _("Cinnamon is a fork of GNOME 3 developed "
+- "by (and for) Linux Mint. It provides users a more traditional desktop "
++ "by (and for) Mint distro. It provides users a more traditional desktop "
+ "interface along with the newest compositing techniques of GNOME 3. "
+ "Cinnamon is for users of all experience levels. "),
+
+@@ -126,7 +125,7 @@
+ "is well known for its minimalistic appearance and flexibility. "
+ "Your desktop becomes cleaner, faster. Perfect for low hardware specifications, too."),
+
+- 'enlightenment': _("Enlightenment is not just a window manager for Linux/X11 "
++ 'enlightenment': _("Enlightenment is not just a window manager for GNU/Linux X11 "
+ "and others, but also a whole suite of libraries to help "
+ "you create beautiful user interfaces with much less work"),
+
+@@ -142,9 +141,9 @@
+ "based on Qt technologies. It has been tailored for users who "
+ "value simplicity, speed, and an intuitive interface."),
+
+- 'base': _("This option will install Antergos as command-line only system, "
++ 'base': _("This option will install Parabola as command-line only system, "
+ "without any type of graphical interface. After the installation you can "
+- "customize Antergos by installing packages with the command-line package manager."),
++ "customize Parabola by installing packages with the command-line package manager."),
+
+ 'mate': _("An intuitive, attractive and lightweight desktop environment, fork of GNOME 2. "
+ "MATE is one of the best options for use on older computers or those with low hardware "
+diff -Nur Cnchi-0.12.0.orig/cnchi/download/download.py Cnchi-0.12.0/cnchi/download/download.py
+--- Cnchi-0.12.0.orig/cnchi/download/download.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/download/download.py 2015-11-13 22:19:20.187689567 -0300
+@@ -54,7 +54,7 @@
+ class DownloadPackages(object):
+ """ Class to download packages using Aria2, requests (default) or urllib
+ This class tries to previously download all necessary packages for
+- Antergos installation using aria2, requests or urllib
++ Parabola installation using aria2, requests or urllib
+ Aria2 is known to use too much memory (not Aria2's fault but ours)
+ so until it's fixed it it's not advised to use it """
+
+diff -Nur Cnchi-0.12.0.orig/cnchi/download/download_aria2.py Cnchi-0.12.0/cnchi/download/download_aria2.py
+--- Cnchi-0.12.0.orig/cnchi/download/download_aria2.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/download/download_aria2.py 2015-11-13 22:19:31.453804066 -0300
+@@ -48,7 +48,7 @@
+ class Download(object):
+ """ Class to download packages using Aria2
+ This class tries to previously download all necessary packages for
+- Antergos installation using aria2 """
++ Parabola installation using aria2 """
+
+ def __init__(self, pacman_cache_dir, cache_dir, callback_queue):
+ """ Initialize DownloadAria2 class. Gets default configuration """
+diff -Nur Cnchi-0.12.0.orig/cnchi/download/download_requests.py Cnchi-0.12.0/cnchi/download/download_requests.py
+--- Cnchi-0.12.0.orig/cnchi/download/download_requests.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/download/download_requests.py 2015-11-13 22:20:33.020786157 -0300
+@@ -50,7 +50,7 @@
+ class Download(object):
+ """ Class to download packages using requests
+ This class tries to previously download all necessary packages for
+- Antergos installation using requests """
++ Parabola installation using requests """
+
+ def __init__(self, pacman_cache_dir, cache_dir, callback_queue):
+ """ Initialize Download class. Gets default configuration """
+diff -Nur Cnchi-0.12.0.orig/cnchi/download/download_urllib.py Cnchi-0.12.0/cnchi/download/download_urllib.py
+--- Cnchi-0.12.0.orig/cnchi/download/download_urllib.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/download/download_urllib.py 2015-11-13 22:30:58.053444374 -0300
+@@ -92,7 +92,7 @@
+ class Download(object):
+ """ Class to download packages using urllib
+ This class tries to previously download all necessary packages for
+- Antergos installation using urllib """
++ Parabola installation using urllib """
+
+ def __init__(self, pacman_cache_dir, cache_dir, callback_queue):
+ """ Initialize Download class. Gets default configuration """
+diff -Nur Cnchi-0.12.0.orig/cnchi/encfs.py Cnchi-0.12.0/cnchi/encfs.py
+--- Cnchi-0.12.0.orig/cnchi/encfs.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/encfs.py 2015-11-11 17:34:29.704787251 -0300
+@@ -27,7 +27,7 @@
+ # along with Cnchi; If not, see <http://www.gnu.org/licenses/>.
+
+
+-""" Configures Antergos to encrypt user's home with encFS """
++""" Configures Parabola to encrypt user's home with encFS """
+
+ import os
+ import shutil
+@@ -57,7 +57,7 @@
+ def setup_conf_files(dest_dir):
+ path = os.path.join(dest_dir, "etc/security/pam_encfs.conf")
+ with open(path, 'w') as pam_encfs:
+- pam_encfs.write("# File created by Cnchi (Antergos Installer)\n\n")
++ pam_encfs.write("# File created by Cnchi (Parabola Installer)\n\n")
+ pam_encfs.write("# If this is specified program will attempt to drop permissions before running encfs.\n")
+ pam_encfs.write("drop_permissions\n\n")
+ pam_encfs.write("# This specifies which options to pass to encfs for every user.\n")
+@@ -66,30 +66,30 @@
+ pam_encfs.write("# Same for fuse\n")
+ pam_encfs.write("# you can find fuse options with encfs -H\n")
+ pam_encfs.write("fuse_default allow_root,nonempty\n\n")
+- pam_encfs.write("# Added by Cnchi - Antergos Installer\n")
++ pam_encfs.write("# Added by Cnchi - Parabola Installer\n")
+ # USERNAME SOURCE TARGET_PATH ENCFS_Options FUSE_Options
+ pam_encfs.write("-\t/home/.encfs\t-\t-v\t-\n")
+
+ path = os.path.join(dest_dir, "etc/security/pam_env.conf")
+ with open(path, 'a') as pam_env:
+- pam_env.write("\n# Added by Cnchi - Antergos Installer\n")
+- pam_env.write("# Set the ICEAUTHORITY file location to allow GNOME to start on encfs $HOME\n")
++ pam_env.write("\n# Added by Cnchi - Parabola Installer\n")
++ pam_env.write("# Set the ICEAUTHORITY file location to allow MATE to start on encfs $HOME\n")
+ pam_env.write("ICEAUTHORITY DEFAULT=/tmp/.ICEauthority_@{PAM_USER}\n")
+
+ path = os.path.join(dest_dir, "etc/fuse.conf")
+ with open(path, 'a') as fuse_conf:
+- fuse_conf.write("\n# Added by Cnchi - Antergos Installer\n")
++ fuse_conf.write("\n# Added by Cnchi - Parabola Installer\n")
+ fuse_conf.write("user_allow_other\n")
+
+ path = os.path.join(dest_dir, "etc/pam.d/system-login")
+ with open(path, 'a') as system_login:
+- system_login.write("\n# Added by Cnchi - Antergos Installer\n")
++ system_login.write("\n# Added by Cnchi - Parabola Installer\n")
+ system_login.write("session required\tpam_encfs.so\n")
+ system_login.write("session optional\tpam_mount.so\n")
+
+ path = os.path.join(dest_dir, "etc/pam.d/system-auth")
+ with open(path, "a") as system_auth:
+- system_auth.write("\n# Added by Cnchi - Antergos Installer\n")
++ system_auth.write("\n# Added by Cnchi - Parabola Installer\n")
+ system_auth.write("auth sufficient\tpam_encfs.so\n")
+ system_auth.write("auth optional\tpam_mount.so\n")
+
+@@ -98,7 +98,7 @@
+ def setup(username, dest_dir, password):
+ """ Encrypt user's home folder """
+ # encfs and pam_mount packages are needed
+- # and pam_encfs from AUR, too.
++ # and pam_encfs from [pcr], too.
+ # Reference: https://wiki.debian.org/TransparentEncryptionForHomeFolder
+
+ try:
+diff -Nur Cnchi-0.12.0.orig/cnchi/features.py Cnchi-0.12.0/cnchi/features.py
+--- Cnchi-0.12.0.orig/cnchi/features.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/features.py 2015-11-26 16:02:43.741896915 -0300
+@@ -65,39 +65,18 @@
+ # This is initialized each time this screen is shown in prepare()
+ self.features = None
+
+- # Only show ufw rules and aur disclaimer info once
+- self.info_already_shown = {"ufw": False, "aur": False}
++ # Only show ufw rules and pur disclaimer info once
++ #self.info_already_shown = {"ufw": False, "pur": False}
++ # Only show ufw rules
++ self.info_already_shown = {"ufw": False}
+
+ # Only load defaults the first time this screen is shown
+ self.load_defaults = True
+
+ @staticmethod
+- def nvidia_detected():
+- from hardware.nvidia import Nvidia
+- if Nvidia().detect():
+- return True
+- from hardware.nvidia_340xx import Nvidia_340xx
+- if Nvidia_340xx().detect():
+- return True
+- from hardware.nvidia_304xx import Nvidia_304xx
+- if Nvidia_304xx().detect():
+- return True
+- return False
+-
+- @staticmethod
+- def amd_detected():
+- from hardware.catalyst import Catalyst
+- return Catalyst().detect()
+-
+- @staticmethod
+ def on_listbox_row_selected(listbox, listbox_row):
+ """ Someone selected a different row of the listbox
+ WARNING: IF LIST LAYOUT IS CHANGED THEN THIS SHOULD BE CHANGED ACCORDINGLY. """
+- if listbox_row is not None:
+- for vbox in listbox_row:
+- switch = vbox.get_children()[2]
+- if switch:
+- switch.set_active(not switch.get_active())
+
+ def fill_listbox(self):
+ for listbox_row in self.listbox.get_children():
+@@ -105,15 +84,6 @@
+
+ self.listbox_rows = {}
+
+- # Only add graphic-driver feature if an AMD or Nvidia is detected
+- # FIXME: Conflict between lib32-nvidia-libgl and lib32-mesa-libgl
+- #if "graphic_drivers" in self.features:
+- # if not self.amd_detected() and not self.nvidia_detected():
+- # logging.debug("Neither nvidia nor amd have been detected. Removing proprietary graphic driver feature")
+- # self.features.remove("graphic_drivers")
+- if "graphic_drivers" in self.features:
+- self.features.remove("graphic_drivers")
+-
+ for feature in self.features:
+ box = Gtk.Box(spacing=20)
+ box.set_name(feature + "-row")
+@@ -135,15 +105,6 @@
+ self.listbox_rows[feature].append(image)
+ box.pack_start(image, False, False, 0)
+
+- text_box = Gtk.VBox()
+- object_name = "label_title_" + feature
+- label_title = Gtk.Label.new()
+- label_title.set_halign(Gtk.Align.START)
+- label_title.set_justify(Gtk.Justification.LEFT)
+- label_title.set_name(object_name)
+- self.listbox_rows[feature].append(label_title)
+- text_box.pack_start(label_title, False, False, 0)
+-
+ object_name = "label_" + feature
+ label = Gtk.Label.new()
+ label.set_name(object_name)
+@@ -208,16 +169,6 @@
+ txt = desktop_info.NAMES[desktop] + " - " + _("Feature Selection")
+ self.header.set_subtitle(txt)
+
+- for feature in self.features:
+- if feature == "graphic_drivers":
+- # Only add this feature if NVIDIA or AMD are detected
+- if not self.amd_detected() and not self.nvidia_detected():
+- continue
+- title = _(features_info.TITLES[feature])
+- desc = _(features_info.DESCRIPTIONS[feature])
+- tooltip = _(features_info.TOOLTIPS[feature])
+- self.set_row_text(feature, title, desc, tooltip)
+-
+ # Sort listbox items
+ self.listbox.invalidate_sort()
+
+@@ -240,10 +191,6 @@
+ row = self.listbox_rows['cups']
+ row[COL_SWITCH].set_active(True)
+
+- if 'visual' in self.features:
+- row = self.listbox_rows['visual']
+- row[COL_SWITCH].set_active(True)
+-
+ def store_values(self):
+ """ Get switches values and store them """
+ for feature in self.features:
+@@ -258,10 +205,10 @@
+ self.show_info_dialog("ufw")
+ self.info_already_shown["ufw"] = True
+
+- # Show AUR disclaimer if AUR is selected (show it only once)
+- if self.settings.get("feature_aur") and not self.info_already_shown["aur"]:
+- self.show_info_dialog("aur")
+- self.info_already_shown["aur"] = True
++ # Show PUR disclaimer if PUR is selected (show it only once)
++ #if self.settings.get("feature_pur") and not self.info_already_shown["pur"]:
++ # self.show_info_dialog("pur")
++ # self.info_already_shown["pur"] = True
+
+ # LAMP: Ask user if he wants Apache or Nginx
+ if self.settings.get("feature_lamp"):
+@@ -287,13 +234,14 @@
+
+ def show_info_dialog(self, feature):
+ """ Some features show an information dialog when this screen is accepted """
+- if feature == "aur":
+- # Aur disclaimer
+- txt1 = _("Arch User Repository - Disclaimer")
+- txt2 = _("The Arch User Repository is a collection of user-submitted PKGBUILDs\n"
+- "that supplement software available from the official repositories.\n\n"
+- "The AUR is community driven and NOT supported by Arch or Antergos.\n")
+- elif feature == "ufw":
++ #if feature == "pur":
++ # # Pur disclaimer
++ # txt1 = _("Parabola User Repository - Disclaimer")
++ # txt2 = _("The Parabola User Repository is a collection of user-submitted PKGBUILDs\n"
++ # "that supplement software available from the official repositories.\n\n"
++ # "The PUR is community driven.\n")
++ #elif feature == "ufw":
++ if feature == "ufw":
+ # Ufw rules info
+ txt1 = _("Uncomplicated Firewall will be installed with these rules:")
+ toallow = misc.get_network()
+diff -Nur Cnchi-0.12.0.orig/cnchi/features_info.py Cnchi-0.12.0/cnchi/features_info.py
+--- Cnchi-0.12.0.orig/cnchi/features_info.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/features_info.py 2015-11-14 01:54:39.594228314 -0300
+@@ -33,19 +33,16 @@
+ # in desktop_info file instead of here.
+
+ ICON_NAMES = {
+- 'aur': 'system-software-install',
++ #'pur': 'system-software-install',
+ 'bluetooth': 'bluetooth',
+ 'cups': 'printer',
+- 'firefox': 'firefox',
++ 'iceweasel': 'iceweasel',
+ 'firewall': 'network-server',
+ 'fonts': 'preferences-desktop-font',
+- 'games': 'applications-games',
+- 'graphic_drivers': 'gnome-system',
+ 'lamp': 'applications-internet',
+ 'lts': 'applications-accessories',
+ 'office': 'accessories-text-editor',
+- 'smb': 'gnome-mime-x-directory-smb-share',
+- 'visual': 'video-display'}
++ 'smb': 'gnome-mime-x-directory-smb-share',}
+
+
+ # See http://docs.python.org/2/library/gettext.html "22.1.3.4. Deferred translations"
+@@ -53,95 +50,65 @@
+ return message
+
+ TITLES = {
+- 'aur': _("Arch User Repository (AUR) Support"),
++ #'pur': _("Parabola User Repository (PUR) Support"),
+ 'bluetooth': _("Bluetooth Support"),
+ 'cups': _("Printing Support"),
+- 'firefox': _("Firefox Web Browser"),
++ 'iceweasel': _("Iceweasel Web Browser"),
+ 'firewall': _("Uncomplicated Firewall"),
+- 'fonts': _("Extra Truetype Fonts"),
+- 'games': _("Steam + PlayonLinux"),
+- 'graphic_drivers': _("Graphic drivers (Proprietary)"),
+ 'lamp': _("Apache (or Nginx) + Mariadb + PHP"),
+ 'lts': _("Kernel (LTS version)"),
+ 'office': _("LibreOffice"),
+- 'smb': _("Windows sharing SMB"),
+- 'visual': _("Visual Effects")}
++ 'smb': _("Windows sharing SMB")}
+
+ DESCRIPTIONS = {
+- 'aur': _("The AUR is a community-driven repository for Arch users."),
++ #'pur': _("The PUR is a community-driven repository for Parabola users."),
+ 'bluetooth': _("Enables your system to make wireless connections via Bluetooth."),
+- 'fonts': _("TrueType fonts from the Google Fonts project."),
+- 'graphic_drivers': _("Installs AMD or Nvidia proprietary graphic driver."),
+- 'games': _("Installs Steam and Playonlinux for gamming enthusiasts."),
+ 'lamp': _("Apache (or Nginx) + Mariadb + PHP installation and setup."),
+ 'cups': _("Installation of printer drivers and management tools."),
+ 'office': _("Open source office suite. Supports editing MS Office files."),
+ 'visual': _("Enable transparency, shadows, and other desktop effects."),
+ 'firewall': _("Control the incoming and outgoing network traffic."),
+ 'lts': _("Long term support (LTS) Linux kernel and modules."),
+- 'firefox': _("A popular open-source graphical web browser from Mozilla."),
++ 'iceweasel': _("A popular free software rebranding of the Mozilla Firefox web browser."),
+ 'smb': _("SMB provides shared access to files and printers.")}
+
+ TOOLTIPS = {
+- 'aur': _("Use yaourt to install AUR packages.\n"
+- "The AUR was created to organize and share new packages\n"
+- "from the community and to help expedite popular packages'\n"
+- "inclusion into the [community] repository."),
++ #'pur': _("Use yaourt to install PUR packages.\n"
++ # "The PUR was created to organize and share new packages\n"
++ # "from the community and to help expedite popular packages'\n"
++ # "inclusion into the [pcr] repository."),
+ 'bluetooth': _("Bluetooth is a standard for the short-range wireless\n"
+ "interconnection of cellular phones, computers, and\n"
+- "other electronic devices. In Linux, the canonical\n"
++ "other electronic devices. In GNU/Linux, the canonical\n"
+ "implementation of the Bluetooth protocol stack is BlueZ."),
+ 'cups': _("CUPS is the standards-based, open source printing\n"
+ "system developed by Apple Inc. for OS® X and other\n"
+ "UNIX®-like operating systems."),
+- 'firefox': _("Mozilla Firefox (known simply as Firefox) is a free and\n"
+- "open-source web browser developed for Windows, OS X, and Linux,\n"
+- "with a mobile version for Android, by the Mozilla Foundation and\n"
+- "its subsidiary, the Mozilla Corporation. Firefox uses the Gecko\n"
+- "layout engine to render web pages, which implements current and\n"
+- "anticipated web standards."),
++ 'iceweasel': _("Iceweasel is a free software rebranding of the Mozilla Firefox \n"
++ "web browser."),
+ 'firewall': _("Ufw stands for Uncomplicated Firewall, and is a program for\n"
+ "managing a netfilter firewall. It provides a command line\n"
+ "interface and aims to be uncomplicated and easy to use."),
+- 'fonts': "Fonts: adobe-source-code-pro, adobe-source-sans-pro, jsmath, lohit\n"
+- "oldstand, openarch, otf-bitter, otf-goudy, andika, anonymous-pro\n"
+- "cantarell, cardo, chromeos-fonts, comfortaa, droid, google-fonts\n"
+- "google-webfonts, inconsolata, kimberly_geswein_print, lekton\n"
+- "medievalsharp, nova, oldstandard, opensans, oxygen, pt-mono\n"
+- "pt-sans, roboto, sil-fonts, sortsmillgoudy, source-code-pro\n"
+- "source-sans-pro, ubuntu-font-family, vollkorn, fira-mono\n"
+- "fira-sans and lato.",
+-
+- 'games': _("Steam is one of the most popular gaming clients that supports\n"
+- "linux in technology and gaming, while PlayOnLinux\n"
+- "is a very easy manager to setting up games to play\n"
+- "through wine, instead of doing it manually."),
+- 'graphic_drivers': _("Installs AMD or Nvidia proprietary graphics driver."),
+ 'lamp': _("This option installs a web server (you can choose\n"
+ "Apache or Nginx) plus a database server (Mariadb)\n"
+ "and PHP."),
+- 'lts': _("The linux-lts package is an alternative Arch kernel package\n"
+- "based upon Linux kernel 3.14 and is available in the core repository.\n"
++ 'lts': _("The linux-libre-lts package is an alternative kernel package\n"
++ "based upon Linux-libre kernel 4.1-gnu and is available in the libre repository.\n"
+ "This particular kernel version enjoys long-term support from upstream,\n"
+ "including security fixes and some feature backports. Additionally, this\n"
+- "package includes ext4 support. For Antergos users seeking a long-term\n"
++ "package includes ext4 support. For Parabola users seeking a long-term\n"
+ "support kernel, or who want a fallback kernel in case the latest kernel\n"
+ "version causes problems, this option is the answer."),
+- 'office': _("LibreOffice is the free power-packed Open Source\n"
++ 'office': _("LibreOffice is the free power-packed Free Software\n"
+ "personal productivity suite for Windows, Macintosh\n"
+- "and Linux, that gives you six feature-rich applications\n"
++ "and GNU/Linux, that gives you six feature-rich applications\n"
+ "for all your document production and data processing\n"
+ "needs: Writer, Calc, Impress, Draw, Math and Base."),
+ 'smb': _("In computer networking, Server Message Block (SMB)\n"
+ "operates as an application-layer network protocol mainly used\n"
+ "for providing shared access to files, printers, serial ports,\n"
+ "and miscellaneous communications between nodes on a network.\n"
+- "Most usage of SMB involves computers running Microsoft Windows."),
+- 'visual': _("Compton is a lightweight, standalone composite manager,\n"
+- "suitable for use with window managers that do not natively\n"
+- "provide compositing functionality. Compton itself is a fork\n"
+- "of xcompmgr-dana, which in turn is a fork of xcompmgr.\n"
+- "See the compton github page for further information.")}
+-
++ "Most usage of SMB involves computers running Microsoft Windows.")}
++
+ # Delete previous _() dummy declaration
+ del _
+diff -Nur Cnchi-0.12.0.orig/cnchi/hardware/hardware.py Cnchi-0.12.0/cnchi/hardware/hardware.py
+--- Cnchi-0.12.0.orig/cnchi/hardware/hardware.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/hardware/hardware.py 2015-11-26 17:53:39.379519788 -0300
+@@ -91,7 +91,7 @@
+ @staticmethod
+ def is_proprietary():
+ """ Proprietary drivers are drivers for your hardware devices
+- that are not freely-available or open source, and must be
++ that are not freely-available, and must be
+ obtained from the hardware manufacturer. """
+ return False
+
+@@ -157,10 +157,6 @@
+
+ class HardwareInstall(object):
+ """ This class checks user's hardware
+-
+- If 'use_proprietary_graphic_drivers' is True, this module will try to install the proprietary
+- variants of the graphic drivers available (only if the hardware is detected).
+- For non graphical drivers, the open one is always choosen as default.
+ """
+
+ def __init__(self, use_proprietary_graphic_drivers=False):
+@@ -231,50 +227,8 @@
+ for device in self.objects_found:
+ drivers_available = self.objects_found[device]
+ objects_selected = []
+- if len(drivers_available) > 1:
+- # We have more than one driver for this device!
+- # We'll need to choose one
+-
+- # Check if there is a proprietary driver
+- is_one_closed = False
+- for driver in drivers_available:
+- if driver.is_proprietary():
+- is_one_closed = True
+- break
+-
+- for driver in drivers_available:
+- if not driver.is_graphic_driver():
+- # For non graphical drivers, we choose the open one as default
+- if not driver.is_proprietary():
+- objects_selected.append(driver)
+- else:
+- # It's a graphic driver
+- # We choose the open one if the user does not want to
+- # use proprietary (or if all the ones available are open)
+- if not self.use_proprietary_graphic_drivers or not is_one_closed:
+- # OK, we choose the open one
+- if not driver.is_proprietary():
+- objects_selected.append(driver)
+- else:
+- # One of them is proprietary and user wants to use it
+- if driver.is_proprietary():
+- objects_selected.append(driver)
+-
+- if len(objects_selected) > 1:
+- # We still have two or more options,
+- # let's check their priority
+- priorities = []
+- for driver in objects_selected:
+- priorities.append(driver.get_priority())
+- for driver in objects_selected:
+- if driver.get_priority() == max(priorities):
+- self.objects_used.append(driver)
+- break
+- else:
+- self.objects_used.extend(objects_selected)
+- else:
+- # Only one option, add it (it doesn't matter if it's open or not)
+- self.objects_used.append(drivers_available[0])
++ # Only one option, add it (it doesn't matter if it's free or not)
++ self.objects_used.append(drivers_available[0])
+
+ @staticmethod
+ def get_devices():
+@@ -322,35 +276,3 @@
+ """ Run post install commands for all detected devices """
+ for obj in self.objects_used:
+ obj.post_install(dest_dir)
+-
+-
+-''' Test case '''
+-if __name__ == "__main__":
+- def _(x): return x
+- hardware_install = HardwareInstall(use_proprietary_graphic_drivers=False)
+- # hardware_install = HardwareInstall(use_proprietary_graphic_drivers=True)
+- hardware_pkgs = hardware_install.get_packages()
+- print(hardware_install.get_found_driver_names())
+- if len(hardware_pkgs) > 0:
+- txt = " ".join(hardware_pkgs)
+- print("Hardware module added these packages :")
+- print(txt)
+-
+- """
+- from nvidia import Nvidia
+- if Nvidia().detect():
+- print("Nvidia detected")
+- # Nvidia().post_install("/")
+-
+- from nvidia_340xx import Nvidia_340xx
+- if Nvidia_340xx().detect():
+- print("Nvidia-340xx detected")
+-
+- from nvidia_304xx import Nvidia_304xx
+- if Nvidia_304xx().detect():
+- print("nvidia-304xx detected")
+-
+- from catalyst import Catalyst
+- if Catalyst().detect():
+- print("Catalyst detected")
+- """
+diff -Nur Cnchi-0.12.0.orig/cnchi/info.py Cnchi-0.12.0/cnchi/info.py
+--- Cnchi-0.12.0.orig/cnchi/info.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/info.py 2015-11-13 22:11:04.162016837 -0300
+@@ -30,7 +30,7 @@
+ """ Set some Cnchi global constants """
+
+ CNCHI_VERSION = "0.12.0"
+-CNCHI_WEBSITE = "http://www.antergos.com"
++CNCHI_WEBSITE = "https://www.parabola.nu"
+ CNCHI_RELEASE_STAGE = "production"
+
+ if __name__ == '__main__':
+diff -Nur Cnchi-0.12.0.orig/cnchi/installation/advanced.py Cnchi-0.12.0/cnchi/installation/advanced.py
+--- Cnchi-0.12.0.orig/cnchi/installation/advanced.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/installation/advanced.py 2015-11-26 18:09:58.301896307 -0300
+@@ -170,7 +170,7 @@
+ for mount_point in fs.COMMON_MOUNT_POINTS:
+ combo.append_text(mount_point)
+
+- self.bootloader = "grub2"
++ self.bootloader = "grub"
+ self.bootloader_device = ""
+ self.bootloader_entry = self.ui.get_object('bootloader_entry')
+ self.bootloader_device_entry = self.ui.get_object('bootloader_device_entry')
+@@ -340,7 +340,7 @@
+ self.bootloader_entry.remove_all()
+
+ if os.path.exists('/sys/firmware/efi'):
+- self.bootloader_entry.append_text("Grub2")
++ self.bootloader_entry.append_text("Grub")
+ self.bootloader_entry.append_text("Gummiboot")
+ if not self.select_combobox_value(self.bootloader_entry, self.bootloader):
+ # Automatically select first entry
+@@ -1702,7 +1702,7 @@
+ """
+ Check that all necessary mount points are specified.
+ At least root (/) partition must be defined and in UEFI systems
+- a fat partition mounted in /boot (gummiboot) or /boot/efi (grub2) must be defined too.
++ a fat partition mounted in /boot (gummiboot) or /boot/efi (grub) must be defined too.
+ """
+
+ check_parts = ["/", "/boot", "/boot/efi", "swap"]
+@@ -1735,7 +1735,7 @@
+ part_label["/"].show()
+
+ if is_uefi:
+- if self.bootloader == "grub2":
++ if self.bootloader == "grub":
+ part_label["/boot/efi"].show()
+ if self.bootloader == "gummiboot":
+ part_label["/boot"].show()
+@@ -1765,8 +1765,8 @@
+ if is_uefi:
+ # /boot or /boot/efi need to be fat32 in UEFI systems
+ if "fat" in fsystem:
+- if self.bootloader == "grub2" and mnt == "/boot/efi":
+- # Grub2 in UEFI
++ if self.bootloader == "grub" and mnt == "/boot/efi":
++ # Grub in UEFI
+ has_part["/boot/efi"] = True
+ part_label["/boot/efi"].show()
+ part_label["/boot/efi"].set_state(True)
+@@ -1786,8 +1786,8 @@
+ check_ok = has_part["/"]
+
+ if is_uefi:
+- if self.bootloader == "grub2":
+- # Grub2 needs a /boot/efi partition in UEFI
++ if self.bootloader == "grub":
++ # Grub needs a /boot/efi partition in UEFI
+ check_ok = check_ok and has_part["/boot/efi"]
+ elif self.bootloader == "gummiboot":
+ # Gummiboot needs a /boot partition
+@@ -2008,7 +2008,7 @@
+ self.settings.set('bootloader_device', self.bootloader_device)
+
+ self.settings.set('bootloader', self.bootloader)
+- msg = "Antergos will install the bootloader {0} in device {1}"
++ msg = "Parabola will install the bootloader {0} in device {1}"
+ msg = msg.format(self.bootloader, self.bootloader_device)
+ logging.info(msg)
+
+diff -Nur Cnchi-0.12.0.orig/cnchi/installation/alongside.py Cnchi-0.12.0/cnchi/installation/alongside.py
+--- Cnchi-0.12.0.orig/cnchi/installation/alongside.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/installation/alongside.py 2015-11-27 18:10:24.894605307 -0300
+@@ -51,7 +51,7 @@
+
+ from gtkbasebox import GtkBaseBox
+
+-# Leave at least 6.5GB for Antergos when shrinking
++# Leave at least 6.5GB for Parabola when shrinking
+ MIN_ROOT_SIZE = 6500
+
+
+@@ -119,7 +119,7 @@
+
+ @staticmethod
+ def get_new_device(device_to_shrink):
+- """ Get new device where Cnchi will install Antergos
++ """ Get new device where Cnchi will install Parabola
+ returns an empty string if no device is available """
+ number = int(device_to_shrink[len("/dev/sdX"):])
+ disk = device_to_shrink[:len("/dev/sdX")]
+@@ -151,10 +151,10 @@
+ (min_size, part_size) = get_partition_size_info(device_to_shrink)
+ max_size = part_size - (MIN_ROOT_SIZE * 1000.0)
+ if max_size < 0:
+- # Full Antergos does not fit but maybe base fits... ask user.
+- txt = _("Cnchi recommends at least 6.5GB free to install Antergos.") + "\n\n"
++ # Full Parabola does not fit but maybe base fits... ask user.
++ txt = _("Cnchi recommends at least 6.5GB free to install Parabola.") + "\n\n"
+ txt += _("New partition {0} resulting of shrinking {1} will not have enough free space for a full installation.").format(new_device, device_to_shrink) + "\n\n"
+- txt += _("You can still install Antergos, but be carefull on which DE you choose as it might not fit in.") + "\n\n"
++ txt += _("You can still install Parabola, but be carefull on which DE you choose as it might not fit in.") + "\n\n"
+ txt += _("Install at your own risk!")
+ show.warning(self.get_toplevel(), txt)
+ max_size = part_size
+@@ -174,8 +174,8 @@
+ icon_file = self.get_distributor_icon_file(self.oses[device_to_shrink])
+ self.resize_widget.set_part_icon('existing', icon_file=icon_file)
+
+- self.resize_widget.set_part_title('new', 'New Antergos', new_device)
+- icon_file = self.get_distributor_icon_file('Antergos')
++ self.resize_widget.set_part_title('new', 'New Parabola', new_device)
++ icon_file = self.get_distributor_icon_file('Parabola')
+ self.resize_widget.set_part_icon('new', icon_file=icon_file)
+
+ self.resize_widget.set_pref_size(max_size)
+@@ -185,10 +185,10 @@
+ """ Gets an icon for the installed distribution """
+ os_name = os_name.lower()
+
+- # No numix icon for Antergos, use our own.
+- if "antergos" in os_name:
++ # No numix icon for Parabola, use our own.
++ if "parabola" in os_name:
+ icons_path = os.path.join(self.settings.get('data'), "icons/48x48")
+- icon_file = os.path.join(icons_path, "distributor-logo-antergos.png")
++ icon_file = os.path.join(icons_path, "distributor-logo-parabola.png")
+ return icon_file
+
+ icon_names = [
+@@ -216,7 +216,7 @@
+ txt = _("Choose the partition that you want to shrink:")
+ self.choose_partition_label.set_markup(txt)
+
+- self.header.set_subtitle(_("Antergos Alongside Installation"))
++ self.header.set_subtitle(_("Parabola Alongside Installation"))
+
+ def on_choose_partition_combo_changed(self, combobox):
+ txt = combobox.get_active_text()
+@@ -417,7 +417,7 @@
+ if self.settings.get('bootloader_install'):
+ self.settings.set('bootloader', "grub2")
+ self.settings.set('bootloader_device', device_path)
+- msg = "Antergos will install the bootloader {0} in device {1}"
++ msg = "Parabola will install the bootloader {0} in device {1}"
+ msg = msg.format(self.bootloader, self.bootloader_device)
+ logging.info(msg)
+ else:
+diff -Nur Cnchi-0.12.0.orig/cnchi/installation/ask.py Cnchi-0.12.0/cnchi/installation/ask.py
+--- Cnchi-0.12.0.orig/cnchi/installation/ask.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/installation/ask.py 2015-11-27 18:15:20.640595528 -0300
+@@ -227,9 +227,9 @@
+ # Automatic Install
+ radio = self.ui.get_object("automatic_radiobutton")
+ if len(oses_str) > 0:
+- txt = _("Replace {0} with Antergos").format(oses_str)
++ txt = _("Replace {0} with Parabola").format(oses_str)
+ else:
+- txt = _("Erase disk and install Antergos")
++ txt = _("Erase disk and install Parabola")
+ radio.set_label(txt)
+ radio.set_name('auto_radio_btn')
+
+@@ -295,12 +295,12 @@
+
+ # Alongside Install (For now, only works with Windows)
+ # if len(oses_str) > 0:
+- # txt = _("Install Antergos alongside {0}").format(oses_str)
++ # txt = _("Install Parabola alongside {0}").format(oses_str)
+ # radio = self.ui.get_object("alongside_radiobutton")
+ # radio.set_label(txt)
+ #
+ # label = self.ui.get_object("alongside_description")
+- # txt = _("Installs Antergos without removing {0}").format(oses_str)
++ # txt = _("Installs Parabola without removing {0}").format(oses_str)
+ # txt = description_style.format(txt)
+ # label.set_markup(txt)
+ # label.set_line_wrap(True)
+@@ -320,7 +320,7 @@
+
+ # Advanced Install
+ radio = self.ui.get_object("advanced_radiobutton")
+- radio.set_label(_("Choose exactly where Antergos should be installed."))
++ radio.set_label(_("Choose exactly where Parabola should be installed."))
+ radio.set_name("advanced_radio_btn")
+
+ label = self.ui.get_object("advanced_description")
+@@ -347,7 +347,7 @@
+ self.settings.set('use_lvm', use_lvm)
+ self.settings.set('use_luks', use_luks)
+ self.settings.set('use_luks_in_root', True)
+- self.settings.set('luks_root_volume', "cryptAntergos")
++ self.settings.set('luks_root_volume', "cryptParabola")
+ self.settings.set('use_home', use_home)
+ else:
+ # Set defaults. We don't know these yet.
+@@ -358,14 +358,14 @@
+ self.settings.set('use_home', False)
+
+ if self.settings.get('use_luks'):
+- logging.info("Antergos installation will be encrypted using LUKS")
++ logging.info("Parabola installation will be encrypted using LUKS")
+
+ if self.settings.get('use_lvm'):
+- logging.info("Antergos will be installed using LVM volumes")
++ logging.info("Parabola will be installed using LVM volumes")
+ if self.settings.get('use_home'):
+- logging.info("Antergos will be installed using a separate /home volume.")
++ logging.info("Parabola will be installed using a separate /home volume.")
+ elif self.settings.get('use_home'):
+- logging.info("Antergos will be installed using a separate /home partition.")
++ logging.info("Parabola will be installed using a separate /home partition.")
+
+ if self.next_page == "installation_alongside":
+ self.settings.set('partition_mode', 'alongside')
+diff -Nur Cnchi-0.12.0.orig/cnchi/installation/auto_partition.py Cnchi-0.12.0/cnchi/installation/auto_partition.py
+--- Cnchi-0.12.0.orig/cnchi/installation/auto_partition.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/installation/auto_partition.py 2015-11-29 11:45:05.120031017 -0300
+@@ -142,10 +142,10 @@
+
+ # Close LUKS devices (they may have been left open because of a previous failed installation)
+ try:
+- if os.path.exists("/dev/mapper/cryptAntergos"):
+- subprocess.check_call(["cryptsetup", "luksClose", "/dev/mapper/cryptAntergos"])
+- if os.path.exists("/dev/mapper/cryptAntergosHome"):
+- subprocess.check_call(["cryptsetup", "luksClose", "/dev/mapper/cryptAntergosHome"])
++ if os.path.exists("/dev/mapper/cryptParabola"):
++ subprocess.check_call(["cryptsetup", "luksClose", "/dev/mapper/cryptParabola"])
++ if os.path.exists("/dev/mapper/cryptParabolaHome"):
++ subprocess.check_call(["cryptsetup", "luksClose", "/dev/mapper/cryptParabolaHome"])
+ except subprocess.CalledProcessError as err:
+ logging.warning("Can't close already opened LUKS devices, command %s failed: %s", err.cmd, err.output)
+
+@@ -458,25 +458,25 @@
+ if self.lvm:
+ # LUKS and LVM
+ devices['luks_root'] = devices['root']
+- devices['lvm'] = "/dev/mapper/cryptAntergos"
++ devices['lvm'] = "/dev/mapper/cryptParabola"
+ else:
+ # LUKS and no LVM
+ devices['luks_root'] = devices['root']
+- devices['root'] = "/dev/mapper/cryptAntergos"
++ devices['root'] = "/dev/mapper/cryptParabola"
+ if self.home:
+ # In this case we'll have two LUKS devices, one for root
+ # and the other one for /home
+ devices['luks_home'] = devices['home']
+- devices['home'] = "/dev/mapper/cryptAntergosHome"
++ devices['home'] = "/dev/mapper/cryptParabolaHome"
+ elif self.lvm:
+ # No LUKS but using LVM
+ devices['lvm'] = devices['root']
+
+ if self.lvm:
+- devices['root'] = "/dev/AntergosVG/AntergosRoot"
+- devices['swap'] = "/dev/AntergosVG/AntergosSwap"
++ devices['root'] = "/dev/ParabolaVG/ParabolaRoot"
++ devices['swap'] = "/dev/ParabolaVG/ParabolaSwap"
+ if self.home:
+- devices['home'] = "/dev/AntergosVG/AntergosHome"
++ devices['home'] = "/dev/ParabolaVG/ParabolaHome"
+
+ return devices
+
+@@ -685,22 +685,22 @@
+
+ # Create Boot partition
+ if self.bootloader == "gummiboot":
+- sgdisk_new(device, part_num, "ANTERGOS_BOOT", part_sizes['boot'], "EF00")
++ sgdisk_new(device, part_num, "PARABOLA_BOOT", part_sizes['boot'], "EF00")
+ else:
+- sgdisk_new(device, part_num, "ANTERGOS_BOOT", part_sizes['boot'], "8300")
++ sgdisk_new(device, part_num, "PARABOLA_BOOT", part_sizes['boot'], "8300")
+ part_num += 1
+
+ if self.lvm:
+ # Create partition for lvm (will store root, swap and home (if desired) logical volumes)
+- sgdisk_new(device, part_num, "ANTERGOS_LVM", part_sizes['lvm_pv'], "8E00")
++ sgdisk_new(device, part_num, "PARABOLA_LVM", part_sizes['lvm_pv'], "8E00")
+ part_num += 1
+ else:
+- sgdisk_new(device, part_num, "ANTERGOS_ROOT", part_sizes['root'], "8300")
++ sgdisk_new(device, part_num, "PARABOLA_ROOT", part_sizes['root'], "8300")
+ part_num += 1
+ if self.home:
+- sgdisk_new(device, part_num, "ANTERGOS_HOME", part_sizes['home'], "8302")
++ sgdisk_new(device, part_num, "PARABOLA_HOME", part_sizes['home'], "8302")
+ part_num += 1
+- sgdisk_new(device, part_num, "ANTERGOS_SWAP", 0, "8200")
++ sgdisk_new(device, part_num, "PARABOLA_SWAP", 0, "8200")
+
+ logging.debug(check_output("sgdisk --print {0}".format(device)))
+ else:
+@@ -773,9 +773,9 @@
+ logging.debug("Swap: %s", devices['swap'])
+
+ if self.luks:
+- setup_luks(devices['luks_root'], "cryptAntergos", self.luks_password, key_files[0])
++ setup_luks(devices['luks_root'], "cryptParabola", self.luks_password, key_files[0])
+ if self.home and not self.lvm:
+- setup_luks(devices['luks_home'], "cryptAntergosHome", self.luks_password, key_files[1])
++ setup_luks(devices['luks_home'], "cryptParabolaHome", self.luks_password, key_files[1])
+
+ if self.lvm:
+ logging.debug("Cnchi will setup LVM on device %s", devices['lvm'])
+@@ -791,7 +791,7 @@
+ raise InstallError(txt)
+
+ try:
+- subprocess.check_call(["vgcreate", "-f", "-y", "AntergosVG", devices['lvm']])
++ subprocess.check_call(["vgcreate", "-f", "-y", "ParabolaVG", devices['lvm']])
+ except subprocess.CalledProcessError as err:
+ txt = "Error creating LVM volume group in device {0}. Command {1} failed: {2}".format(
+ devices['lvm'], err.cmd, err.Output)
+@@ -802,11 +802,11 @@
+
+ # Fix issue 180
+ # Check space we have now for creating logical volumes
+- vg_info = check_output("vgdisplay -c AntergosVG")
++ vg_info = check_output("vgdisplay -c ParabolaVG")
+ # Get column number 12: Size of volume group in kilobytes
+ vg_size = int(vg_info.split(":")[11]) / 1024
+ if part_sizes['lvm_pv'] > vg_size:
+- logging.debug("Real AntergosVG volume group size: %d MiB", vg_size)
++ logging.debug("Real ParabolaVG volume group size: %d MiB", vg_size)
+ logging.debug("Reajusting logical volume sizes")
+ diff_size = part_sizes['lvm_pv'] - vg_size
+ part_sizes = self.get_part_sizes(disk_size - diff_size, start_part_sizes)
+@@ -815,19 +815,19 @@
+ # Create LVM volumes
+ try:
+ size = str(int(part_sizes['root']))
+- cmd = ["lvcreate", "--name", "AntergosRoot", "--size", size, "AntergosVG"]
++ cmd = ["lvcreate", "--name", "ParabolaRoot", "--size", size, "ParabolaVG"]
+ subprocess.check_call(cmd)
+
+ if not self.home:
+ # Use the remainig space for our swap volume
+- cmd = ["lvcreate", "--name", "AntergosSwap", "--extents", "100%FREE", "AntergosVG"]
++ cmd = ["lvcreate", "--name", "ParabolaSwap", "--extents", "100%FREE", "ParabolaVG"]
+ subprocess.check_call(cmd)
+ else:
+ size = str(int(part_sizes['swap']))
+- cmd = ["lvcreate", "--name", "AntergosSwap", "--size", size, "AntergosVG"]
++ cmd = ["lvcreate", "--name", "ParabolaSwap", "--size", size, "ParabolaVG"]
+ subprocess.check_call(cmd)
+ # Use the remaining space for our home volume
+- cmd = ["lvcreate", "--name", "AntergosHome", "--extents", "100%FREE", "AntergosVG"]
++ cmd = ["lvcreate", "--name", "ParabolaHome", "--extents", "100%FREE", "ParabolaVG"]
+ subprocess.check_call(cmd)
+ except subprocess.CalledProcessError as err:
+ txt = "Error creating LVM logical volume. Command {0} failed: {1}".format(err.cmd, err.output)
+@@ -846,10 +846,10 @@
+
+ labels = {
+ 'efi': 'UEFI_SYSTEM',
+- 'boot': 'AntergosBoot',
+- 'root': 'AntergosRoot',
+- 'home': 'AntergosHome',
+- 'swap': 'AntergosSwap'}
++ 'boot': 'ParabolaBoot',
++ 'root': 'ParabolaRoot',
++ 'home': 'ParabolaHome',
++ 'swap': 'ParabolaSwap'}
+
+ fs_devices = self.get_fs_devices()
+
+diff -Nur Cnchi-0.12.0.orig/cnchi/installation/automatic.py Cnchi-0.12.0/cnchi/installation/automatic.py
+--- Cnchi-0.12.0.orig/cnchi/installation/automatic.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/installation/automatic.py 2015-11-29 11:42:30.244382532 -0300
+@@ -89,7 +89,7 @@
+ label.set_markup(txt)
+
+ label = self.ui.get_object('info_label')
+- txt = _("Select the drive we should use to install Antergos and then click above to start the process.")
++ txt = _("Select the drive we should use to install Parabola and then click above to start the process.")
+ label.set_markup(txt)
+
+ label = self.ui.get_object('label_luks_password')
+@@ -341,12 +341,12 @@
+ self.settings.set('bootloader_device', self.bootloader_device)
+
+ self.settings.set('bootloader', self.bootloader)
+- msg = _("Antergos will install the bootloader '{0}' in device '{1}'")
++ msg = _("Parabola will install the bootloader '{0}' in device '{1}'")
+ msg = msg.format(self.bootloader, self.bootloader_device)
+ logging.info(msg)
+
+ def run_install(self, packages, metalinks):
+- txt = _("Cnchi will install Antergos on device %s")
++ txt = _("Cnchi will install Parabola on device %s")
+ logging.info(txt, self.auto_device)
+
+ self.settings.set('auto_device', self.auto_device)
+diff -Nur Cnchi-0.12.0.orig/cnchi/installation/install.py Cnchi-0.12.0/cnchi/installation/install.py
+--- Cnchi-0.12.0.orig/cnchi/installation/install.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/installation/install.py 2015-11-29 11:52:06.749055085 -0300
+@@ -398,7 +398,7 @@
+ try:
+ cmd = ["pacman-key", "--init", "--gpgdir", dest_path]
+ subprocess.check_call(cmd)
+- cmd = ["pacman-key", "--populate", "--gpgdir", dest_path, "archlinux", "antergos"]
++ cmd = ["pacman-key", "--populate", "--gpgdir", dest_path, "archlinux", "parabola"]
+ subprocess.check_call(cmd)
+ except subprocess.CalledProcessError as process_error:
+ txt = "Error regenerating gnupg files with pacman-key, command {0} failed: {1}".format(
+@@ -513,13 +513,13 @@
+
+ os.chmod(crypttab_path, 0o666)
+ with open(crypttab_path, 'a') as crypttab_file:
+- line = "cryptAntergosHome /dev/disk/by-uuid/{0} {1} luks\n".format(uuid, home_keyfile)
++ line = "cryptParabolaHome /dev/disk/by-uuid/{0} {1} luks\n".format(uuid, home_keyfile)
+ crypttab_file.write(line)
+ logging.debug("Added %s to crypttab", line)
+ os.chmod(crypttab_path, 0o600)
+
+ # Add line to fstab
+- txt = "/dev/mapper/cryptAntergosHome {0} {1} defaults 0 0".format(mount_point, myfmt)
++ txt = "/dev/mapper/cryptParabolaHome {0} {1} defaults 0 0".format(mount_point, myfmt)
+ all_lines.append(txt)
+ logging.debug("Added %s to fstab", txt)
+ continue
+@@ -667,7 +667,7 @@
+
+ @staticmethod
+ def update_pacman_conf():
+- """ Add Antergos and multilib repos """
++ """ Add multilib repos """
+ path = os.path.join(DEST_DIR, "etc/pacman.conf")
+ if os.path.exists(path):
+ paclines = []
+@@ -680,10 +680,6 @@
+ paclines[i] = "[multilib]\n"
+ paclines[i+1] = "Include = /etc/pacman.d/mirrorlist\n"
+ break
+- paclines.append("\n")
+- paclines.append("[antergos]\n")
+- paclines.append("SigLevel = PackageRequired\n")
+- paclines.append("Include = /etc/pacman.d/antergos-mirrorlist\n")
+ with open(path, "w") as f:
+ f.write("".join(paclines))
+ else:
+@@ -892,7 +888,7 @@
+ audio_system = "pulse"
+
+ with open(fluid_path, "w") as fluid_conf:
+- fluid_conf.write('# Created by Cnchi, Antergos installer\n')
++ fluid_conf.write('# Created by Cnchi, Parabola installer\n')
+ fluid_conf.write('SYNTHOPTS="-is -a {0} -m alsa_seq -r 48000"\n\n'.format(audio_system))
+
+ def configure_system(self):
+@@ -946,7 +942,6 @@
+ except FileExistsError:
+ logging.warning("File %s already exists.", mirrorlist_dst_path)
+
+- # Add Antergos repo to /etc/pacman.conf
+ self.update_pacman_conf()
+
+ logging.debug("pacman.conf has been created successfully")
+diff -Nur Cnchi-0.12.0.orig/cnchi/installation/lamp.py Cnchi-0.12.0/cnchi/installation/lamp.py
+--- Cnchi-0.12.0.orig/cnchi/installation/lamp.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/installation/lamp.py 2015-11-29 11:58:16.060633159 -0300
+@@ -30,7 +30,7 @@
+ """
+ LAMP stack is a group of open source software to get web servers up
+ and running. The acronym stands for Linux, Apache, MySQL, and PHP.
+-Since the server is already running Antergos, the linux
++Since the server is already running Parabola, the GNU/Linux
+ part is taken care of.
+ """
+
+diff -Nur Cnchi-0.12.0.orig/cnchi/installation/lemp.py Cnchi-0.12.0/cnchi/installation/lemp.py
+--- Cnchi-0.12.0.orig/cnchi/installation/lemp.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/installation/lemp.py 2015-11-29 11:54:30.171905352 -0300
+@@ -30,7 +30,7 @@
+ """
+ LEMP stack is a group of open source software to get web servers up
+ and running. The acronym stands for Linux, nginx (pronounced Engine x),
+-MySQL, and PHP. Since the server is already running Antergos, the linux
++MySQL, and PHP. Since the server is already running Parabola, the GNU/Linux
+ part is taken care of.
+ """
+
+diff -Nur Cnchi-0.12.0.orig/cnchi/language.py Cnchi-0.12.0/cnchi/language.py
+--- Cnchi-0.12.0.orig/cnchi/language.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/language.py 2015-11-11 18:30:45.675778475 -0300
+@@ -88,7 +88,7 @@
+ "It does not yet properly handle RAID, btrfs subvolumes, or other advanced "
+ "setups. Please proceed with caution as data loss is possible!\n\n"
+ "If you find any bugs, please report them at {0}")
+- txt = txt.format("<a href='http://bugs.antergos.com'>bugs.antergos.com</a>")
++ txt = txt.format("<a href='https://labs.parabola.nu'>labs.parabola.nu</a>")
+ txt_markup = "<span weight='bold'>{0}</span>\n\n{1}".format(txt_bold, txt)
+ label = self.ui.get_object("welcome_label")
+ label.set_markup(txt_markup)
+@@ -167,7 +167,7 @@
+ self.forward_button.set_sensitive(True)
+ self.show_all()
+
+- # Launch rank mirrors process to optimize Arch and Antergos mirrorlists
++ # Launch rank mirrors process to optimize Parabola mirrorlists
+ if not self.testing and not self.disable_rank_mirrors and not self.rank_mirrors_launched:
+ proc = AutoRankmirrorsProcess()
+ proc.daemon = True
+diff -Nur Cnchi-0.12.0.orig/cnchi/main_window.py Cnchi-0.12.0/cnchi/main_window.py
+--- Cnchi-0.12.0.orig/cnchi/main_window.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/main_window.py 2015-11-11 18:48:51.003789187 -0300
+@@ -124,7 +124,7 @@
+ self.header = self.header_ui.get_object("header")
+
+ self.logo = self.header_ui.get_object("logo")
+- path = os.path.join(data_dir, "images", "antergos", "antergos-logo-mini2.png")
++ path = os.path.join(data_dir, "images", "parabola", "parabola-logo-mini2.png")
+ self.logo.set_from_file(path)
+
+ # To honor our css
+@@ -192,7 +192,7 @@
+ self.pages = dict()
+ self.pages["welcome"] = welcome.Welcome(self.params)
+
+- if os.path.exists('/home/antergos/.config/openbox'):
++ if os.path.exists('/home/root/.config/openbox'):
+ # In minimal iso, load language screen now
+ self.pages["language"] = language.Language(self.params)
+
+@@ -209,19 +209,19 @@
+ title = "Cnchi {0}".format(info.CNCHI_VERSION)
+ self.set_title(title)
+ self.header.set_title(title)
+- self.header.set_subtitle(_("Antergos Installer"))
++ self.header.set_subtitle(_("Parabola Installer"))
+ self.header.set_show_close_button(True)
+
+ self.set_geometry()
+
+ # Set window icon
+- icon_path = os.path.join(data_dir, "images", "antergos", "antergos-icon.png")
++ icon_path = os.path.join(data_dir, "images", "parabola", "parabola-icon.png")
+ self.set_icon_from_file(icon_path)
+
+ # Set the first page to show
+
+ # If minimal iso is detected, skip the welcome page.
+- if os.path.exists('/home/antergos/.config/openbox'):
++ if os.path.exists('/home/root/.config/openbox'):
+ self.current_page = self.pages["language"]
+ self.settings.set('timezone_start', True)
+ else:
+@@ -256,14 +256,14 @@
+ self.progressbar_step = 0
+
+ # Do not hide progress bar for minimal iso as it would break the widget alignment on language page.
+- if not os.path.exists('/home/antergos/.config/openbox'):
++ if not os.path.exists('/home/root/.config/openbox'):
+ # Hide progress bar
+ self.progressbar.hide()
+
+ misc.gtk_refresh()
+
+ def load_pages(self):
+- if not os.path.exists('/home/antergos/.config/openbox'):
++ if not os.path.exists('/home/root/.config/openbox'):
+ self.pages["language"] = language.Language(self.params)
+ self.pages["check"] = check.Check(self.params)
+ self.pages["location"] = location.Location(self.params)
+@@ -291,7 +291,7 @@
+ self.pages["slides"] = slides.Slides(self.params)
+
+ diff = 2
+- if os.path.exists('/home/antergos/.config/openbox'):
++ if os.path.exists('/home/root/.config/openbox'):
+ # In minimal (openbox) we don't have a welcome screen
+ diff = 3
+
+diff -Nur Cnchi-0.12.0.orig/cnchi/rank_mirrors.py Cnchi-0.12.0/cnchi/rank_mirrors.py
+--- Cnchi-0.12.0.orig/cnchi/rank_mirrors.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/rank_mirrors.py 2015-11-11 18:55:56.573062205 -0300
+@@ -55,9 +55,8 @@
+ super(AutoRankmirrorsProcess, self).__init__()
+ self.rankmirrors_pid = None
+ self.json_obj = None
+- self.antergos_mirrorlist = "/etc/pacman.d/antergos-mirrorlist"
+- self.arch_mirrorlist = "/etc/pacman.d/mirrorlist"
+- self.arch_mirror_status = "http://www.archlinux.org/mirrors/status/json/"
++ self.parabola_mirrorlist = "/etc/pacman.d/mirrorlist"
++ self.parabola_mirror_status = "https://www.parabola.nu/mirrors/status/json"
+
+ @staticmethod
+ def is_good_mirror(m):
+@@ -72,29 +71,12 @@
+ except subprocess.CalledProcessError as why:
+ logging.warning("Can't synchronize cached writes to persistent storage: %s", why)
+
+- def update_mirrorlist(self):
+- """ Make sure we have the latest antergos-mirrorlist files """
+- with misc.raised_privileges():
+- try:
+- cmd = ['pacman', '-Syy', '--noconfirm', '--noprogressbar', '--quiet', 'antergos-mirrorlist']
+- with open(os.devnull, 'w') as fnull:
+- subprocess.call(cmd, stdout=fnull, stderr=subprocess.STDOUT)
+- # Use the new downloaded mirrorlist (.pacnew) files (if any)
+- pacnew_path = self.antergos_mirrorlist + ".pacnew"
+- if os.path.exists(pacnew_path):
+- shutil.copy(pacnew_path, self.antergos_mirrorlist)
+- except subprocess.CalledProcessError as why:
+- logging.debug('Update of antergos-mirrorlist package failed with error: %s', why)
+- except OSError as why:
+- logging.debug('Error copying new mirrorlist files: %s', why)
+- self.sync()
+-
+ def get_mirror_stats(self):
+ """Retrieve the current mirror status JSON data."""
+ if not self.json_obj:
+ try:
+ with requests.Session() as session:
+- self.json_obj = session.get(self.arch_mirror_status).json()
++ self.json_obj = session.get(self.parabola_mirror_status).json()
+ except requests.RequestException as err:
+ logging.debug('Failed to retrieve mirror status information: %s', err)
+
+@@ -195,56 +177,8 @@
+
+ return rated_mirrors + [m for m in mirrors if rates[m['url']] == 0]
+
+- def uncomment_antergos_mirrors(self):
+- """ Uncomment Antergos mirrors and comment out auto selection so
+- rankmirrors can find the best mirror. """
+-
+- autoselect = "http://mirrors.antergos.com/$repo/$arch"
+-
+- if os.path.exists(self.antergos_mirrorlist):
+- with open(self.antergos_mirrorlist) as mirrors:
+- lines = [x.strip() for x in mirrors.readlines()]
+-
+- for i in range(len(lines)):
+- if lines[i].startswith("Server") and autoselect in lines[i]:
+- # Comment out auto selection
+- lines[i] = "#" + lines[i]
+- elif lines[i].startswith("#Server") and autoselect not in lines[i]:
+- # Uncomment Antergos mirror
+- lines[i] = lines[i].lstrip("#")
+-
+- # sourceforge server does not get updated as often as necessary
+- if "sourceforge" in lines[i]:
+- lines[i] = "#" + lines[i]
+-
+- with misc.raised_privileges():
+- # Write new one
+- with open(self.antergos_mirrorlist, 'w') as mirrors:
+- mirrors.write("\n".join(lines) + "\n")
+- self.sync()
+-
+- def run_rankmirrors(self):
+- if os.path.exists("/usr/bin/rankmirrors"):
+- # Uncomment Antergos mirrors and comment out auto selection so
+- # rankmirrors can find the best mirror.
+- self.uncomment_antergos_mirrors()
+-
+- with misc.raised_privileges():
+- try:
+- # Store rankmirrors output in a temporary file
+- with tempfile.TemporaryFile(mode='w+t') as temp_file:
+- cmd = ['rankmirrors', '-n', '0', '-r', 'antergos', self.antergos_mirrorlist]
+- subprocess.call(cmd, stdout=temp_file)
+- temp_file.seek(0)
+- # Copy new mirrorlist to the old one
+- with open(self.antergos_mirrorlist, 'w') as antergos_mirrorlist_file:
+- antergos_mirrorlist_file.write(temp_file.read())
+- except subprocess.CalledProcessError as why:
+- logging.debug('Error running rankmirrors on Antergos mirrorlist: %s', why)
+- self.sync()
+-
+- def filter_and_sort_arch_mirrorlist(self):
+- output = '# Arch Linux mirrorlist generated by Cnchi #\n'
++ def filter_and_sort_parabola_mirrorlist(self):
++ output = '# Parabola mirrorlist generated by Cnchi #\n'
+ mlist = self.get_mirror_stats()
+ mirrors = self.sort_mirrors_by_speed(mirrors=mlist)
+
+@@ -252,10 +186,10 @@
+ line = "Server = {0}{1}/os/{2}\n".format(mirror['url'], '$repo', '$arch')
+ output += line
+
+- # Write modified Arch mirrorlist
++ # Write modified Parabola mirrorlist
+ with misc.raised_privileges():
+- with open(self.arch_mirrorlist, 'w') as arch_mirrors:
+- arch_mirrors.write(output)
++ with open(self.parabola_mirrorlist, 'w') as parabola_mirrors:
++ parabola_mirrors.write(output)
+ self.sync()
+
+ def run(self):
+@@ -265,14 +199,11 @@
+ while not misc.has_connection():
+ time.sleep(4) # Delay, try again after 4 seconds
+
+- logging.debug("Updating both mirrorlists (Arch and Antergos)...")
++ logging.debug("Updating mirrorlist ...")
+ self.update_mirrorlist()
+
+- logging.debug("Filtering and sorting Arch mirrors...")
+- self.filter_and_sort_arch_mirrorlist()
+-
+- logging.debug("Running rankmirrors command to sort Antergos mirrors...")
+- self.run_rankmirrors()
++ logging.debug("Filtering and sorting Parabola mirrors...")
++ self.filter_and_sort_parabola_mirrorlist()
+
+ logging.debug("Auto mirror selection has been run successfully.")
+
+diff -Nur Cnchi-0.12.0.orig/cnchi/show_message.py Cnchi-0.12.0/cnchi/show_message.py
+--- Cnchi-0.12.0.orig/cnchi/show_message.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/show_message.py 2015-11-11 19:39:47.464804480 -0300
+@@ -55,7 +55,7 @@
+ destroy_with_parent=True,
+ message_type=Gtk.MessageType.ERROR,
+ buttons=Gtk.ButtonsType.CLOSE,
+- text=_("Antergos Installer - Error"))
++ text=_("Parabola Installer - Error"))
+ msg_dialog.format_secondary_text(my_message)
+ msg_dialog.run()
+ msg_dialog.destroy()
+@@ -68,7 +68,7 @@
+ destroy_with_parent=True,
+ message_type=Gtk.MessageType.WARNING,
+ buttons=Gtk.ButtonsType.CLOSE,
+- text=_("Antergos Installer - Warning"))
++ text=_("Parabola Installer - Warning"))
+ msg_dialog.format_secondary_text(my_message)
+ msg_dialog.run()
+ msg_dialog.destroy()
+@@ -81,7 +81,7 @@
+ destroy_with_parent=True,
+ message_type=Gtk.MessageType.INFO,
+ buttons=Gtk.ButtonsType.CLOSE,
+- text=_("Antergos Installer - Information"))
++ text=_("Parabola Installer - Information"))
+ msg_dialog.format_secondary_text(my_message)
+ msg_dialog.run()
+ msg_dialog.destroy()
+@@ -94,7 +94,7 @@
+ destroy_with_parent=True,
+ message_type=Gtk.MessageType.QUESTION,
+ buttons=Gtk.ButtonsType.YES_NO,
+- text=_("Antergos Installer - Confirmation"))
++ text=_("Parabola Installer - Confirmation"))
+ msg_dialog.format_secondary_text(my_message)
+ response = msg_dialog.run()
+ msg_dialog.destroy()
+diff -Nur Cnchi-0.12.0.orig/cnchi/slides.py Cnchi-0.12.0/cnchi/slides.py
+--- Cnchi-0.12.0.orig/cnchi/slides.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/slides.py 2015-11-11 19:44:22.271974287 -0300
+@@ -78,7 +78,7 @@
+ if len(self.info_label.get_label()) <= 0:
+ self.set_message(_("Please wait..."))
+
+- self.header.set_subtitle(_("Installing Antergos..."))
++ self.header.set_subtitle(_("Installing Parabola..."))
+
+ def prepare(self, direction):
+ # We don't load webkit until we reach this screen
+@@ -195,14 +195,14 @@
+ boot_warn = _("IMPORTANT: There may have been a problem with the bootloader\n"
+ "installation which could prevent your system from booting properly. Before\n"
+ "rebooting, you may want to verify whether or not the bootloader is installed and\n"
+- "configured. The Arch Linux Wiki contains troubleshooting information:\n"
+- "\thttps://wiki.archlinux.org/index.php/GRUB\n"
++ "configured. The Parabola Wiki contains troubleshooting information:\n"
++ "\thttps://wiki.parabola.nu/GRUB\n"
+ "\nWould you like to view the wiki page now?")
+ response = show.question(self.get_toplevel(), boot_warn)
+ if response == Gtk.ResponseType.YES:
+ import webbrowser
+ misc.drop_privileges()
+- webbrowser.open('https://wiki.archlinux.org/index.php/GRUB')
++ webbrowser.open('https://wiki.parabola.nu/GRUB')
+
+ install_ok = _("Installation Complete!\nDo you want to restart your system now?")
+ response = show.question(self.get_toplevel(), install_ok)
+diff -Nur Cnchi-0.12.0.orig/cnchi/timezone.py Cnchi-0.12.0/cnchi/timezone.py
+--- Cnchi-0.12.0.orig/cnchi/timezone.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/timezone.py 2015-11-26 17:31:13.125006978 -0300
+@@ -257,62 +257,6 @@
+ def on_switch_ntp_activate(self, ntp_switch):
+ self.settings['use_timesyncd'] = ntp_switch.get_active()
+
+-
+-class AutoTimezoneProcess(multiprocessing.Process):
+- def __init__(self, coords_queue, settings):
+- super(AutoTimezoneProcess, self).__init__()
+- self.coords_queue = coords_queue
+- self.settings = settings
+-
+- def run(self):
+- # Calculate logo hash
+- logo = "data/images/antergos/antergos-logo-mini2.png"
+- logo_path = os.path.join(self.settings.get("cnchi"), logo)
+- with open(logo_path, "rb") as logo_file:
+- logo_bytes = logo_file.read()
+- logo_hasher = hashlib.sha1()
+- logo_hasher.update(logo_bytes)
+- logo_digest = logo_hasher.digest()
+-
+- # Wait until there is an Internet connection available
+- if not misc.has_connection():
+- logging.warning("Can't get network status. Cnchi will try again in a moment")
+- while not misc.has_connection():
+- time.sleep(4) # Wait 4 seconds and try again
+-
+- logging.debug("A working network connection has been detected.")
+-
+- # Do not start looking for our timezone until we've reached the language screen
+- # (welcome.py sets timezone_start to true when next is clicked)
+- while not self.settings.get('timezone_start'):
+- time.sleep(2)
+-
+- # OK, now get our timezone
+-
+- logging.debug("We have connection. Let's get our timezone")
+- try:
+- url = urllib.request.Request(
+- url="http://geo.antergos.com",
+- data=logo_digest,
+- headers={"User-Agent": "Antergos Installer", "Connection": "close"})
+- with urllib.request.urlopen(url) as conn:
+- coords = conn.read().decode('utf-8').strip()
+-
+- if coords == "0 0":
+- # Sometimes server returns 0 0, we treat it as an error
+- coords = None
+- except Exception as general_error:
+- logging.error(general_error)
+- coords = None
+-
+- if coords:
+- coords = coords.split()
+- logging.debug(
+- _("Timezone (latitude %s, longitude %s) detected."),
+- coords[0],
+- coords[1])
+- self.coords_queue.put(coords)
+-
+ if __name__ == '__main__':
+ def _(x): return x
+
+diff -Nur Cnchi-0.12.0.orig/cnchi/updater.py Cnchi-0.12.0/cnchi/updater.py
+--- Cnchi-0.12.0.orig/cnchi/updater.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/updater.py 2015-11-13 22:13:37.821144824 -0300
+@@ -39,9 +39,9 @@
+ import misc.misc as misc
+ import requests
+
+-_update_info_url = "https://raw.github.com/Antergos/Cnchi/master/update.info"
+-_master_zip_url = "https://github.com/Antergos/Cnchi/archive/master.zip"
+-_update_info = "/usr/share/cnchi/update.info"
++_update_info_url = ""
++_master_zip_url = ""
++_update_info = ""
+
+ _src_dir = os.path.dirname(__file__) or '.'
+ _base_dir = os.path.join(_src_dir, "..")
+diff -Nur Cnchi-0.12.0.orig/cnchi/user_info.py Cnchi-0.12.0/cnchi/user_info.py
+--- Cnchi-0.12.0.orig/cnchi/user_info.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/user_info.py 2015-11-29 11:59:26.723771132 -0300
+@@ -194,9 +194,9 @@
+ # Do not use this, is confusing for others when testing dev version
+ '''
+ if self.settings.get('z_hidden'):
+- self.settings.set('fullname', 'Antergos Testing')
++ self.settings.set('fullname', 'Parabola Testing')
+ self.settings.set('hostname', 'Testing Machine')
+- self.settings.set('username', 'antergos')
++ self.settings.set('username', 'parabola')
+ self.settings.set('password', 'testing')
+ self.settings.set('require_password', True)
+ else:
+diff -Nur Cnchi-0.12.0.orig/cnchi/welcome.py Cnchi-0.12.0/cnchi/welcome.py
+--- Cnchi-0.12.0.orig/cnchi/welcome.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/cnchi/welcome.py 2015-11-12 02:03:23.740652079 -0300
+@@ -74,13 +74,13 @@
+ def translate_ui(self):
+ """ Translates all ui elements """
+ if not self.disable_tryit:
+- txt = _("Use Antergos without making any changes to your system.") + "\n"
++ txt = _("Use Parabola without making any changes to your system.") + "\n"
+ else:
+ txt = ""
+ self.labels['tryit'].set_markup(txt)
+ self.labels['tryit'].set_name('tryit_label')
+
+- txt = _("Create a permanent place for Antergos on your system.")
++ txt = _("Create a permanent place for Parabola on your system.")
+ self.labels['installit'].set_markup(txt)
+ self.labels['installit'].set_name('installit_label')
+
+@@ -93,7 +93,7 @@
+ txt = _("Install It")
+ self.buttons['graph'].set_label(txt)
+
+- txt = _("Welcome to Antergos!")
++ txt = _("Welcome to Parabola!")
+ self.header.set_subtitle(txt)
+
+ def quit_cnchi(self):
+diff -Nur Cnchi-0.12.0.orig/utils/info.py Cnchi-0.12.0/utils/info.py
+--- Cnchi-0.12.0.orig/utils/info.py 2015-09-05 21:41:28.000000000 -0300
++++ Cnchi-0.12.0/utils/info.py 2015-11-13 22:11:04.162016837 -0300
+@@ -30,7 +30,7 @@
+ """ Set some Cnchi global constants """
+
+ CNCHI_VERSION = "0.12.0"
+-CNCHI_WEBSITE = "http://www.antergos.com"
++CNCHI_WEBSITE = "https://www.parabola.nu"
+ CNCHI_RELEASE_STAGE = "production"
+
+ if __name__ == '__main__':