about summary refs log tree commit diff stats
path: root/examples/Readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Readme.md')
0 files changed, 0 insertions, 0 deletions
id='n71' href='#n71'>71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190
<!DOCTYPE html>
<html dir="ltr" lang="en">
    <head>
        <meta charset='utf-8'>
        <title>2.3. Package Management</title>
    </head>
    <body>

        <a href="index.html">Core OS Index</a>

        <h1>2.3. Package Management</h1>

        <p>For more information read crux handbook Package management
        front-end:
        <a href="https://crux.nu/Handbook3-3#ntoc20">prt-get</a>
        and Introduction to
        <a href="https://crux.nu/Main/Handbook3-3#ntoc14">pkgutils</a>.</p>
        </p>


        <dl>
            <dt>pkgmk(8)</dt>

            <dd>Makes a software package. A package is an archive of
            files (.pkg.tar.gz, .pkg.tar.bz2 or  .pkg.tar.xz)
            that can be installed using pkgadd(8).</dd>

            <dt>pkgadd(8)</dt>

            <dd>install a software package. A package is an
            archive of files (.pkg.tar.gz).</dd>

            <dt>pkginfo(8)</dt>

            <dd>Displays information about software packages that
            are installed on the system or  that  reside  in  a
            particular directory.</dd>

            <dt>pkgrm(8)</dt>

            <dd>Removes/uninstalls a previously installed software
            packages.</dd>

            <dt>prt-get(8)</dt>

            <dd>prt-get is a package management tool which
            provides additional functionality to crux' package
            management system. It works with the local ports tree
            and is therefore fully compatible with ports(8) and
            pkgmk(8)/pkgadd(8)</dd>
        </dl>

        <p>Test configuration by runing prt-get as admin user installing
        ports that are related;</p>

        <pre>
        $ prt-get depinst prt-utils prt-get-bashcompletion
        </pre>

        <h2 id="sysup">2.3.1. Update System</h2>

        <p>Before build software get latest version of port collections;</p>

        <pre>
        $ sudo ports -u
        </pre>

        <p>When coming from install or there is to much updates, I prefer to
        update gcc, glibc, libtool and binutils before doing a sysup;</p>

        <pre>
        $ prt-get update gcc
        $ prt-get update glibc
        $ prt-get update libtool
        $ prt-get update binutils
        </pre>

        <p>Build and install updated versions of ports;</p>

        <pre>
        $ prt-get sysup
        </pre>

        <p>Rebuild any revision dependency;</p>

        <pre>
        $ prt-get update -fr $(revdep)
        </pre>

        <h2 id="depinst">2.3.2. Install port and dependencies</h2>

        <p>Installing using prt-get tool;</p>

        <pre>
        $ prt-get depinst git
        </pre>

        <p>Installing using pkgmk and pkgadd, first build the package;</p>

        <pre>
        $ cd /usr/ports/opt/git
        $ sudo -H -u pkgmk fakeroot pkgmk -d
        </pre>

        <p>Install the package;</p>

        <pre>
        $ sudo pkgadd /usr/ports/packages/git#2.9.3-1.pkg.tar.gz
        </pre>

        <p>If you user pkgmk and pkgadd allways check if README, pre and post
        instal files exist.</p>

        <h3 id="ports">2.3.3. Ports collections</h3>

        <p>Clone this documentation;</p>

        <pre>
        $ git clone git://tribu.semdestino.org/ports.git
        </pre>

        <p>Install collections later documented;</p>

        <pre>
        $ sudo cp doc/core/conf/ports/* /etc/ports/
        </pre>

        <p>Edit /etc/prt-get.conf to activate new collections;</p>

        <pre>
        # the following line enables the user maintained contrib collection
        prtdir /usr/ports/contrib

        # ports described on this documentation
        prtdir /usr/ports/ports

        # 6c37 team provides a collection with freetype-iu, fontconfig-iu
        # and cairo-iu ports.
        # prtdir /usr/ports/6c37-dropin
        # prtdir /usr/ports/6c37
        </pre>

        <p>Get new ports;</p>

        <pre>
        $ sudo ports -u ports
        </pre>

        <h2 id="info">2.3.4. Show port information</h2>

        <pre>
        $ prt-get info port_name
        </pre>

        <p>List files port install into system;</p>

        <pre>
        $ pkginfo -l package_name
        </pre>

        <p>Discover to wich port a file belongs;</p>

        <pre>
        $ pkginfo -o filename
        </pre>

        <h2 id="depends">2.3.5. Show port dependencies</h2>

        <pre>
        $ prt-get depends port_name
        </pre>

        <h2 id="printf">2.3.6. Print information</h2>

        <p>Example how to get ports installed from contrib. Maybe there is
        a "cleaner" way to this, for now is ok;</p>

        <pre>
        prt-get printf "%p %i %n %v\n" | grep "/usr/ports/contrib yes"
        </pre>

        <a href="index.html">Core OS Index</a>
        <p>This is part of the Tribu System Documentation.
        Copyright (C) 2020
        Tribu Team.
        See the file <a href="../fdl-1.3-standalone.html">Gnu Free Documentation License</a>
        for copying conditions.</p>

    </body>
</html>