From fe6eb26aea0379562a320c06dbc6a02592af0d7c Mon Sep 17 00:00:00 2001
From: Marcel Telka <marcel@telka.sk>
Date: Sun, 31 Mar 2024 10:57:03 +0200
Subject: [PATCH] python/pytest-relaxed: update to 2.0.2

---
 README |  188 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 150 insertions(+), 38 deletions(-)

diff --git a/README b/README
index a2de0fd..183ae4e 100644
--- a/README
+++ b/README
@@ -2,46 +2,158 @@
 	    Getting started with the Userland Consolidation
 
 
-Building the bits
+Getting Started
 
-    The Userland consolidation maintains a Mercurial gate at
-    
-        ssh://anon@hg.opensolaris.org//hg/userland/gate
-        
+    This README provides a very brief overview of the gate, how to retrieve
+    a copy, and how to build it.  Detailed documentation about the Userland
+    gate can be found in the 'doc' directory.  Questions or comments about
+    the gate can be addressed to oi-dev@openindiana.org.
+
+Overview
+
+    The Userland consolidation maintains a Git repository at
+
+	https://github.com/OpenIndiana/oi-userland
+
     This gate contains build recipies, patches, IPS manifests, etc. necessary
     to download, prep, build, test, package and publish open source software.
-    In order to build the contents of the Userland gate, you need to clone it.
-    Since you are reading this, you probably already have, but in any event
-    you can do so with the following command
-    
-    $ hg clone ssh://anon@hg.opensolaris.org//hg/userland/gate /scratch/clone
-    
-    In order to build the bits either individually or collectively, you must
-    set the WS_TOP environment variable to point to the top of your workspace.
-    
-    $ export WS_TOP=/scratch/clone
-    
-    To build and publish the entire contents of the gate, you can use
-    
-    $ cd /scratch/clone
-    $ gmake publish
-    
-    To build and publish a specific component you need to initialize the
-    workspace by building the tools and creating a repository to publish
-    your results in.  The easiest way to do this is to
-    
-    $ cd /scratch/clone
-    $ gmake setup
-    
-    Once you have initialize the the workspace, you can build individual
-    components by
-    
-    $ cd /scratch/clone/components/(component)
-    $ gmake publish
-    
-    All of the bits are are built will be published to the repository created
-    by the setup step (file:///scratch/clone/repo/)  If you build the entire
-    contents of the gate, individual build logs for each component will be
-    located at /scratch/clone/logs/(target):(component).log
+    The build infrastructure is similiar to that of the SFW consolidation in
+    that it makes use of herarchical Makefiles which provide dependency and
+    recipe information for building the components.  In order to build the
+    contents of the Userland gate, you need to clone it.  Since you are
+    reading this, you probably already have.
 
+Getting the Bits
 
+    As mentioned, the gate is stored in a Git repository.  In order to
+    build or develop in the gate, you will need to clone it.  You can do so
+    with the following command
+
+      $ git clone https://github.com/OpenIndiana/oi-userland.git /scratch/clone
+
+    This will create a replica of the various pieces that are checked into the
+    source code management system, but it does not retrieve the community
+    source archives associated with the gate content.  To download the
+    community source associated with your cloned workspace, you will need to
+    execute the following:
+
+      $ cd /scratch/clone/components
+      $ gmake download
+
+    This will use GNU make and the downloading tool in the gate to walk through
+    all of the component directories downloading and validating the community
+    source archives from the gate machine or their canonical source repository.
+
+    There are two variation to this that you may find interesting.  First, you
+    can cause gmake(1) to perform it's work in parallel by adding '-j (jobs)'
+    to the command line.  Second, if you are only interested in working on a
+    particular component, you can change directories to that component's
+    directory and use 'gmake download' from that to only get it's source
+    archive.
+
+    Also, when you start to work with a new archive file - update the source
+    version in an existing recipe component, or start a new one from scratch -
+    you can use 'gmake fetch' to download the archive(s) defined in the new
+    recipe, calculate the checksums and *NOT* remove the archive because its
+    actual checksum does not match the value recorded in the recipe Makefile
+    (if any) so the download is deemed corrupted while you know it is not.
+    There is also a side-effect: by framework recipe, a file in the download
+    location only depends on the component recipe Makefile. So once an archive
+    is "fetched" (downloaded and not removed), it will not be re-verified -
+    the downloading script is just not called. This is a moderate problem,
+    since the "fetch" ability is a helper for recipe-makers doing initial
+    archive downloads in a certain situation, to save some traffic and time
+    on their workstations. You can still remove files fetched by a recipe
+    using 'gmake clobber'.
+
+Building the Bits
+
+    You can build individual components or the contents of the entire gate.
+
+  Integration with ccache to speed up re-builds
+
+    If you happen to build the same sources several times (e.g. iterating
+    attempts to produce a working recipe, or maintaining an automated build
+    server), you can benefit from 'ccache' integration in 'oi-userland'.
+    Note that this feature is currently experimental and off by default.
+
+    The 'ccache' component is available as part of the project repository.
+    Once you have the resulting package installed, you can pass the 'make'
+    argument or environment variable 'ENABLE_CCACHE=true' to wrap the GNU
+    compiler invocations with the caching program - so that the same inputs
+    would re-produce same outputs quickly.
+
+    You can pre-set this variable in your user account '~/.profile' like this:
+
+       ### To speed up OI-userland re-builds
+       ENABLE_CCACHE=true
+       export ENABLE_CCACHE
+
+    Note: be wary of ccache's own CCACHE_DISABLE environment variable: any
+    value (empty, "false" etc.) is considered a "true" setting for ccache
+    booleans (and so disables the program, falling through to real compiler).
+
+  Keeping all sources in one place
+
+    The Userland consolidation tools automate download of required source
+    tarballs.  By older default they were kept in each component's directory,
+    but you could centralize it by using the 'USERLAND_ARCHIVES' variable.
+    Recently the defaults change to pre-initialize 'USERLAND_ARCHIVES' to
+    point into '$(WS_TOP)/archives/' unless customized by the caller - for
+    example, to share the common download area between multiple workspaces.
+
+    You can pre-set this variable in your user account '~/.profile' like
+    this (and note that the trailing slash is required):
+
+       ### For oi-userland source files
+       USERLAND_ARCHIVES="$HOME/Downloads/"
+       export USERLAND_ARCHIVES
+
+    See also the 'make-rules/shared-macros.mk' for 'INTERNAL_ARCHIVE_MIRROR',
+    'EXTERNAL_ARCHIVE_MIRROR' and envvar 'DOWNLOAD_SEARCH_PATH' to get some
+    ideas about using HTTP mirrors to e.g. reduce network load and lags if you
+    can access a country- or organization-local mirror of opensource projects.
+
+  Component build
+
+    If you are only working on a single component, you can just build it using
+    following:
+
+      setup the workspace for building components
+
+        $ cd (your-workspace)/components ; gmake setup
+
+      build the individual component
+
+        $ cd (component-dir) ; gmake publish
+
+  Complete Top Down build
+
+    Complete top down builds are also possible by simply running
+
+      $ cd (your-workspace)/components
+      $ gmake publish
+
+    The 'publish' target will build each component and publish it to the
+    workspace IPS repo.
+
+    Tools to help facilitate build zone creation will be integrated
+    shortly.  If the zone you create to build your workspace in does not have
+    networking enabled, you can pre-download any community source archives into
+    your workspace from the global with:
+
+      $ cd (your-workspace)/components
+      $ gmake download
+
+    You can add parallelism to your builds by adding '-j (jobs)' to your gmake
+    command line arguments.  Note that if the host is constrained on resources
+    or the component source Makefiles are poorly thought out, parallel builds
+    can fail - in this case subsequent single-job (sequential) builds should
+    succeed to complete the missing build products.
+
+    It is worth noting that the OpenIndiana Hipster build server uses the
+    'COMPONENT_BUILD_ARGS=-j4' option by default for moderate parallelization
+    of its builds.
+
+    The gate should only incrementally build what it needs to based on what has
+    changed since you last built it.

--
Gitblit v1.9.3