This all started when I first discovered Pale Moon for linux. I liked it immediately, but did not appreciate the hard-coded dependancy on dbus. So I set out to learn how to "roll my own". Soon I had a script for my ancient Atom netbook, and a script for my main desktop, and a script for my backup desktop. There was a lot of duplication, and I had problems tracking the differences, so I made a serious effort to separate the general infrastructure from the variable components. The result is a build environment that uses...
- infrastructure (necessary)
- a file called "mozconfig.txt" (necessary)
- a file called "customize" (optional)
- The top level (sub)directory is the main Pale Moon development directory. Let's call it "pmmain", but any legal name will do.
- Download the file "utils.tgz" attached to this post to "pmmain" (or whatever you called the main directory).
- Extract the file with the command...
This will create a subdirectory "utils"Code: Select all
tar -xvzf utils.tgz
- Clone the current branch from git. As of this post, the current branch is 27.0_RelBranch Note that this includes 27.0.x.y.z.etc. Stuff after the 2nd decimal point is not a seprate branch, although it may be released separately. There are 2 ways to do the cloning...
- The hard way (Note: the following is actually one long line. It is not supposed to wrap)...
Code: Select all
git clone -b 27.0_RelBranch --depth 1 https://github.com/MoonchildProductions/Pale-Moon.git pmsrc
- The easy way
Code: Select all
utils/getcode 27.0
- The hard way (Note: the following is actually one long line. It is not supposed to wrap)...
- Create a subdirectory for each distinct version that you intend to build. For many people a "native" directory is sufficient. Any legal name will work, but it makes things easier if the directory name is descriptive, e.g. "native", "netbook", "machinexyz". For now we'll concentrate on the native build.
Code: Select all
mkdir native
- cd to the native directory, and symlink to the source directory
Code: Select all
cd native ln -s ../pmsrc pmsrc
- Symlink the files in the utils directory into the "native" directory...
Code: Select all
../utils/makelinks
Code: Select all
time ./build