mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-02 12:01:32 +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
|
In case of problem please ask on the gnupg-users@gnupg.org mailing
|
||||||
list for advise.
|
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
|
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
|
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
|
run these test and some of them may even fail because the test scripts
|
||||||
|
@ -46,19 +46,24 @@
|
|||||||
SPEEDO_MK := $(realpath $(lastword $(MAKEFILE_LIST)))
|
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
|
WHAT=git
|
||||||
|
|
||||||
# Set target to "native" or "w32"
|
# Set target to "native" or "w32"
|
||||||
TARGETOS=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.
|
# external packages.
|
||||||
TARBALLS=$(shell pwd)/../tarballs
|
TARBALLS=$(shell pwd)/../tarballs
|
||||||
|
|
||||||
# Number of parallel make jobs
|
# Number of parallel make jobs
|
||||||
MAKE_J=3
|
MAKE_J=3
|
||||||
|
|
||||||
|
# Name to use for the w32 installer and sources
|
||||||
|
INST_NAME=gnupg-w32
|
||||||
|
|
||||||
# =====BEGIN LIST OF PACKAGES=====
|
# =====BEGIN LIST OF PACKAGES=====
|
||||||
# The packages that should be built. The order is also the build order.
|
# The packages that should be built. The order is also the build order.
|
||||||
# Fixme: Do we need to build pkg-config for cross-building?
|
# 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
|
# Note that you can override the defaults in this file in a local file
|
||||||
# "config.mk"
|
# "config.mk"
|
||||||
|
|
||||||
ifeq ($(WHAT),git)
|
ifeq ($(WHAT),this)
|
||||||
|
else ifeq ($(WHAT),git)
|
||||||
speedo_pkg_libgpg_error_git = $(gitrep)/libgpg-error
|
speedo_pkg_libgpg_error_git = $(gitrep)/libgpg-error
|
||||||
speedo_pkg_libgpg_error_gitref = master
|
speedo_pkg_libgpg_error_gitref = master
|
||||||
speedo_pkg_npth_git = $(gitrep)/npth
|
speedo_pkg_npth_git = $(gitrep)/npth
|
||||||
@ -191,7 +197,7 @@ ifeq ($(WHAT),git)
|
|||||||
speedo_pkg_gpa_gitref = master
|
speedo_pkg_gpa_gitref = master
|
||||||
speedo_pkg_gpgex_git = $(gitrep)/gpgex
|
speedo_pkg_gpgex_git = $(gitrep)/gpgex
|
||||||
speedo_pkg_gpgex_gitref = master
|
speedo_pkg_gpgex_gitref = master
|
||||||
else
|
else ifeq ($(WHAT),release)
|
||||||
speedo_pkg_libgpg_error_tar = \
|
speedo_pkg_libgpg_error_tar = \
|
||||||
$(pkgrep)/libgpg-error/libgpg-error-$(libgpg_error_ver).tar.bz2
|
$(pkgrep)/libgpg-error/libgpg-error-$(libgpg_error_ver).tar.bz2
|
||||||
speedo_pkg_npth_tar = \
|
speedo_pkg_npth_tar = \
|
||||||
@ -210,6 +216,8 @@ else
|
|||||||
$(pkgrep)/gpa/gpa-$(gpa_ver).tar.bz2
|
$(pkgrep)/gpa/gpa-$(gpa_ver).tar.bz2
|
||||||
speedo_pkg_gpgex_tar = \
|
speedo_pkg_gpgex_tar = \
|
||||||
$(pkgrep)/gpex/gpgex-$(gpa_ver).tar.bz2
|
$(pkgrep)/gpex/gpgex-$(gpa_ver).tar.bz2
|
||||||
|
else
|
||||||
|
$(error invalid value for WHAT (use on of: git release this))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
speedo_pkg_pkg_config_tar = $(pkg2rep)/pkg-config-$(pkg_config_ver).tar.gz
|
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: */"
|
@echo "speedo: */"
|
||||||
@(set -e; cd $(sdir); \
|
@(set -e; cd $(sdir); \
|
||||||
$(call SETVARS,$(1)); \
|
$(call SETVARS,$(1)); \
|
||||||
if [ "$(1)" = "gnupg" ]; then \
|
if [ "$(WHAT)" = "this" ]; then \
|
||||||
|
echo "speedo: using included source"; \
|
||||||
|
elif [ "$(1)" = "gnupg" ]; then \
|
||||||
cd $$$${pkgsdir}; \
|
cd $$$${pkgsdir}; \
|
||||||
if [ -f config.log ]; then \
|
if [ -f config.log ]; then \
|
||||||
echo "GnuPG has already been build in-source" >&2 ;\
|
echo "GnuPG has already been build in-source" >&2 ;\
|
||||||
@ -782,11 +792,13 @@ clean-speedo:
|
|||||||
dist-source: all
|
dist-source: all
|
||||||
for i in 00 01 02 03; do sleep 1;touch PLAY/stamps/stamp-*-${i}-*;done
|
for i in 00 01 02 03; do sleep 1;touch PLAY/stamps/stamp-*-${i}-*;done
|
||||||
(set -e;\
|
(set -e;\
|
||||||
tarname="gnupg-w32-$(INST_VERSION)_$(BUILD_ISODATE).tar" ;\
|
tarname="$(INST_NAME)-$(INST_VERSION)_$(BUILD_ISODATE).tar" ;\
|
||||||
[ -f "$$tarname" ] && rm "$$tarname" ;\
|
[ -f "$$tarname" ] && rm "$$tarname" ;\
|
||||||
tar -C $(topsrc) -cf "$$tarname" --exclude-backups --exclude-vc \
|
tar -C $(topsrc) -cf "$$tarname" --exclude-backups --exclude-vc \
|
||||||
|
--transform='s,^\./,$(INST_NAME)-$(INST_VERSION)/,' \
|
||||||
--anchored --exclude './PLAY' . ;\
|
--anchored --exclude './PLAY' . ;\
|
||||||
tar --totals -rf "$$tarname" --exclude-backups --exclude-vc \
|
tar --totals -rf "$$tarname" --exclude-backups --exclude-vc \
|
||||||
|
--transform='s,^,$(INST_NAME)-$(INST_VERSION)/,' \
|
||||||
PLAY/stamps/stamp-*-00-unpack PLAY/src ;\
|
PLAY/stamps/stamp-*-00-unpack PLAY/src ;\
|
||||||
xz "$$tarname" ;\
|
xz "$$tarname" ;\
|
||||||
)
|
)
|
||||||
@ -823,10 +835,11 @@ installer: all w32_insthelpers $(bdir)/inst-options.ini $(bdir)/README.txt
|
|||||||
-DTOP_SRCDIR=$(topsrc) \
|
-DTOP_SRCDIR=$(topsrc) \
|
||||||
-DW32_SRCDIR=$(w32src) \
|
-DW32_SRCDIR=$(w32src) \
|
||||||
-DBUILD_ISODATE=$(BUILD_ISODATE) \
|
-DBUILD_ISODATE=$(BUILD_ISODATE) \
|
||||||
|
-DNAME=$(INST_NAME) \
|
||||||
-DVERSION=$(INST_VERSION) \
|
-DVERSION=$(INST_VERSION) \
|
||||||
-DPROD_VERSION=$(INST_PROD_VERSION) \
|
-DPROD_VERSION=$(INST_PROD_VERSION) \
|
||||||
$(w32src)/inst.nsi
|
$(w32src)/inst.nsi
|
||||||
@echo "Ready: $(idir)/gnupg-w32-$(INST_VERSION)"
|
@echo "Ready: $(idir)/$(INST_NAME)-$(INST_VERSION)"
|
||||||
|
|
||||||
#
|
#
|
||||||
# Mark phony targets
|
# Mark phony targets
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
# TOP_SRCDIR
|
# TOP_SRCDIR
|
||||||
# W32_SRCDIR
|
# W32_SRCDIR
|
||||||
# BUILD_ISODATE
|
# BUILD_ISODATE
|
||||||
|
# NAME
|
||||||
# VERSION
|
# VERSION
|
||||||
# PROD_VERSION
|
# PROD_VERSION
|
||||||
|
|
||||||
@ -93,7 +94,7 @@ SetCompressor lzma
|
|||||||
Name "${PRETTY_PACKAGE}"
|
Name "${PRETTY_PACKAGE}"
|
||||||
|
|
||||||
# Set the output filename.
|
# Set the output filename.
|
||||||
OutFile "gnupg-w32-${VERSION}.exe"
|
OutFile "$(NAME)-${VERSION}.exe"
|
||||||
|
|
||||||
#Fixme: Do we need a logo
|
#Fixme: Do we need a logo
|
||||||
#Icon "${TOP_SRCDIR}/doc/logo/gnupg-logo-icon.ico"
|
#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
|
need. If you really need to do it, use a separate commit for such a
|
||||||
change.
|
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
|
* Debug hints
|
||||||
|
|
||||||
See the manual for some hints.
|
See the manual for some hints.
|
||||||
|
|
||||||
* Standards
|
* Standards
|
||||||
|
|
||||||
** RFCs
|
** RFCs
|
||||||
|
|
||||||
1423 Privacy Enhancement for Internet Electronic Mail:
|
1423 Privacy Enhancement for Internet Electronic Mail:
|
||||||
@ -120,6 +155,8 @@ appear in the ChangeLog.
|
|||||||
|
|
||||||
4880 Current OpenPGP specification.
|
4880 Current OpenPGP specification.
|
||||||
|
|
||||||
|
6337 Elliptic Curve Cryptography (ECC) in OpenPGP
|
||||||
|
|
||||||
* Various information
|
* Various information
|
||||||
|
|
||||||
** Directory Layout
|
** Directory Layout
|
||||||
|
Loading…
x
Reference in New Issue
Block a user