mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
speedo: Support building from dist-source generated tarball.
This commit is contained in:
parent
5bf04522e3
commit
47e63dc001
4
README
4
README
@ -70,6 +70,10 @@ binary gpg but a gpg2 so that this package won't conflict with a GnuPG
|
||||
In case of problem please ask on the gnupg-users@gnupg.org mailing
|
||||
list for advise.
|
||||
|
||||
Instruction on how to build for Windows can be found in the file
|
||||
doc/HACKING in the section "How to build an installer for Windows".
|
||||
This requires some experience as developer.
|
||||
|
||||
Note that the PKITS tests are always skipped unless you copy the PKITS
|
||||
test data file into the tests/pkits directory. There is no need to
|
||||
run these test and some of them may even fail because the test scripts
|
||||
|
@ -46,19 +46,24 @@
|
||||
SPEEDO_MK := $(realpath $(lastword $(MAKEFILE_LIST)))
|
||||
|
||||
|
||||
# Set this to "git" or "release".
|
||||
# Set this to "git" to build from git,
|
||||
# to "release" from tarballs,
|
||||
# to "this" from the unpacked sources.
|
||||
WHAT=git
|
||||
|
||||
# Set target to "native" or "w32"
|
||||
TARGETOS=w32
|
||||
|
||||
# Set to the location of the directory with traballs of
|
||||
# Set to the location of the directory with tarballs of
|
||||
# external packages.
|
||||
TARBALLS=$(shell pwd)/../tarballs
|
||||
|
||||
# Number of parallel make jobs
|
||||
MAKE_J=3
|
||||
|
||||
# Name to use for the w32 installer and sources
|
||||
INST_NAME=gnupg-w32
|
||||
|
||||
# =====BEGIN LIST OF PACKAGES=====
|
||||
# The packages that should be built. The order is also the build order.
|
||||
# Fixme: Do we need to build pkg-config for cross-building?
|
||||
@ -172,7 +177,8 @@ pkg2rep = $(TARBALLS)
|
||||
# Note that you can override the defaults in this file in a local file
|
||||
# "config.mk"
|
||||
|
||||
ifeq ($(WHAT),git)
|
||||
ifeq ($(WHAT),this)
|
||||
else ifeq ($(WHAT),git)
|
||||
speedo_pkg_libgpg_error_git = $(gitrep)/libgpg-error
|
||||
speedo_pkg_libgpg_error_gitref = master
|
||||
speedo_pkg_npth_git = $(gitrep)/npth
|
||||
@ -191,7 +197,7 @@ ifeq ($(WHAT),git)
|
||||
speedo_pkg_gpa_gitref = master
|
||||
speedo_pkg_gpgex_git = $(gitrep)/gpgex
|
||||
speedo_pkg_gpgex_gitref = master
|
||||
else
|
||||
else ifeq ($(WHAT),release)
|
||||
speedo_pkg_libgpg_error_tar = \
|
||||
$(pkgrep)/libgpg-error/libgpg-error-$(libgpg_error_ver).tar.bz2
|
||||
speedo_pkg_npth_tar = \
|
||||
@ -210,6 +216,8 @@ else
|
||||
$(pkgrep)/gpa/gpa-$(gpa_ver).tar.bz2
|
||||
speedo_pkg_gpgex_tar = \
|
||||
$(pkgrep)/gpex/gpgex-$(gpa_ver).tar.bz2
|
||||
else
|
||||
$(error invalid value for WHAT (use on of: git release this))
|
||||
endif
|
||||
|
||||
speedo_pkg_pkg_config_tar = $(pkg2rep)/pkg-config-$(pkg_config_ver).tar.gz
|
||||
@ -529,7 +537,9 @@ $(stampdir)/stamp-$(1)-00-unpack: $(stampdir)/stamp-directories
|
||||
@echo "speedo: */"
|
||||
@(set -e; cd $(sdir); \
|
||||
$(call SETVARS,$(1)); \
|
||||
if [ "$(1)" = "gnupg" ]; then \
|
||||
if [ "$(WHAT)" = "this" ]; then \
|
||||
echo "speedo: using included source"; \
|
||||
elif [ "$(1)" = "gnupg" ]; then \
|
||||
cd $$$${pkgsdir}; \
|
||||
if [ -f config.log ]; then \
|
||||
echo "GnuPG has already been build in-source" >&2 ;\
|
||||
@ -782,11 +792,13 @@ clean-speedo:
|
||||
dist-source: all
|
||||
for i in 00 01 02 03; do sleep 1;touch PLAY/stamps/stamp-*-${i}-*;done
|
||||
(set -e;\
|
||||
tarname="gnupg-w32-$(INST_VERSION)_$(BUILD_ISODATE).tar" ;\
|
||||
tarname="$(INST_NAME)-$(INST_VERSION)_$(BUILD_ISODATE).tar" ;\
|
||||
[ -f "$$tarname" ] && rm "$$tarname" ;\
|
||||
tar -C $(topsrc) -cf "$$tarname" --exclude-backups --exclude-vc \
|
||||
--transform='s,^\./,$(INST_NAME)-$(INST_VERSION)/,' \
|
||||
--anchored --exclude './PLAY' . ;\
|
||||
tar --totals -rf "$$tarname" --exclude-backups --exclude-vc \
|
||||
--transform='s,^,$(INST_NAME)-$(INST_VERSION)/,' \
|
||||
PLAY/stamps/stamp-*-00-unpack PLAY/src ;\
|
||||
xz "$$tarname" ;\
|
||||
)
|
||||
@ -823,10 +835,11 @@ installer: all w32_insthelpers $(bdir)/inst-options.ini $(bdir)/README.txt
|
||||
-DTOP_SRCDIR=$(topsrc) \
|
||||
-DW32_SRCDIR=$(w32src) \
|
||||
-DBUILD_ISODATE=$(BUILD_ISODATE) \
|
||||
-DNAME=$(INST_NAME) \
|
||||
-DVERSION=$(INST_VERSION) \
|
||||
-DPROD_VERSION=$(INST_PROD_VERSION) \
|
||||
$(w32src)/inst.nsi
|
||||
@echo "Ready: $(idir)/gnupg-w32-$(INST_VERSION)"
|
||||
@echo "Ready: $(idir)/$(INST_NAME)-$(INST_VERSION)"
|
||||
|
||||
#
|
||||
# Mark phony targets
|
||||
|
@ -23,6 +23,7 @@
|
||||
# TOP_SRCDIR
|
||||
# W32_SRCDIR
|
||||
# BUILD_ISODATE
|
||||
# NAME
|
||||
# VERSION
|
||||
# PROD_VERSION
|
||||
|
||||
@ -93,7 +94,7 @@ SetCompressor lzma
|
||||
Name "${PRETTY_PACKAGE}"
|
||||
|
||||
# Set the output filename.
|
||||
OutFile "gnupg-w32-${VERSION}.exe"
|
||||
OutFile "$(NAME)-${VERSION}.exe"
|
||||
|
||||
#Fixme: Do we need a logo
|
||||
#Icon "${TOP_SRCDIR}/doc/logo/gnupg-logo-icon.ico"
|
||||
|
39
doc/HACKING
39
doc/HACKING
@ -93,12 +93,47 @@ appear in the ChangeLog.
|
||||
need. If you really need to do it, use a separate commit for such a
|
||||
change.
|
||||
|
||||
* Windows
|
||||
** How to build an installer for Windows
|
||||
|
||||
Your best bet is to use a decent Debian System for development.
|
||||
You need to install a long list of tools for building. This list
|
||||
still needs to be compiled. However, the build process will stop
|
||||
if a tool is missing. GNU make is required (on non GNU systems
|
||||
often installed as "gmake"). The installer requires a couple of
|
||||
extra software to be available either as tarballs or as local git
|
||||
repositories. In case this file here is part of a gnupg-w32-2.*.xz
|
||||
complete tarball as distributed from the same place as a binary
|
||||
installer, all such tarballs are already included.
|
||||
|
||||
Cd to the GnuPG source directory and use one of one of these
|
||||
command:
|
||||
|
||||
- If sources are included (gnupg-w32-*.tar.xz)
|
||||
|
||||
make -f build-aux/speedo.mk WHAT=this installer
|
||||
|
||||
- To build from tarballs
|
||||
|
||||
make -f build-aux/speedo.mk WHAT=release TARBALLS=TARDIR installer
|
||||
|
||||
- To build from local GIT repos
|
||||
|
||||
make -f build-aux/speedo.mk WHAT=git TARBALLS=TARDIR installer
|
||||
|
||||
Note that also you need to supply tarballs with supporting
|
||||
libraries even if you build from git. The makefile expects only
|
||||
the core GnuPG software to be available as local GIT repositories.
|
||||
speedo.mk has the versions of the tarballs and the branch names of
|
||||
the git repositories. In case of problems, don't hesitate to ask
|
||||
on the gnupg-devel mailing for help.
|
||||
|
||||
|
||||
* Debug hints
|
||||
|
||||
See the manual for some hints.
|
||||
|
||||
* Standards
|
||||
|
||||
** RFCs
|
||||
|
||||
1423 Privacy Enhancement for Internet Electronic Mail:
|
||||
@ -120,6 +155,8 @@ appear in the ChangeLog.
|
||||
|
||||
4880 Current OpenPGP specification.
|
||||
|
||||
6337 Elliptic Curve Cryptography (ECC) in OpenPGP
|
||||
|
||||
* Various information
|
||||
|
||||
** Directory Layout
|
||||
|
Loading…
x
Reference in New Issue
Block a user