WebHosting Paid by #1Payday.Loans


   The ROCK Linux project has been discontinued in 2010. Here are the old data for the historical record!

Re: [rock-linux] Clarification Please

ROCK Mailing List Archives

Attachments
Entire message
+ (text/plain)
Author: 
Date:   
To: 
Subject: Re: [rock-linux] Clarification Please

On Thursday 06 November 2003 13:24, wrote:
> Hello again,
>
> Ok If I am understanding the handbook correctly, you use Rock to build a
> distro from sources into binaries, which can be used to install on another
> machine via nfs or whatever or burn cds from the packages to install on
> other computers.


During the build process, Rock creates a *.tar.bz2 (esp. for bootdisk targets)
or *.gem file for every package selected for compilation. These files are
stored in the ./build/<Rock-config-id>/pkgs/ directory.

>
> I can not see anywhere, where you can install the distro you just built
> onto the machine you built it on apart from creating iso's and using these
> to install the new distro ????


To install a package.tar.bz2 file in the root hierarchy, simply type:
        tar --directory=/ --use-compress-program=bzip2 --file=package.tar.bz2

To install or update package.gem, you use 'mine', which comes with Rock:
        mine -i package.gem

To install many packages at once, use a bash for-loop:
        for N in ./build/<rock-config-id>/pkgs/*.gem ; do mine -i $N ; done
or
        for N in ./build/<rock-config-id>/pkgs/*.gem ; do tar --directory=/ 
--use-compress-program=bzip2 --file=$N ; done

See 'tar --help' and 'mine --help' for details.

Because several important system libraries might be updated during this
process, I recommend to start an update in single user mode only ('init 1' to
change to single user mode) and reboot immediately afterwards.

> Once the distro is built and installed on the machine how are updates made
> ??? are they built from sources ?


You can
- update the Rock sources (ie package repository, scripts and stuff) via svn,
download a new .tar.bz2 or use './scripts/Update-Src' ( with caution, because
it may remove changes you have made);
- then run './scripts/Update-System' to rebuild packages for which newer
versions are available;
- then run 'mine -i <package-new-version>.gem' to update the packages.

>
> When it says binary packages, is this in the sense of a package like .deb
> or .rpm ..tgz or whatever they use, and if so does this not defeat the
> object of building from sources to avoid dependency hell ?
>


AFAIK the .gem and .tar.bz2 binary packages contain the files that are created
and installed during the build of a specific package plus some database files
in the /var/adm hierarchy, with .gem files also containing meta information.
Many packages require the presence of other packages at build time. These
build-time dependencies have to be matched or else packages will fail to
build or miss some features.
Binaries can also depend on other packages at run-time, usually because they
need shared libraries or other programs. It is perfectly fine to install a
binary package without its run-time dependencies being met. As soon as you
run this binary you will see error messages like "cannot find shared library
xyz". To find and install the relevant packages, mine is helpful again:
        mine -l ./build/<rock-config-id>/pkgs/*.gem | grep xyz
will result in an output like:
        "package-foo: xyz"
When all run-time dependencies are installed, the binary should run as
expected.

> if neither of the above how are the binaries installed from the burned
> iso's. ( not wishing to copy them to the relevant directories by hand )
>


In general, mine takes the root directory as an argument, eg:
        mine -i -R /mnt/new-root pkg.gem
tar can change to a directory before starting extraction, so the equivalent to
the above is:
        tar -x --use-compress-program=bzip2 --directory=/mnt/new-root/ -f pkg.tar.bz2

> Thanks for the help in advance


Yours,
Stefan Fiedler

-- 
To unsubscribe from this list: send a mail with the subject "unsubscribe
rock-linux" to <>. For more information about ROCK
Linux have a look at <https://www.rocklinux.org/>.