Repository: conan-io/conan

Issue:
scm get ignore files crashing
By an unknown cause, the `excluded_files`  function (Conan 1.8.4) during the call to `git check-ignore` is raising a `FileNotFoundError`. Investigate when it can happen. Maybe the `self.folder`? Apparently calling manually it works. But anyway it would be better to just print a warning and ignore the failure, because this is only an optimization.

Discussion:

Patch:
diff --git a/conans/client/cmd/export.py b/conans/client/cmd/export.py
index 9232bbbc4..c0ce189ed 100644
--- a/conans/client/cmd/export.py
+++ b/conans/client/cmd/export.py
@@ -73,7 +73,7 @@ def _capture_export_scm_data(conanfile, conanfile_dir, destination_folder, outpu
     if not scm_data or not (scm_data.capture_origin or scm_data.capture_revision):
         return None, captured_revision
 
-    scm = SCM(scm_data, conanfile_dir)
+    scm = SCM(scm_data, conanfile_dir, output)
 
     if scm_data.url == "auto":
         origin = scm.get_qualified_remote_url()
diff --git a/conans/client/graph/printer.py b/conans/client/graph/printer.py
index 9b1f91f9a..c91460afa 100644
--- a/conans/client/graph/printer.py
+++ b/conans/client/graph/printer.py
@@ -5,20 +5,12 @@ from collections import OrderedDict
 from conans.client.graph.graph import BINARY_SKIP
 
 
-def _get_python_requires(conanfile):
-    result = set()
-    for py_require in getattr(conanfile, "python_requires", []):
-        result.add(py_require.conan_ref)
-        result.update(_get_python_requires(py_require.conanfile))
-    return result
-
-
 def print_graph(deps_graph, out):
     requires = OrderedDict()
     build_requires = OrderedDict()
     python_requires = set()
     for node in sorted(deps_graph.nodes):
-        python_requires.update(_get_python_requires(node.conanfile))
+        python_requires.update(m.conan_ref for m in getattr(node.conanfile, "python_requires", []))
         if not node.conan_ref:
             continue
         package_id = PackageReference(node.conan_ref, node.conanfile.info.package_id())
diff --git a/conans/client/graph/python_requires.py b/conans/client/graph/python_requires.py
index 933a9c486..3d314fdce 100644
--- a/conans/client/graph/python_requires.py
+++ b/conans/client/graph/python_requires.py
@@ -1,5 +1,4 @@
 from collections import namedtuple
-from contextlib import contextmanager
 
 from conans.client.loader import parse_conanfile
 from conans.client.recorder.action_recorder import ActionRecorder
@@ -7,7 +6,7 @@ from conans.model.ref import ConanFileReference
 from conans.model.requires import Requirement
 
 
-PythonRequire = namedtuple("PythonRequire", "conan_ref module conanfile")
+PythonRequire = namedtuple("PythonRequire", "conan_ref module")
 
 
 class ConanPythonRequire(object):
@@ -15,16 +14,15 @@ class ConanPythonRequire(object):
         self._cached_requires = {}  # {conan_ref: PythonRequire}
         self._proxy = proxy
         self._range_resolver = range_resolver
-        self._requires = None
+        self._requires = []
 
-    @contextmanager
-    def capture_requires(self):
-        old_requires = self._requires
+    @property
+    def requires(self):
+        result = self._requires
         self._requires = []
-        yield self._requires
-        self._requires = old_requires
+        return result
 
-    def _look_for_require(self, require):
+    def __call__(self, require):
         try:
             python_require = self._cached_requires[require]
         except KeyError:
@@ -36,19 +34,8 @@ class ConanPythonRequire(object):
             result = self._proxy.get_recipe(r, False, False, remote_name=None,
                                             recorder=ActionRecorder())
             path, _, _, reference = result
-            module, conanfile = parse_conanfile(conanfile_path=path, python_requires=self)
-
-            # Check for alias
-            if getattr(conanfile, "alias", None):
-                # Will register also the aliased
-                python_require = self._look_for_require(conanfile.alias)
-            else:
-                python_require = PythonRequire(reference, module, conanfile)
+            module, _ = parse_conanfile(path)
+            python_require = PythonRequire(reference, module)
             self._cached_requires[require] = python_require
-
-        return python_require
-
-    def __call__(self, require):
-        python_req = self._look_for_require(require)
-        self._requires.append(python_req)
-        return python_req.module
+        self._requires.append(python_require)
+        return python_require.module
diff --git a/conans/client/loader.py b/conans/client/loader.py
index abfee9da6..f1bf930c3 100644
--- a/conans/client/loader.py
+++ b/conans/client/loader.py
@@ -43,8 +43,13 @@ class ConanFileLoader(object):
         sys.modules["conans"].python_requires = python_requires
 
     def load_class(self, conanfile_path):
-        _, conanfile = parse_conanfile(conanfile_path, self._python_requires)
-        return conanfile
+        loaded, filename = parse_conanfile(conanfile_path)
+        try:
+            conanfile = _parse_module(loaded, filename)
+            conanfile.python_requires = self._python_requires.requires
+            return conanfile
+        except Exception as e:  # re-raise with file name
+            raise ConanException("%s: %s" % (conanfile_path, str(e)))
 
     def load_export(self, conanfile_path, name, version, user, channel):
         conanfile = self.load_class(conanfile_path)
@@ -213,18 +218,7 @@ def _invalid_python_requires(require):
     raise ConanException("Invalid use of python_requires(%s)" % require)
 
 
-def parse_conanfile(conanfile_path, python_requires):
-    with python_requires.capture_requires() as py_requires:
-        module, filename = _parse_conanfile(conanfile_path)
-        try:
-            conanfile = _parse_module(module, filename)
-            conanfile.python_requires = py_requires
-            return module, conanfile
-        except Exception as e:  # re-raise with file name
-            raise ConanException("%s: %s" % (conanfile_path, str(e)))
-
-
-def _parse_conanfile(conan_file_path):
+def parse_conanfile(conan_file_path):
     """ From a given path, obtain the in memory python import module
     """
 
diff --git a/conans/client/source.py b/conans/client/source.py
index 9e029a910..5dc8eee98 100644
--- a/conans/client/source.py
+++ b/conans/client/source.py
@@ -201,12 +201,12 @@ def _run_scm(conanfile, src_folder, local_sources_path, output, cache):
     local_sources_path = local_sources_path if captured else None
 
     if local_sources_path:
-        excluded = SCM(scm_data, local_sources_path).excluded_files
+        excluded = SCM(scm_data, local_sources_path, output).excluded_files
         output.info("Getting sources from folder: %s" % local_sources_path)
         merge_directories(local_sources_path, dest_dir, excluded=excluded)
     else:
         output.info("Getting sources from url: '%s'" % scm_data.url)
-        scm = SCM(scm_data, dest_dir)
+        scm = SCM(scm_data, dest_dir, output)
         scm.checkout()
     if cache:
         # This is a bit weird. Why after a SCM should we remove files. Maybe check conan 2.0
diff --git a/conans/client/tools/net.py b/conans/client/tools/net.py
index 32379b3b8..02f52ddae 100644
--- a/conans/client/tools/net.py
+++ b/conans/client/tools/net.py
@@ -7,16 +7,14 @@ from conans.util.fallbacks import default_output, default_requester
 
 
 def get(url, md5='', sha1='', sha256='', destination=".", filename="", keep_permissions=False,
-        pattern=None, requester=None, output=None, verify=True, retry=None, retry_wait=None,
-        overwrite=False, auth=None, headers=None):
+        pattern=None, requester=None, output=None):
     """ high level downloader + unzipper + (optional hash checker) + delete temporary zip
     """
     if not filename and ("?" in url or "=" in url):
         raise ConanException("Cannot deduce file name form url. Use 'filename' parameter.")
 
     filename = filename or os.path.basename(url)
-    download(url, filename, out=output, requester=requester, verify=verify, retry=retry,
-             retry_wait=retry_wait, overwrite=overwrite, auth=auth, headers=headers)
+    download(url, filename, out=output, requester=requester)
 
     if md5:
         check_md5(filename, md5)
@@ -49,14 +47,8 @@ def ftp_download(ip, filename, login='', password=''):
             pass
 
 
-def download(url, filename, verify=True, out=None, retry=None, retry_wait=None, overwrite=False,
+def download(url, filename, verify=True, out=None, retry=2, retry_wait=5, overwrite=False,
              auth=None, headers=None, requester=None):
-
-    if retry is None:
-        retry = 2
-    if retry_wait is None:
-        retry_wait = 5
-
     out = default_output(out, 'conans.client.tools.net.download')
     requester = default_requester(requester, 'conans.client.tools.net.download')
 
diff --git a/conans/client/tools/scm.py b/conans/client/tools/scm.py
index 00a162d6c..9e79f42d5 100644
--- a/conans/client/tools/scm.py
+++ b/conans/client/tools/scm.py
@@ -18,8 +18,8 @@ from conans.util.files import decode_text, to_file_bytes, walk
 class SCMBase(object):
     cmd_command = None
 
-    def __init__(self, folder=None, verify_ssl=True, username=None, password=None, force_english=True,
-                 runner=None):
+    def __init__(self, folder=None, verify_ssl=True, username=None, password=None,
+                 force_english=True, runner=None, output=None):
         self.folder = folder or os.getcwd()
         if not os.path.exists(self.folder):
             os.makedirs(self.folder)
@@ -28,6 +28,7 @@ class SCMBase(object):
         self._username = username
         self._password = password
         self._runner = runner
+        self._output = output
 
     def run(self, command):
         command = "%s %s" % (self.cmd_command, command)
@@ -97,19 +98,24 @@ class Git(SCMBase):
         return output
 
     def excluded_files(self):
+        ret = []
         try:
 
             file_paths = [os.path.normpath(os.path.join(os.path.relpath(folder, self.folder), el)).replace("\\", "/")
                           for folder, dirpaths, fs in walk(self.folder)
                           for el in fs + dirpaths]
-            p = subprocess.Popen(['git', 'check-ignore', '--stdin'],
-                                 stdout=PIPE, stdin=PIPE, stderr=STDOUT, cwd=self.folder)
-            paths = to_file_bytes("\n".join(file_paths))
-            grep_stdout = decode_text(p.communicate(input=paths)[0])
-            tmp = grep_stdout.splitlines()
-        except CalledProcessError:
-            tmp = []
-        return tmp
+            if file_paths:
+                p = subprocess.Popen(['git', 'check-ignore', '--stdin'],
+                                     stdout=PIPE, stdin=PIPE, stderr=STDOUT, cwd=self.folder)
+                paths = to_file_bytes("\n".join(file_paths))
+                grep_stdout = decode_text(p.communicate(input=paths)[0])
+                ret = grep_stdout.splitlines()
+        except (CalledProcessError, FileNotFoundError) as e:
+            if self._output:
+                self._output.warn("Error checking excluded git files: %s. "
+                                  "Ignoring excluded files" % e)
+            ret = []
+        return ret
 
     def get_remote_url(self, remote_name=None):
         self._check_git_repo()
diff --git a/conans/model/ref.py b/conans/model/ref.py
index 455e89574..cd10cc2ff 100644
--- a/conans/model/ref.py
+++ b/conans/model/ref.py
@@ -79,7 +79,7 @@ class ConanFileReference(namedtuple("ConanFileReference", "name version user cha
     opencv/2.4.10@lasote/testing
     """
     whitespace_pattern = re.compile(r"\s+")
-    sep_pattern = re.compile(r"([^/]+)/([^/]+)@([^/]+)/([^/#]+)#?(.+)?")
+    sep_pattern = re.compile("@|/|#")
 
     def __new__(cls, name, version, user, channel, revision=None, validate=True):
         """Simple name creation.
@@ -111,9 +111,12 @@ class ConanFileReference(namedtuple("ConanFileReference", "name version user cha
         """ Parses a text string to generate a ConanFileReference object
         """
         text = ConanFileReference.whitespace_pattern.sub("", text)
+        tokens = ConanFileReference.sep_pattern.split(text)
         try:
-            # Split returns empty start and end groups
-            _, name, version, user, channel, revision, _ = ConanFileReference.sep_pattern.split(text)
+            if len(tokens) not in (4, 5):
+                raise ValueError
+            name, version, user, channel = tokens[0:4]
+            revision = tokens[4] if len(tokens) == 5 else None
         except ValueError:
             raise ConanException("Wrong package recipe reference %s\nWrite something like "
                                  "OpenCV/1.0.6@user/stable" % text)
diff --git a/conans/model/scm.py b/conans/model/scm.py
index 78da86d78..a024ee7dd 100644
--- a/conans/model/scm.py
+++ b/conans/model/scm.py
@@ -50,8 +50,9 @@ class SCMData(object):
 
 
 class SCM(object):
-    def __init__(self, data, repo_folder):
+    def __init__(self, data, repo_folder, output):
         self._data = data
+        self._output = output
         self.repo_folder = repo_folder
         # Finally instance a repo
         self.repo = self._get_repo()
@@ -62,7 +63,8 @@ class SCM(object):
             raise ConanException("SCM not supported: %s" % self._data.type)
 
         return repo_class(folder=self.repo_folder, verify_ssl=self._data.verify_ssl,
-                          username=self._data.username, password=self._data.password)
+                          username=self._data.username, password=self._data.password,
+                          output=self._output)
 
     @property
     def excluded_files(self):


Test patch:
diff --git a/conans/test/client/cmd/export_test.py b/conans/test/client/cmd/export_test.py
index d5c4f3d9a..4c916f1fa 100644
--- a/conans/test/client/cmd/export_test.py
+++ b/conans/test/client/cmd/export_test.py
@@ -8,7 +8,7 @@ from conans.model.ref import ConanFileReference
 from conans.test.utils.tools import TestServer, TestClient
 from conans.util.files import save, load
 from conans.client.cmd.export import _replace_scm_data_in_conanfile
-from conans.client.loader import _parse_conanfile
+from conans.client.loader import parse_conanfile
 from conans.test.utils.test_files import temp_folder
 from conans.model.scm import SCMData
 
@@ -48,7 +48,7 @@ class ConanLib(ConanFile):
         scm_data = SCMData(conanfile=namedtuple('_', 'scm')(scm=scm_data))
         _replace_scm_data_in_conanfile(self.conanfile_path, scm_data)
         self.assertEqual(load(self.conanfile_path), target_conanfile)
-        _parse_conanfile(conan_file_path=self.conanfile_path)  # Check that the resulting file is valid python code.
+        parse_conanfile(self.conanfile_path)  # Check that the resulting file is valid python code.
 
     def test_conanfile_after_scm(self):
         scm_data = {'type': 'git',
diff --git a/conans/test/command/info_options_test.py b/conans/test/command/info_options_test.py
index 760008b23..4225c1fe4 100644
--- a/conans/test/command/info_options_test.py
+++ b/conans/test/command/info_options_test.py
@@ -38,6 +38,6 @@ class Pkg(ConanFile):
         client.run("create . PkgA/0.1@user/testing")
         client.save({"conanfile.py": conanfile.format("B")})
         client.run("install .")
-        client.run("info PkgA/0.1@user/testing")
+        client.run("info PkgA@0.1@user/testing")
         self.assertIn("PkgA/0.1@user/testing", client.out)
         self.assertIn("BuildID: None", client.out)
diff --git a/conans/test/command/install_test.py b/conans/test/command/install_test.py
index c03799b65..8b1a93c8d 100644
--- a/conans/test/command/install_test.py
+++ b/conans/test/command/install_test.py
@@ -1,14 +1,14 @@
-import os
-import platform
 import unittest
+import platform
+import os
 
-from conans.client.conf.detect import detected_os
-from conans.model.info import ConanInfo
+from conans.test.utils.tools import TestClient, TestServer
 from conans.model.ref import ConanFileReference, PackageReference
 from conans.paths import CONANFILE, CONANINFO
-from conans.paths import CONANFILE_TXT
+from conans.model.info import ConanInfo
 from conans.test.utils.cpp_test_files import cpp_hello_conan_files
-from conans.test.utils.tools import TestClient, TestServer
+from conans.paths import CONANFILE_TXT
+from conans.client.conf.detect import detected_os
 from conans.util.files import load, mkdir, rmdir
 
 
@@ -19,13 +19,6 @@ class InstallTest(unittest.TestCase):
         self.settings = ("-s os=Windows -s compiler='Visual Studio' -s compiler.version=12 "
                          "-s arch=x86 -s compiler.runtime=MD")
 
-    def test_four_subfolder_install(self):
-        # https://github.com/conan-io/conan/issues/3950
-        conanfile = ""
-        self.client.save({"path/to/sub/folder/conanfile.txt": conanfile})
-        # If this doesn't, fail, all good
-        self.client.run("install path/to/sub/folder")
-
     def install_system_requirements_test(self):
         client = TestClient(servers={"default": TestServer()},
                             users={"default": [("lasote", "mypass")]})
diff --git a/conans/test/command/remove_test.py b/conans/test/command/remove_test.py
index be8bc7dc2..cbaec981a 100644
--- a/conans/test/command/remove_test.py
+++ b/conans/test/command/remove_test.py
@@ -96,7 +96,6 @@ class Test(ConanFile):
             self.assertNotIn("os: Windows", client.user_io.out)
             self.assertIn("os: Linux", client.user_io.out)
 
-
 fake_recipe_hash = "999999999"
 conaninfo = '''
 [settings]
@@ -109,7 +108,7 @@ conaninfo = '''
 [full_requires]
   Hello2/0.1@lasote/stable:11111
   OpenSSL/2.10@lasote/testing:2222
-  HelloInfo1/0.45@myuser/testing:33333
+  HelloInfo1/0.45@fenix/testing:33333
 [recipe_hash]
 ''' + fake_recipe_hash +  '''
 [recipe_revision]
@@ -123,23 +122,22 @@ class RemoveTest(unittest.TestCase):
         test_conanfile_contents = hello_files[CONANFILE]
 
         self.server_folder = temp_folder()
-        test_server = TestServer(users={"myuser": "mypass"},
+        test_server = TestServer(users={"fenix": "mypass"},
                                  base_path=self.server_folder)  # exported users and passwords
         self.server = test_server
         servers = {"default": test_server}
-        client = TestClient(servers=servers, users={"default": [("myuser", "mypass")]})
+        client = TestClient(servers=servers, users={"default": [("fenix", "mypass")]})
 
         # Conans with and without packages created
-        self.root_folder = {"H1": 'Hello/1.4.10@myuser/testing',
-                            "H2": 'Hello/2.4.11@myuser/testing',
-                            "B": 'Bye/0.14@myuser/testing',
-                            "O": 'Other/1.2@myuser/testing'}
+        self.root_folder = {"H1": 'Hello/1.4.10/fenix/testing',
+                            "H2": 'Hello/2.4.11/fenix/testing',
+                            "B": 'Bye/0.14/fenix/testing',
+                            "O": 'Other/1.2/fenix/testing'}
 
         files = {}
         pack_refs = []
         for key, folder in self.root_folder.items():
             ref = ConanFileReference.loads(folder)
-            folder = folder.replace("@", "/")
             files["%s/%s/conanfile.py" % (folder, EXPORT_FOLDER)] = test_conanfile_contents
             files["%s/%s/conanmanifest.txt" % (folder, EXPORT_FOLDER)] = "%s\nconanfile.py: 234234234" % fake_recipe_hash
             files["%s/%s/conans.txt" % (folder, SRC_FOLDER)] = ""
@@ -171,7 +169,7 @@ class RemoveTest(unittest.TestCase):
         self.client = client
 
         for folder in self.root_folder.values():
-            client.run("upload %s --all" % folder)
+            client.run("upload %s --all" % folder.replace("/fenix", "@fenix"))
 
         self.assert_folders({"H1": [1, 2], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             {"H1": [1, 2], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
@@ -183,8 +181,8 @@ class RemoveTest(unittest.TestCase):
                                    (self.server.paths, remote_folders)]:
             root_folder = base_path.store
             for k, shas in folders.items():
-                folder = os.path.join(root_folder, self.root_folder[k].replace("@", "/"))
-                ref = ConanFileReference.loads(self.root_folder[k])
+                folder = os.path.join(root_folder, self.root_folder[k])
+                ref = ConanFileReference(*self.root_folder[k].split("/"))
                 if isinstance(base_path, ServerStore):
                     if not self.client.block_v2:
                         try:
@@ -215,14 +213,13 @@ class RemoveTest(unittest.TestCase):
                                 prev = DEFAULT_REVISION_V1
                             package_folder += "/%s" % prev
                         if value in shas:
-                            self.assertTrue(os.path.exists(package_folder),
-                                            "%s doesn't exist " % package_folder)
+                            self.assertTrue(os.path.exists(package_folder), "%s doesn't exist " % package_folder)
                         else:
                             self.assertFalse(os.path.exists(package_folder))
 
         root_folder = self.client.paths.store
         for k, shas in build_folders.items():
-            folder = os.path.join(root_folder, self.root_folder[k].replace("@", "/"))
+            folder = os.path.join(root_folder, self.root_folder[k])
             if shas is None:
                 self.assertFalse(os.path.exists(folder))
             else:
@@ -234,7 +231,7 @@ class RemoveTest(unittest.TestCase):
                     else:
                         self.assertFalse(os.path.exists(build_folder))
         for k, value in src_folders.items():
-            folder = os.path.join(root_folder, self.root_folder[k].replace("@", "/"), "source")
+            folder = os.path.join(root_folder, self.root_folder[k], "source")
             if value:
                 self.assertTrue(os.path.exists(folder))
             else:
@@ -270,10 +267,10 @@ class RemoveTest(unittest.TestCase):
         six.assertCountEqual(self, ["Hello", "Other", "Bye"], folders)
         six.assertCountEqual(self, ["build", "source", "export", "export_source", "metadata.json"],
                              os.listdir(os.path.join(self.client.storage_folder,
-                                                     "Hello/1.4.10/myuser/testing")))
+                                                     "Hello/1.4.10/fenix/testing")))
         six.assertCountEqual(self, ["build", "source", "export", "export_source", "metadata.json"],
                              os.listdir(os.path.join(self.client.storage_folder,
-                                                     "Hello/2.4.11/myuser/testing")))
+                                                     "Hello/2.4.11/fenix/testing")))
 
     def builds_test(self):
         mocked_user_io = UserIO(out=TestBufferConanOutput())
@@ -288,11 +285,11 @@ class RemoveTest(unittest.TestCase):
         six.assertCountEqual(self, ["package", "source", "export", "export_source",
                                     "metadata.json"],
                              os.listdir(os.path.join(self.client.storage_folder,
-                                                     "Hello/1.4.10/myuser/testing")))
+                                                     "Hello/1.4.10/fenix/testing")))
         six.assertCountEqual(self, ["package", "source", "export", "export_source",
                                     "metadata.json"],
                              os.listdir(os.path.join(self.client.storage_folder,
-                                                     "Hello/2.4.11/myuser/testing")))
+                                                     "Hello/2.4.11/fenix/testing")))
 
     def src_test(self):
         mocked_user_io = UserIO(out=TestBufferConanOutput())
@@ -306,10 +303,10 @@ class RemoveTest(unittest.TestCase):
         six.assertCountEqual(self, ["Hello", "Other", "Bye"], folders)
         six.assertCountEqual(self, ["package", "build", "export", "export_source", "metadata.json"],
                              os.listdir(os.path.join(self.client.storage_folder,
-                                                     "Hello/1.4.10/myuser/testing")))
+                                                     "Hello/1.4.10/fenix/testing")))
         six.assertCountEqual(self, ["package", "build", "export", "export_source", "metadata.json"],
                              os.listdir(os.path.join(self.client.storage_folder,
-                                                     "Hello/2.4.11/myuser/testing")))
+                                                     "Hello/2.4.11/fenix/testing")))
 
     def reject_removal_test(self):
         mocked_user_io = UserIO(out=TestBufferConanOutput())
@@ -390,35 +387,35 @@ class RemoveTest(unittest.TestCase):
     def try_remove_using_query_and_packages_or_builds_test(self):
         with self.assertRaisesRegexp(Exception, "Command failed"):
             self.client.run("remove hello/1.4.10@lasote/stable -p=1_H1 -q 'compiler.version=4.8' ")
-            self.assertIn("'-q' and '-p' parameters can't be used at the same time", self.client.out)
+            self.assertIn("'-q' and '-p' parameters can't be used at the same time", self.client.user_io.out)
 
         with self.assertRaisesRegexp(Exception, "Command failed"):
             self.client.run("remove hello/1.4.10@lasote/stable -b=1_H1 -q 'compiler.version=4.8' ")
-            self.assertIn("'-q' and '-b' parameters can't be used at the same time", self.client.out)
+            self.assertIn("'-q' and '-b' parameters can't be used at the same time", self.client.user_io.out)
 
     def query_remove_locally_test(self):
-        self.client.run("remove hello/1.4.10@myuser/testing -q='compiler.version=4.4' -f")
+        self.client.run("remove hello/1.4.10@fenix/testing -q='compiler.version=4.4' -f")
         self.assertIn("No matching packages to remove", self.client.user_io.out)
         self.assert_folders({"H1": [1, 2], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             {"H1": [1, 2], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             {"H1": [1, 2], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             {"H1": True, "H2": True, "B": True, "O": True})
 
-        self.client.run('remove Hello/1.4.10@myuser/testing -q="compiler.version=8.1" -f')
+        self.client.run('remove Hello/1.4.10@fenix/testing -q="compiler.version=8.1" -f')
         self.assertNotIn("No packages matching the query", self.client.user_io.out)
         self.assert_folders(local_folders={"H1": [2], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             remote_folders={"H1": [1, 2], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             build_folders={"H1": [1, 2], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             src_folders={"H1": True, "H2": True, "B": True, "O": True})
 
-        self.client.run('remove Hello/1.4.10@myuser/testing -q="compiler.version=8.2" -f')
+        self.client.run('remove Hello/1.4.10@fenix/testing -q="compiler.version=8.2" -f')
         self.assertNotIn("No packages matching the query", self.client.user_io.out)
         self.assert_folders(local_folders={"H1": [], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             remote_folders={"H1": [1, 2], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             build_folders={"H1": [1, 2], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             src_folders={"H1": True, "H2": True, "B": True, "O": True})
 
-        self.client.run('remove Hello/1.4.10@myuser/testing -q="compiler.version=8.2" -f -r default')
+        self.client.run('remove Hello/1.4.10@fenix/testing -q="compiler.version=8.2" -f -r default')
         self.assertNotIn("No packages matching the query", self.client.user_io.out)
         self.assert_folders(local_folders={"H1": [], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
                             remote_folders={"H1": [1], "H2": [1, 2], "B": [1, 2], "O": [1, 2]},
diff --git a/conans/test/command/search_test.py b/conans/test/command/search_test.py
index 5c3ce100e..9b04a2989 100644
--- a/conans/test/command/search_test.py
+++ b/conans/test/command/search_test.py
@@ -1,14 +1,15 @@
 import json
 import os
-import shutil
 import unittest
 from collections import OrderedDict
 
+import shutil
+
 from conans import COMPLEX_SEARCH_CAPABILITY
-from conans import DEFAULT_REVISION_V1
 from conans.model.manifest import FileTreeManifest
 from conans.model.ref import ConanFileReference, PackageReference
 from conans.paths import PACKAGES_FOLDER, CONANINFO, EXPORT_FOLDER
+from conans import DEFAULT_REVISION_V1
 from conans.test.utils.tools import TestClient, TestServer
 from conans.util.files import load, list_folder_subdirs
 
@@ -23,7 +24,7 @@ conan_vars1 = '''
 [full_requires]
   Hello2/0.1@lasote/stable:11111
   OpenSSL/2.10@lasote/testing:2222
-  HelloInfo1/0.45@myuser/testing:33333
+  HelloInfo1/0.45@fenix/testing:33333
 '''
 
 conan_vars1b = '''
@@ -48,7 +49,7 @@ conan_vars1c = '''
 [full_requires]
   Hello2/0.1@lasote/stable:11111
   OpenSSL/2.10@lasote/testing:2222
-  HelloInfo1/0.45@myuser/testing:33333
+  HelloInfo1/0.45@fenix/testing:33333
 [recipe_hash]
   d41d8cd98f00b204e9800998ecf8427e
 '''  # The recipe_hash correspond to the faked conanmanifests in export
@@ -79,7 +80,7 @@ conan_vars4 = """[settings]
 [full_requires]
   Hello2/0.1@lasote/stable:11111
   OpenSSL/2.10@lasote/testing:2222
-  HelloInfo1/0.45@myuser/testing:33333
+  HelloInfo1/0.45@fenix/testing:33333
 """
 
 
@@ -98,13 +99,13 @@ class SearchTest(unittest.TestCase):
         self.assertIn('There are no packages', output)
 
         # Conans with and without packages created
-        root_folder1 = 'Hello/1.4.10/myuser/testing'
-        root_folder2 = 'helloTest/1.4.10/myuser/stable'
-        root_folder3 = 'Bye/0.14/myuser/testing'
-        root_folder4 = 'NodeInfo/1.0.2/myuser/stable'
-        root_folder5 = 'MissFile/1.0.2/myuser/stable'
-        root_folder11 = 'Hello/1.4.11/myuser/testing'
-        root_folder12 = 'Hello/1.4.12/myuser/testing'
+        root_folder1 = 'Hello/1.4.10/fenix/testing'
+        root_folder2 = 'helloTest/1.4.10/fenix/stable'
+        root_folder3 = 'Bye/0.14/fenix/testing'
+        root_folder4 = 'NodeInfo/1.0.2/fenix/stable'
+        root_folder5 = 'MissFile/1.0.2/fenix/stable'
+        root_folder11 = 'Hello/1.4.11/fenix/testing'
+        root_folder12 = 'Hello/1.4.12/fenix/testing'
 
         self.client.save({"Empty/1.10/fake/test/export/fake.txt": "//",
                           "%s/%s/WindowsPackageSHA/%s" % (root_folder1,
@@ -155,10 +156,10 @@ class SearchTest(unittest.TestCase):
         def check():
             for remote in ("local", "search_able"):
                 expected = """Remote '{}':
-Hello/1.4.10@myuser/testing
-Hello/1.4.11@myuser/testing
-Hello/1.4.12@myuser/testing
-helloTest/1.4.10@myuser/stable""".format(remote)
+Hello/1.4.10@fenix/testing
+Hello/1.4.11@fenix/testing
+Hello/1.4.12@fenix/testing
+helloTest/1.4.10@fenix/stable""".format(remote)
                 self.assertIn(expected, self.client.out)
 
         self.client.run("search Hello* -r=all")
@@ -170,100 +171,98 @@ helloTest/1.4.10@myuser/stable""".format(remote)
     def recipe_search_test(self):
         self.client.run("search Hello*")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n"
-                          "helloTest/1.4.10@myuser/stable\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n"
+                          "helloTest/1.4.10@fenix/stable\n", self.client.out)
 
         self.client.run("search Hello* --case-sensitive")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n",
+                          "Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n",
                           self.client.out)
 
-        self.client.run("search *myuser* --case-sensitive")
+        self.client.run("search *fenix* --case-sensitive")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Bye/0.14@myuser/testing\n"
-                          "Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n"
-                          "MissFile/1.0.2@myuser/stable\n"
-                          "NodeInfo/1.0.2@myuser/stable\n"
-                          "helloTest/1.4.10@myuser/stable\n", self.client.out)
-
-        self.client.run("search Hello/*@myuser/testing")
-        self.assertIn("Hello/1.4.10@myuser/testing\n"
-                      "Hello/1.4.11@myuser/testing\n"
-                      "Hello/1.4.12@myuser/testing\n", self.client.out)
+                          "Bye/0.14@fenix/testing\n"
+                          "Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n"
+                          "MissFile/1.0.2@fenix/stable\n"
+                          "NodeInfo/1.0.2@fenix/stable\n"
+                          "helloTest/1.4.10@fenix/stable\n", self.client.out)
+
+        self.client.run("search Hello/*@fenix/testing")
+        self.assertIn("Hello/1.4.10@fenix/testing\n"
+                      "Hello/1.4.11@fenix/testing\n"
+                      "Hello/1.4.12@fenix/testing\n", self.client.out)
 
     def search_partial_match_test(self):
         self.client.run("search Hello")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n", self.client.out)
 
         self.client.run("search hello")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n", self.client.out)
 
         self.client.run("search Hello --case-sensitive")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n", self.client.out)
 
         self.client.run("search Hel")
         self.assertEquals("There are no packages matching the 'Hel' pattern\n", self.client.out)
 
         self.client.run("search Hello/")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n", self.client.out)
 
         self.client.run("search Hello/1.4.10")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n", self.client.out)
 
         self.client.run("search Hello/1.4")
-        self.assertEquals("There are no packages matching the 'Hello/1.4' pattern\n",
-                          self.client.out)
+        self.assertEquals("There are no packages matching the 'Hello/1.4' pattern\n", self.client.out)
 
         self.client.run("search Hello/1.4.10@")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n", self.client.out)
 
-        self.client.run("search Hello/1.4.10@myuser")
+        self.client.run("search Hello/1.4.10@fenix")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n", self.client.out)
 
         self.client.run("search Hello/1.4.10@fen")
-        self.assertEquals("There are no packages matching the 'Hello/1.4.10@fen' pattern\n",
-                          self.client.out)
+        self.assertEquals("There are no packages matching the 'Hello/1.4.10@fen' pattern\n", self.client.out)
 
-        self.client.run("search Hello/1.4.10@myuser/")
+        self.client.run("search Hello/1.4.10@fenix/")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n", self.client.out)
 
-        error = self.client.run("search Hello/1.4.10@myuser/test", ignore_error=True)
+        error = self.client.run("search Hello/1.4.10@fenix/test", ignore_error=True)
         self.assertTrue(error)
-        self.assertEquals("ERROR: Recipe not found: Hello/1.4.10@myuser/test\n", self.client.out)
+        self.assertEquals("ERROR: Recipe not found: Hello/1.4.10@fenix/test\n", self.client.out)
 
     def search_raw_test(self):
         self.client.run("search Hello* --raw")
-        self.assertEquals("Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n"
-                          "helloTest/1.4.10@myuser/stable\n", self.client.out)
+        self.assertEquals("Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n"
+                          "helloTest/1.4.10@fenix/stable\n", self.client.out)
 
     def search_html_table_test(self):
-        self.client.run("search Hello/1.4.10@myuser/testing --table=table.html")
+        self.client.run("search Hello/1.4.10/fenix/testing --table=table.html")
         html = load(os.path.join(self.client.current_folder, "table.html"))
-        self.assertIn("<h1>Hello/1.4.10@myuser/testing</h1>", html)
+        self.assertIn("<h1>Hello/1.4.10@fenix/testing</h1>", html)
         self.assertIn("<td>Linux gcc 4.5 (libstdc++11)</td>", html)
         self.assertIn("<td>Windows Visual Studio 8.1</td>", html)
 
@@ -273,10 +272,10 @@ helloTest/1.4.10@myuser/stable""".format(remote)
         os.rmdir(self.servers["search_able"].paths.store)
         self._copy_to_server(self.client.paths, self.servers["search_able"].paths)
 
-        self.client.run("search Hello/1.4.10@myuser/testing -r=all --table=table.html")
+        self.client.run("search Hello/1.4.10/fenix/testing -r=all --table=table.html")
         html = load(os.path.join(self.client.current_folder, "table.html"))
 
-        self.assertIn("<h1>Hello/1.4.10@myuser/testing</h1>", html)
+        self.assertIn("<h1>Hello/1.4.10@fenix/testing</h1>", html)
         self.assertIn("<h2>'local':</h2>", html)
         self.assertIn("<h2>'search_able':</h2>", html)
 
@@ -291,46 +290,44 @@ helloTest/1.4.10@myuser/stable""".format(remote)
     def recipe_pattern_search_test(self):
         self.client.run("search Hello*")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n"
-                          "helloTest/1.4.10@myuser/stable\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n"
+                          "helloTest/1.4.10@fenix/stable\n", self.client.out)
 
         self.client.run("search Hello* --case-sensitive")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n", self.client.out)
+                          "Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n", self.client.out)
 
-        self.client.run("search *myuser* --case-sensitive")
+        self.client.run("search *fenix* --case-sensitive")
         self.assertEquals("Existing package recipes:\n\n"
-                          "Bye/0.14@myuser/testing\n"
-                          "Hello/1.4.10@myuser/testing\n"
-                          "Hello/1.4.11@myuser/testing\n"
-                          "Hello/1.4.12@myuser/testing\n"
-                          "MissFile/1.0.2@myuser/stable\n"
-                          "NodeInfo/1.0.2@myuser/stable\n"
-                          "helloTest/1.4.10@myuser/stable\n", self.client.out)
+                          "Bye/0.14@fenix/testing\n"
+                          "Hello/1.4.10@fenix/testing\n"
+                          "Hello/1.4.11@fenix/testing\n"
+                          "Hello/1.4.12@fenix/testing\n"
+                          "MissFile/1.0.2@fenix/stable\n"
+                          "NodeInfo/1.0.2@fenix/stable\n"
+                          "helloTest/1.4.10@fenix/stable\n", self.client.out)
 
     def package_search_with_invalid_reference_test(self):
         self.client.run("search Hello -q 'a=1'", ignore_error=True)
         self.assertIn("-q parameter only allowed with a valid recipe", str(self.client.out))
 
     def package_search_with_empty_query_test(self):
-        self.client.run("search Hello/1.4.10@myuser/testing")
+        self.client.run("search Hello/1.4.10/fenix/testing")
         self.assertIn("WindowsPackageSHA", self.client.out)
         self.assertIn("PlatformIndependantSHA", self.client.out)
         self.assertIn("LinuxPackageSHA", self.client.out)
 
     def package_search_nonescaped_characters_test(self):
-        self.client.run('search Hello/1.4.10@myuser/testing '
-                        '-q "compiler=gcc AND compiler.libcxx=libstdc++11"')
+        self.client.run('search Hello/1.4.10@fenix/testing -q "compiler=gcc AND compiler.libcxx=libstdc++11"')
         self.assertIn("LinuxPackageSHA", self.client.out)
         self.assertNotIn("PlatformIndependantSHA", self.client.out)
         self.assertNotIn("WindowsPackageSHA", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing '
-                        '-q "compiler=gcc AND compiler.libcxx=libstdc++"')
+        self.client.run('search Hello/1.4.10@fenix/testing -q "compiler=gcc AND compiler.libcxx=libstdc++"')
         self.assertNotIn("LinuxPackageSHA", self.client.out)
         self.assertIn("PlatformIndependantSHA", self.client.out)
         self.assertNotIn("WindowsPackageSHA", self.client.out)
@@ -339,15 +336,13 @@ helloTest/1.4.10@myuser/stable""".format(remote)
         os.rmdir(self.servers["local"].paths.store)
         self._copy_to_server(self.client.paths, self.servers["local"].paths)
 
-        self.client.run('search Hello/1.4.10@myuser/testing '
-                        '-q "compiler=gcc AND compiler.libcxx=libstdc++11" -r local')
+        self.client.run('search Hello/1.4.10@fenix/testing -q "compiler=gcc AND compiler.libcxx=libstdc++11" -r local')
         self.assertIn("Outdated from recipe: False", self.client.out)
         self.assertIn("LinuxPackageSHA", self.client.out)
         self.assertNotIn("PlatformIndependantSHA", self.client.out)
         self.assertNotIn("WindowsPackageSHA", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing '
-                        '-q "compiler=gcc AND compiler.libcxx=libstdc++" -r local')
+        self.client.run('search Hello/1.4.10@fenix/testing -q "compiler=gcc AND compiler.libcxx=libstdc++" -r local')
         self.assertNotIn("LinuxPackageSHA", self.client.out)
         self.assertIn("PlatformIndependantSHA", self.client.out)
         self.assertNotIn("WindowsPackageSHA", self.client.out)
@@ -356,22 +351,20 @@ helloTest/1.4.10@myuser/stable""".format(remote)
         os.rmdir(self.servers["search_able"].paths.store)
         self._copy_to_server(self.client.paths, self.servers["search_able"].paths)
 
-        self.client.run('search Hello/1.4.10@myuser/testing '
-                        '-q "compiler=gcc AND compiler.libcxx=libstdc++11" -r all')
+        self.client.run('search Hello/1.4.10@fenix/testing -q "compiler=gcc AND compiler.libcxx=libstdc++11" -r all')
         self.assertEqual(str(self.client.out).count("Outdated from recipe: False"), 2)
         self.assertEqual(str(self.client.out).count("LinuxPackageSHA"), 2)
         self.assertNotIn("PlatformIndependantSHA", self.client.out)
         self.assertNotIn("WindowsPackageSHA", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing '
-                        '-q "compiler=gcc AND compiler.libcxx=libstdc++" -r all')
+        self.client.run('search Hello/1.4.10@fenix/testing -q "compiler=gcc AND compiler.libcxx=libstdc++" -r all')
         self.assertNotIn("LinuxPackageSHA", self.client.out)
         self.assertEqual(str(self.client.out).count("PlatformIndependantSHA"), 2)
         self.assertNotIn("WindowsPackageSHA", self.client.out)
 
     def _assert_pkg_q(self, query, packages_found, remote):
 
-        command = 'search Hello/1.4.10@myuser/testing -q \'%s\'' % query
+        command = 'search Hello/1.4.10@fenix/testing -q \'%s\'' % query
         if remote:
             command += " -r %s" % remote
         self.client.run(command)
@@ -449,8 +442,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
 
     def _copy_to_server(self, client_store_path, server_store):
         subdirs = list_folder_subdirs(basedir=client_store_path.store, level=4)
-        refs = [ConanFileReference(*folder.split("/"), revision=DEFAULT_REVISION_V1)
-                for folder in subdirs]
+        refs = [ConanFileReference(*folder.split("/"), revision=DEFAULT_REVISION_V1) for folder in subdirs]
         for ref in refs:
             origin_path = client_store_path.export(ref)
             dest_path = server_store.export(ref)
@@ -472,7 +464,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
         os.rmdir(self.servers["search_able"].paths.store)
         self._copy_to_server(self.client.paths, self.servers["search_able"].paths)
 
-        self.client.run("search Hello/1.4.10@myuser/testing -r=all")
+        self.client.run("search Hello/1.4.10/fenix/testing -r=all")
         self.assertIn("Existing recipe in remote 'local':", self.client.out)
         self.assertIn("Existing recipe in remote 'search_able':", self.client.out)
 
@@ -481,77 +473,70 @@ helloTest/1.4.10@myuser/stable""".format(remote)
         self.assertEqual(str(self.client.out).count("LinuxPackageSHA"), 2)
 
     def package_search_with_invalid_query_test(self):
-        self.client.run("search Hello/1.4.10@myuser/testing -q 'invalid'", ignore_error=True)
+        self.client.run("search Hello/1.4.10/fenix/testing -q 'invalid'", ignore_error=True)
         self.assertIn("Invalid package query: invalid", self.client.out)
 
-        self.client.run("search Hello/1.4.10@myuser/testing -q 'os= 3'", ignore_error=True)
+        self.client.run("search Hello/1.4.10/fenix/testing -q 'os= 3'", ignore_error=True)
         self.assertIn("Invalid package query: os= 3", self.client.out)
 
-        self.client.run("search Hello/1.4.10@myuser/testing -q 'os=3 FAKE '", ignore_error=True)
+        self.client.run("search Hello/1.4.10/fenix/testing -q 'os=3 FAKE '", ignore_error=True)
         self.assertIn("Invalid package query: os=3 FAKE ", self.client.out)
 
-        self.client.run("search Hello/1.4.10@myuser/testing -q 'os=3 os.compiler=4'",
-                        ignore_error=True)
+        self.client.run("search Hello/1.4.10/fenix/testing -q 'os=3 os.compiler=4'", ignore_error=True)
         self.assertIn("Invalid package query: os=3 os.compiler=4", self.client.out)
 
-        self.client.run("search Hello/1.4.10@myuser/testing -q 'not os=3 AND os.compiler=4'",
-                        ignore_error=True)
-        self.assertIn("Invalid package query: not os=3 AND os.compiler=4. "
-                      "'not' operator is not allowed",
+        self.client.run("search Hello/1.4.10/fenix/testing -q 'not os=3 AND os.compiler=4'", ignore_error=True)
+        self.assertIn("Invalid package query: not os=3 AND os.compiler=4. 'not' operator is not allowed",
                       self.client.out)
 
-        self.client.run("search Hello/1.4.10@myuser/testing -q 'os=3 AND !os.compiler=4'",
-                        ignore_error=True)
-        self.assertIn("Invalid package query: os=3 AND !os.compiler=4. '!' character is not allowed",
-                      self.client.out)
+        self.client.run("search Hello/1.4.10/fenix/testing -q 'os=3 AND !os.compiler=4'", ignore_error=True)
+        self.assertIn("Invalid package query: os=3 AND !os.compiler=4. '!' character is not allowed", self.client.out)
 
     def package_search_properties_filter_test(self):
 
         # All packages without filter
-        self.client.run("search Hello/1.4.10@myuser/testing -q ''")
+        self.client.run("search Hello/1.4.10/fenix/testing -q ''")
 
         self.assertIn("WindowsPackageSHA", self.client.out)
         self.assertIn("PlatformIndependantSHA", self.client.out)
         self.assertIn("LinuxPackageSHA", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing -q os=Windows')
+        self.client.run('search Hello/1.4.10/fenix/testing -q os=Windows')
         self.assertIn("WindowsPackageSHA", self.client.out)
         self.assertNotIn("PlatformIndependantSHA", self.client.out)
         self.assertNotIn("LinuxPackageSHA", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing -q "os=Windows or os=None"')
+        self.client.run('search Hello/1.4.10/fenix/testing -q "os=Windows or os=None"')
         self.assertIn("WindowsPackageSHA", self.client.out)
         self.assertIn("PlatformIndependantSHA", self.client.out)
         self.assertNotIn("LinuxPackageSHA", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing -q "os=Windows or os=Linux"')
+        self.client.run('search Hello/1.4.10/fenix/testing -q "os=Windows or os=Linux"')
         self.assertIn("WindowsPackageSHA", self.client.out)
         self.assertNotIn("PlatformIndependantSHA", self.client.out)
         self.assertIn("LinuxPackageSHA", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing '
-                        '-q "os=Windows AND compiler.version=4.5"')
-        self.assertIn("There are no packages for reference 'Hello/1.4.10@myuser/testing' "
+        self.client.run('search Hello/1.4.10/fenix/testing -q "os=Windows AND compiler.version=4.5"')
+        self.assertIn("There are no packages for reference 'Hello/1.4.10@fenix/testing' "
                       "matching the query 'os=Windows AND compiler.version=4.5'", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing -q "os=Linux AND compiler.version=4.5"')
+        self.client.run('search Hello/1.4.10/fenix/testing -q "os=Linux AND compiler.version=4.5"')
         self.assertNotIn("WindowsPackageSHA", self.client.out)
         self.assertNotIn("PlatformIndependantSHA", self.client.out)
         self.assertIn("LinuxPackageSHA", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing -q "compiler.version=1.0"')
-        self.assertIn("There are no packages for reference 'Hello/1.4.10@myuser/testing' "
+        self.client.run('search Hello/1.4.10/fenix/testing -q "compiler.version=1.0"')
+        self.assertIn("There are no packages for reference 'Hello/1.4.10@fenix/testing' "
                       "matching the query 'compiler.version=1.0'", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing '
-                        '-q "compiler=gcc AND compiler.version=4.5"')
+        self.client.run('search Hello/1.4.10/fenix/testing -q "compiler=gcc AND compiler.version=4.5"')
         self.assertNotIn("WindowsPackageSHA", self.client.out)
         self.assertNotIn("PlatformIndependantSHA", self.client.out)
         self.assertIn("LinuxPackageSHA", self.client.out)
 
-        self.client.run('search Hello/1.4.10@myuser/testing -q "arch=x86"')
+        self.client.run('search Hello/1.4.10/fenix/testing -q "arch=x86"')
         # One package will be outdated from recipe and another don't
-        self.assertEquals("""Existing packages for recipe Hello/1.4.10@myuser/testing:
+        self.assertEquals("""Existing packages for recipe Hello/1.4.10@fenix/testing:
 
     Package_ID: LinuxPackageSHA
         [options]
@@ -564,7 +549,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
             os: Linux
         [requires]
             Hello2/0.1@lasote/stable:11111
-            HelloInfo1/0.45@myuser/testing:33333
+            HelloInfo1/0.45@fenix/testing:33333
             OpenSSL/2.10@lasote/testing:2222
         Outdated from recipe: False
 
@@ -580,18 +565,18 @@ helloTest/1.4.10@myuser/stable""".format(remote)
 
 """, self.client.out)
 
-        self.client.run('search helloTest/1.4.10@myuser/stable -q use_OpenGL=False')
-        self.assertIn("There are no packages for reference 'helloTest/1.4.10@myuser/stable' "
+        self.client.run('search helloTest/1.4.10@fenix/stable -q use_OpenGL=False')
+        self.assertIn("There are no packages for reference 'helloTest/1.4.10@fenix/stable' "
                       "matching the query 'use_OpenGL=False'", self.client.out)
 
-        self.client.run('search helloTest/1.4.10@myuser/stable -q use_OpenGL=True')
-        self.assertIn("Existing packages for recipe helloTest/1.4.10@myuser/stable", self.client.out)
+        self.client.run('search helloTest/1.4.10@fenix/stable -q use_OpenGL=True')
+        self.assertIn("Existing packages for recipe helloTest/1.4.10@fenix/stable", self.client.out)
 
-        self.client.run('search helloTest/1.4.10@myuser/stable -q "use_OpenGL=True AND arch=x64"')
-        self.assertIn("Existing packages for recipe helloTest/1.4.10@myuser/stable", self.client.out)
+        self.client.run('search helloTest/1.4.10@fenix/stable -q "use_OpenGL=True AND arch=x64"')
+        self.assertIn("Existing packages for recipe helloTest/1.4.10@fenix/stable", self.client.out)
 
-        self.client.run('search helloTest/1.4.10@myuser/stable -q "use_OpenGL=True AND arch=x86"')
-        self.assertIn("There are no packages for reference 'helloTest/1.4.10@myuser/stable' "
+        self.client.run('search helloTest/1.4.10@fenix/stable -q "use_OpenGL=True AND arch=x86"')
+        self.assertIn("There are no packages for reference 'helloTest/1.4.10@fenix/stable' "
                       "matching the query 'use_OpenGL=True AND arch=x86'", self.client.out)
 
     def search_with_no_local_test(self):
@@ -642,19 +627,19 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                     'items': [
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.10@myuser/testing'}
+                                'id': 'Hello/1.4.10@fenix/testing'}
                         },
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.11@myuser/testing'}
+                                'id': 'Hello/1.4.11@fenix/testing'}
                         },
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.12@myuser/testing'}
+                                'id': 'Hello/1.4.12@fenix/testing'}
                         },
                         {
                             'recipe': {
-                                'id': 'helloTest/1.4.10@myuser/stable'}
+                                'id': 'helloTest/1.4.10@fenix/stable'}
                         }
                     ]
                 }
@@ -680,19 +665,19 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                     'items': [
                         {
                              'recipe': {
-                                 'id': 'Hello/1.4.10@myuser/testing'}
+                                 'id': 'Hello/1.4.10@fenix/testing'}
                         },
                         {
                              'recipe': {
-                                 'id': 'Hello/1.4.11@myuser/testing'}
+                                 'id': 'Hello/1.4.11@fenix/testing'}
                         },
                         {
                              'recipe': {
-                                 'id': 'Hello/1.4.12@myuser/testing'}
+                                 'id': 'Hello/1.4.12@fenix/testing'}
                         },
                         {
                              'recipe': {
-                                 'id': 'helloTest/1.4.10@myuser/stable'}
+                                 'id': 'helloTest/1.4.10@fenix/stable'}
                         }
                     ]
                 },
@@ -701,19 +686,19 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                     'items': [
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.10@myuser/testing'}
+                                'id': 'Hello/1.4.10@fenix/testing'}
                         },
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.11@myuser/testing'}
+                                'id': 'Hello/1.4.11@fenix/testing'}
                         },
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.12@myuser/testing'}
+                                'id': 'Hello/1.4.12@fenix/testing'}
                         },
                         {
                             'recipe': {
-                                'id': 'helloTest/1.4.10@myuser/stable'}
+                                'id': 'helloTest/1.4.10@fenix/stable'}
                         }
                     ]
                 }
@@ -734,19 +719,19 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                     'items': [
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.10@myuser/testing'}
+                                'id': 'Hello/1.4.10@fenix/testing'}
                         },
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.11@myuser/testing'}
+                                'id': 'Hello/1.4.11@fenix/testing'}
                         },
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.12@myuser/testing'}
+                                'id': 'Hello/1.4.12@fenix/testing'}
                         },
                         {
                             'recipe': {
-                                'id': 'helloTest/1.4.10@myuser/stable'}
+                                'id': 'helloTest/1.4.10@fenix/stable'}
                         }
                     ]
                 }
@@ -755,7 +740,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
         self.assertEqual(expected_output, output)
 
         # Test search packages local
-        self.client.run("search Hello/1.4.10@myuser/testing --json search.json")
+        self.client.run("search Hello/1.4.10@fenix/testing --json search.json")
         self.assertTrue(os.path.exists(json_path))
         json_content = load(json_path)
         output = json.loads(json_content)
@@ -767,7 +752,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                     'items': [
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.10@myuser/testing'},
+                                'id': 'Hello/1.4.10@fenix/testing'},
                             'packages': [
                                 {
                                     'id': 'LinuxPackageSHA',
@@ -781,7 +766,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                                         'os': 'Linux'},
                                     'requires': [
                                         'Hello2/0.1@lasote/stable:11111',
-                                        'HelloInfo1/0.45@myuser/testing:33333',
+                                        'HelloInfo1/0.45@fenix/testing:33333',
                                         'OpenSSL/2.10@lasote/testing:2222'],
                                     'outdated': False
                                 },
@@ -808,7 +793,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                                         'os': 'Windows'},
                                     'requires': [
                                         'Hello2/0.1@lasote/stable:11111',
-                                        'HelloInfo1/0.45@myuser/testing:33333',
+                                        'HelloInfo1/0.45@fenix/testing:33333',
                                         'OpenSSL/2.10@lasote/testing:2222'],
                                     'outdated': True
                                 }
@@ -821,7 +806,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
         self.assertEqual(expected_output, output)
 
         # Test search packages remote
-        self.client.run("search Hello/1.4.10@myuser/testing -r search_able --json search.json")
+        self.client.run("search Hello/1.4.10@fenix/testing -r search_able --json search.json")
         self.assertTrue(os.path.exists(json_path))
         json_content = load(json_path)
         output = json.loads(json_content)
@@ -833,7 +818,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                     'items': [
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.10@myuser/testing'},
+                                'id': 'Hello/1.4.10@fenix/testing'},
                             'packages': [
                                 {
                                     'id': 'LinuxPackageSHA',
@@ -847,7 +832,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                                         'os': 'Linux'},
                                     'requires': [
                                         'Hello2/0.1@lasote/stable:11111',
-                                        'HelloInfo1/0.45@myuser/testing:33333',
+                                        'HelloInfo1/0.45@fenix/testing:33333',
                                         'OpenSSL/2.10@lasote/testing:2222'],
                                     'outdated': False
                                 },
@@ -874,7 +859,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                                         'os': 'Windows'},
                                     'requires': [
                                         'Hello2/0.1@lasote/stable:11111',
-                                        'HelloInfo1/0.45@myuser/testing:33333',
+                                        'HelloInfo1/0.45@fenix/testing:33333',
                                         'OpenSSL/2.10@lasote/testing:2222'],
                                     'outdated': True
                                 }
@@ -887,7 +872,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
         self.assertEqual(expected_output, output)
 
         # Test search packages remote ALL
-        self.client.run("search Hello/1.4.10@myuser/testing -r all --json search.json")
+        self.client.run("search Hello/1.4.10@fenix/testing -r all --json search.json")
         self.assertTrue(os.path.exists(json_path))
         json_content = load(json_path)
         output = json.loads(json_content)
@@ -899,7 +884,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                     'items': [
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.10@myuser/testing'},
+                                'id': 'Hello/1.4.10@fenix/testing'},
                             'packages': [
                                 {
                                     'id': 'LinuxPackageSHA',
@@ -913,7 +898,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                                         'os': 'Linux'},
                                     'requires': [
                                         'Hello2/0.1@lasote/stable:11111',
-                                        'HelloInfo1/0.45@myuser/testing:33333',
+                                        'HelloInfo1/0.45@fenix/testing:33333',
                                         'OpenSSL/2.10@lasote/testing:2222'],
                                     'outdated': False
                                 },
@@ -940,7 +925,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                                         'os': 'Windows'},
                                     'requires': [
                                         'Hello2/0.1@lasote/stable:11111',
-                                        'HelloInfo1/0.45@myuser/testing:33333',
+                                        'HelloInfo1/0.45@fenix/testing:33333',
                                         'OpenSSL/2.10@lasote/testing:2222'],
                                     'outdated': True
                                 }
@@ -953,7 +938,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                     'items': [
                         {
                             'recipe': {
-                                'id': 'Hello/1.4.10@myuser/testing'},
+                                'id': 'Hello/1.4.10@fenix/testing'},
                             'packages': [
                                 {
                                     'id': 'LinuxPackageSHA',
@@ -967,7 +952,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                                         'os': 'Linux'},
                                     'requires': [
                                         'Hello2/0.1@lasote/stable:11111',
-                                        'HelloInfo1/0.45@myuser/testing:33333',
+                                        'HelloInfo1/0.45@fenix/testing:33333',
                                         'OpenSSL/2.10@lasote/testing:2222'],
                                     'outdated': False
                                 },
@@ -994,7 +979,7 @@ helloTest/1.4.10@myuser/stable""".format(remote)
                                         'os': 'Windows'},
                                     'requires': [
                                         'Hello2/0.1@lasote/stable:11111',
-                                        'HelloInfo1/0.45@myuser/testing:33333',
+                                        'HelloInfo1/0.45@fenix/testing:33333',
                                         'OpenSSL/2.10@lasote/testing:2222'],
                                     'outdated': True
                                 }
diff --git a/conans/test/functional/create_package_test.py b/conans/test/functional/create_package_test.py
index dbd831138..b741c47d9 100644
--- a/conans/test/functional/create_package_test.py
+++ b/conans/test/functional/create_package_test.py
@@ -45,7 +45,7 @@ class ExporterTest(unittest.TestCase):
         client.init_dynamic_vars()
         files = hello_source_files()
 
-        conan_ref = ConanFileReference.loads("Hello/1.2.1@frodo/stable")
+        conan_ref = ConanFileReference.loads("Hello/1.2.1/frodo/stable")
         reg_folder = client.paths.export(conan_ref)
 
         client.save(files, path=reg_folder)
diff --git a/conans/test/functional/scm_test.py b/conans/test/functional/scm_test.py
index d91cdd0cd..d8cc65c71 100644
--- a/conans/test/functional/scm_test.py
+++ b/conans/test/functional/scm_test.py
@@ -214,7 +214,7 @@ other_folder/excluded_subfolder
         self.client.runner('git remote add origin "%s"' % path.replace("\\", "/"), cwd=path)
         self.client.run("create . user/channel")
         self.assertIn("Copying sources to build folder", self.client.out)
-        pref = PackageReference(ConanFileReference.loads("lib/0.1@user/channel"),
+        pref = PackageReference(ConanFileReference.loads("lib/0.1/user/channel"),
                                 NO_SETTINGS_PACKAGE_ID)
         bf = self.client.client_cache.build(pref)
         self.assertTrue(os.path.exists(os.path.join(bf, "myfile.txt")))
@@ -609,7 +609,7 @@ class ConanLib(ConanFile):
 
         self.client.run("create . user/channel")
         self.assertIn("Copying sources to build folder", self.client.out)
-        pref = PackageReference(ConanFileReference.loads("lib/0.1@user/channel"),
+        pref = PackageReference(ConanFileReference.loads("lib/0.1/user/channel"),
                                 NO_SETTINGS_PACKAGE_ID)
         bf = self.client.client_cache.build(pref)
         self.assertTrue(os.path.exists(os.path.join(bf, "myfile.txt")))
diff --git a/conans/test/generators/make_test.py b/conans/test/generators/make_test.py
index 2a31cfc24..eef318df0 100644
--- a/conans/test/generators/make_test.py
+++ b/conans/test/generators/make_test.py
@@ -36,8 +36,8 @@ class MakeGeneratorTest(unittest.TestCase):
         cpp_info.libs = ['libfoo']
         cpp_info.bindirs = ['bin1']
         cpp_info.version = "0.1"
-        cpp_info.cflags = ['-fgimple']
-        cpp_info.cppflags = ['-fdollars-in-identifiers']
+        cpp_info.cflags = ['-fPIC']
+        cpp_info.cppflags = ['-fPIE']
         cpp_info.sharedlinkflags = ['-framework Cocoa']
         cpp_info.exelinkflags = ['-framework QuartzCore']
         conanfile.deps_cpp_info.update(cpp_info, ref.name)
@@ -49,8 +49,8 @@ class MakeGeneratorTest(unittest.TestCase):
         cpp_info.libs = ['libbar']
         cpp_info.bindirs = ['bin2']
         cpp_info.version = "3.2.3"
-        cpp_info.cflags = ['-fno-asm']
-        cpp_info.cppflags = ['-pthread']
+        cpp_info.cflags = ['-mtune=native']
+        cpp_info.cppflags = ['-march=native']
         cpp_info.sharedlinkflags = ['-framework AudioFoundation']
         cpp_info.exelinkflags = ['-framework VideoToolbox']
         conanfile.deps_cpp_info.update(cpp_info, ref.name)
@@ -86,10 +86,10 @@ CONAN_DEFINES_MYPKG1 +=  \\
 MYDEFINE1
 
 CONAN_CFLAGS_MYPKG1 +=  \\
--fgimple
+-fPIC
 
 CONAN_CPPFLAGS_MYPKG1 +=  \\
--fdollars-in-identifiers
+-fPIE
 
 CONAN_SHAREDLINKFLAGS_MYPKG1 +=  \\
 -framework Cocoa
@@ -125,10 +125,10 @@ CONAN_DEFINES_MYPKG2 +=  \\
 MYDEFINE2
 
 CONAN_CFLAGS_MYPKG2 +=  \\
--fno-asm
+-mtune=native
 
 CONAN_CPPFLAGS_MYPKG2 +=  \\
--pthread
+-march=native
 
 CONAN_SHAREDLINKFLAGS_MYPKG2 +=  \\
 -framework AudioFoundation
@@ -242,7 +242,7 @@ include conanbuildinfo.mak
 #     Make variables for a sample App
 #----------------------------------------
 
-INCLUDE_PATHS = \
+CXX_INCLUDES = \
 ./include
 
 CXX_SRCS = \
@@ -257,31 +257,28 @@ libhellowrapper.a
 SHARED_LIB_FILENAME = \
 libhellowrapper.so
 
-CXXFLAGS += \
--fPIC
 
 #----------------------------------------
 #     Prepare flags from variables
 #----------------------------------------
 
-CFLAGS              += $(CONAN_CFLAGS)
-CXXFLAGS            += $(CONAN_CPPFLAGS)
-CPPFLAGS            += $(addprefix -I, $(INCLUDE_PATHS) $(CONAN_INCLUDE_PATHS))
-CPPFLAGS            += $(addprefix -D, $(CONAN_DEFINES))
-LDFLAGS             += $(addprefix -L, $(CONAN_LIB_PATHS))
-LDLIBS              += $(addprefix -l, $(CONAN_LIBS))
-SHAREDLINKFLAGS     += $(CONAN_SHAREDLINKFLAGS)
+CPPFLAGS        += $(addprefix -I, $(CXX_INCLUDES) $(CONAN_INCLUDE_PATHS))
+CPPFLAGS        += $(addprefix -D, $(CONAN_DEFINES))
+LDFLAGS         += $(addprefix -L, $(CONAN_LIB_PATHS))
+LIBS            += $(addprefix -l, $(CONAN_LIBS))
+CXXFLAGS        += $(addprefix -f, PIC)
+
 
 #----------------------------------------
 #     Make Commands
 #----------------------------------------
 
 COMPILE_CXX_COMMAND         ?= \
-	g++ -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
+	g++ -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
 
 CREATE_SHARED_LIB_COMMAND   ?= \
 	g++ -shared $(CXX_OBJ_FILES) \
-	$(CXXFLAGS) $(LDFLAGS) $(LDLIBS) $(SHAREDLINKFLAGS) \
+	$(LDFLAGS) $(LDFLAGS_SHARED) $(CPPFLAGS) $(LIBS) \
 	-o $(SHARED_LIB_FILENAME)
 
 CREATE_STATIC_LIB_COMMAND   ?= \
@@ -340,6 +337,7 @@ class HelloWrapper(ConanFile):
 
         main = """
 #include "hellowrapper.h"
+
 int main()
 {
      hellowrapper();
@@ -362,34 +360,27 @@ main.o
 EXE_FILENAME = \
 main
 
-CXXFLAGS += \
--fPIC
-
-EXELINKFLAGS += \
--fPIE
 
 #----------------------------------------
 #     Prepare flags from variables
 #----------------------------------------
 
-CFLAGS              += $(CONAN_CFLAGS)
-CXXFLAGS            += $(CONAN_CPPFLAGS)
-CPPFLAGS            += $(addprefix -I, $(CONAN_INCLUDE_PATHS))
-CPPFLAGS            += $(addprefix -D, $(CONAN_DEFINES))
-LDFLAGS             += $(addprefix -L, $(CONAN_LIB_PATHS))
-LDLIBS              += $(addprefix -l, $(CONAN_LIBS))
-EXELINKFLAGS        += $(CONAN_EXELINKFLAGS)
+CPPFLAGS        += $(addprefix -I, $(CONAN_INCLUDE_PATHS))
+CPPFLAGS        += $(addprefix -D, $(CONAN_DEFINES))
+LDFLAGS         += $(addprefix -L, $(CONAN_LIB_PATHS))
+LIBS            += $(addprefix -l, $(CONAN_LIBS))
+
 
 #----------------------------------------
 #     Make Commands
 #----------------------------------------
 
 COMPILE_CXX_COMMAND         ?= \
-	g++ -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
+	g++ -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
 
 CREATE_EXE_COMMAND          ?= \
 	g++ $(CXX_OBJ_FILES) \
-	$(CXXFLAGS) $(LDFLAGS) $(LDLIBS) $(EXELINKFLAGS) \
+	$(LDFLAGS) $(LIBS) \
 	-o $(EXE_FILENAME)
 
 
diff --git a/conans/test/integration/python_build_test.py b/conans/test/integration/python_build_test.py
index c639c7042..1550f3fdf 100644
--- a/conans/test/integration/python_build_test.py
+++ b/conans/test/integration/python_build_test.py
@@ -1,6 +1,5 @@
 import os
 import unittest
-from parameterized import parameterized
 
 from conans.model.info import ConanInfo
 from conans.model.ref import ConanFileReference
@@ -83,20 +82,6 @@ class MyConanfileBase(ConanFile):
         client.save({"conanfile.py": conanfile})
         client.run("export . MyConanfileBase/1.1@lasote/testing")
 
-    def with_alias_test(self):
-        client = TestClient(servers={"default": TestServer()},
-                            users={"default": [("lasote", "mypass")]})
-        self._define_base(client)
-        client.run("alias MyConanfileBase/LATEST@lasote/testing MyConanfileBase/1.1@lasote/testing")
-
-        reuse = """from conans import python_requires
-base = python_requires("MyConanfileBase/LATEST@lasote/testing")
-class PkgTest(base.MyConanfileBase):
-    pass
-"""
-        client.save({"conanfile.py": reuse}, clean_first=True)
-        client.run("create . Pkg/0.1@lasote/testing")
-
     def reuse_test(self):
         client = TestClient(servers={"default": TestServer()},
                             users={"default": [("lasote", "mypass")]})
@@ -707,131 +692,3 @@ def external_baz():
         # Should work even if PYTHONPATH is not declared as [], only external resource needed
         client.run('install Hello/0.1@lasote/stable --build missing -e PYTHONPATH="%s"'
                    % external_dir)
-
-
-class PythonRequiresNestedTest(unittest.TestCase):
-
-    @parameterized.expand([(False, False), (True, False), (True, True), ])
-    def test_python_requires_with_alias(self, use_alias, use_alias_of_alias):
-        assert use_alias if use_alias_of_alias else True
-        version_str = "latest2" if use_alias_of_alias else "latest" if use_alias else "1.0"
-        client = TestClient()
-
-        # Create python_requires
-        client.save({CONANFILE: """
-from conans import ConanFile
-
-class PythonRequires0(ConanFile):
-
-    def build(self):
-        super(PythonRequires0, self).build()
-        self.output.info(">>> PythonRequires0::build (v={{}})".format(self.version))
-        """.format(v=version_str)})
-        client.run("export . python_requires0/1.0@jgsogo/test")
-        client.run("alias python_requires0/latest@jgsogo/test "
-                   "python_requires0/1.0@jgsogo/test")
-        client.run("alias python_requires0/latest2@jgsogo/test "
-                   "python_requires0/latest@jgsogo/test")
-
-        # Create python requires, that require the previous one
-        client.save({CONANFILE: """
-from conans import ConanFile, python_requires
-
-base = python_requires("python_requires0/{v}@jgsogo/test")
-
-class PythonRequires1(base.PythonRequires0):
-    def build(self):
-        super(PythonRequires1, self).build()
-        self.output.info(">>> PythonRequires1::build (v={{}})".format(self.version))
-        """.format(v=version_str)})
-        client.run("export . python_requires1/1.0@jgsogo/test")
-        client.run("alias python_requires1/latest@jgsogo/test python_requires1/1.0@jgsogo/test")
-        client.run("alias python_requires1/latest2@jgsogo/test python_requires1/latest@jgsogo/test")
-
-        # Create python requires
-        client.save({CONANFILE: """
-from conans import ConanFile, python_requires
-
-class PythonRequires11(ConanFile):
-    def build(self):
-        super(PythonRequires11, self).build()
-        self.output.info(">>> PythonRequires11::build (v={{}})".format(self.version))
-        """.format(v=version_str)})
-        client.run("export . python_requires11/1.0@jgsogo/test")
-        client.run("alias python_requires11/latest@jgsogo/test python_requires11/1.0@jgsogo/test")
-        client.run("alias python_requires11/latest2@jgsogo/test "
-                   "python_requires11/latest@jgsogo/test")
-
-        # Create python requires, that require the previous one
-        client.save({CONANFILE: """
-from conans import ConanFile, python_requires
-
-base = python_requires("python_requires0/{v}@jgsogo/test")
-
-class PythonRequires22(base.PythonRequires0):
-    def build(self):
-        super(PythonRequires22, self).build()
-        self.output.info(">>> PythonRequires22::build (v={{}})".format(self.version))
-        """.format(v=version_str)})
-        client.run("export . python_requires22/1.0@jgsogo/test")
-        client.run("alias python_requires22/latest@jgsogo/test python_requires22/1.0@jgsogo/test")
-        client.run(
-            "alias python_requires22/latest2@jgsogo/test python_requires22/latest@jgsogo/test")
-
-        # Another python_requires, that requires the previous python requires
-        client.save({CONANFILE: """
-from conans import ConanFile, python_requires
-
-base_class = python_requires("python_requires1/{v}@jgsogo/test")
-base_class2 = python_requires("python_requires11/{v}@jgsogo/test")
-
-class PythonRequires2(base_class.PythonRequires1, base_class2.PythonRequires11):
-
-    def build(self):
-        super(PythonRequires2, self).build()
-        self.output.info(">>> PythonRequires2::build (v={{}})".format(self.version))
-        """.format(v=version_str)})
-        client.run("export . python_requires2/1.0@jgsogo/test")
-        client.run("alias python_requires2/latest@jgsogo/test python_requires2/1.0@jgsogo/test")
-        client.run("alias python_requires2/latest2@jgsogo/test python_requires2/latest@jgsogo/test")
-
-        # My project, will consume the latest python requires
-        client.save({CONANFILE: """
-from conans import ConanFile, python_requires
-
-base_class = python_requires("python_requires2/{v}@jgsogo/test")
-base_class2 = python_requires("python_requires22/{v}@jgsogo/test")
-
-class Project(base_class.PythonRequires2, base_class2.PythonRequires22):
-
-    def build(self):
-        super(Project, self).build()
-        self.output.info(">>> Project::build (v={{}})".format(self.version))
-        """.format(v=version_str)})
-
-        client.run("create . project/1.0@jgsogo/test --build=missing")
-
-        # Check that everything is being built
-        self.assertIn("project/1.0@jgsogo/test: >>> PythonRequires11::build (v=1.0)", client.out)
-        self.assertIn("project/1.0@jgsogo/test: >>> PythonRequires0::build (v=1.0)", client.out)
-        self.assertIn("project/1.0@jgsogo/test: >>> PythonRequires22::build (v=1.0)", client.out)
-        self.assertIn("project/1.0@jgsogo/test: >>> PythonRequires1::build (v=1.0)", client.out)
-        self.assertIn("project/1.0@jgsogo/test: >>> PythonRequires2::build (v=1.0)", client.out)
-        self.assertIn("project/1.0@jgsogo/test: >>> Project::build (v=1.0)", client.out)
-
-        # Check that all the graph is printed properly
-        #   - requirements
-        self.assertIn("    project/1.0@jgsogo/test from local cache - Cache", client.out)
-        #   - python requires
-        self.assertIn("    python_requires11/1.0@jgsogo/test", client.out)
-        self.assertIn("    python_requires0/1.0@jgsogo/test", client.out)
-        self.assertIn("    python_requires22/1.0@jgsogo/test", client.out)
-        self.assertIn("    python_requires1/1.0@jgsogo/test", client.out)
-        self.assertIn("    python_requires2/1.0@jgsogo/test", client.out)
-        #   - packages
-        self.assertIn("    project/1.0@jgsogo/test:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Build",
-                      client.out)
-
-        #   - no mention to alias
-        self.assertNotIn("alias", client.out)
-        self.assertNotIn("alias2", client.out)
diff --git a/conans/test/model/ref_test.py b/conans/test/model/ref_test.py
index 13feaf4b1..dbe017692 100644
--- a/conans/test/model/ref_test.py
+++ b/conans/test/model/ref_test.py
@@ -1,7 +1,7 @@
 import unittest
-
-from conans.errors import ConanException
 from conans.model.ref import ConanFileReference, ConanName, InvalidNameException, check_valid_ref
+from conans.errors import ConanException
+from conans.model.ref import ConanFileReference, ConanName, InvalidNameException
 from conans.model.ref import PackageReference
 
 
@@ -12,7 +12,6 @@ class RefTest(unittest.TestCase):
         self.assertEqual(ref.version, "2.4.10")
         self.assertEqual(ref.user, "lasote")
         self.assertEqual(ref.channel, "testing")
-        self.assertEqual(ref.revision, None)
         self.assertEqual(str(ref), "opencv/2.4.10@lasote/testing")
 
         ref = ConanFileReference.loads("opencv_lite/2.4.10@phil_lewis/testing")
@@ -20,7 +19,6 @@ class RefTest(unittest.TestCase):
         self.assertEqual(ref.version, "2.4.10")
         self.assertEqual(ref.user, "phil_lewis")
         self.assertEqual(ref.channel, "testing")
-        self.assertEqual(ref.revision, None)
         self.assertEqual(str(ref), "opencv_lite/2.4.10@phil_lewis/testing")
 
         ref = ConanFileReference.loads("opencv/2.4.10@3rd-party/testing")
@@ -28,12 +26,8 @@ class RefTest(unittest.TestCase):
         self.assertEqual(ref.version, "2.4.10")
         self.assertEqual(ref.user, "3rd-party")
         self.assertEqual(ref.channel, "testing")
-        self.assertEqual(ref.revision, None)
         self.assertEqual(str(ref), "opencv/2.4.10@3rd-party/testing")
 
-        ref = ConanFileReference.loads("opencv/2.4.10@3rd-party/testing#rev1")
-        self.assertEqual(ref.revision, "rev1")
-
     def errors_test(self):
         self.assertRaises(ConanException, ConanFileReference.loads, "")
         self.assertRaises(ConanException, ConanFileReference.loads, "opencv/2.4.10")
@@ -51,11 +45,6 @@ class RefTest(unittest.TestCase):
         self.assertRaises(ConanException, ConanFileReference.loads,
                           "opencv/2.4.10@laso/testing%s" % "A" * 40)
 
-        self.assertRaises(ConanException, ConanFileReference.loads, "opencv/2.4.10/laso/testing")
-        self.assertRaises(ConanException, ConanFileReference.loads, "opencv/2.4.10/laso/test#1")
-        self.assertRaises(ConanException, ConanFileReference.loads, "opencv@2.4.10/laso/test")
-        self.assertRaises(ConanException, ConanFileReference.loads, "opencv/2.4.10/laso@test")
-
     def revisions_test(self):
         ref = ConanFileReference.loads("opencv/2.4.10@lasote/testing#23")
         self.assertEqual(ref.channel, "testing")
@@ -148,3 +137,4 @@ class CheckValidRefTest(unittest.TestCase):
         ref_pattern = ConanFileReference.loads("package/*@user/channel")
         self.assertFalse(check_valid_ref(ref_pattern, allow_pattern=False))
         self.assertTrue(check_valid_ref(ref_pattern, allow_pattern=True))
+
diff --git a/conans/test/util/tools_test.py b/conans/test/util/tools_test.py
index 22e0feb3f..1b5e896eb 100644
--- a/conans/test/util/tools_test.py
+++ b/conans/test/util/tools_test.py
@@ -1279,12 +1279,6 @@ ProgramFiles(x86)=C:\Program Files (x86)
             self.assertEquals(request.query["file"], "1")
             return static_file(os.path.basename(file_path), root=os.path.dirname(file_path))
 
-        @thread.server.get("/error_url")
-        def error_url():
-            from bottle import response
-            response.status = 500
-            return 'This always fail'
-
         thread.run_server()
 
         out = TestBufferConanOutput()
@@ -1310,14 +1304,6 @@ ProgramFiles(x86)=C:\Program Files (x86)
             self.assertTrue(os.path.exists("test_folder"))
         thread.stop()
 
-        with self.assertRaisesRegexp(ConanException, "Error"):
-            tools.get("http://localhost:%s/error_url" % thread.port,
-                      filename="fake_sample.tar.gz", requester=requests, output=out, verify=False,
-                      retry=3, retry_wait=0)
-
-        # Not found error
-        self.assertEquals(str(out).count("Waiting 0 seconds to retry..."), 2)
-
     def unix_to_dos_unit_test(self):
 
         def save_file(contents):