summaryrefslogtreecommitdiffstats
path: root/examples/doc/repositorycategories.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'examples/doc/repositorycategories.qdoc')
-rw-r--r--examples/doc/repositorycategories.qdoc117
1 files changed, 117 insertions, 0 deletions
diff --git a/examples/doc/repositorycategories.qdoc b/examples/doc/repositorycategories.qdoc
new file mode 100644
index 000000000..dca5ada43
--- /dev/null
+++ b/examples/doc/repositorycategories.qdoc
@@ -0,0 +1,117 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt Installer Framework.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: http://www.gnu.org/copyleft/fdl.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example repositorycategories
+ \ingroup qtifwexamples
+ \title Repository Categories Example
+
+ \brief Using the RepositoryCategories element to set up an
+ online installer where repositories are grouped.
+
+ \image qtifw-examples-repository-categories.png
+
+ \e{Repository Categories} illustrates how to set up an installer
+ where repositories are grouped into categories.
+
+ \include installerfw-examples-configuring.qdocinc
+
+ \list
+ \li The \c <RepositoryCategories> element shows how to group repositories into categories.
+ \c <RepositoryCategories> can contain one or several \c <RemoteRepositories>
+ child elements that specify a connection to repositories. For more
+ information about \c <RemoteRepositories> see
+ \l{Configuring Repositories}.
+ \endlist
+
+ \quotefile repositorycategories/config/config.xml
+
+ \include installerfw-examples-packaging.qdocinc
+
+ \list
+ \li The \c <Default> element is set to \c true to preselect the
+ component in the installer.
+ \endlist
+
+ \quotefile online/packages/A/meta/package.xml
+
+ \section1 Generating the Online Repository
+
+ This installer contains four packages that each have two components. The \c Packages directory contains two components
+ that are not grouped categories. They are always visible in tree view in the component selection page. \c Packages_forcategory1
+ and \c packages2_forcategory1 both contain two components, which are visible when \c Category 1 is fetched. \c Packages_forcategory2
+ contains two components that are visible only when \c Category 2 is fetched.
+
+ The packages need to be converted to a file structure that the installer can
+ fetch at runtime. To use the \c repogen tool to convert the packages, switch
+ to the example source directory on the command line and enter the following
+ command:
+
+ \list
+ \li On Windows:
+ \code
+ ..\..\bin\repogen.exe -p packages repository
+ ..\..\bin\repogen.exe -p packages_forcategory1 repository1
+ ..\..\bin\repogen.exe -p packages2_forcategory1 repository2
+ ..\..\bin\repogen.exe -p packages_forcategory2 repository3
+ \endcode
+ \li On Linux or macOS:
+ \code
+ ../../bin/repogen -p packages repository
+ ../../bin/repogen -p packages_forcategory1 repository1
+ ../../bin/repogen -p packages2_forcategory1 repository2
+ ../../bin/repogen -p packages_forcategory2 repository3
+ \endcode
+ \endlist
+
+ The generated \c repository, \c repository1, \c repository2 and \c repository3 directories will now
+ contain a full copy of the package data and some additionally generated metadata, such as SHA
+ checksums.
+
+ The directories now need to be made available at the URL set in
+ \c config.xml: \c{http://localhost/repository}, \c{http://localhost/repository1}, \c{http://localhost/repository2} and
+ \c{http://localhost/repository3}. How this is done depends on
+ the platform and web server used. If you do not have a running web server
+ yet, but have Python available, you should be able to start a minimal web
+ server from the command line. Make sure you are in the example directory,
+ and then enter:
+
+ \code
+ python -m SimpleHTTPServer 80
+ \endcode
+
+ You should now be able to open and explore \l{http://localhost/repository}
+ in your web browser.
+
+ \note If you do not have enough permissions to set up a web server locally,
+ you can also specify an absolute \c{file:///} URL as the value of the \c URL
+ element in \c config.xml. For example,
+ \c file:///C:/Qt/QtIFW/examples/repositorycategories/repository would be a valid URL on
+ Windows if \c repository is located in \c C:\Qt\QtIFW\examples\repositorycategories.
+
+ \include installerfw-examples-generating-online.qdocinc
+*/