-
Notifications
You must be signed in to change notification settings - Fork 38
Install from compiled sources
It is fairly straight forward to compile the project and produce packages for your specific distro ready for installation using the scripts under the /packaging
directory. This section describes the process a bit more thoroughly than the /packaging/README.MD
file.
Obviously different distros come with different things pre-installed - so there are some tools you must have installed before proceeding. These are: bash
, cmake
, coreutils
, fakeroot
, gcc
, make
, pkg-config
, python3
For RPM based distros, you also need rpmdevtools
.
For Alpine Linux, you also need abuild
and build-base
.
The /packaging/chkdeps.sh
script will identify the packages you need to install on your distro in order to compile the project. You can bung this in a one-liner to install it all in your package manager like so:
sudo <pkgmgr command> $(./chkdeps.sh -l | cut -d':' -f2 | tr '\n' ' ')
So if you're on Debian this would be:
sudo apt install $(./chkdeps.sh -l | cut -d':' -f2 | tr '\n' ' ')
You should now be ready to produce a build of the project. This process will compile all components and produce packages for your distro for each one.
All you need to do is run ./buildall.sh
in the /packaging
directory.
Alpine Linux users! You may need to run abuild-keygen -a
if this is your first time building packages - abuild
will tell you this anyway if you forget
By default this will build the project under the xpclient-pro
SKU (Windows XP Professional). If you would like a different SKU, you can pass the -s
parameter to specify, such as ./buildall.sh -s dnsrv-std
(for Windows Server 2003 Standard Edition).
Assuming everything built correctly, you should now see the /packaging/xptc
directory. You'll find the build output under here, nested in some subdirectories related to the build tag, package format and architecture.
There is an order to installing the packages, some of them depend on each other (pretty much all the programs depend on libwintc-comgtk
).
Void Linux users! You must first index the packages with sudo xbps-rindex -a ./*
You can use the following to install everything - essentially install the libraries in order, then install the whole lot:
for lib in 'comgtk' 'shcommon' 'syscfg' 'registry' 'shelldpa' 'shlang' 'winbrand' 'sndapi' 'comctl' 'exec' 'msgina' 'shellext' 'shell'
do
find . -type f -iname "*${lib}.*" -exec sudo <pkgmgr command> '{}' \;
done
find . -type f -exec sudo <pkgmgr command> '{}' \;
In this case <pkgmgr command>
is for installing a local package. On Arch this would be pacman -U
for example.
Void Linux users! Hello again - you actually want to run this command:
sudo xbps-install --repository=$PWD -y $(xbps-query --repository=$PWD --search wintc | cut -d' ' -f2 | tr '\n' ' ')
Now the packages are installed, you will need to configure your system to actually make use of them.