mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
Add instructions for building binaries using bypy
This commit is contained in:
parent
beb9727757
commit
0bb66f2316
@ -38,3 +38,7 @@ calibre is a result of the efforts of many volunteers from all over the world.
|
||||
If you find it useful, please consider contributing to support its development.
|
||||
[Donate to support calibre development](https://calibre-ebook.com/donate).
|
||||
|
||||
## Building calibre binaries
|
||||
|
||||
See [Build instructions](bypy/README.rst) for instructions on how to build the
|
||||
calibre binaries and installers for all the platforms calibre supports.
|
||||
|
127
bypy/README.rst
Normal file
127
bypy/README.rst
Normal file
@ -0,0 +1,127 @@
|
||||
Build the calibre installers, including all dependencies from scratch
|
||||
=======================================================================
|
||||
|
||||
This folder contains code to automate the process of building calibre,
|
||||
including all its dependencies, from scratch, for all platforms that calibre
|
||||
supports.
|
||||
|
||||
In general builds proceed in two steps, first build all the dependencies, then
|
||||
build the calibre installer itself.
|
||||
|
||||
Requirements
|
||||
---------------
|
||||
|
||||
Building *must* run on a Linux computer.
|
||||
|
||||
First create some empty top level directory and run the following commands::
|
||||
|
||||
git clone https://github.com/kovidgoyal/bypy.git
|
||||
git clone https://github.com/kovidgoyal/calibre.git
|
||||
cd calibre
|
||||
./setup.py bootstrap
|
||||
|
||||
To make the Windows and macOS builds it uses VirtualBox VMs. Instructions on
|
||||
creating the VMs are in their respective sections below.
|
||||
|
||||
Linux
|
||||
-------
|
||||
|
||||
To build the 64bit and 32bit dependencies for calibre, run::
|
||||
|
||||
./setup.py build_dep linux
|
||||
./setup.py build_dep linux 32
|
||||
|
||||
The output (after a very long time) will be in :file:`bypy/b/linux/[32|64]`
|
||||
|
||||
Now you can build the calibre Linux tarballs with::
|
||||
|
||||
./setup.py linux
|
||||
|
||||
The output will be in :file:`dist`
|
||||
|
||||
|
||||
macOS
|
||||
--------------
|
||||
|
||||
You need a VirtualBox virtual machine of macOS 10.14 (Mojave). Name the
|
||||
VM using ``vm_name`` from :file:`bypy/macos.conf`. To setup macOS inside the VM,
|
||||
follow the steps:
|
||||
|
||||
* Turn on Remote Login under Network (SSHD)
|
||||
* Create a user account named ``kovid`` and enable password-less login for SSH
|
||||
for that account (setup `~/.ssh/authorized_keys`)
|
||||
* Setup ssh into the VM from the host using the ``vm_name`` from above.
|
||||
* Install the needed software mentioned in :file:`bypy/macos.conf`.
|
||||
|
||||
To build the dependencies for calibre, run::
|
||||
|
||||
./setup.py build_dep macos
|
||||
|
||||
The output (after a very long time) will be in :file:`bypy/b/macos`.
|
||||
Now you can build the calibre ``.dmg`` with::
|
||||
|
||||
./setup.py osx --dont-sign --dont-notarize
|
||||
|
||||
The output will be in :file:`dist`
|
||||
|
||||
|
||||
Windows
|
||||
-------------
|
||||
|
||||
You need a VirtualBox virtual machine of Windows 7 64bit. Name the
|
||||
VM using ``vm_name`` from :file:`bypy/windows.conf`. To setup windows inside the VM,
|
||||
follow the steps:
|
||||
|
||||
* Install all the software mentioned in :file:`bypy/windows.conf`
|
||||
* Install cygwin, with the: vim, dos2unix, rsync, openssh, unzip, wget, make, zsh, patch, bash-completion, curl
|
||||
packages
|
||||
* Edit /etc/passwd and replace all occurrences of /bin/bash with /bin/zsh (in
|
||||
a cygwin prompt)
|
||||
* Setup a password for your windows user account
|
||||
* Follow the steps here:
|
||||
http://pcsupport.about.com/od/windows7/ht/auto-logon-windows-7.htm to allow the
|
||||
machine to bootup without having to enter the password
|
||||
|
||||
* The following steps must all be run in an administrator cygwin shell, to
|
||||
enable SSH logins to the machine
|
||||
|
||||
* First clean out any existing cygwin ssh setup with::
|
||||
net stop sshd
|
||||
cygrunsrv -R sshd
|
||||
net user sshd /DELETE
|
||||
net user cyg_server /DELETE (delete any other cygwin users account you
|
||||
can list them with net user)
|
||||
rm -R /etc/ssh*
|
||||
mkpasswd -cl > /etc/passwd
|
||||
mkgroup --local > /etc/group
|
||||
* Assign the necessary rights to the normal user account (administrator
|
||||
cygwin command prompt needed - editrights is available in \cygwin\bin)::
|
||||
editrights.exe -a SeAssignPrimaryTokenPrivilege -u kovid
|
||||
editrights.exe -a SeCreateTokenPrivilege -u kovid
|
||||
editrights.exe -a SeTcbPrivilege -u kovid
|
||||
editrights.exe -a SeServiceLogonRight -u kovid
|
||||
* Run::
|
||||
ssh-host-config
|
||||
And answer (yes) to all questions. If it asks do you want to use a
|
||||
different user name, specify the name of your user account and enter
|
||||
username and password
|
||||
* On Windows XP, I also had to run::
|
||||
passwd -R
|
||||
to allow sshd to use my normal user account even with public key
|
||||
authentication. See http://cygwin.com/cygwin-ug-net/ntsec.html for
|
||||
details. On Windows 7 this wasn't necessary for some reason.
|
||||
* Start sshd with::
|
||||
net start sshd
|
||||
* See http://www.kgx.net.nz/2010/03/cygwin-sshd-and-windows-7/ for details
|
||||
|
||||
To build the dependencies for calibre, run::
|
||||
|
||||
./setup.py build_dep windows
|
||||
./setup.py build_dep windows 32
|
||||
|
||||
The output (after a very long time) will be in :file:`bypy/b/windows/[32|64]`.
|
||||
Now you can build the calibre windows installers with::
|
||||
|
||||
./setup.py win --dont-sign
|
||||
|
||||
The output will be in :file:`dist`
|
Loading…
x
Reference in New Issue
Block a user