Bye, bye, old friend.
+++ /dev/null
-General Information
-~~~~~~~~~~~~~~~~~~~
-To compile this you need a couple things
- - A working POSIX system with working POSIX gcc, g++, make (GNU),
- ar, sh, awk and sed in the path
- - GNU Make 3.74 or so, -- normal UNIX make will NOT work
- * Note 3.77 is broken.
- - A working ANSI C++ compiler, this is not g++ 2.7.*
- g++ 2.8 works OK and newer egcs work well also. Nobody has tried it
- on other compilers :< You will need a properly working STL as well.
- - A C library with the usual POSIX functions and a BSD socket layer.
- If your OS conforms to the Single Unix Spec then you are fine:
- http://www.opengroup.org/onlinepubs/7908799/index.html
- - Refer to the Build-Depends information in debian/control for
- additional requirements (some of which are Debian-specific)
-
-** NOTICE **
-The C++ global constructors do not link correctly when using non-shared
-libraries. This is probably the correct behavior of the linker, but I have
-not yet had time to devise a work around for it. The correct thing to
-do is add a reference to debSystem in apt-pkg/init.cc,
-assert(&debSystem == 0) would be fine for instance.
-
-Guidelines
-~~~~~~~~~~
-I am not interested in making 'ultra portable code'. I will accept patches
-to make the code that already exists conform more to SUS or POSIX, but
-I don't really care if your not-SUS OS doesn't work. It is simply too
-much work to maintain patches for dysfunctional OSs. I highly suggest you
-contact your vendor and express interest in a conforming C library.
-
-That said, there are lots of finicky problems that must be dealt with even
-between the supported OS's. Primarily the path I choose to take is to put
-a shim header file in build/include that transparently adds the required
-functionality. Patches to make autoconf detect these cases and generate the
-required shims are OK.
-
-Current shims:
- * sys/statvfs.h to convert from BSD/old-glibc statfs to SUS statvfs
- * rfc2553 hostname resolution (methods/rfc*), shims to normal gethostbyname.
- The more adventurous could steal the KAME IPv6 enabled resolvers for those
- OS's with IPv6 support but no rfc2553 (why?)
- * define _XOPEN_EXTENDED_SOURCE to bring in h_errno on HP-UX
- * socklen_t shim in netdb.h if the OS does not have socklen_t
-
-The only completely non-shimmed OS is Linux with glibc2.1, glibc2.0 requires
-the first three shims.
-
-Platform Notes
-~~~~~~~~~~~~~~
-Debian GNU Linux 2.1 'slink'
-Debian GNU Linux 'potato'
-Debian GNU Linux 'woody'
- * All Archs
- - Works flawlessly
- - You will want to have docbook-xml and docbook2man installed to get
- best results.
- - No IPv6 Support in glibc's < 2.1.
-
-Sun Solaris
- SunOS cab101 5.7 Generic_106541-04 sun4u sparc
- SunOS csu201 5.8 Generic_108528-04 sun4u sparc
- - Works fine
- - Note, no IPv6 Support, OS lacks RFC 2553 hostname resolution
-
-OpenBSD
- OpenBSD gsb086 2.5 CMPUT#0 i386 unknown
- OpenBSD csu101 2.7 CMPUT#1 i386 unknown
- - OS needs 'ranlib' to generate the symbol table after 'ar'.. (not using
- GNU ar with the gnu tool chain :<)
- - '2.5' does not have RFC 2553 hostname resolution, but '2.7' does
- - Testing on '2.7' suggests the OS has a bug in its handling of
- ftruncate on files that have been written via mmap. It fills the page
- that crosses the truncation boundary with 0's.
-
-HP-UX
- HP-UX nyquist B.10.20 C 9000/780 2016574337 32-user license
- - Evil OS, does not conform very well to SUS
- 1) snprintf exists but is not prototyped, ignore spurious warnings
- 2) No socklen_t
- 3) Requires -D_XOPEN_SOURCE_EXTENDED for h_errno
- configure should fix the last two (see above)
- - Note, no IPv6 Support, OS lacks RFC 2553 hostname resolution
-
+++ /dev/null
-# -*- make -*-
-
-# This is the top level make file for APT, it recurses to each lower
-# level make file and runs it with the proper target
-ifndef NOISY
-.SILENT:
-endif
-
-.PHONY: default
-default: startup all
-
-.PHONY: fast headers library clean veryclean all binary program doc test update-po
-all headers library clean veryclean binary program doc manpages docbook test update-po startup dirs:
- $(MAKE) -C vendor $@
- $(MAKE) -C apt-pkg $@
- $(MAKE) -C apt-inst $@
- $(MAKE) -C apt-private $@
- $(MAKE) -C methods $@
- $(MAKE) -C cmdline $@
- $(MAKE) -C ftparchive $@
- $(MAKE) -C dselect $@
- $(MAKE) -C doc $@
- $(MAKE) -C po $@
- # FIXME: -C test has issue swith parallel builds, investigate!
- -$(MAKE) -C test $@
-
-fast:
- $(MAKE) -C vendor all
- $(MAKE) -C apt-pkg all
- $(MAKE) -C apt-inst all
- $(MAKE) -C apt-private all
- $(MAKE) -C methods all
- $(MAKE) -C cmdline all
- $(MAKE) -C ftparchive all
- $(MAKE) -C test all
-
-all headers library clean veryclean binary program doc manpages docbook test update-po: startup dirs
-
-dirs: startup
-
-# Some very common aliases
-.PHONY: maintainer-clean dist-clean distclean pristine sanity
-maintainer-clean dist-clean distclean pristine sanity: veryclean
-veryclean: clean
-
-# The startup target builds the necessary configure scripts. It should
-# be used after a CVS checkout.
-CONVERTED=environment.mak include/config.h include/apti18n.h build/doc/Doxyfile makefile
-include buildlib/configure.mak
-$(BUILDDIR)/include/config.h: buildlib/config.h.in
-$(BUILDDIR)/include/apti18n.h: buildlib/apti18n.h.in
-$(BUILDDIR)/environment.mak: buildlib/environment.mak.in
-$(BUILDDIR)/makefile: buildlib/makefile.in
+++ /dev/null
-The Make System
-~~~ ~~~~ ~~~~~~
-To compile this program you require GNU Make. In fact you probably need
-GNU Make 3.76.1 or newer. The makefiles contained make use of many
-GNU Make specific features and will not run on other makes.
-
-The make system has a number of interesting properties that are not found
-in other systems such as automake or the GNU makefile standards. In
-general some semblance of expectedness is kept so as not to be too
-surprising. Basically the following will work as expected:
-
- ./configure
- make
- or
- cd build
- ../configure
- make
-
-There are a number of other things that are possible that may make software
-development and software packaging simpler. The first of these is the
-environment.mak file. When configure is run it creates an environment.mak
-file in the build directory. This contains -all- configurable parameters
-for all of the make files in all of the subdirectories. Changing one
-of these parameters will have an immediate effect. The use of makefile.in
-and configure substitutions across build makefiles is not used at all.
-
-Furthermore, the make system runs with a current directory equal to the
-source directory regardless of the destination directory. This means
-#include "" and #include <> work as expected and more importantly
-running 'make' in the source directory will work as expected. The
-environment variable or make parameter 'BUILD' sets the build directory.
-It may be an absolute path or a path relative to the top level directory.
-By default build-arch/ then build/ will be used with a fall back to ./ This
-means you can get all the advantages of a build directory without having to
-cd into it to edit your source code!
-
-The make system also performs dependency generation on the fly as the
-compiler runs. This is extremely fast and accurate. There is however
-one failure condition that occurs when a header file is erased. In
-this case you should run make clean to purge the .o and .d files to
-rebuild.
-
-The final significant deviation from normal make practices is
-in how the build directory is managed. It is not nearly a mirror of
-the source directory but is logically divided in the following manner
- bin/
- methods/
- doc/
- examples/
- include/
- apt-pkg/
- obj/
- apt-pkg/
- cmdline/
- [...]
-Only .o and .d files are placed in the obj/ subdirectory. The final compiled
-binaries are placed in bin, published headers for inter-component linking
-are placed in include/ and documentation is generated into doc/. This means
-all runnable programs are within the bin/ directory, a huge benefit for
-debugging inter-program relationships. The .so files are also placed in
-bin/ for simplicity.
-
-By default make is put into silent mode. During operation there should be
-no shell or compiler messages only status messages from the makefiles,
-if any pop up that indicates there may be a problem with your environment.
-For debugging you can disable this by setting NOISY=1, ala
- make NOISY=1
-
-Using the makefiles
-~~~~~ ~~~ ~~~~~~~~~
-The makefiles for the components are really simple. The complexity is hidden
-within the buildlib/ directory. Each makefile defines a set of make variables
-for the bit it is going to make then includes a makefile fragment from
-the buildlib/. This fragment generates the necessary rules based on the
-originally defined variables. This process can be repeated as many times as
-necessary for as many programs or libraries as are in the directory.
-
-Many of the make fragments have some useful properties involving sub
-directories and other interesting features. They are more completely
-described in the fragment code in buildlib. Some tips on writing fragments
-are included in buildlib/defaults.mak
-
-The fragments are NEVER processed by configure, so if you make changes to
-them they will have an immediate effect.
-
-Autoconf
-~~~~~~~~
-Straight out of CVS you have to initialize autoconf. This requires
-automake (I really don't know why) and autoconf and requires doing
- aclocal -I buildlib
- autoconf
-[Alternatively you can run make startup in the top level build dir]
-
-Autoconf is configured to do some basic system probes for optional and
-required functionality and generate an environment.mak and include/config.h
-from it's findings. It will then write a 'makefile' and run make dirs to
-create the output directory tree.
-
-It is not my belief that autoconf should be used to generate substantial
-source code markup to escape OS problems. If an OS problem does crop up
-it can likely be corrected by installing the correct files into the
-build include/ dir and perhaps writing some replacement code and
-linking it in. To the fullest extent possible the source code should conform
-to standards and not cater to broken systems.
-
-Autoconf will also write a makefile into the top level of the build dir,
-this simply acts as a wrapper to the main top level make in the source tree.
-There is one big warning, you can't use both this make file and the
-ones in the top level tree. Make is not able to resolve rules that
-go to the same file through different paths and this will confuse the
-depends mechanism. I recommend always using the makefiles in the
-source directory and exporting BUILD.
+++ /dev/null
-# -*- make -*-
-BASE=..
-SUBDIR=apt-inst
-
-# Header location
-SUBDIRS = contrib deb
-HEADER_TARGETDIRS = apt-pkg
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-
-# The library name and version (indirectly used from init.h)
-include ../buildlib/libversion.mak
-
-# The library name
-LIBRARY=apt-inst
-MAJOR=2.0
-MINOR=0
-SLIBS=$(PTHREADLIB) -lapt-pkg
-APT_DOMAIN:=libapt-inst$(MAJOR)
-LIBRARYDEPENDS=$(LIB)/libapt-pkg.so
-
-SOURCE = $(sort $(wildcard *.cc */*.cc))
-HEADERS = $(addprefix apt-pkg/,$(notdir $(sort $(wildcard *.h */*.h))))
-
-include $(LIBRARY_H)
+++ /dev/null
-# -*- make -*-
-BASE=..
-SUBDIR=apt-pkg
-
-# Header location
-SUBDIRS = deb edsp contrib
-HEADER_TARGETDIRS = apt-pkg
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-
-# The library name and version (indirectly used from init.h)
-include ../buildlib/libversion.mak
-
-CPPFLAGS+=-DAPT_PKG_EXPOSE_STRING_VIEW
-LIBRARY=apt-pkg
-MAJOR=$(LIBAPTPKG_MAJOR)
-MINOR=$(LIBAPTPKG_RELEASE)
-SLIBS=$(PTHREADLIB) $(INTLLIBS) -lutil -ldl -lresolv
-ifeq ($(HAVE_ZLIB),yes)
-SLIBS+= -lz
-endif
-ifeq ($(HAVE_BZ2),yes)
-SLIBS+= -lbz2
-endif
-ifeq ($(HAVE_LZMA),yes)
-SLIBS+= -llzma
-endif
-ifeq ($(HAVE_LZ4),yes)
-SLIBS+= -llz4
-endif
-APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR)
-
-SOURCE = $(sort $(wildcard *.cc */*.cc))
-HEADERS = $(addprefix apt-pkg/,$(notdir $(sort $(wildcard *.h */*.h))))
-
-include $(LIBRARY_H)
+++ /dev/null
-# -*- make -*-
-BASE=..
-SUBDIR=apt-private
-
-# Header location
-HEADER_TARGETDIRS = apt-private
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-
-# The library name
-LIBRARY=apt-private
-MAJOR=0.0
-MINOR=0
-SLIBS=$(PTHREADLIB) -lapt-pkg
-CXXFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
-
-SOURCE = $(sort $(wildcard *.cc))
-HEADERS = $(addprefix apt-private/,$(sort $(wildcard *.h)))
-
-include $(LIBRARY_H)
+++ /dev/null
-// -*- mode: cpp; mode: fold -*-
-// $Id: apti18n.h.in,v 1.6 2003/01/11 07:18:18 jgg Exp $
-/* Internationalization macros for apt. This header should be included last
- in each C file. */
-
-// Set by autoconf
-#undef USE_NLS
-
-#ifdef USE_NLS
-// apt will use the gettext implementation of the C library
-#include <libintl.h>
-#include <locale.h>
-# ifdef APT_DOMAIN
-# define _(x) dgettext(APT_DOMAIN,x)
-# define P_(msg,plural,n) dngettext(APT_DOMAIN,msg,plural,n)
-# else
-# define _(x) gettext(x)
-# define P_(msg,plural,n) ngettext(msg,plural,n)
-# endif
-# define N_(x) x
-#else
-// apt will not use any gettext
-# define setlocale(a, b)
-# define textdomain(a)
-# define bindtextdomain(a, b)
-# define _(x) x
-# define P_(msg,plural,n) (n == 1 ? msg : plural)
-# define N_(x) x
-# define dgettext(d, m) m
-#endif
+++ /dev/null
-/* Define if your processor stores words with the most significant
- byte first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
-
-/* Define if we have the timegm() function */
-#undef HAVE_TIMEGM
-
-/* Define if we have the zlib library for gzip */
-#undef HAVE_ZLIB
-
-/* Define if we have the bz2 library for bzip2 */
-#undef HAVE_BZ2
-
-/* Define if we have the lzma library for lzma/xz */
-#undef HAVE_LZMA
-
-/* Define if we have the lz4 library for lz4 */
-#undef HAVE_LZ4
-
-/* These two are used by the statvfs shim for glibc2.0 and bsd */
-/* Define if we have sys/vfs.h */
-#undef HAVE_VFS_H
-#undef HAVE_STRUCT_STATFS_F_TYPE
-
-/* Define if we have sys/mount.h */
-#undef HAVE_MOUNT_H
-
-/* Define if we have enabled pthread support */
-#undef HAVE_PTHREAD
-
-/* If there is no socklen_t, define this for the netdb shim */
-#undef NEED_SOCKLEN_T_DEFINE
-
-/* Check for getresuid() function and similar ones */
-#undef HAVE_GETRESUID
-#undef HAVE_GETRESGID
-#undef HAVE_SETRESUID
-#undef HAVE_SETRESGID
-
-/* Define to the size of the filesize containing structures */
-#undef _FILE_OFFSET_BITS
-
-/* Define the arch name string */
-#undef COMMON_ARCH
-
-/* The package name string */
-#undef PACKAGE
-
-/* The version number string */
-#undef PACKAGE_VERSION
-
-/* The mail address to reach upstream */
-#undef PACKAGE_MAIL
-
-#define APT_8_CLEANER_HEADERS
-#define APT_9_CLEANER_HEADERS
-#define APT_10_CLEANER_HEADERS
-
-/* unrolling is faster combined with an optimizing compiler */
-#define SHA2_UNROLL_TRANSFORM
+++ /dev/null
-# -*- make -*-
-
-# This make fragment is included by the toplevel make to handle configure
-# and setup. It defines a target called startup that when run will init
-# the build directory, generate configure from configure.ac, create aclocal
-# and has rules to run config.status should one of the .in files change.
-
-# Input
-# BUILDDIR - The build directory
-# CONVERTED - List of files output by configure $(BUILD) is prepended
-# The caller must provide depends for these files
-# It would be a fairly good idea to run this after a cvs checkout.
-BUILDDIR=build
-
-.PHONY: startup missing-config-files
-startup: $(BUILDDIR)/configure-stamp $(addprefix $(BUILDDIR)/,$(CONVERTED))
-
-# use the files provided from the system instead of carry around
-# and use (most of the time outdated) copycats
-ifeq (file-okay,$(shell test -r buildlib/config.sub && echo 'file-okay'))
-buildlib/config.sub:
-else
- ifeq (file-okay,$(shell test -r /usr/share/misc/config.sub && echo 'file-okay'))
-buildlib/config.sub:
- ln -sf /usr/share/misc/config.sub buildlib/config.sub
- else
-buildlib/config.sub: missing-config-files
- endif
-endif
-
-ifeq (file-okay,$(shell test -r buildlib/config.guess && echo 'file-okay'))
-buildlib/config.guess:
-else
- ifeq (file-okay,$(shell test -r /usr/share/misc/config.guess && echo 'file-okay'))
-buildlib/config.guess:
- ln -sf /usr/share/misc/config.guess buildlib/config.guess
- else
-buildlib/config.guess: missing-config-files
- endif
-endif
-
-missing-config-files:
- @echo "APT needs 'config.guess' and 'config.sub' in buildlib/ for configuration."
- @echo "On Debian systems these are available in the 'autotools-dev' package."
- @echo
- @echo "The latest versions can be acquired from the upstream git repository:"
- @echo "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD"
- @echo "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD"
- exit 100
-
-configure: aclocal.m4 configure.ac
- autoconf
-
-aclocal.m4: $(wildcard buildlib/*.m4)
- aclocal -I buildlib
-
-$(BUILDDIR)/configure-stamp: configure buildlib/config.guess buildlib/config.sub
- /usr/bin/test -e '$(BUILDDIR)' || mkdir '$(BUILDDIR)'
- (HERE="`pwd`"; cd '$(BUILDDIR)' && "$$HERE/configure")
- touch '$(BUILDDIR)/configure-stamp'
-
-$(addprefix $(BUILDDIR)/,$(CONVERTED)): $(BUILDDIR)/configure-stamp
+++ /dev/null
-# -*- make -*-
-
-# This installs arbitrary files into a directory
-
-# Input
-# $(SOURCE) - The documents to use
-# $(TO) - The directory to put them in
-# $(TARGET) - The global target to add the local target as a dependency
-# to.
-# All output is writtin to files in the build/$(TO) directory
-
-# See defaults.mak for information about LOCAL
-
-# Some local definitions
-LOCAL := copy-$(firstword $(SOURCE))
-$(LOCAL)-LIST := $(addprefix $(TO)/,$(SOURCE))
-
-# Install generation hooks
-$(TARGET): $($(LOCAL)-LIST)
-veryclean: veryclean/$(LOCAL)
-
-MKDIRS += $(dir $($(LOCAL)-LIST))
-
-$($(LOCAL)-LIST) : $(TO)/% : %
- echo Installing $< to $(@D)
- cp $< $(@D)
-
-# Clean rule
-.PHONY: veryclean/$(LOCAL)
-veryclean/$(LOCAL):
- -rm -rf $($(@F)-LIST)
+++ /dev/null
-# -*- make -*-
-
-# This file configures the default environment for the make system
-# The way it works is fairly simple, each module is defined in it's
-# own *.mak file. It expects a set of variables to be set to values
-# for it to operate as expected. When included the module generates
-# the requested rules based on the contents of its control variables.
-
-# This works out very well and allows a good degree of flexibility.
-# To accommodate some of the features we introduce the concept of
-# local variables. To do this we use the 'Computed Names' feature of
-# gmake. Each module declares a LOCAL scope and access it with,
-# $($(LOCAL)-VAR)
-# This works very well but it is important to remember that within
-# a rule the LOCAL var is unavailable, it will have to be constructed
-# from the information in the rule invocation. For stock rules like
-# clean this is simple, we use a local clean rule called clean/$(LOCAL)
-# and then within the rule $(@F) gets back $(LOCAL)! Other rules will
-# have to use some other mechanism (filter perhaps?) The reason such
-# lengths are used is so that each directory can contain several 'instances'
-# of any given module. I notice that the very latest gmake has the concept
-# of local variables for rules. It is possible this feature in conjunction
-# with the generated names will provide a very powerful solution indeed!
-
-# A build directory is used by default, all generated items get put into
-# there. However unlike automake this is not done with a VPATH build
-# (vpath builds break the distinction between #include "" and #include <>)
-# but by explicitly setting the BUILD variable. Make is invoked from
-# within the source itself which is much more compatible with compilation
-# environments.
-ifndef NOISY
-.SILENT:
-endif
-
-# Search for the build directory
-ifdef BUILD
-BUILD_POSSIBLE := $(BUILD) $(BASE)/$(BUILD)
-else
-BUILD_POSSIBLE := $(BASE) $(BASE)/build-$(shell uname -m) $(BASE)/build
-endif
-
-BUILDX:= $(foreach i,$(BUILD_POSSIBLE),$(wildcard $(i)/environment.mak*))
-
-ifeq ($(words $(BUILDX)),0)
-
-# Check for a busted wildcard function. We use this function in several
-# places, it must work.
-ifeq ($(words $(wildcard *)),0)
-error-all/environment.mak:
- echo You have a broken version of GNU Make - upgrade.
- error-out-and-die
-else
-error-all/environment.mak:
- echo Can not find the build directory in $(BUILD_POSSIBLE) -- use BUILD=
- error-out-and-die
-endif
-
-# Force include below to come to the error target
-BUILDX := error-all
-else
-BUILDX:= $(patsubst %/,%,$(firstword $(dir $(BUILDX))))
-endif
-
-override BUILD := $(BUILDX)
-
-# Base definitions
-INCLUDE := $(BUILD)/include
-BIN := $(BUILD)/bin
-LIB := $(BIN)
-OBJ := $(BUILD)/obj/$(SUBDIR)
-DEP := $(OBJ)
-DOC := $(BUILD)/docs
-PO := $(BUILD)/po
-LOCALE := $(BUILD)/locale
-PO_DOMAINS := $(BUILD)/po/domains
-
-# Module types
-LIBRARY_H = $(BASE)/buildlib/library.mak
-DOCBOOK_H = $(BASE)/buildlib/docbook.mak
-MANPAGE_H = $(BASE)/buildlib/manpage.mak
-PROGRAM_H = $(BASE)/buildlib/program.mak
-PYTHON_H = $(BASE)/buildlib/python.mak
-COPY_H = $(BASE)/buildlib/copy.mak
-PO4A_MANPAGE_H = $(BASE)/buildlib/po4a_manpage.mak
-FAIL_H = $(BASE)/buildlib/fail.mak
-PODOMAIN_H = $(BASE)/buildlib/podomain.mak
-
-include $(BUILD)/environment.mak
-
-ifdef STATICLIBS
-LIBRARY_H += $(BASE)/buildlib/staticlibrary.mak
-endif
-
-ifdef ONLYSTATICLIBS
-LIBRARY_H = $(BASE)/buildlib/staticlibrary.mak
-endif
-
-# Source location control
-# SUBDIRS specifies sub components of the module that
-# may be located in subdirectories of the source dir.
-# This should be declared before including this file
-SUBDIRS+=
-
-# Header file control.
-# TARGETDIRS indicates all of the locations that public headers
-# will be published to.
-# This should be declared before including this file
-HEADER_TARGETDIRS+=
-
-# Options
-CPPFLAGS+= -I$(INCLUDE)
-LDFLAGS+= -L$(LIB)
-
-# Directors to create
-MKDIRS := $(BIN)
-
-# Phony rules. Other things hook these by appending to the dependency
-# list
-.PHONY: headers library clean veryclean all binary program doc dirs
-.PHONY: maintainer-clean dist-clean distclean pristine sanity
-all: dirs binary doc
-binary: library program
-maintainer-clean dist-clean distclean pristine sanity: veryclean
-startup headers library clean veryclean program test update-po manpages docbook:
-
-veryclean:
- echo Very Clean done for $(SUBDIR)
-clean:
- echo Clean done for $(SUBDIR)
-dirs:
- mkdir -p $(patsubst %/,%,$(sort $(MKDIRS)))
-
-# Header file control. We want all published interface headers to go
-# into the build directory from their source dirs. We setup some
-# search paths here
-vpath %.h $(SUBDIRS)
-$(INCLUDE)/%.h $(addprefix $(INCLUDE)/,$(addsuffix /%.h,$(HEADER_TARGETDIRS))) : %.h
- cp $< $@
-
-# Dependency generation. We want to generate a .d file using gnu cpp.
-# For GNU systems the compiler can spit out a .d file while it is compiling,
-# this is specified with the INLINEDEPFLAG. Other systems might have a
-# makedep program that can be called after compiling, that's illustrated
-# by the DEPFLAG case.
-# Compile rules are expected to call this macro after calling the compiler
-ifdef GCC3DEP
-DFILE = $(DEP)/$(basename $(@F)).d
-else
-DFILE = $(basename $(@F)).d
-endif
-ifdef INLINEDEPFLAG
- define DoDep
- sed -e "1s/.*:/$(subst /,\\/,$@):/" $(DFILE) > $(DEP)/$(@F).d
- #sed -e "1s/.*:/$(subst /,\\/,$@):/" $(DEP)/$(basename $(@F)).d > $(DEP)/$(@F).d
- -rm -f $(basename $(@F)).d
- endef
-else
- ifdef DEPFLAG
- define DoDep
- $(CXX) $(DEPFLAG) $(CPPFLAGS) -o $@ $<
- sed -e "1s/.*:/$(subst /,\\/,$@):/" $(basename $(@F)).d > $(DEP)/$(@F).d
- -rm -f $(basename $(@F)).d
- endef
- else
- define DoDep
- endef
- endif
-endif
-
-# Automatic -j support
-ifeq ($(NUM_PROCS),1)
- PARALLEL_RUN=no
-endif
-
-ifndef PARALLEL_RUN
- PARALLEL_RUN=yes
- export PARALLEL_RUN
- # handle recursion
- ifneq ($(NUM_PROCS),)
- MAKEFLAGS += -j $(NUM_PROCS)
- endif
-endif
-
-# This makes sorting predictable
-export LC_COLLATE=C.UTF-8
+++ /dev/null
-# -*- make -*-
-
-# This processes DocBook XML to produce html and plain text output
-
-# Input
-# $(SOURCE) - The documents to use
-
-# All output is written to files in the build doc directory
-
-# See defaults.mak for information about LOCAL
-
-# Some local definitions
-LOCAL := docbook-$(firstword $(SOURCE))
-$(LOCAL)-HTML := $(addsuffix .html,$(addprefix $(DOC)/,$(basename $(SOURCE))))
-$(LOCAL)-TEXT := $(addsuffix .text,$(addprefix $(DOC)/,$(basename $(SOURCE))))
-INCLUDES = apt.ent apt-verbatim.ent apt-vendor.ent
-
-docbook:
-
-
-#---------
-
-# Rules to build HTML documentations
-ifdef XSLTPROC
-
-DOCBOOK_HTML_STYLESHEET := docbook-html-style.xsl
-
-# Install generation hooks
-docbook: $($(LOCAL)-HTML)
-veryclean: veryclean/html/$(LOCAL)
-
-vpath %.dbk $(SUBDIRS)
-vpath $(DOCBOOK_HTML_STYLESHEET) $(SUBDIRS)
-$(DOC)/%.html: %.dbk $(DOCBOOK_HTML_STYLESHEET) $(INCLUDES)
- echo Creating html for $< to $@
- -rm -rf $@
- mkdir -p $@
- $(DOCBOOK) \
- --stringparam base.dir $@/ \
- --stringparam l10n.gentext.default.language $(LC) \
- $(<D)/$(DOCBOOK_HTML_STYLESHEET) $< || exit 199
-
-# Clean rule
-.PHONY: veryclean/html/$(LOCAL)
-veryclean/html/$(LOCAL):
- -rm -rf $($(@F)-HTML)
-
-endif
-
-#---------
-
-# Rules to build Text documentations
-ifdef XSLTPROC
-
-DOCBOOK_TEXT_STYLESHEET := docbook-text-style.xsl
-
-# Install generation hooks
-docbook: $($(LOCAL)-TEXT)
-veryclean: veryclean/text/$(LOCAL)
-
-vpath %.dbk $(SUBDIRS)
-vpath $(DOCBOOK_TEXT_STYLESHEET) $(SUBDIRS)
-$(DOC)/%.text: %.dbk $(DOCBOOK_TEXT_STYLESHEET) $(INCLUDES)
- echo Creating text for $< to $@
- $(DOCBOOK) \
- --stringparam l10n.gentext.default.language $(LC) \
- $(<D)/$(DOCBOOK_TEXT_STYLESHEET) $< | \
- LC_ALL=C.UTF-8 $(DOCBOOK2TEXT) > $@ || exit 198
-
-# Clean rule
-.PHONY: veryclean/text/$(LOCAL)
-veryclean/text/$(LOCAL):
- -rm -rf $($(@F)-TEXT)
-
-endif
+++ /dev/null
-# This file contains everything that autoconf guessed for your system.
-# if you want you can edit it, just don't re-run configure.
-
-PACKAGE = @PACKAGE@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PACKAGE_MAIL = @PACKAGE_MAIL@
-
-# C++ compiler options
-CC = @CC@
-CPPFLAGS+= @CPPFLAGS@ @DEFS@ -D_REENTRANT -D_FORTIFY_SOURCE=2
-CXX = @CXX@
-CXXSTD = -std=c++11
-CXXFLAGS+= @CXXFLAGS@ -Wall -Wextra
-CXXFLAGS+= -Wcast-align -Wlogical-op -Wredundant-decls -Wmissing-declarations -Wunsafe-loop-optimizations
-CXXFLAGS+= -Wctor-dtor-privacy -Wdisabled-optimization -Winit-self -Wmissing-include-dirs -Wnoexcept -Wsign-promo -Wundef
-# suggests methods which already have such an attribute
-#CXXFLAGS+= -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wsuggest-attribute=noreturn
-# sanitize options to be enabled for testing
-#CXXFLAGS+= -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr
-# a bit too pedantic to be run by default
-#CXXFLAGS+= -Wpedantic -Wno-long-long -Wno-vla -Wno-variadic-macros
-# hide inlines
-CXXFLAGS+= -fvisibility-inlines-hidden
-NUM_PROCS = @NUM_PROCS@
-
-# Linker stuff
-PICFLAGS+= -fPIC -DPIC
-LFLAGS+= @LDFLAGS@
-LEFLAGS+=
-SOCKETLIBS:= @SOCKETLIBS@
-AR:=@AR@
-RANLIB:=@RANLIB@
-
-# Dep generation - this only works for gnu stuff
-GCC3DEP = @GCC3DEP@
-INLINEDEPFLAG = -MD
-
-DOXYGEN = @DOXYGEN@
-W3M = @W3M@
-
-# xsltproc for the man pages and documentation
-XSLTPROC := @XSLTPROC@
-
-# DocBook XML
-DOCBOOK = $(XSLTPROC) --nonet --novalid --xinclude
-DOCBOOK2TEXT = $(W3M) -o display_charset=UTF-8 -no-graph -T text/html \
- -cols 78 -dump
-
-# po4a for the man pages
-PO4A := @PO4A@
-
-# Gettext settings
-GMSGFMT = @GMSGFMT@
-XGETTEXT = @XGETTEXT@
-MSGCOMM:=$(dir $(XGETTEXT))/msgcomm
-MSGMERGE:=$(dir $(XGETTEXT))/msgmerge
-BASH = @BASH@
-
-# Various library checks
-PTHREADLIB = @PTHREADLIB@
-PYTHONLIB = @PYTHONLIB@
-PYTHONVER = @PYTHONVER@
-PYTHONPREFIX = @PYTHONPREFIX@
-PYTHONEXECPREFIX = @PYTHONEXECPREFIX@
-PYTHONINCLUDE = @PYTHONINCLUDE@
-BDBLIB = @BDBLIB@
-INTLLIBS = @INTLLIBS@
-
-# Shim Headerfile control
-HAVE_STATVFS = @HAVE_STATVFS@
-HAVE_ZLIB = @HAVE_ZLIB@
-HAVE_BZ2 = @HAVE_BZ2@
-HAVE_LZMA = @HAVE_LZMA@
-HAVE_LZ4 = @HAVE_LZ4@
-NEED_SOCKLEN_T_DEFINE = @NEED_SOCKLEN_T_DEFINE@
-
-# Shared library things
-HOST_OS = @host_os@
-ifneq ($(words $(filter gnu% linux-gnu% kfreebsd-gnu% %-gnu,$(HOST_OS))),0)
- SONAME_MAGIC=-Wl,-soname -Wl,
- LFLAGS_SO=
-else
- # Do not know how to create shared libraries here.
- ONLYSTATICLIBS = yes
-endif
+++ /dev/null
-# -*- make -*-
-
-# This prints a failure message but does not abort the make
-
-# Input
-# $(MESSAGE) - The message to show
-# $(PROGRAM) - The program/library/whatever.
-
-# See defaults.mak for information about LOCAL
-
-LOCAL := $(PROGRAM)
-$(LOCAL)-MSG := $(MESSAGE)
-
-# Install hooks
-program: $(PROGRAM)
-
-.PHONY: $(PROGRAM)
-$(PROGRAM) :
- echo $($@-MSG)
-
+++ /dev/null
-#! /bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
+++ /dev/null
-# -*- make -*-
-
-# This creates a shared library.
-
-# Input
-# $(SOURCE) - The source code to use
-# $(HEADERS) - Exported header files and private header files
-# $(LIBRARY) - The name of the library without lib or .so
-# $(MAJOR) - The major version number of this library
-# $(MINOR) - The minor version number of this library
-# $(APT_DOMAIN) - The text domain for this library
-
-# All output is writtin to .opic files in the build directory to
-# signify the PIC output.
-
-# See defaults.mak for information about LOCAL
-
-# Some local definitions
-LOCAL := lib$(LIBRARY).so.$(MAJOR).$(MINOR)
-$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE)))))
-$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE)))))
-$(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS))
-$(LOCAL)-SONAME := lib$(LIBRARY).so.$(MAJOR)
-$(LOCAL)-VERSIONSCRIPT := $(LIB)/lib$(LIBRARY)-$(MAJOR)-$(MINOR).symver
-$(LOCAL)-SLIBS := $(SLIBS)
-$(LOCAL)-LIBRARY := $(LIBRARY)
-
-TYPE = src
-include $(PODOMAIN_H)
-
-# Install the command hooks
-headers: $($(LOCAL)-HEADERS)
-library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY).so.$(MAJOR)
-clean: clean/$(LOCAL)
-veryclean: veryclean/$(LOCAL)
-
-# Make Directories
-MKDIRS += $(OBJ) $(DEP) $(LIB) $(dir $($(LOCAL)-HEADERS))
-
-# The clean rules
-.PHONY: clean/$(LOCAL) veryclean/$(LOCAL)
-clean/$(LOCAL):
- -rm -f $($(@F)-OBJS) $($(@F)-DEP) $($(@F)-VERSIONSCRIPT)
-veryclean/$(LOCAL): clean/$(LOCAL)
- -rm -f $($(@F)-HEADERS) $(LIB)/lib$($(@F)-LIBRARY)*.so*
-
-# Build rules for the two symlinks
-.PHONY: $(LIB)/lib$(LIBRARY).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so
-$(LIB)/lib$(LIBRARY).so.$(MAJOR): $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR)
- ln -sf $(<F) $@
-$(LIB)/lib$(LIBRARY).so: $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR)
- ln -sf $(<F) $@
-
-$($(LOCAL)-VERSIONSCRIPT):
- echo '$(shell echo '$(LIBRARY)' | tr -d '-' | tr 'a-z' 'A-Z')_$(MAJOR) { global: *; };' > $@
-
-# The binary build rule
-$(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS) $(LIBRARYDEPENDS) $($(LOCAL)-VERSIONSCRIPT)
- -rm -f $(LIB)/lib$($(@F)-LIBRARY)*.so* 2> /dev/null
- echo Building shared library $@
- $(CXX) $(CXXSTD) $(CXXFLAGS) $(LDFLAGS) -Wl,--version-script=$($(@F)-VERSIONSCRIPT) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\
- -o $@ $(SONAME_MAGIC)$($(@F)-SONAME) -shared \
- $(filter %.opic,$^) \
- $($(@F)-SLIBS)
-
-# Compilation rules
-vpath %.cc $(SUBDIRS)
-$(OBJ)/%.opic: %.cc $(LIBRARYDEPENDS)
- echo Compiling $< to $@
- $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXSTD) $(CXXFLAGS) $(PICFLAGS) -o $@ '$(abspath $<)'
- $(DoDep)
-
-# Include the dependencies that are available
-The_DFiles = $(wildcard $($(LOCAL)-DEP))
-ifneq ($(words $(The_DFiles)),0)
-include $(The_DFiles)
-endif
+++ /dev/null
-# -*- make -*-
-# Version number of libapt-pkg.
-# Please increase MAJOR with each ABI break,
-# with each non-ABI break to the lib, please increase RELEASE.
-# The versionnumber is extracted from apt-pkg/macros.h - see also there.
-LIBAPTPKG_MAJOR=$(shell awk -v ORS='.' '/^\#define APT_PKG_M/ {print $$3}' $(BASE)/apt-pkg/contrib/macros.h | sed 's/\.$$//')
-LIBAPTPKG_RELEASE=$(shell grep '^\#define APT_PKG_RELEASE' $(BASE)/apt-pkg/contrib/macros.h | cut -d ' ' -f 3)
-
-# Version number of libapt-inst
-# Please increase MAJOR with each ABI break,
-# with each non-ABI break to the lib, please increase MINOR.
-# The versionnumber is extracted from apt-inst/makefile - see also there.
-LIBAPTINST_MAJOR=$(shell grep '^MAJOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2)
-LIBAPTINST_MINOR=$(shell grep '^MINOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2)
+++ /dev/null
-# -*- make -*-
-
-# This is the build directory make file, it sets the build directory
-# and runs the src makefile.
-ifndef NOISY
-.SILENT:
-endif
-include environment.mak
-
-SRCDIR=@top_srcdir@
-BUILD:=$(shell pwd)
-export BUILD
-
-# Chain to the parent make to do the actual building
-.PHONY: headers library clean veryclean all binary program doc \
- veryclean/local
-all headers library clean veryclean binary program doc:
- $(MAKE) -C $(SRCDIR) -f Makefile $@
-
-# Purge everything.
-.PHONY: maintainer-clean dist-clean pristine sanity distclean
-maintainer-clean dist-clean pristine sanity distclean:
- -rm -rf $(DIRS)
- -rm -f config.cache config.log config.status environment.mak makefile
-
-# Create the required directories and build the shims
-# The configure script fills in below, and then we do the right things..
-# This cannot go in the configure script since the directories have not yet
-# been created.. In any event I like the idea that you can change environment.mak
-# and run make dirs and have the shims updated.
-.PHONY: dirs
-dirs:
- $(MAKE) -C $(SRCDIR) -f Makefile $@
-ifeq ($(HAVE_STATVFS),yes)
- @rm -f include/statvfs.h > /dev/null 2>&1
-else
- @cp -p $(SRCDIR)/buildlib/statvfs.h.in include/statvfs.h
- ln -sf . include/sys
-endif
-ifeq ($(NEED_SOCKLEN_T_DEFINE),yes)
- @cp -p $(SRCDIR)/buildlib/netdb.h.in include/netdb.h
-else
- @rm -f include/netdb.h > /dev/null 2>&1
-endif
- rm -f include/python
- ln -sf $(PYTHONINCLUDE) include/python
+++ /dev/null
-# -*- make -*-
-
-# This installs man pages into the doc directory
-
-# Input
-# $(SOURCE) - The documents to use
-
-# All output is written to files in the build doc directory
-
-# See defaults.mak for information about LOCAL
-
-# Some local definitions
-LOCAL := manpage-$(firstword $(SOURCE))
-$(LOCAL)-LIST := $(addprefix $(DOC)/,$(SOURCE))
-
-# Install generation hooks
-doc: manpages
-manpages: $($(LOCAL)-LIST)
-veryclean: veryclean/$(LOCAL)
-
-MKDIRS += $(DOC)
-
-$($(LOCAL)-LIST) : $(DOC)/% : %
- echo Installing man page $< to $(@D)
- cp $< $(@D)
-
-# Clean rule
-.PHONY: veryclean/$(LOCAL)
-veryclean/$(LOCAL):
- -rm -rf $($(@F)-LIST)
+++ /dev/null
-/* Fix broken unixen. */
-#include <config.h>
-#ifdef NEED_SOCKLEN_T_DEFINE
- #define socklen_t size_t
-#endif
-#include_next <netdb.h>
+++ /dev/null
-# -*- make -*-
-
-# This handles man pages with po4a. We convert to the respective
-# output in the source directory then copy over to the final dest. This
-# means po4a is only needed if compiling from bzr
-
-# Input
-# $(LC) - The language code of the translation
-
-# See defaults.mak for information about LOCAL
-
-# generate a list of accepted man page translations
-SOURCE = $(patsubst %.xml,%,$(wildcard *.$(LC).?.xml))
-INCLUDES = apt.ent apt-verbatim.ent apt-vendor.ent
-
-manpages:
-
-%.xsl: ../%.xsl
- cp -a $< .
-
-# Do not use XMLTO, build the manpages directly with XSLTPROC
-ifdef XSLTPROC
-
-STYLESHEET=manpage-style.xsl
-
-LOCAL := po4a-manpage-$(firstword $(SOURCE))
-$(LOCAL)-LIST := $(SOURCE)
-
-# Install generation hooks
-manpages: $($(LOCAL)-LIST)
-clean: clean/$(LOCAL)
-veryclean: veryclean/$(LOCAL)
-
-apt-verbatim.ent: ../apt-verbatim.ent
- cp -a ../apt-verbatim.ent .
-
-apt-vendor.ent: ../apt-vendor.ent
- cp -a ../apt-vendor.ent .
-
-$($(LOCAL)-LIST) :: % : %.xml $(STYLESHEET) $(INCLUDES)
- echo Creating man page $@
- $(XSLTPROC) \
- --stringparam l10n.gentext.default.language $(LC) \
- -o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here???
- test -f $(subst .$(LC),,$@) || echo 'FIXME: xsltproc respects the -o flag now, workaround can be removed'
- mv -f $(subst .$(LC),,$@) $@
-
-# Clean rule
-.PHONY: clean/$(LOCAL) veryclean/$(LOCAL)
-clean/$(LOCAL):
- rm -f $($(@F)-LIST) apt.ent apt-verbatim.ent
-veryclean/$(LOCAL):
- # we are nuking the directory we are working in as it is auto-generated
- rm -rf '$(abspath .)'
-
-HAVE_PO4A=yes
-endif
-
-# take care of the rest
-INCLUDES :=
-
-ifndef HAVE_PO4A
-# Strip from the source list any man pages we don't have compiled already
-SOURCE := $(wildcard $(SOURCE))
-endif
-
-# Chain to the manpage rule
-ifneq ($(words $(SOURCE)),0)
-include $(MANPAGE_H)
-endif
-
-# DocBook XML Documents
-SOURCE := $(wildcard *.$(LC).dbk)
-include $(DOCBOOK_H)
+++ /dev/null
-# -*- make -*-
-
-# This creates the file listing used by xgettext and friends based on the
-# declared domain of the make file. It also arranges to set the DOMAIN
-# CPPFLAG for the compilation.
-
-ifneq ($(APT_DOMAIN),none)
-
-MY_DOMAIN := $(PACKAGE)
-ifdef APT_DOMAIN
-$($(LOCAL)-OBJS): CPPFLAGS := $(CPPFLAGS) -DAPT_DOMAIN='"$(APT_DOMAIN)"'
-MY_DOMAIN := $(APT_DOMAIN)
-endif
-
-MKDIRS += $(PO_DOMAINS)/$(MY_DOMAIN)
-$(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: SRC := $(addprefix $(SUBDIR)/,$(SOURCE))
-$(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: makefile dirs
- (echo $(SRC) | xargs -n1 echo) > $@.tmp
- cmp --silent $@.tmp $@ || mv $@.tmp $@
-startup binary program clean update-po: $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list
-
-veryclean: veryclean/$(LOCAL)
-veryclean/po/$(LOCAL): LIST := $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list
-veryclean/po/$(LOCAL):
- rm -f $(LIST)
-
-endif
+++ /dev/null
-# -*- make -*-
-
-# This creates a program
-
-# Input
-# $(SOURCE) - The source code to use
-# $(PROGRAM) - The name of the program
-# $(SLIBS) - Shared libs to link against
-# $(LIB_MAKES) - Shared library make files to depend on - to ensure we get
-# remade when the shared library version increases.
-
-# See defaults.mak for information about LOCAL
-
-# Some local definitions
-LOCAL := $(PROGRAM)
-$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .o,$(notdir $(basename $(SOURCE)))))
-$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .o.d,$(notdir $(basename $(SOURCE)))))
-$(LOCAL)-BIN := $(BIN)/$(PROGRAM)
-$(LOCAL)-SLIBS := $(SLIBS)
-$(LOCAL)-MKS := $(addprefix $(BASE)/,$(LIB_MAKES))
-
-# Install the command hooks
-program: $(BIN)/$(PROGRAM)
-clean: clean/$(LOCAL)
-veryclean: veryclean/$(LOCAL)
-
-TYPE = src
-include $(PODOMAIN_H)
-
-# Make Directories
-MKDIRS += $(OBJ) $(DEP) $(BIN)
-
-# The clean rules
-.PHONY: clean/$(LOCAL) veryclean/$(LOCAL)
-clean/$(LOCAL):
- -rm -f $($(@F)-OBJS) $($(@F)-DEP)
-veryclean/$(LOCAL): clean/$(LOCAL)
- -rm -f $($(@F)-BIN)
-
-# The convience binary build rule
-.PHONY: $(PROGRAM)
-$(PROGRAM): $($(LOCAL)-BIN)
-
-# The binary build rule
-$($(LOCAL)-BIN): $($(LOCAL)-OBJS) $($(LOCAL)-MKS)
- echo Building program $@
- $(CXX) $(CXXSTD) $(CXXFLAGS) $(LDFLAGS) $(LFLAGS) -o $@ $(filter %.o,$^) $($(@F)-SLIBS) $(LEFLAGS)
-
-# Compilation rules
-vpath %.cc $(SUBDIRS)
-$(OBJ)/%.o: %.cc
- echo Compiling $< to $@
- $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXSTD) $(CXXFLAGS) -o $@ '$(abspath $<)'
- $(DoDep)
-
-# Include the dependencies that are available
-The_DFiles = $(wildcard $($(LOCAL)-DEP))
-ifneq ($(words $(The_DFiles)),0)
-include $(The_DFiles)
-endif
+++ /dev/null
-# -*- make -*-
-
-# This creates a python shared module.
-
-# Input
-# $(SOURCE) - The source code to use
-# $(MODULE) - The name of the module without module or .so
-
-# All output is writtin to .opic files in the build directory to
-# signify the PIC output.
-
-# See defaults.mak for information about LOCAL
-
-# Some local definitions
-LOCAL := $(MODULE)module.so
-$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE)))))
-$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE)))))
-$(LOCAL)-SLIBS := $(SLIBS)
-$(LOCAL)-MODULE := $(MODULE)
-
-# Install the command hooks
-library: $(LIB)/$(MODULE)module.so
-clean: clean/$(LOCAL)
-veryclean: veryclean/$(LOCAL)
-
-# Make Directories
-MKDIRS += $(OBJ) $(DEP) $(LIB)
-
-# The clean rules
-.PHONY: clean/$(LOCAL) veryclean/$(LOCAL)
-clean/$(LOCAL):
- -rm -f $($(@F)-OBJS) $($(@F)-DEP)
-veryclean/$(LOCAL): clean/$(LOCAL)
- -rm -f $($(@F)-HEADERS) $(LIB)/$($(@F)-MODULE)module.so*
-
-# The binary build rule.
-ifdef PYTHONLIB
-ifndef ONLYSTATICLIBS
-$(LIB)/$(MODULE)module.so: $($(LOCAL)-OBJS)
- -rm -f $(LIB)/$($(@F)-MODULE)module.so* 2> /dev/null
- echo Building shared Python module $@
- $(CXX) $(CXXSTD) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\
- -o $@ -shared \
- $(filter %.opic,$^) \
- $($(@F)-SLIBS) $(PYTHONLIB)
-else
-.PHONY: $(LIB)/$(MODULE)module.so
-$(LIB)/$(MODULE)module.so:
- echo Don't know how to make a python module here, not building $@
-endif # ifndef ONLYSTATICLIBS
-else
-.PHONY: $(LIB)/$(MODULE)module.so
-$(LIB)/$(MODULE)module.so:
- echo No python support, not building $@
-endif # ifdef PYTHONLIB
-
-# Compilation rules
-vpath %.cc $(SUBDIRS)
-$(OBJ)/%.opic: %.cc
- echo Compiling $< to $@
- $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXSTD) $(CXXFLAGS) $(PICFLAGS) -o $@ '$(abspath $<)'
- $(DoDep)
-
-# Include the dependencies that are available
-The_DFiles = $(wildcard $($(LOCAL)-DEP))
-ifneq ($(words $(The_DFiles)),0)
-include $(The_DFiles)
-endif
+++ /dev/null
-# -*- make -*-
-
-# This creates a static library.
-
-# Input
-# $(SOURCE) - The source code to use
-# $(HEADERS) - Exported header files and private header files
-# $(LIBRARY) - The name of the library without lib or .so
-
-# All output is writtin to .o files in the build directory
-
-# See defaults.mak for information about LOCAL
-
-# Some local definitions
-LOCAL := lib$(LIBRARY).a
-$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .o,$(notdir $(basename $(SOURCE)))))
-$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .o.d,$(notdir $(basename $(SOURCE)))))
-$(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS))
-$(LOCAL)-LIB := $(LIB)/lib$(LIBRARY).a
-
-# Install the command hooks
-headers: $($(LOCAL)-HEADERS)
-library: $($(LOCAL)-LIB)
-clean: clean/$(LOCAL)
-veryclean: veryclean/$(LOCAL)
-
-# Make Directories
-MKDIRS += $(OBJ) $(DEP) $(LIB) $(dir $($(LOCAL)-HEADERS))
-
-# The clean rules
-.PHONY: clean/$(LOCAL) veryclean/$(LOCAL)
-clean/$(LOCAL):
- -rm -f $($(@F)-OBJS) $($(@F)-DEP)
-veryclean/$(LOCAL): clean/$(LOCAL)
- -rm -f $($(@F)-HEADERS) $($(@F)-LIB)
-
-# Build rules for the two symlinks
-.PHONY: $($(LOCAL)-LIB)
-
-# The binary build rule
-$($(LOCAL)-LIB): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS)
- echo Building library $@
- -rm $@ > /dev/null 2>&1
- $(AR) cq $@ $(filter %.o,$^)
-ifneq ($(words $(RANLIB)),0)
- $(RANLIB) $@
-endif
-
-# Compilation rules
-vpath %.cc $(SUBDIRS)
-$(OBJ)/%.o: %.cc
- echo Compiling $< to $@
- $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXSTD) $(CXXFLAGS) -o $@ '$(abspath $<)'
- $(DoDep)
-
-# Include the dependencies that are available
-The_DFiles = $(wildcard $($(LOCAL)-DEP))
-ifneq ($(words $(The_DFiles)),0)
-include $(The_DFiles)
-endif
+++ /dev/null
-/* Compatibility for systems with out Single Unix Spec statvfs */
-#include <config.h>
-
-#ifdef HAVE_VFS_H
-#include <sys/vfs.h>
-#endif
-
-#ifdef HAVE_MOUNT_H
-#include <sys/param.h>
-#include <sys/mount.h>
-#endif
-
-#define statvfs statfs
+++ /dev/null
-AC_DEFUN([ah_HAVE_GETCONF],
- [AC_ARG_WITH(getconf,
- [ --with-getconf Enable automagical buildtime configuration],
- [if test "$withval" = "yes"; then
- AC_PATH_PROG(GETCONF, getconf)
- elif test ! "$withval" = "no";then
- AC_MSG_CHECKING([getconf])
- AC_MSG_RESULT([$withval])
- GETCONF=$withval
- fi],
- [AC_PATH_PROG(GETCONF, getconf)]
- )
- AC_SUBST(GETCONF)
-])
-
-dnl ah_GET_CONF(variable, value ..., [default])
-AC_DEFUN([ah_GET_GETCONF],
- [AC_REQUIRE([ah_HAVE_GETCONF])
- if test ! -z "$GETCONF";then
- old_args="[$]@"
- set -- $2
- while eval test -z \"\$$1\" -a ! -z \"[$]1\";do
- eval $1=`$GETCONF "[$]1" 2>/dev/null`
- shift
- done
- fi
- if eval test -z \"\$$1\" -o \"\$$1\" = "-1";then
- eval $1="$3"
- fi
-])
-AC_DEFUN([ah_NUM_CPUS],
- [AC_MSG_CHECKING([number of cpus])
- AC_ARG_WITH(cpus,
- [ --with-cpus The number of cpus to be used for building(see --with-procs, default 1)],
- [
- if test "$withval" = "yes"; then
- ah_GET_GETCONF(NUM_CPUS, SC_NPROCESSORS_ONLN _NPROCESSORS_ONLN, 1)
- elif test ! "$withval" = "no";then
- NUM_CPUS=$withval
- elif test "$withval" = "no";then
- NUM_CPUS=1
- fi],
- [ah_GET_GETCONF(NUM_CPUS, SC_NPROCESSORS_ONLN _NPROCESSORS_ONLN, 1)]
- )
- ah_NUM_CPUS_msg="$NUM_CPUS"
- if test "$NUM_CPUS" = "0"; then
- # broken getconf, time to bitch.
- ah_NUM_CPUS_msg="found 0 cpus. Has someone done a lobotomy?"
- NUM_CPUS=1
- fi
- if test $NUM_CPUS = 1 ;then
- default_PROC_MULTIPLY=1
- else
- default_PROC_MULTIPLY=2
- fi
- AC_MSG_RESULT([$ah_NUM_CPUS_msg])
- AC_SUBST(NUM_CPUS)
-])
-AC_DEFUN([ah_PROC_MULTIPLY],
- [AC_REQUIRE([ah_NUM_CPUS])
- AC_MSG_CHECKING([processor multiplier])
- AC_ARG_WITH(proc-multiply,
- [ --with-proc-multiply Multiply this * number of cpus for parallel making(default 2).],
- [if test "$withval" = "yes"; then
- PROC_MULTIPLY=$default_PROC_MULTIPLY
- elif test ! "$withval" = "no";then
- PROC_MULTIPLY=$withval
- fi],
- [PROC_MULTIPLY=$default_PROC_MULTIPLY]
- )
- AC_MSG_RESULT([$PROC_MULTIPLY])
- AC_SUBST(PROC_MULTIPLY)
-])
-
-AC_DEFUN([ah_NUM_PROCS],
- [AC_REQUIRE([ah_PROC_MULTIPLY])
- AC_REQUIRE([ah_NUM_CPUS])
- AC_MSG_CHECKING([number of processes to run during make])
- AC_ARG_WITH(procs,
- [ --with-procs The number of processes to run in parallel during make(num_cpus * multiplier).],
- [if test "$withval" = "yes"; then
- NUM_PROCS=`expr $NUM_CPUS \* $PROC_MULTIPLY`
- elif test ! "$withval" = "no";then
- NUM_PROCS=$withval
- fi],
- [NUM_PROCS=`expr $NUM_CPUS \* $PROC_MULTIPLY`]
- )
- AC_MSG_RESULT([$NUM_PROCS])
- AC_SUBST(NUM_PROCS)
-])
-
-AC_DEFUN([ah_GCC3DEP],[
- AC_MSG_CHECKING(if $CXX -MD works)
- touch gcc3dep.cc
- ${CXX-c++} -MD -o gcc3dep_test.o -c gcc3dep.cc
- rm -f gcc3dep.cc gcc3dep_test.o
- if test -e gcc3dep.d; then
- rm -f gcc3dep.d
- GCC_MD=input
- GCC3DEP=
- elif test -e gcc3dep_test.d; then
- rm -f gcc3dep_test.d
- GCC_MD=output
- GCC3DEP=yes
- else
- AC_MSG_ERROR(no)
- fi
- AC_MSG_RESULT([yes, for $GCC_MD])
- AC_SUBST(GCC3DEP)
-])
+++ /dev/null
-# -*- make -*-
-BASE=..
-SUBDIR=cmdline
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-
-# The apt program
-PROGRAM=apt
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt.cc
-include $(PROGRAM_H)
-
-# The apt-cache program
-PROGRAM=apt-cache
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt-cache.cc
-include $(PROGRAM_H)
-
-# The apt-get program
-PROGRAM=apt-get
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt-get.cc
-include $(PROGRAM_H)
-
-# The apt-config program
-PROGRAM=apt-config
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt-config.cc
-include $(PROGRAM_H)
-
-# The apt-cdrom program
-PROGRAM=apt-cdrom
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt-cdrom.cc
-include $(PROGRAM_H)
-
-# The apt-mark program
-PROGRAM=apt-mark
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt-mark.cc
-include $(PROGRAM_H)
-
-# The apt-helper
-PROGRAM=apt-helper
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -lresolv
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt-helper.cc
-include $(PROGRAM_H)
-
-# The apt-report-mirror-failure program
-#SOURCE=apt-report-mirror-failure
-#TO=$(BIN)
-#TARGET=program
-#include $(COPY_H)
-
-#
-# the following programs are shipped in apt-utils
-#
-APT_DOMAIN:=apt-utils
-
-# The apt-sortpkgs program
-PROGRAM=apt-sortpkgs
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt-sortpkgs.cc
-include $(PROGRAM_H)
-
-# The apt-extracttemplates program
-PROGRAM=apt-extracttemplates
-SLIBS = -lapt-pkg -lapt-inst -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-inst/makefile apt-private/makefile
-SOURCE = apt-extracttemplates.cc
-include $(PROGRAM_H)
-
-# The internal solver/planner acting as an external
-PROGRAM=apt-internal-solver
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt-internal-solver.cc
-include $(PROGRAM_H)
-
-PROGRAM=apt-internal-planner
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt-internal-planner.cc
-include $(PROGRAM_H)
-
-# This just dumps out the state
-PROGRAM=apt-dump-solver
-SLIBS = -lapt-pkg -lapt-private $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-private/makefile
-SOURCE = apt-dump-solver.cc
-include $(PROGRAM_H)
-
-# The apt-key program
-apt-key: apt-key.in
- sed -e "s#&keyring-filename;#$(shell ../vendor/getinfo keyring-filename)#" \
- -e "s#&keyring-removed-filename;#$(shell ../vendor/getinfo keyring-removed-filename)#" \
- -e "s#&keyring-master-filename;#$(shell ../vendor/getinfo keyring-master-filename)#" \
- -e "s#&keyring-uri;#$(shell ../vendor/getinfo keyring-uri)#" \
- -e "s#&keyring-package;#$(shell ../vendor/getinfo keyring-package)#" $< > $@
- chmod 755 $@
-
-SOURCE=apt-key
-TO=$(BIN)
-TARGET=program
-include $(COPY_H)
-
-clean: clean/apt-key
-
-clean/apt-key:
- rm -f apt-key
+++ /dev/null
-ad
-dnl Process this file with autoconf to produce a configure script.
-dnl The ONLY thing this is used for is to configure for different
-dnl linux architectures and configurations, it is not used to make the
-dnl code more portable
-
-dnl You MUST have an environment that has all the POSIX functions and
-dnl some of the more popular bsd/sysv ones (like select). You'll also
-dnl need a C++ compiler that is semi-standard conformant, exceptions are
-dnl not used but STL is.
-
-dnl 'make -f Makefile startup' will generate the configure file from
-dnl configure.ac correctly and can be run at any time
-
-AC_PREREQ([2.68])
-AC_INIT
-AC_CONFIG_SRCDIR([configure.ac])
-AC_CONFIG_AUX_DIR(buildlib)
-AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
-
-PACKAGE="apt"
-PACKAGE_VERSION="1.3~pre3+cmake2"
-PACKAGE_MAIL="APT Development Team <deity@lists.debian.org>"
-AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
-AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"$PACKAGE_VERSION")
-AC_DEFINE_UNQUOTED(PACKAGE_MAIL,"$PACKAGE_MAIL")
-AC_SUBST(PACKAGE)
-AC_SUBST(PACKAGE_VERSION)
-AC_SUBST(PACKAGE_MAIL)
-
-dnl Check the archs, we want the target type.
-AC_CANONICAL_TARGET
-
-dnl Check our C compiler
-
-AC_PROG_CC
-AC_SEARCH_LIBS([strerror],[cposix])
-
-dnl check for large file support and enable it if possible
-dnl do this early as other stuff might depend on it
-AC_SYS_LARGEFILE
-
-dnl Check for other programs
-AC_PROG_CXX
-AC_PROG_CPP
-AC_PROG_RANLIB
-AC_CHECK_TOOL(AR,ar,"ar")
-
-dnl Checks for sockets
-SAVE_LIBS="$LIBS"
-LIBS=""
-AC_SEARCH_LIBS(gethostbyname,nsl)
-AC_SEARCH_LIBS(connect,socket)
-SOCKETLIBS="$LIBS"
-AC_SUBST(SOCKETLIBS)
-LIBS="$SAVE_LIBS"
-
-dnl Checks for pthread
-AC_CHECK_LIB(pthread, pthread_create,[AC_DEFINE(HAVE_PTHREAD) PTHREADLIB="-lpthread"])
-AC_SUBST(PTHREADLIB)
-if test "$PTHREADLIB" != "-lpthread"; then
- AC_MSG_ERROR(failed: I need posix threads, pthread)
-fi
-
-dnl Check for BDB
-saveLIBS="$LIBS"
-LIBS="$LIBS -ldb"
-
-AC_CHECK_HEADER(db.h,
- [AC_MSG_CHECKING(if we can link against BerkeleyDB)
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [#include <db.h>],
- [int r, s, t; db_version(&r, &s, &t);]
- )],
- [AC_DEFINE(HAVE_BDB)
- BDBLIB="-ldb"
- AC_MSG_RESULT(yes)],
- [BDBLIB=""
- AC_MSG_RESULT(no)]
- )]
-)
-
-LIBS="$saveLIBS"
-
-AC_CHECK_LIB(curl, curl_easy_init,
- [AC_CHECK_HEADER(curl/curl.h,
- curl_ok=yes,
- curl_ok=no)],
- AC_MSG_ERROR([failed: I need CURL due https support]),
-)
-
-AC_LANG_PUSH([C++])
-AC_CHECK_HEADER(gtest/gtest.h,,
- AC_MSG_WARN([failed: I need gtest (packaged as libgtest-dev) for unit testing]),
-)
-AC_LANG_POP([C++])
-
-
-AC_SUBST(BDBLIB)
-
-HAVE_ZLIB=no
-AC_CHECK_LIB(z, gzopen,
- [AC_CHECK_HEADER(zlib.h, [HAVE_ZLIB=yes], AC_MSG_ERROR([failed: zlib.h not found]))],
- AC_MSG_ERROR([failed: Need libz]))
-AC_SUBST(HAVE_ZLIB)
-if test "x$HAVE_ZLIB" = "xyes"; then
- AC_DEFINE(HAVE_ZLIB)
-fi
-
-HAVE_LZ4=no
-AC_CHECK_LIB(lz4, LZ4F_createCompressionContext,[AC_CHECK_HEADER(lz4frame.h, [HAVE_LZ4=yes], [])], [])
-AC_SUBST(HAVE_LZ4)
-if test "x$HAVE_LZ4" = "xyes"; then
- AC_DEFINE(HAVE_LZ4)
-fi
-
-HAVE_BZ2=no
-AC_CHECK_LIB(bz2, BZ2_bzopen,[AC_CHECK_HEADER(bzlib.h, [HAVE_BZ2=yes], [])], [])
-AC_SUBST(HAVE_BZ2)
-if test "x$HAVE_BZ2" = "xyes"; then
- AC_DEFINE(HAVE_BZ2)
-fi
-
-HAVE_LZMA=no
-AC_CHECK_LIB(lzma, lzma_easy_encoder,[AC_CHECK_HEADER(lzma.h, [HAVE_LZMA=yes], [])], [])
-AC_SUBST(HAVE_LZMA)
-if test "x$HAVE_LZMA" = "xyes"; then
- AC_DEFINE(HAVE_LZMA)
-fi
-
-dnl Converts the ARCH to be something singular for this general CPU family
-dnl This is often the dpkg architecture string.
-dnl First check against the full canonical canoncial-system-type in $target
-dnl and if that fails, just look for the cpu
-AC_MSG_CHECKING(debian architecture)
-archset="`dpkg-architecture -qDEB_HOST_ARCH`"
-if test "x$archset" = "x"; then
- AC_MSG_ERROR([failed: use --host= or output from dpkg-architecture])
-fi
-AC_MSG_RESULT($archset)
-AC_DEFINE_UNQUOTED(COMMON_ARCH,"$archset")
-
-dnl Single Unix Spec statvfs
-AC_CHECK_FUNC(statvfs,[HAVE_STATVFS=yes])
-AC_SUBST(HAVE_STATVFS)
-
-dnl Arg, linux and bsd put their statfs function in different places
-if test x"$HAVE_STATVFS" != x"yes"; then
- AC_EGREP_HEADER(statfs,sys/vfs.h,[AC_DEFINE(HAVE_VFS_H)],[
- AC_EGREP_HEADER(statfs,sys/mount.h,[AC_DEFINE(HAVE_MOUNT_H)],[AC_MSG_ERROR(failed: Need statvfs)])
- ])
-fi
-
-AC_CHECK_MEMBERS([struct statfs.f_type],,,
- [$ac_includes_default
- #include <sys/vfs.h>])
-
-dnl We should use the real timegm function if we have it.
-AC_CHECK_FUNC(timegm,AC_DEFINE(HAVE_TIMEGM))
-AC_SUBST(HAVE_TIMEGM)
-
-dnl Check the architecture
-AC_C_BIGENDIAN
-
-dnl HP-UX sux..
-AC_MSG_CHECKING(for missing socklen_t)
-AC_EGREP_HEADER(socklen_t, sys/socket.h,[AC_MSG_RESULT(no)],[
- AC_DEFINE(NEED_SOCKLEN_T_DEFINE)
- NEED_SOCKLEN_T_DEFINE=yes
- AC_MSG_RESULT(missing.)])
-AC_SUBST(NEED_SOCKLEN_T_DEFINE)
-
-dnl HP-UX needs -d_XOPEN_SOURCE_EXTENDED for h_errno
-AC_MSG_CHECKING(for h_errno)
-AC_EGREP_HEADER(h_errno, netdb.h, [AC_MSG_RESULT(normal)],
- [CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
- AC_EGREP_HEADER(h_errno, netdb.h,
- [AC_MSG_RESULT(needs _XOPEN_SOURCE_EXTENDED)],
- [AC_MSG_ERROR("not found.")])
- ])
-
-
-dnl check for setuid checking function
-AC_CHECK_FUNCS(getresuid getresgid setresuid setresgid)
-AC_SUBST(HAVE_GETRESUID)
-AC_SUBST(HAVE_GETRESGID)
-AC_SUBST(HAVE_SETRESUID)
-AC_SUBST(HAVE_SETRESGID)
-
-dnl Check for doxygen
-AC_PATH_PROG(DOXYGEN, doxygen)
-
-dnl Check for the XSLTProc tool needed to build man pages together with po4a
-AC_PATH_PROG(XSLTPROC,xsltproc)
-AC_PATH_PROG(W3M, w3m)
-
-dnl Check for the po4a tool needed to build man pages
-AC_PATH_PROG(PO4A,po4a)
-
-dnl Check for graphviz
-AC_CHECK_PROG([HAVE_DOT], [dot], [YES], [NO])
-AC_PATH_PROG([DOT], [dot], [])
-DOTDIR=$(dirname $DOT)
-AC_SUBST(DOTDIR)
-
-ah_NUM_PROCS
-ah_GCC3DEP
-
-AM_GNU_GETTEXT(external)
-if test x"$USE_NLS" = "xyes"; then
- AC_DEFINE(USE_NLS)
-fi
-AC_SUBST(USE_NLS)
-AC_PATH_PROG(BASH, bash)
-
-AC_CONFIG_FILES([environment.mak:buildlib/environment.mak.in makefile:buildlib/makefile.in doc/Doxyfile:doc/Doxyfile.in])
-AC_OUTPUT
+++ /dev/null
-# -*- make -*-
-BASE=../..
-SUBDIR=doc/en
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-# Do not use XMLTO, build the manpages directly with XSLTPROC
-ifdef XSLTPROC
-# generate a list of accepted man page translations
-SOURCE = $(patsubst ../%.xml,%,$(wildcard ../*.?.xml))
-INCLUDES = ../apt.ent ../apt-verbatim.ent apt-vendor.ent
-STYLESHEET=../manpage-style.xsl
-
-LOCAL := manpage-$(firstword $(SOURCE))
-$(LOCAL)-LIST := $(SOURCE)
-
-apt-vendor.ent: ../../vendor/current/apt-vendor.ent
- ln -sf '$(abspath $^)' $@
-
-# Install generation hooks
-manpages: $($(LOCAL)-LIST)
-
-$($(LOCAL)-LIST) :: % : ../%.xml $(STYLESHEET) $(INCLUDES)
- echo Creating man page $@
- $(XSLTPROC) -o $@ $(STYLESHEET) $<
-
-# Clean rule
-.PHONY: clean/$(LOCAL)
-veryclean: clean/$(LOCAL)
-clean: clean/$(LOCAL)
-clean/$(LOCAL):
- -rm -rf $($(@F)-LIST) apt-vendor.ent
-endif
-
-# Chain to the manpage rule
-include $(MANPAGE_H)
+++ /dev/null
-# -*- make -*-
-BASE=../..
-SUBDIR=doc/@@LANG@@
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-# Language Code of this translation
-LC=@@LANG@@
-
-include $(PO4A_MANPAGE_H)
+++ /dev/null
-# -*- make -*-
-BASE=..
-SUBDIR=doc
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-
-# DocBook XML Documents
-SOURCE = $(wildcard *.dbk)
-LC = en
-include $(DOCBOOK_H)
-
-doc: manpages docbook
-
-examples/sources.list: ../vendor/current/sources.list
- ln -sf '$(abspath $^)' $@
-
-apt-vendor.ent: ../vendor/current/apt-vendor.ent
- ln -sf '$(abspath $^)' $@
-
-# Examples
-SOURCE = examples/apt.conf examples/sources.list examples/configure-index examples/apt-https-method-example.conf
-TO = $(DOC)
-TARGET = binary
-include $(COPY_H)
-
-.PHONY: clean clean/subdirs veryclean veryclean/subdirs manpages/subdirs docbook/subdirs all binary doc stats
-
-clean: clean/subdirs clean/examples
-veryclean: veryclean/subdirs clean/examples
-manpages: apt-vendor.ent manpages/subdirs
-docbook: apt-vendor.ent docbook/subdirs
-
-DOCUMENTATIONPO = $(patsubst %.po,%,$(notdir $(wildcard po/*.po)))
-DOCDIRLIST = $(addsuffix /makefile,$(DOCUMENTATIONPO))
-
-dirs: $(DOCDIRLIST)
-$(DOCDIRLIST) :: %/makefile : lang.makefile
- test -d $(dir $@) || mkdir $(dir $@)
- sed "s#@@LANG@@#$(subst /,,$(dir $@))#" $< > $@
-
-docbook/subdirs manpages/subdirs clean/subdirs veryclean/subdirs:
- for dir in en $(dir $(DOCDIRLIST)); do \
- $(MAKE) -C $$dir $(patsubst %/subdirs,%,$@); \
- done
-
-clean/examples:
- rm -f examples/sources.list
- rm -f apt-vendor.ent
-
-stats:
- for i in po/*.po; do echo -n "$$i: "; msgfmt --output-file=/dev/null --statistics $$i; done
-
-ifdef PO4A
-MANPAGEPOLIST = $(addprefix manpages-translation-,$(DOCUMENTATIONPO))
-DOCBOOKPOLIST = $(addprefix docbook-translation-,$(DOCUMENTATIONPO))
-
-.PHONY: update-po po4a $(MANPAGEPOLIST) $(DOCBOOKPOLIST) $(DOCDIRLIST)
-
-po4a: manpages/subdirs docbook/subdirs
-
-update-po:
- po4a --previous --no-backups --force --no-translations \
- --msgmerge-opt --add-location=file \
- --porefs noline,wrap \
- --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \
- --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf
- sed -n '/^#$$/,$$p' po/apt-doc.pot > po/apt-doc.pot.headerfree
- #cat po/apt-doc.pot > po/apt-doc.pot.headerfree
- cat po/header.pot.txt po/apt-doc.pot.headerfree > po/apt-doc.pot
- rm -f po/apt-doc.pot.headerfree
-
-manpages/subdirs: $(MANPAGEPOLIST)
-$(MANPAGEPOLIST) :: manpages-translation-% : %/makefile po4a.conf
- po4a --previous --no-backups --translate-only $(dir $<)apt.ent \
- --msgmerge-opt --add-location=file \
- $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.1.xml,%.$(subst /,,$(dir $<)).1.xml,$(wildcard *.1.xml))) \
- $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.2.xml,%.$(subst /,,$(dir $<)).2.xml,$(wildcard *.2.xml))) \
- $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.3.xml,%.$(subst /,,$(dir $<)).3.xml,$(wildcard *.3.xml))) \
- $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.4.xml,%.$(subst /,,$(dir $<)).4.xml,$(wildcard *.4.xml))) \
- $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.5.xml,%.$(subst /,,$(dir $<)).5.xml,$(wildcard *.5.xml))) \
- $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.6.xml,%.$(subst /,,$(dir $<)).6.xml,$(wildcard *.6.xml))) \
- $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.7.xml,%.$(subst /,,$(dir $<)).7.xml,$(wildcard *.7.xml))) \
- $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.8.xml,%.$(subst /,,$(dir $<)).8.xml,$(wildcard *.8.xml))) \
- --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \
- --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf
-
-docbook/subdirs: $(DOCBOOKPOLIST)
-$(DOCBOOKPOLIST) :: docbook-translation-% : %/makefile po4a.conf
- po4a --previous --no-backups --translate-only $(dir $<)apt.ent \
- --msgmerge-opt --add-location=file \
- $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.dbk,%.$(subst /,,$(dir $<)).dbk,$(wildcard *.dbk))) \
- --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \
- --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf
-endif
-
-ifdef DOXYGEN
-DOXYGEN_SOURCES = $(shell find $(BASE)/apt-pkg -not -name .\\\#* -and \( -name \*.cc -or -name \*.h \) )
-
-clean: doxygen-clean
-
-doxygen-clean:
- rm -fr $(BUILD)/doc/doxygen
- rm -f $(BUILD)/doc/doxygen-stamp
-
-$(BUILD)/doc/doxygen-stamp: $(DOXYGEN_SOURCES) $(BUILD)/doc/Doxyfile
- rm -fr $(BUILD)/doc/doxygen
- mkdir $(BUILD)/doc/doxygen # some versions seem to not create this directory #628799
- $(DOXYGEN) $(BUILD)/doc/Doxyfile
- touch $(BUILD)/doc/doxygen-stamp
-
-docbook: $(BUILD)/doc/doxygen-stamp
-endif
+++ /dev/null
-# -*- make -*-
-BASE=..
-SUBDIR=dselect
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-
-# DSelect interfacing directory
-SOURCE = desc.apt install names setup update
-TO = $(BUILD)/scripts/dselect
-TARGET = program
-include $(COPY_H)
-
-# LOCAL = dselect
-SOURCE = install update
-TYPE = sh
-include $(PODOMAIN_H)
+++ /dev/null
-# -*- make -*-
-BASE=..
-SUBDIR=ftparchive
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-
-# The apt-ftparchive program
-ifdef BDBLIB
-APT_DOMAIN:=apt-utils
-PROGRAM=apt-ftparchive
-SLIBS = -lapt-pkg -lapt-inst -lapt-private $(BDBLIB) $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile apt-inst/makefile apt-private/makefile
-SOURCE = apt-ftparchive.cc cachedb.cc writer.cc contents.cc override.cc \
- multicompress.cc sources.cc byhash.cc
-include $(PROGRAM_H)
-else
-PROGRAM=apt-ftparchive
-MESSAGE="Must have libdb to build apt-ftparchive"
-include $(FAIL_H)
-endif # ifdef BDBLIB
+++ /dev/null
-# -*- make -*-
-BASE=..
-SUBDIR=methods
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-BIN := $(BIN)/methods
-
-include ../buildlib/libversion.mak
-APT_DOMAIN := apt
-
-# The file method
-PROGRAM=file
-SLIBS = -lapt-pkg $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile
-SOURCE = file.cc
-include $(PROGRAM_H)
-
-# The copy method
-PROGRAM=copy
-SLIBS = -lapt-pkg $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile
-SOURCE = copy.cc
-include $(PROGRAM_H)
-
-# The store method
-PROGRAM=store
-SLIBS = -lapt-pkg $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile
-SOURCE = store.cc
-include $(PROGRAM_H)
-
-# The gpgv method
-PROGRAM=gpgv
-SLIBS = -lapt-pkg $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile
-SOURCE = gpgv.cc
-include $(PROGRAM_H)
-
-# The cdrom method
-PROGRAM=cdrom
-SLIBS = -lapt-pkg $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile
-SOURCE = cdrom.cc
-include $(PROGRAM_H)
-
-# The http method
-PROGRAM=http
-SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS) -lresolv
-LIB_MAKES = apt-pkg/makefile
-SOURCE = http.cc http_main.cc rfc2553emu.cc connect.cc server.cc
-include $(PROGRAM_H)
-
-# The https method
-PROGRAM=https
-SLIBS = -lapt-pkg -lcurl $(INTLLIBS) -lresolv
-LIB_MAKES = apt-pkg/makefile
-SOURCE = https.cc server.cc
-include $(PROGRAM_H)
-
-# The ftp method
-PROGRAM=ftp
-SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS) -lresolv
-LIB_MAKES = apt-pkg/makefile
-SOURCE = ftp.cc rfc2553emu.cc connect.cc
-include $(PROGRAM_H)
-
-# The rred method
-PROGRAM=rred
-SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile
-SOURCE = rred.cc
-include $(PROGRAM_H)
-
-# The rsh method
-PROGRAM=rsh
-SLIBS = -lapt-pkg $(INTLLIBS)
-LIB_MAKES = apt-pkg/makefile
-SOURCE = rsh.cc
-include $(PROGRAM_H)
-
-# The mirror method
-PROGRAM=mirror
-SLIBS = -lapt-pkg $(SOCKETLIBS) -lresolv
-LIB_MAKES = apt-pkg/makefile
-SOURCE = mirror.cc http.cc rfc2553emu.cc connect.cc server.cc
-include $(PROGRAM_H)
-
-# SSH method symlink
-binary: $(BIN)/ssh
-veryclean: clean-$(BIN)/ssh
-
-$(BIN)/ssh:
- echo "Installing ssh method link"
- ln -fs rsh $(BIN)/ssh
-clean-$(BIN)/ssh:
- -rm $(BIN)/ssh
-
-# create compat links for all compressors
-COMPRESSORS=gzip bzip2 lzma xz
-
-binary: $(addprefix $(BIN)/,$(COMPRESSORS))
-veryclean: $(addprefix clean-$(BIN)/,$(COMPRESSORS))
-
-$(addprefix $(BIN)/,$(COMPRESSORS)): $(BIN)/store
- echo "Installing $(notdir $@) method link"
- ln -fs store $@
-
-$(addprefix clean-$(BIN)/,$(COMPRESSORS)):
- -rm $(BIN)/$(notdir $@)
+++ /dev/null
-## If a language isn't listed here but a po file is available the build will fail.
-## If a language is disabled deliberately, list it in a line starting with a single '#'
-
-ar ast bg bs ca cs cy da de dz el es eu fi fr gl hu it ja km ko ku lt mr nb ne nl nn pl pt pt_BR ro ru sk sl sv th tl tr uk vi zh_CN zh_TW
-
-## disabled by translator request #313283:
-# he
+++ /dev/null
-# -*- make -*-
-
-# This will compile the gettext message catalogues.
-
-# The other make files drop file lists in build/po/domains/DOMAIN/* which
-# is then picked up by this make file to define all the domains and all the
-# source files that compose each domain. It then produces the POT files
-# and then filters the PO files through the per-domain POT file to create
-# the input to msgformat, which is then dumped into a locale directory.
-
-BASE=..
-SUBDIR=po
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-
-CATALOGS := $(addsuffix .gmo, $(shell sed -e '/^\#/ d' -e '/^$$/ d' LINGUAS | tr '\n' ' '))
-DOMAINS := $(sort $(notdir $(wildcard $(PO_DOMAINS)/*)))
-POTFILES := $(addsuffix .pot,$(addprefix $(PO)/,$(DOMAINS)))
-
-# Construct a list of all mo files for all domains under $(PO_DOMAINS)
-MOFILES := $(patsubst %.gmo,%.mo,$(CATALOGS))
-MOFILES := $(foreach D,$(DOMAINS),$(addprefix $(PO_DOMAINS)/$(D)/,$(MOFILES)))
-LANG_POFILES := $(patsubst %.mo,%.po,$(MOFILES))
-LINGUAS := $(patsubst %.gmo,%,$(CATALOGS))
-
-GETDOMAIN = $(word 1,$(subst /, ,$(1)))
-
-# Generate the list of files from the bits the other make files dropped
-# and produce the .pot file.
-$(POTFILES) : $(PO)/%.pot :
- echo "Generating POT file $@"
- echo $@ : $(wildcard $(PO)/domains/$*/*.*list) $(addprefix $(BASE)/,$(shell cat $(wildcard $(PO)/domains/$*/*.srclist))) > $@.d.tmp
- cmp --silent $@.d.tmp $@.d || mv $@.d.tmp $@.d
-# From sh source
- cat $(PO)/domains/$*/*.shlist 2> /dev/null | (cd $(BASE) && xargs -n1 bash --dump-po-strings) > $(PO)/domains/$*/sh.pot.tmp
- cmp --silent $(PO)/domains/$*/sh.pot.tmp $(PO)/domains/$*/sh.pot || \
- mv $(PO)/domains/$*/sh.pot.tmp $(PO)/domains/$*/sh.pot
-# From C/C++ source
- cat $(PO)/domains/$*/*.srclist | sort > $(PO)/POTFILES_$*.in
- $(XGETTEXT) --default-domain=$* --directory=$(BASE) \
- --add-comments --foreign --keyword=_ --keyword=N_ \
- --add-location=file \
- --keyword=P_:1,2 \
- --files-from=$(PO)/POTFILES_$*.in -o $(PO)/domains/$*/c.pot.tmp
- cmp --silent $(PO)/domains/$*/c.pot.tmp $(PO)/domains/$*/c.pot || \
- mv $(PO)/domains/$*/c.pot.tmp $(PO)/domains/$*/c.pot
- rm -f $(PO)/POTFILES_$*.in
- $(MSGCOMM) --omit-header --more-than=0 $(PO)/domains/$*/c.pot $(PO)/domains/$*/sh.pot --output=$@.tmp
- cmp --silent $@ $@.tmp || mv $@.tmp $@
- # copy into the domain dirs to make rosetta happy
- rm -f $(PO)/domains/$*/*.pot
- cp $@ $(PO)/domains/$*
-
-# Filter the complete translation with the domain specific file to produce
-# only the subtext needed for this domain
-# We cannot express the dependencies required for this directly with a pattern
-# rule, so we use the .d hack.
-$(LANG_POFILES) : $(PO_DOMAINS)/%.po : $(POTFILES)
- printf "%s " "Generating $@"
- echo $@ : $(notdir $@) $(PO)/$(call GETDOMAIN,$*).pot > $(PO)/$(call GETDOMAIN,$*)_$(notdir $@).d
- $(MSGMERGE) --add-location=file $(notdir $@) $(PO)/$(call GETDOMAIN,$*).pot -o $@
-
-$(MOFILES) : $(PO_DOMAINS)/%.mo : $(PO_DOMAINS)/%.po
- printf "%s: " "Generating $(LOCALE)/$(notdir $*)/LC_MESSAGES/$(call GETDOMAIN,$*).mo"
- $(GMSGFMT) --statistics -o $@ $<
- mkdir -p $(LOCALE)/$(notdir $*)/LC_MESSAGES/
- cp $@ $(LOCALE)/$(notdir $*)/LC_MESSAGES/$(call GETDOMAIN,$*).mo
-
-stats: all-linguas-enabled
- for i in *.pot *.po; do echo -n "$$i: "; msgfmt --output-file=/dev/null --statistics $$i; done
-
-binary: $(POTFILES) $(MOFILES) all-linguas-enabled
-
-$(PACKAGE)-all.pot: $(POTFILES)
- # we create our partial pot files without a header to avoid changing dates in *.mo files,
- # but we want a header for our master-pot file, so we use a dummy pot with nothing but the header
- $(XGETTEXT) --default-domain=$(PO)/$(PACKAGE)-dummy.pot --foreign --language=c \
- -o $(PO)/$(PACKAGE)-dummy.pot --force-po --package-name='$(PACKAGE)' \
- --package-version='$(PACKAGE_VERSION)' --msgid-bugs-address='$(PACKAGE_MAIL)' /dev/null
- $(MSGCOMM) --more-than=0 $(PO)/$(PACKAGE)-dummy.pot $(POTFILES) --output=$(PACKAGE)-all.pot
- rm -f $(PO)/$(PACKAGE)-dummy.pot
-
-.PHONY: update-po all-linguas-enabled
-update-po: $(PACKAGE)-all.pot all-linguas-enabled
- for lang in ${LINGUAS}; do \
- echo "Updating $$lang.po"; \
- $(MSGMERGE) $$lang.po $(PACKAGE)-all.pot -o $$lang.new.po; \
- cmp $$lang.new.po $$lang.po || cp $$lang.new.po $$lang.po; \
- rm -f $$lang.new.po; \
- done
-
-all-linguas-enabled: LINGUAS
-ifdef NOISY
- echo "Available Translations: $(shell ls *.po | cut -d'.' -f 1 | sort | tr '\n' ' ')"
- echo "Mentioned Translations: $(shell sed -e '/^\#\#/ d' -e '/^$$/ d' -e 's/# //' LINGUAS | tr ' ' '\n' | sort | tr '\n' ' ')"
- echo "Build Translations: $(shell echo "$(LINGUAS)" | tr ' ' '\n' | sort | tr '\n' ' ')"
-endif
- test "$(shell ls *.po | cut -d'.' -f 1 | sort | tr '\n' ' ')" = \
- "$(shell sed -e '/^\#\#/ d' -e '/^$$/ d' -e 's/# //' LINGUAS | tr ' ' '\n' | sort | tr '\n' ' ')" || \
- ( echo "ERROR: Not all available translations are mentioned in po/LINGUAS!"; exit 100)
-
-clean: clean/local
-clean/local:
- rm -f $(MOFILES) $(LANG_POFILES) $(PO)/*.d
-
-# Include the dependencies that are available
-The_DFiles = $(wildcard $(PO)/*.d)
-ifneq ($(words $(The_DFiles)),0)
-include $(The_DFiles)
-endif
-
-# otherwise the output is completely screwed
-.NOTPARALLEL:
+++ /dev/null
-# -*- make -*-
-
-# This is the top level test makefile for APT, it recurses to each lower
-# level make file and runs it with the proper target
-ifndef NOISY
-.SILENT:
-endif
-
-.PHONY: startup headers library clean veryclean all binary program doc test update-po
-startup all clean veryclean binary program dirs test update-po manpages docbook:
- $(MAKE) -C libapt $@
- $(MAKE) -C interactive-helper $@
-
-# Some very common aliases
-.PHONY: maintainer-clean dist-clean distclean pristine sanity
-maintainer-clean dist-clean distclean pristine sanity: veryclean
+++ /dev/null
-# -*- make -*-
-BASE=../..
-SUBDIR=test/integration
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-.PHONY: test
-test:
- ./run-tests
+++ /dev/null
-# -*- make -*-
-BASE=../..
-SUBDIR=test/interactive-helper
-APT_DOMAIN=none
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-# Program for testing methods
-PROGRAM=mthdcat
-SLIBS =
-SOURCE = mthdcat.cc
-include $(PROGRAM_H)
-
-# Program for testing the tar/deb extractor
-PROGRAM=testdeb
-SLIBS = -lapt-pkg -lapt-inst
-LIB_MAKES = apt-pkg/makefile apt-inst/makefile
-SOURCE = testdeb.cc
-include $(PROGRAM_H)
-
-# Program for testing tar extraction
-PROGRAM=extract-control
-SLIBS = -lapt-pkg -lapt-inst
-LIB_MAKES = apt-pkg/makefile apt-inst/makefile
-SOURCE = extract-control.cc
-include $(PROGRAM_H)
-
-# Program for testing udevcdrom
-PROGRAM=test_udevcdrom
-SLIBS = -lapt-pkg
-LIB_MAKES = apt-pkg/makefile
-SOURCE = test_udevcdrom.cc
-include $(PROGRAM_H)
-
-PROGRAM=test_fileutl
-SLIBS = -lapt-pkg
-LIB_MAKES = apt-pkg/makefile
-SOURCE = test_fileutl.cc
-include $(PROGRAM_H)
-
-# Program for checking rpm versions
-#PROGRAM=rpmver
-#SLIBS = -lapt-pkg -lrpm
-#SOURCE = rpmver.cc
-#include $(PROGRAM_H)
-
-# very simple webserver for APT testing
-PROGRAM=aptwebserver
-SLIBS = -lapt-pkg -lpthread
-LIB_MAKES = apt-pkg/makefile
-SOURCE = aptwebserver.cc
-include $(PROGRAM_H)
+++ /dev/null
-# -*- make -*-
-BASE=../..
-SUBDIR=test/libapt
-BASENAME=_libapt_test
-APT_DOMAIN=none
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-.PHONY: test
-ifeq (file-okay,$(shell $(CC) -I $(BASE)/build/include -M gtest_runner.cc >/dev/null 2>&1 && echo 'file-okay'))
-test: $(BIN)/gtest$(BASENAME)
- MALLOC_PERTURB_=21 MALLOC_CHECK_=2 LD_LIBRARY_PATH=$(LIB) $(BIN)/gtest$(BASENAME)
-
-$(BIN)/gtest$(BASENAME): $(LIB)/gtest.a
-
-PROGRAM = gtest${BASENAME}
-SLIBS = -lapt-pkg -lapt-private -lapt-inst -pthread $(LIB)/gtest.a
-LIB_MAKES = apt-pkg/makefile apt-private/makefile apt-inst/makefile
-SOURCE = gtest_runner.cc $(wildcard *-helpers.cc *_test.cc)
-include $(PROGRAM_H)
-
-
-MKDIRS += $(OBJ) $(LIB)
-LOCAL=gtest
-SOURCE=gtest-all
-gtest-OBJS := $(addprefix $(OBJ)/,$(addsuffix .o,$(SOURCE)))
-
-# The rest of the file is based on the example found in
-# /usr/share/doc/libgtest-dev/examples/make/Makefile
-GTEST_DIR = /usr/src/gtest
-
-# Flags passed to the preprocessor.
-# Set Google Test's header directory as a system directory, such that
-# the compiler doesn't generate warnings in Google Test headers.
-#CPPFLAGS += -isystem $(GTEST_DIR)/include
-
-# Flags passed to the C++ compiler.
-CXXFLAGS += -pthread
-# disable some flags for gtest again
-CXXFLAGS+= -Wno-missing-declarations
-CXXFLAGS+= -Wno-missing-field-initializers
-CXXFLAGS+= -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wno-suggest-attribute=noreturn
-CXXFLAGS+= -Wno-undef
-
-# All Google Test headers. Usually you shouldn't change this definition.
-GTEST_HEADERS = /usr/include/gtest/*.h \
- /usr/include/gtest/internal/*.h
-
-# House-keeping build targets.
-.PHONY: clean/gtest veryclean/gtest
-clean: clean/gtest
-clean/gtest:
- rm -f $(gtest-OBJS)
-veryclean: veryclean/gtest
-veryclean/gtest: clean/gtest
- rm -f $(LIB)/gtest.a
-
-# Usually you shouldn't tweak such internal variables, indicated by a
-# trailing _.
-GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS)
-
-# Builds gtest.a
-# For simplicity and to avoid depending on Google Test's
-# implementation details, the dependencies specified below are
-# conservative and not optimized. This is fine as Google Test
-# compiles fast and for ordinary users its source rarely changes.
-$(gtest-OBJS): $(GTEST_SRCS_)
- echo Compiling $@
- $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c -o $@ $(GTEST_DIR)/src/$(notdir $(basename $@)).cc
-
-$(LIB)/gtest.a: $(OBJ)/gtest-all.o
- echo Building static library $@
- -rm -f $@
- $(AR) $(ARFLAGS) $@ $^
-
-else
-test:
- @echo "APT uses Googles C++ testing framework for its unit tests"
- @echo "On Debian systems this is available in the 'libgtest-dev' package."
- @echo "Please install it before attempting to run the unit tests."
- $(CC) -I $(BASE)/build/include -M gtest_runner.cc
- exit 100
-endif
+++ /dev/null
-# -*- make -*-
-BASE=..
-SUBDIR=vendor
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-
-all headers library binary program doc manpages docbook test update-po startup dirs: current
-all: all/subdirs
-binary: binary/subdirs
-doc: doc/subdirs
-clean: clean/subdirs
-veryclean: veryclean/subdirs
-dirs: dirs/subdirs
-manpages: manpages/subdirs
-
-all/subdirs binary/subdirs doc/subdirs dirs/subdirs manpages/subdirs clean/subdirs veryclean/subdirs:
- test ! -e current/makefile || $(MAKE) -C current $(patsubst %/subdirs,%,$@)
- test ! -e current/makefile.auto || $(MAKE) -C current -f makefile.auto $(patsubst %/subdirs,%,$@)
-
-current:
- rm -f $@
- # search for an exact match to use the correct sources.list example
- find -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 2 | while read DISTRO; do \
- if dpkg-vendor --is $$DISTRO; then \
- ln -s $$DISTRO $@; \
- break; \
- fi; \
- done
- # if we haven't found a specific, look for a deriving
- # we do ubuntu and debian last as those are the biggest families
- # and would therefore potentially 'shadow' smaller families
- # (especially debian as it sorts quiet early)
- if ! test -e $@; then \
- find -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 2 | while read DISTRO; do \
- if [ "$$DISTRO" = 'debian' -o "$$DISTRO" = 'ubuntu' ]; then continue; fi; \
- if dpkg-vendor --derives-from $$DISTRO; then \
- ln -s $$DISTRO $@; \
- break; \
- fi; \
- done; \
- test -e $@ || \
- (dpkg-vendor --derives-from ubuntu && cp ln -s ubuntu $@ ) || \
- ln -s debian $@; \
- fi
- if test ! -e current/makefile; then \
- sed "s#@@VENDOR@@#$(notdir $(shell readlink -f current))#" vendor.makefile > current/makefile.auto; \
- fi
-
-.PHONY: clean veryclean all binary vendor
-
-clean: clean/current
-clean/current: clean/subdirs
- rm -f current/makefile.auto current
-
-veryclean: veryclean/current
-veryclean/current: veryclean/subdirs
- rm -f current/makefile.auto current
+++ /dev/null
-# -*- make -*-
-BASE=../..
-SUBDIR=vendor/@@VENDOR@@
-
-# Bring in the default rules
-include ../../buildlib/defaults.mak
-
-doc binary manpages: sources.list
-
-sources.list: sources.list.in ../../doc/apt-verbatim.ent
- while read line; do \
- if [ "$${line}" = '&sourceslist-list-format;' ]; then \
- $(BASE)/vendor/getinfo vendor sourceslist-list-format ; \
- else \
- echo "$${line}"; \
- fi \
- done < $< | sed -e 's#&debian-stable-codename;#$(shell ../getinfo debian-stable-codename)#g' \
- -e 's#&debian-oldstable-codename;#$(shell ../getinfo debian-oldstable-codename)#g' \
- -e 's#&debian-testing-codename;#$(shell ../getinfo debian-testing-codename)#g' \
- -e 's#&ubuntu-codename;#$(shell ../getinfo ubuntu-codename)#g' \
- -e 's#¤t-codename;#$(shell ../getinfo current-codename)#g' \
- > $@
-
-clean: clean/sources.list
-veryclean: clean/sources.list
-
-clean/sources.list:
- rm -f sources.list