I'm running a CentOS 6.5 chroot to build Pale Moon (a Firefox fork) for older machines running distros like Puppy linux. Before anyone asks...
* Yes, even though the older machines are using "ancient" glibc, etc, they do have security patches back-ported, e.g. http://www.murga-linux.com/puppy/viewtopic.php?t=90461 "Lucid Puppy Revitalized as 5.2.8.7 - December, 2016"
* I realize that CentOS 6.5 is "not safe for surfing". It starts at the commandline, and the only network activity is pulling down source code with git, and scp to send the compiled package to the host, i.e. my desktop PC. If necessary, that could be done by the host OS. It's used for building, and nothing else. Currently just Pale Moon, but other software could also be built.
Other people are interested in doing the same. My choices are... * explain how to install CentOS 6.5, which options to choose, turn off boot-to-gui, and how to download and build newer gcc, yasm, and python-2.7 to duplicate my build environment, etc, etc. * or send out a 1.3 gigabyte centos65.tar.xz and give simple instructions to extract the archive, copy over /etc/resolv.conf, bind-mount /dev and /proc, chroot into the directory, and get going right away.
I'm not charging money, but the 2nd choice literally involves re-distributing CentOS, and additional Open Source software. I believe that I'm required to provide at least the location from which it can be obtained. Here's a first draft of my "licences.txt". Any problems, suggestions?
======================================================================== The tarball is a collection of various Open Source software, assembled and bundled together by Walter Dnes waltdnes@waltdnes.org. It's based on a 32-bit CentOS 6.5 install. Additional components necessary for the building of Pale Moon 27 were built from source. It was originally installed in a QEMU VM (Virtual Machine), and then rsync'd to a directory on the host machine for use as a chroot environment. The tarballed directory is intended to run as a chroot environment.
The various softwares remain subject to their original licences. As required by many Open Source licences, here is a list of where the original software can be obtained.
* The CentOS 6.5 distro can be obtained at http://vault.centos.org/6.5/isos/i386/CentOS-6.5-i386-bin-DVD1.iso http://vault.centos.org/6.5/isos/i386/CentOS-6.5-i386-bin-DVD2.iso DVD1 is approx 3.6 gigabytes and DVD2 is approx 1 gigabyte
The following additional source code was downloaded and used to build additional infrastructure required for building Pale Moon.
* Python 2.7.13 can be otained at https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
* gcc 4.9.4 can be obtained at http://gcc.parentingamerica.com/releases/gcc-4.9.4/gcc-4.9.4.tar.bz2
* gcc 5.4.0 can be obtained at http://gcc.parentingamerica.com/releases/gcc-5.4.0/gcc-5.4.0.tar.bz2
* YASM 1.3.0 can be obtained at http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz ========================================================================
On Feb 10, 2017, at 9:32 PM, Walter Dnes waltdnes@waltdnes.org wrote:
Other people are interested in doing the same. My choices are...
- explain how to install CentOS 6.5, which options to choose, turn off boot-to-gui, and how to download and build newer gcc, yasm, and python-2.7 to duplicate my build environment, etc, etc.
- or send out a 1.3 gigabyte centos65.tar.xz and give simple instructions to extract the archive, copy over /etc/resolv.conf, bind-mount /dev and /proc, chroot into the directory, and get going right away.
Wouldn’t this be easier done as a mock chroot? I realize you’re not building RPMs, but you could use the chroot for building any software, and on any arbitrary CentOS or Fedora system.
-- Jonathan Billings billings@negate.org
On Sat, Feb 11, 2017 at 08:06:49AM -0500, Jonathan Billings wrote
Wouldn't this be easier done as a mock chroot? I realize you're not building RPMs, but you could use the chroot for building any software, and on any arbitrary CentOS or Fedora system.
1) Not everybody runs Fedora/Redhat/CentOS
2) The builds I'm doing are targetted at distros, like Puppy linux, which use older libs with backported security fixes. Pale Moon built in a chroot or mock chroot in CentOS 6.8 and up, let alone any modern distro, does not run on "Lucid Puppy" linux. That's because it'll expect the newer libs on the target machine. This is why I have to provide the entire old CentOS 6.5 environment complete with older libs to build against.
On Feb 11, 2017, at 10:57 AM, Walter Dnes waltdnes@waltdnes.org wrote:
- The builds I'm doing are targetted at distros, like Puppy linux,
which use older libs with backported security fixes. Pale Moon built in a chroot or mock chroot in CentOS 6.8 and up, let alone any modern distro, does not run on "Lucid Puppy" linux. That's because it'll expect the newer libs on the target machine. This is why I have to provide the entire old CentOS 6.5 environment complete with older libs to build against.
The point I was making is to make the old CentOS 6.5 environment as a chroot. Or maybe a docker container? Something that you could spin up on a secure OS?
For that matter, you could probably just build a Puppy Linux docker container.
-- Jonathan Billings billings@negate.org
On Sun, Feb 12, 2017 at 10:43:39AM -0500, Jonathan Billings wrote
The point I was making is to make the old CentOS 6.5 environment as a chroot.
That's exactly my intention. As I said in my original message...
- or send out a 1.3 gigabyte centos65.tar.xz and give simple instructions to extract the archive, copy over /etc/resolv.conf, bind-mount /dev and /proc, chroot into the directory, and get going right away.
The point of my first post was to ask about licencing. Regardless of whether I'm sending out a bootable ISO, or a QEMU disk image, or a tarred up chrootable directory, I'm re-distributing Open Source code and/or binaries, which I assume requires appropriate pointers to where they can be obtained.
On Feb 12, 2017, at 2:36 PM, Walter Dnes waltdnes@waltdnes.org wrote:
The point of my first post was to ask about licencing. Regardless of whether I'm sending out a bootable ISO, or a QEMU disk image, or a tarred up chrootable directory, I'm re-distributing Open Source code and/or binaries, which I assume requires appropriate pointers to where they can be obtained.
I guess I’m not being clear. I was suggesting writing instructions on building the chroot or VM, rather than passing around a compressed root.
If it were up to me, I’d build a VM image on top of an already published vagrant image:
http://www.vagrantbox.es/ http://www.vagrantbox.es/
-- Jonathan Billings billings@negate.org