ports/105563: [New Port] sysutils/apt: Advanced front-end for dpkg
Nick Barkas
snb at threerings.net
Wed Nov 15 09:30:33 UTC 2006
>Number: 105563
>Category: ports
>Synopsis: [New Port] sysutils/apt: Advanced front-end for dpkg
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Nov 15 09:30:07 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Nick Barkas
>Release: FreeBSD 5.4-RELEASE-p20 i386
>Organization:
Three Rings Design
>Environment:
System: FreeBSD mail.earth.threerings.net 5.4-RELEASE-p20 FreeBSD 5.4-RELEASE-p20 #12: Thu Sep 28 14:09:16 PDT 2006 root at mail.earth.threerings.net:/usr/obj/usr/src/sys/GENERIC i386
>Description:
This is a port of Debian's Advanced Packaging Tool to FreeBSD. It depends on a
newer version of dpkg than is currently available in the ports tree, but I've
submitted PR ports/105560 with an updated version of dpkg that APT will work
with.
>How-To-Repeat:
>Fix:
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# apt
# apt/files
# apt/files/patch-ftparchive_makefile
# apt/files/patch-dselect_update
# apt/files/patch-buildlib_environment.mak.in
# apt/files/patch-ftparchive_contents.cc
# apt/files/patch-buildlib_ostable
# apt/files/patch-methods_makefile
# apt/files/patch-apt-pkg_deb_dpkgpm.cc
# apt/files/patch-dselect_setup
# apt/files/patch-cmdline_apt-key
# apt/files/patch-cmdline_makefile
# apt/files/patch-ftparchive_cachedb.cc
# apt/files/patch-dselect_install
# apt/files/patch-apt-pkg_init.cc
# apt/files/patch-methods_gpgv.cc
# apt/files/patch-configure
# apt/files/patch-apt-pkg_deb_debsystem.cc
# apt/files/patch-doc_examples_sources.list
# apt/distinfo
# apt/pkg-descr
# apt/pkg-plist
# apt/Makefile
#
echo c - apt
mkdir -p apt > /dev/null 2>&1
echo c - apt/files
mkdir -p apt/files > /dev/null 2>&1
echo x - apt/files/patch-ftparchive_makefile
sed 's/^X//' >apt/files/patch-ftparchive_makefile << 'END-of-apt/files/patch-ftparchive_makefile'
X--- ftparchive/makefile.orig Thu Mar 2 05:45:55 2006
X+++ ftparchive/makefile Tue Nov 14 17:19:51 2006
X@@ -8,7 +8,7 @@
X # The apt-ftparchive program
X ifdef BDBLIB
X PROGRAM=apt-ftparchive
X-SLIBS = -lapt-pkg -lapt-inst $(BDBLIB)
X+SLIBS = -lapt-pkg -lapt-inst -lpub $(BDBLIB)
X LIB_MAKES = apt-pkg/makefile apt-inst/makefile
X SOURCE = apt-ftparchive.cc cachedb.cc writer.cc contents.cc override.cc \
X multicompress.cc
END-of-apt/files/patch-ftparchive_makefile
echo x - apt/files/patch-dselect_update
sed 's/^X//' >apt/files/patch-dselect_update << 'END-of-apt/files/patch-dselect_update'
X--- dselect/update.orig Thu Mar 2 06:06:31 2006
X+++ dselect/update Wed Oct 25 15:20:34 2006
X@@ -7,13 +7,13 @@
X # Get the configuration from /etc/apt/apt.conf
X CLEAN="prompt"
X OPTS="-f"
X-APTGET="/usr/bin/apt-get"
X-APTCACHE="/usr/bin/apt-cache"
X-DPKG="/usr/bin/dpkg"
X+APTGET="@PREFIX@/bin/apt-get"
X+APTCACHE="@PREFIX@/bin/apt-cache"
X+DPKG="@LOCALBASE@/bin/dpkg"
X DPKG_OPTS="--admindir=$1"
X APT_OPT0="-oDir::State::status=$1/status"
X APT_OPT1="-oDPkg::Options::=$DPKG_OPTS"
X-CACHEDIR="/var/cache/apt"
X+CACHEDIR="@APTDIR@/cache"
X PROMPT="false"
X RES=`apt-config shell CLEAN DSelect::Clean OPTS DSelect::UpdateOptions \
X DPKG Dir::Bin::dpkg/f APTGET Dir::Bin::apt-get/f \
END-of-apt/files/patch-dselect_update
echo x - apt/files/patch-buildlib_environment.mak.in
sed 's/^X//' >apt/files/patch-buildlib_environment.mak.in << 'END-of-apt/files/patch-buildlib_environment.mak.in'
X--- buildlib/environment.mak.in.orig Thu Mar 2 05:56:30 2006
X+++ buildlib/environment.mak.in Wed Oct 25 15:51:02 2006
X@@ -65,7 +65,14 @@
X ifneq ($(words $(filter linux-gnu gnu% %gnu,$(HOST_OS))),0)
X SONAME_MAGIC=-Wl,-soname -Wl,
X LFLAGS_SO=
X-else
X+endif
X+
X+ifneq ($(words $(filter freebsd% %freebsd,$(HOST_OS))),0)
X+ SONAME_MAGIC=-Wl,-soname -Wl,
X+ LFLAGS_SO=
X+endif
X+
X+ifndef SONAME_MAGIC
X # Do not know how to create shared libraries here.
X ONLYSTATICLIBS = yes
X endif
END-of-apt/files/patch-buildlib_environment.mak.in
echo x - apt/files/patch-ftparchive_contents.cc
sed 's/^X//' >apt/files/patch-ftparchive_contents.cc << 'END-of-apt/files/patch-ftparchive_contents.cc'
X--- ftparchive/contents.cc.orig Thu Mar 2 06:06:31 2006
X+++ ftparchive/contents.cc Tue Nov 14 17:13:30 2006
X@@ -41,7 +41,6 @@
X #include <stdio.h>
X #include <stdlib.h>
X #include <string.h>
X-#include <malloc.h>
X /*}}}*/
X
X // GenContents::~GenContents - Free allocated memory /*{{{*/
END-of-apt/files/patch-ftparchive_contents.cc
echo x - apt/files/patch-buildlib_ostable
sed 's/^X//' >apt/files/patch-buildlib_ostable << 'END-of-apt/files/patch-buildlib_ostable'
X--- buildlib/ostable.orig Thu Mar 2 05:46:44 2006
X+++ buildlib/ostable Wed Oct 25 14:58:59 2006
X@@ -16,6 +16,7 @@
X hp-hpux[^-]* hp-ux
X sun-solaris[^-]* solaris
X [^-]*-openbsd[^-]* openbsd
X+[^-]*-freebsd[^-]* freebsd
X
X # Catch all
X .* unknown
END-of-apt/files/patch-buildlib_ostable
echo x - apt/files/patch-methods_makefile
sed 's/^X//' >apt/files/patch-methods_makefile << 'END-of-apt/files/patch-methods_makefile'
X--- methods/makefile.orig Sun Apr 2 04:04:07 2006
X+++ methods/makefile Mon Oct 23 16:30:57 2006
X@@ -12,63 +12,63 @@
X
X # The file method
X PROGRAM=file
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = file.cc
X include $(PROGRAM_H)
X
X # The copy method
X PROGRAM=copy
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = copy.cc
X include $(PROGRAM_H)
X
X # The gzip method
X PROGRAM=gzip
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = gzip.cc
X include $(PROGRAM_H)
X
X # The gpgv method
X PROGRAM=gpgv
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = gpgv.cc
X include $(PROGRAM_H)
X
X # The cdrom method
X PROGRAM=cdrom
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = cdrom.cc
X include $(PROGRAM_H)
X
X # The http method
X PROGRAM=http
X-SLIBS = -lapt-pkg $(SOCKETLIBS)
X+SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = http.cc rfc2553emu.cc connect.cc
X include $(PROGRAM_H)
X
X # The ftp method
X PROGRAM=ftp
X-SLIBS = -lapt-pkg $(SOCKETLIBS)
X+SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = ftp.cc rfc2553emu.cc connect.cc
X include $(PROGRAM_H)
X
X # The rred method
X PROGRAM=rred
X-SLIBS = -lapt-pkg $(SOCKETLIBS)
X+SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = rred.cc
X include $(PROGRAM_H)
X
X # The rsh method
X PROGRAM=rsh
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = rsh.cc
X include $(PROGRAM_H)
END-of-apt/files/patch-methods_makefile
echo x - apt/files/patch-apt-pkg_deb_dpkgpm.cc
sed 's/^X//' >apt/files/patch-apt-pkg_deb_dpkgpm.cc << 'END-of-apt/files/patch-apt-pkg_deb_dpkgpm.cc'
X--- apt-pkg/deb/dpkgpm.cc.orig Sat Sep 30 07:17:49 2006
X+++ apt-pkg/deb/dpkgpm.cc Mon Oct 23 13:42:03 2006
X@@ -515,8 +515,8 @@
X it forks scripts. What happens is that when you hit ctrl-c it sends
X it to all processes in the group. Since dpkg ignores the signal
X it doesn't die but we do! So we must also ignore it */
X- sighandler_t old_SIGQUIT = signal(SIGQUIT,SIG_IGN);
X- sighandler_t old_SIGINT = signal(SIGINT,SIG_IGN);
X+ sig_t old_SIGQUIT = signal(SIGQUIT,SIG_IGN);
X+ sig_t old_SIGINT = signal(SIGINT,SIG_IGN);
X
X // Fork dpkg
X pid_t Child;
END-of-apt/files/patch-apt-pkg_deb_dpkgpm.cc
echo x - apt/files/patch-dselect_setup
sed 's/^X//' >apt/files/patch-dselect_setup << 'END-of-apt/files/patch-dselect_setup'
X--- dselect/setup.orig Thu Mar 2 05:33:56 2006
X+++ dselect/setup Wed Oct 25 15:18:38 2006
X@@ -23,7 +23,7 @@
X my $vardir=$ARGV[0];
X my $method=$ARGV[1];
X my $option=$ARGV[2];
X-my $config_file = '/etc/apt/sources.list';
X+my $config_file = '@PREFIX@/etc/apt/sources.list';
X
X my $boldon=`setterm -bold on`;
X my $boldoff=`setterm -bold off`;
END-of-apt/files/patch-dselect_setup
echo x - apt/files/patch-cmdline_apt-key
sed 's/^X//' >apt/files/patch-cmdline_apt-key << 'END-of-apt/files/patch-cmdline_apt-key'
X--- cmdline/apt-key.orig Thu Mar 2 06:28:27 2006
X+++ cmdline/apt-key Tue Oct 24 16:11:08 2006
X@@ -5,18 +5,17 @@
X # We don't use a secret keyring, of course, but gpg panics and
X # implodes if there isn't one available
X
X-GPG_CMD="gpg --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg"
X-GPG="$GPG_CMD --keyring /etc/apt/trusted.gpg"
X+GPG_CMD="gpg --no-options --no-default-keyring --secret-keyring @PREFIX@/etc/apt/secring.gpg --trustdb-name @PREFIX@/etc/apt/trustdb.gpg"
X+GPG="$GPG_CMD --keyring @PREFIX@/etc/apt/trusted.gpg"
X
X
X-ARCHIVE_KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg
X-REMOVED_KEYS=/usr/share/keyrings/debian-archive-removed-keys.gpg
X+ARCHIVE_KEYRING=@PREFIX@/share/apt/keyrings/freebsd-archive-keyring.gpg
X+REMOVED_KEYS=@PREFIX@/share/apt/keyrings/freebsd-archive-removed-keys.gpg
X
X
X update() {
X if [ ! -f $ARCHIVE_KEYRING ]; then
X- echo >&2 "ERROR: Can't find the archive-keyring"
X- echo >&2 "Is the debian-archive-keyring package installed?"
X+ echo >&2 "ERROR: Can't find the archive-keyring: $ARCHIVE_KEYRING"
X exit 1
X fi
X
END-of-apt/files/patch-cmdline_apt-key
echo x - apt/files/patch-cmdline_makefile
sed 's/^X//' >apt/files/patch-cmdline_makefile << 'END-of-apt/files/patch-cmdline_makefile'
X--- cmdline/makefile.orig Thu Mar 2 05:58:42 2006
X+++ cmdline/makefile Mon Oct 23 16:38:13 2006
X@@ -7,42 +7,42 @@
X
X # The apt-cache program
X PROGRAM=apt-cache
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = apt-cache.cc
X include $(PROGRAM_H)
X
X # The apt-get program
X PROGRAM=apt-get
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = apt-get.cc acqprogress.cc
X include $(PROGRAM_H)
X
X # The apt-config program
X PROGRAM=apt-config
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = apt-config.cc
X include $(PROGRAM_H)
X
X # The apt-cdrom program
X PROGRAM=apt-cdrom
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = apt-cdrom.cc
X include $(PROGRAM_H)
X
X # The apt-sortpkgs program
X PROGRAM=apt-sortpkgs
X-SLIBS = -lapt-pkg
X+SLIBS = -lapt-pkg $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = apt-sortpkgs.cc
X include $(PROGRAM_H)
X
X # The apt-extracttemplates program
X PROGRAM=apt-extracttemplates
X-SLIBS = -lapt-pkg -lapt-inst
X+SLIBS = -lapt-pkg -lapt-inst $(INTLLIBS)
X LIB_MAKES = apt-pkg/makefile
X SOURCE = apt-extracttemplates.cc
X include $(PROGRAM_H)
END-of-apt/files/patch-cmdline_makefile
echo x - apt/files/patch-ftparchive_cachedb.cc
sed 's/^X//' >apt/files/patch-ftparchive_cachedb.cc << 'END-of-apt/files/patch-ftparchive_cachedb.cc'
X--- ftparchive/cachedb.cc.orig Tue Jul 25 00:35:54 2006
X+++ ftparchive/cachedb.cc Tue Nov 14 17:06:17 2006
X@@ -25,6 +25,7 @@
X #include <apt-pkg/configuration.h>
X
X #include <netinet/in.h> // htonl, etc
X+#include <publib.h>
X /*}}}*/
X
X // CacheDB::ReadyDB - Ready the DB2 /*{{{*/
END-of-apt/files/patch-ftparchive_cachedb.cc
echo x - apt/files/patch-dselect_install
sed 's/^X//' >apt/files/patch-dselect_install << 'END-of-apt/files/patch-dselect_install'
X--- dselect/install.orig Thu Mar 2 05:28:29 2006
X+++ dselect/install Wed Oct 25 15:17:58 2006
X@@ -3,11 +3,11 @@
X # Set the textdomain for the translations using $"..."
X TEXTDOMAIN="apt"
X
X-# Get the configuration from /etc/apt/apt.conf
X+# Get the configuration from @PREFIX@/etc/apt/apt.conf
X CLEAN="prompt"
X OPTS="-f"
X-APTGET="/usr/bin/apt-get"
X-DPKG="/usr/bin/dpkg"
X+APTGET="@PREFIX@/bin/apt-get"
X+DPKG="@LOCALBASE@/bin/dpkg"
X DPKG_OPTS="--admindir=$1"
X APT_OPT0="-oDir::State::status=$1/status"
X APT_OPT1="-oDPkg::Options::=$DPKG_OPTS"
END-of-apt/files/patch-dselect_install
echo x - apt/files/patch-apt-pkg_init.cc
sed 's/^X//' >apt/files/patch-apt-pkg_init.cc << 'END-of-apt/files/patch-apt-pkg_init.cc'
X--- apt-pkg/init.cc.orig Thu Mar 2 06:27:13 2006
X+++ apt-pkg/init.cc Thu Nov 2 13:36:53 2006
X@@ -43,26 +43,19 @@
X Cnf.Set("Dir","/");
X
X // State
X- Cnf.Set("Dir::State","var/lib/apt/");
X+ Cnf.Set("Dir::State","@APTDIR@/state");
X
X- /* Just in case something goes horribly wrong, we can fall back to the
X- old /var/state paths.. */
X- struct stat St;
X- if (stat("/var/lib/apt/.",&St) != 0 &&
X- stat("/var/state/apt/.",&St) == 0)
X- Cnf.Set("Dir::State","var/state/apt/");
X-
X Cnf.Set("Dir::State::lists","lists/");
X Cnf.Set("Dir::State::cdroms","cdroms.list");
X
X // Cache
X- Cnf.Set("Dir::Cache","var/cache/apt/");
X+ Cnf.Set("Dir::Cache","@APTDIR@/cache");
X Cnf.Set("Dir::Cache::archives","archives/");
X Cnf.Set("Dir::Cache::srcpkgcache","srcpkgcache.bin");
X Cnf.Set("Dir::Cache::pkgcache","pkgcache.bin");
X
X // Configuration
X- Cnf.Set("Dir::Etc","etc/apt/");
X+ Cnf.Set("Dir::Etc","@PREFIX@/etc/apt/");
X Cnf.Set("Dir::Etc::sourcelist","sources.list");
X Cnf.Set("Dir::Etc::sourceparts","sources.list.d");
X Cnf.Set("Dir::Etc::vendorlist","vendors.list");
X@@ -70,7 +63,7 @@
X Cnf.Set("Dir::Etc::main","apt.conf");
X Cnf.Set("Dir::Etc::parts","apt.conf.d");
X Cnf.Set("Dir::Etc::preferences","preferences");
X- Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods");
X+ Cnf.Set("Dir::Bin::methods","@PREFIX@/libexec/apt/methods");
X
X bool Res = true;
X
END-of-apt/files/patch-apt-pkg_init.cc
echo x - apt/files/patch-methods_gpgv.cc
sed 's/^X//' >apt/files/patch-methods_gpgv.cc << 'END-of-apt/files/patch-methods_gpgv.cc'
X--- methods/gpgv.cc.orig Tue Jul 25 04:19:02 2006
X+++ methods/gpgv.cc Tue Nov 14 21:18:00 2006
X@@ -52,8 +52,8 @@
X FILE *pipein;
X int status;
X struct stat buff;
X- string gpgvpath = _config->Find("Dir::Bin::gpg", "/usr/bin/gpgv");
X- string pubringpath = _config->Find("APT::GPGV::TrustedKeyring", "/etc/apt/trusted.gpg");
X+ string gpgvpath = _config->Find("Dir::Bin::gpg", "@LOCALBASE@/bin/gpgv");
X+ string pubringpath = _config->Find("APT::GPGV::TrustedKeyring", "@PREFIX@/etc/apt/trusted.gpg");
X if (_config->FindB("Debug::Acquire::gpgv", false))
X {
X std::cerr << "gpgv path: " << gpgvpath << std::endl;
END-of-apt/files/patch-methods_gpgv.cc
echo x - apt/files/patch-configure
sed 's/^X//' >apt/files/patch-configure << 'END-of-apt/files/patch-configure'
X--- configure.orig Wed Oct 11 00:03:36 2006
X+++ configure Thu Oct 26 14:32:09 2006
X@@ -7523,8 +7523,8 @@
X
X
X
X-{ echo "$as_me:$LINENO: checking for h_errno" >&5
X-echo $ECHO_N "checking for h_errno... $ECHO_C" >&6; }
X+{ echo "$as_me:$LINENO: checking if netdb.h declares h_errno" >&5
X+echo $ECHO_N "checking if netdb.h declares h_errno... $ECHO_C" >&6; }
X cat >conftest.$ac_ext <<_ACEOF
X /* confdefs.h. */
X _ACEOF
X@@ -7533,14 +7533,51 @@
X /* end confdefs.h. */
X #include <netdb.h>
X
X+int main() { return h_errno; }
X+
X _ACEOF
X-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
X- $EGREP "h_errno" >/dev/null 2>&1; then
X- { echo "$as_me:$LINENO: result: normal" >&5
X-echo "${ECHO_T}normal" >&6; }
X+rm -f conftest.$ac_objext conftest$ac_exeext
X+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
X+ (eval $ac_link) 2>conftest.er1
X+ ac_status=$?
X+ grep -v '^ *+' conftest.er1 >conftest.err
X+ rm -f conftest.er1
X+ cat conftest.err >&5
X+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
X+ (exit $ac_status); } &&
X+ { ac_try='test -z "$ac_c_werror_flag"
X+ || test ! -s conftest.err'
X+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
X+ (eval $ac_try) 2>&5
X+ ac_status=$?
X+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
X+ (exit $ac_status); }; } &&
X+ { ac_try='test -s conftest$ac_exeext'
X+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
X+ (eval $ac_try) 2>&5
X+ ac_status=$?
X+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
X+ (exit $ac_status); }; }; then
X+
X+ aptget_cv_netdb_declares_h_errno=yes
X+
X else
X- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
X- cat >conftest.$ac_ext <<_ACEOF
X+ echo "$as_me: failed program was:" >&5
X+sed 's/^/| /' conftest.$ac_ext >&5
X+
X+ aptget_cv_netdb_declares_h_errno=no
X+
X+fi
X+rm -f conftest.err conftest.$ac_objext \
X+ conftest$ac_exeext conftest.$ac_ext
X+
X+if test "x$aptget_cv_netdb_declares_h_errno" = "xno"; then
X+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
X+fi
X+
X+cat >conftest.$ac_ext <<_ACEOF
X+
X+
X /* confdefs.h. */
X _ACEOF
X cat confdefs.h >>conftest.$ac_ext
X@@ -7548,22 +7585,52 @@
X /* end confdefs.h. */
X #include <netdb.h>
X
X+int main() { return h_errno; }
X+
X _ACEOF
X-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
X- $EGREP "h_errno" >/dev/null 2>&1; then
X- { echo "$as_me:$LINENO: result: needs _XOPEN_SOURCE_EXTENDED" >&5
X-echo "${ECHO_T}needs _XOPEN_SOURCE_EXTENDED" >&6; }
X+rm -f conftest.$ac_objext conftest$ac_exeext
X+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
X+ (eval $ac_link) 2>conftest.er1
X+ ac_status=$?
X+ grep -v '^ *+' conftest.er1 >conftest.err
X+ rm -f conftest.er1
X+ cat conftest.err >&5
X+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
X+ (exit $ac_status); } &&
X+ { ac_try='test -z "$ac_c_werror_flag"
X+ || test ! -s conftest.err'
X+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
X+ (eval $ac_try) 2>&5
X+ ac_status=$?
X+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
X+ (exit $ac_status); }; } &&
X+ { ac_try='test -s conftest$ac_exeext'
X+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
X+ (eval $ac_try) 2>&5
X+ ac_status=$?
X+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
X+ (exit $ac_status); }; }; then
X+
X+ aptget_cv_netdb_declares_h_errno=yes
X+
X else
X- { { echo "$as_me:$LINENO: error: \"not found.\"" >&5
X-echo "$as_me: error: \"not found.\"" >&2;}
X- { (exit 1); exit 1; }; }
X-fi
X-rm -f conftest*
X+ echo "$as_me: failed program was:" >&5
X+sed 's/^/| /' conftest.$ac_ext >&5
X
X+ aptget_cv_netdb_declares_h_errno=no
X
X fi
X-rm -f conftest*
X+rm -f conftest.err conftest.$ac_objext \
X+ conftest$ac_exeext conftest.$ac_ext
X
X+echo "$as_me:$LINENO: result: $aptget_cv_netdb_declares_h_errno" >&5
X+echo "${ECHO_T}$aptget_cv_netdb_declares_h_errno" >&6
X+
X+if test "x$aptget_cv_netdb_declares_h_errno" = "xno"; then
X+ { { echo "$as_me:$LINENO: error: h_errno is required" >&5
X+echo "$as_me: error: h_errno is required" >&2;}
X+ { (exit 1); exit 1; }; }
X+fi
X
X # Extract the first word of "debiandoc2html", so it can be a program name with args.
X set dummy debiandoc2html; ac_word=$2
X@@ -7942,15 +8009,16 @@
X { echo "$as_me:$LINENO: result: $GLIBC_VER" >&5
X echo "${ECHO_T}$GLIBC_VER" >&6; }
X ac_cv_glibc_ver=$GLIBC_VER
X+ GLIBC_VER="-$ac_cv_glibc_ver"
X else
X { echo "$as_me:$LINENO: WARNING: cannot determine GNU C library minor version number" >&5
X echo "$as_me: WARNING: cannot determine GNU C library minor version number" >&2;}
X+ GLIBC_VER=""
X fi
X rm -f $dummy $dummy.c
X
X fi
X
X- GLIBC_VER="-$ac_cv_glibc_ver"
X
X
X { echo "$as_me:$LINENO: checking libstdc++ version" >&5
X@@ -11448,7 +11516,7 @@
X ;;
X esac
X done ;;
X- "default":C) make -s dirs ;;
X+ "default":C) gmake -s dirs ;;
X
X esac
X done # for ac_tag
END-of-apt/files/patch-configure
echo x - apt/files/patch-apt-pkg_deb_debsystem.cc
sed 's/^X//' >apt/files/patch-apt-pkg_deb_debsystem.cc << 'END-of-apt/files/patch-apt-pkg_deb_debsystem.cc'
X--- apt-pkg/deb/debsystem.cc.orig Thu Mar 2 06:11:39 2006
X+++ apt-pkg/deb/debsystem.cc Wed Oct 25 15:09:29 2006
X@@ -162,8 +162,8 @@
X which is yet to be determined. The functions in pkgcachegen should
X be the only users of these */
X Cnf.CndSet("Dir::State::userstatus","status.user"); // Defunct
X- Cnf.CndSet("Dir::State::status","/var/lib/dpkg/status");
X- Cnf.CndSet("Dir::Bin::dpkg","/usr/bin/dpkg");
X+ Cnf.CndSet("Dir::State::status","@DPKGDIR@/status");
X+ Cnf.CndSet("Dir::Bin::dpkg","@LOCALBASE@/bin/dpkg");
X
X if (StatusFile) {
X delete StatusFile;
X@@ -191,9 +191,9 @@
X signed debSystem::Score(Configuration const &Cnf)
X {
X signed Score = 0;
X- if (FileExists(Cnf.FindFile("Dir::State::status","/var/lib/dpkg/status")) == true)
X+ if (FileExists(Cnf.FindFile("Dir::State::status","@DPKGDIR@/status")) == true)
X Score += 10;
X- if (FileExists(Cnf.FindFile("Dir::Bin::dpkg","/usr/bin/dpkg")) == true)
X+ if (FileExists(Cnf.FindFile("Dir::Bin::dpkg","@LOCALBASE@/bin/dpkg")) == true)
X Score += 10;
X if (FileExists("/etc/debian_version") == true)
X Score += 10;
END-of-apt/files/patch-apt-pkg_deb_debsystem.cc
echo x - apt/files/patch-doc_examples_sources.list
sed 's/^X//' >apt/files/patch-doc_examples_sources.list << 'END-of-apt/files/patch-doc_examples_sources.list'
X--- doc/examples/sources.list.orig Tue Sep 12 03:55:21 2006
X+++ doc/examples/sources.list Thu Nov 2 13:52:02 2006
X@@ -1,9 +1,7 @@
X # See sources.list(5) for more information, especialy
X # Remember that you can only use http, ftp or file URIs
X # CDROMs are managed through the apt-cdrom tool.
X-deb http://http.us.debian.org/debian stable main contrib non-free
X-deb http://security.debian.org stable/updates main contrib non-free
X+deb http://www.example.com/packages stable main contrib non-free
X
X # Uncomment if you want the apt-get source function to work
X-#deb-src http://http.us.debian.org/debian stable main contrib non-free
X-#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
X+#deb-src http://www.example.com/packages stable main contrib non-free
END-of-apt/files/patch-doc_examples_sources.list
echo x - apt/distinfo
sed 's/^X//' >apt/distinfo << 'END-of-apt/distinfo'
XMD5 (apt_0.6.46.3.tar.gz) = 4e05d2414079948a89455a7c2a450333
XSHA256 (apt_0.6.46.3.tar.gz) = def37407ee3590556d7cf7a73d6a358198c528fa51d72381feccf597c75d1835
XSIZE (apt_0.6.46.3.tar.gz) = 1691552
END-of-apt/distinfo
echo x - apt/pkg-descr
sed 's/^X//' >apt/pkg-descr << 'END-of-apt/pkg-descr'
XAPT is the Debian project's advanced front-end for dpkg. APT features complete
Xinstallation ordering, multiple source capability and several other unique
Xfeatures.
X
XWWW: http://packages.debian.org/apt
END-of-apt/pkg-descr
echo x - apt/pkg-plist
sed 's/^X//' >apt/pkg-plist << 'END-of-apt/pkg-plist'
Xbin/apt-cache
Xbin/apt-cdrom
Xbin/apt-config
Xbin/apt-extracttemplates
Xbin/apt-get
Xbin/apt-sortpkgs
Xbin/apt-key
Xlib/libapt-inst.so
Xlib/libapt-inst.so.1.1
Xlib/libapt-inst.so.1.1.0
Xlib/libapt-pkg.so
Xlib/libapt-pkg.so.3.11
Xlib/libapt-pkg.so.3.11.0
X at exec mkdir -p %D/share/apt/keyrings
X at dirrm share/apt/keyrings
X at dirrm share/apt
Xlibexec/apt/methods/cdrom
Xlibexec/apt/methods/copy
Xlibexec/apt/methods/file
Xlibexec/apt/methods/ftp
Xlibexec/apt/methods/gpgv
Xlibexec/apt/methods/gzip
Xlibexec/apt/methods/http
Xlibexec/apt/methods/rred
Xlibexec/apt/methods/rsh
Xlibexec/apt/methods/ssh
Xlibexec/apt/methods/bzip2
X at dirrm libexec/apt/methods
X at dirrm libexec/apt
Xlibexec/dpkg/methods/apt/desc.apt
Xlibexec/dpkg/methods/apt/names
Xlibexec/dpkg/methods/apt/install
Xlibexec/dpkg/methods/apt/setup
Xlibexec/dpkg/methods/apt/update
X at dirrm libexec/dpkg/methods/apt
X at dirrmtry libexec/dpkg/methods
X at dirrmtry libexec/dpkg
Xinclude/apt-pkg/mmap.h
Xinclude/apt-pkg/error.h
Xinclude/apt-pkg/configuration.h
Xinclude/apt-pkg/fileutl.h
Xinclude/apt-pkg/cmndline.h
Xinclude/apt-pkg/md5.h
Xinclude/apt-pkg/crc-16.h
Xinclude/apt-pkg/cdromutl.h
Xinclude/apt-pkg/strutl.h
Xinclude/apt-pkg/sptr.h
Xinclude/apt-pkg/sha1.h
Xinclude/apt-pkg/sha256.h
Xinclude/apt-pkg/hashes.h
Xinclude/apt-pkg/algorithms.h
Xinclude/apt-pkg/depcache.h
Xinclude/apt-pkg/pkgcachegen.h
Xinclude/apt-pkg/cacheiterators.h
Xinclude/apt-pkg/orderlist.h
Xinclude/apt-pkg/sourcelist.h
Xinclude/apt-pkg/packagemanager.h
Xinclude/apt-pkg/tagfile.h
Xinclude/apt-pkg/init.h
Xinclude/apt-pkg/pkgcache.h
Xinclude/apt-pkg/version.h
Xinclude/apt-pkg/progress.h
Xinclude/apt-pkg/pkgrecords.h
Xinclude/apt-pkg/acquire.h
Xinclude/apt-pkg/acquire-worker.h
Xinclude/apt-pkg/acquire-item.h
Xinclude/apt-pkg/acquire-method.h
Xinclude/apt-pkg/clean.h
Xinclude/apt-pkg/srcrecords.h
Xinclude/apt-pkg/cachefile.h
Xinclude/apt-pkg/versionmatch.h
Xinclude/apt-pkg/policy.h
Xinclude/apt-pkg/pkgsystem.h
Xinclude/apt-pkg/indexfile.h
Xinclude/apt-pkg/metaindex.h
Xinclude/apt-pkg/indexrecords.h
Xinclude/apt-pkg/vendor.h
Xinclude/apt-pkg/vendorlist.h
Xinclude/apt-pkg/cdrom.h
Xinclude/apt-pkg/indexcopy.h
Xinclude/apt-pkg/debversion.h
Xinclude/apt-pkg/debsrcrecords.h
Xinclude/apt-pkg/dpkgpm.h
Xinclude/apt-pkg/debrecords.h
Xinclude/apt-pkg/deblistparser.h
Xinclude/apt-pkg/debsystem.h
Xinclude/apt-pkg/debindexfile.h
Xinclude/apt-pkg/debmetaindex.h
Xinclude/apt-pkg/extracttar.h
Xinclude/apt-pkg/arfile.h
Xinclude/apt-pkg/filelist.h
Xinclude/apt-pkg/database.h
Xinclude/apt-pkg/extract.h
Xinclude/apt-pkg/dpkgdb.h
Xinclude/apt-pkg/dirstream.h
Xinclude/apt-pkg/debfile.h
X at dirrm include/apt-pkg
X at exec mkdir -p %D/etc/apt/conf.d
X at dirrm etc/apt/conf.d
X at unexec if cmp -s %D/etc/apt/sources.list.sample %D/etc/apt/sources.list; then rm -f %D/etc/apt/sources.list; fi
Xetc/apt/sources.list.sample
X at exec if [ ! -f %D/etc/apt/sources.list ]; then cp -p %D/%F %B/sources.list; fi
X at unexec if cmp -s %D/etc/apt/apt.conf.sample %D/etc/apt/apt.conf; then rm -f %D/etc/apt/apt.conf; fi
Xetc/apt/apt.conf.sample
X at exec if [ ! -f %D/etc/apt/apt.conf ]; then cp -p %D/%F %B/apt.conf; fi
X at dirrm etc/apt
X%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
X%%PORTDOCS%%%%DOCSDIR%%/COPYING
X%%PORTDOCS%%%%DOCSDIR%%/COPYING.GPL
X%%PORTDOCS%%%%DOCSDIR%%/README.progress-reporting
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
X%%PORTDOCS%%%%EXAMPLESDIR%%/apt.conf
X%%PORTDOCS%%%%EXAMPLESDIR%%/sources.list
X%%PORTDOCS%%%%EXAMPLESDIR%%/configure-index
X%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
X at cwd /
X at exec mkdir -p %%APTDIR%%/cache/archives/partial
X at dirrm %%APTDIR%%/cache/archives/partial
X at dirrm %%APTDIR%%/cache/archives
X at dirrm %%APTDIR%%/cache
X at exec mkdir -p %%APTDIR%%/state/lists/partial
X at dirrm %%APTDIR%%/state/lists/partial
X at dirrm %%APTDIR%%/state/lists
X at dirrm %%APTDIR%%/state
X at dirrm %%APTDIR%%
END-of-apt/pkg-plist
echo x - apt/Makefile
sed 's/^X//' >apt/Makefile << 'END-of-apt/Makefile'
X# New ports collection makefile for: apt
X# Date created: 23 October 2006
X# Whom: Nick Barkas <snb at threerings.net>
X#
X# $FreeBSD$
X
XPORTNAME= apt
XPORTVERSION= 0.6.46.3
XCATEGORIES= sysutils
XMASTER_SITES= ${MASTER_SITE_DEBIAN_POOL}
XDISTNAME= apt_${PORTVERSION}
X
XMAINTAINER= snb at threerings.net
XCOMMENT= Advanced front-end for dpkg
X
XBUILD_DEPENDS= bash:${PORTSDIR}/shells/bash \
X ${LOCALBASE}/lib/libpub.a:${PORTSDIR}/devel/publib
XRUN_DEPENDS= ${BUILD_DEPENDS} \
X dpkg:${PORTSDIR}/archivers/dpkg \
X gpg:${PORTSDIR}/security/gnupg
X
XGNU_CONFIGURE= yes
XUSE_GMAKE= yes
XUSE_ICONV= yes
XUSE_GETTEXT= yes
XUSE_BDB= 44+
XUSE_LDCONFIG= yes
XNO_FILTER_SHLIBS= yes
XCPPFLAGS+= -I${LOCALBASE}/include/db${BDB_VER} -I${LOCALBASE}/include
XLDFLAGS+= -L${LOCALBASE}/lib/db${BDB_VER} -L${LOCALBASE}/lib
XCONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
XWRKSRC= ${WRKDIR}/apt-${PORTVERSION}
X
XMAN1= apt-extracttemplates.1 apt-ftparchive.1 apt-sortpkgs.1
XMAN5= apt.conf.5 apt_preferences.5 sources.list.5
XMAN8= apt-cache.8 apt-cdrom.8 apt-config.8 apt-get.8 apt-key.8 apt-secure.8
X
XDPKGDIR?= ${DESTDIR}/var/db/dpkg
XAPTDIR?= ${DESTDIR}/var/db/apt
XPLIST_SUB+= APTDIR=${APTDIR:C,^/,,}
X
Xpost-patch:
X ${REINPLACE_CMD} -e 's|@PREFIX@|${PREFIX}|g' -e \
X 's|@APTDIR@|${APTDIR}|g' -e 's|@DPKGDIR@|${DPKGDIR}|g' -e \
X 's|@LOCALBASE@|${LOCALBASE}|g' \
X ${WRKSRC}/apt-pkg/deb/debsystem.cc \
X ${WRKSRC}/apt-pkg/init.cc \
X ${WRKSRC}/cmdline/apt-key \
X ${WRKSRC}/dselect/install \
X ${WRKSRC}/dselect/setup \
X ${WRKSRC}/dselect/update \
X ${WRKSRC}/methods/gpgv.cc
X
Xdo-install:
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-cache ${PREFIX}/bin
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-cdrom ${PREFIX}/bin
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-config ${PREFIX}/bin
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-extracttemplates ${PREFIX}/bin
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-ftparchive ${PREFIX}/bin
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-get ${PREFIX}/bin
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-sortpkgs ${PREFIX}/bin
X ${INSTALL_SCRIPT} ${WRKSRC}/bin/apt-key ${PREFIX}/bin
X
X ${INSTALL_DATA} ${WRKSRC}/bin/libapt-inst.so.1.1.0 ${PREFIX}/lib
X (cd ${PREFIX}/lib; ${LN} -sf libapt-inst.so.1.1.0 libapt-inst.so.1.1; ${LN} -sf libapt-inst.so.1.1.0 libapt-inst.so)
X ${INSTALL_DATA} ${WRKSRC}/bin/libapt-pkg.so.3.11.0 ${PREFIX}/lib
X (cd ${PREFIX}/lib; ${LN} -sf libapt-pkg.so.3.11.0 libapt-pkg.so.3.11; ${LN} -sf libapt-pkg.so.3.11.0 libapt-pkg.so)
X
X ${MKDIR} ${PREFIX}/share/apt/keyrings
X
X ${MKDIR} ${PREFIX}/libexec/apt/methods
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/cdrom ${PREFIX}/libexec/apt/methods
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/copy ${PREFIX}/libexec/apt/methods
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/file ${PREFIX}/libexec/apt/methods
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/ftp ${PREFIX}/libexec/apt/methods
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/gpgv ${PREFIX}/libexec/apt/methods
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/gzip ${PREFIX}/libexec/apt/methods
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/http ${PREFIX}/libexec/apt/methods
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/rred ${PREFIX}/libexec/apt/methods
X ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/rsh ${PREFIX}/libexec/apt/methods
X (cd ${PREFIX}/libexec/apt/methods; ${LN} -sf rsh ssh; ${LN} -sf gzip bzip2)
X
X ${MKDIR} ${PREFIX}/libexec/dpkg/methods/apt
X ${INSTALL_DATA} ${WRKSRC}/scripts/dselect/desc.apt ${PREFIX}/libexec/dpkg/methods/apt
X ${INSTALL_DATA} ${WRKSRC}/scripts/dselect/names ${PREFIX}/libexec/dpkg/methods/apt
X ${INSTALL_SCRIPT} ${WRKSRC}/scripts/dselect/install ${PREFIX}/libexec/dpkg/methods/apt
X ${INSTALL_SCRIPT} ${WRKSRC}/scripts/dselect/setup ${PREFIX}/libexec/dpkg/methods/apt
X ${INSTALL_SCRIPT} ${WRKSRC}/scripts/dselect/update ${PREFIX}/libexec/dpkg/methods/apt
X
X ${MKDIR} ${PREFIX}/include/apt-pkg
X for f in ${WRKSRC}/include/apt-pkg/*; do \
X ${INSTALL_DATA} $${f} ${PREFIX}/include/apt-pkg; \
X done
X
X ${INSTALL_MAN} ${WRKSRC}/docs/apt-extracttemplates.1 ${MANPREFIX}/man/man1
X ${INSTALL_MAN} ${WRKSRC}/docs/apt-ftparchive.1 ${MANPREFIX}/man/man1
X ${INSTALL_MAN} ${WRKSRC}/docs/apt-sortpkgs.1 ${MANPREFIX}/man/man1
X
X ${INSTALL_MAN} ${WRKSRC}/docs/apt.conf.5 ${MANPREFIX}/man/man5
X ${INSTALL_MAN} ${WRKSRC}/docs/apt_preferences.5 ${MANPREFIX}/man/man5
X ${INSTALL_MAN} ${WRKSRC}/docs/sources.list.5 ${MANPREFIX}/man/man5
X
X ${INSTALL_MAN} ${WRKSRC}/docs/apt-cache.8 ${MANPREFIX}/man/man8
X ${INSTALL_MAN} ${WRKSRC}/docs/apt-cdrom.8 ${MANPREFIX}/man/man8
X ${INSTALL_MAN} ${WRKSRC}/docs/apt-config.8 ${MANPREFIX}/man/man8
X ${INSTALL_MAN} ${WRKSRC}/docs/apt-get.8 ${MANPREFIX}/man/man8
X ${INSTALL_MAN} ${WRKSRC}/docs/apt-key.8 ${MANPREFIX}/man/man8
X ${INSTALL_MAN} ${WRKSRC}/docs/apt-secure.8 ${MANPREFIX}/man/man8
X
X ${MKDIR} ${PREFIX}/etc/apt/conf.d
X ${INSTALL_DATA} ${WRKSRC}/docs/examples/sources.list ${PREFIX}/etc/apt/sources.list.sample
X ${INSTALL_DATA} ${WRKSRC}/docs/examples/apt.conf ${PREFIX}/etc/apt/apt.conf.sample
X
X ${MKDIR} ${APTDIR}/cache/archives/partial
X ${MKDIR} ${APTDIR}/state/lists/partial
X
X.if !defined(NOPORTDOCS)
X ${MKDIR} ${DOCSDIR}
X ${INSTALL_MAN} ${WRKSRC}/AUTHORS ${DOCSDIR}
X ${INSTALL_MAN} ${WRKSRC}/COPYING ${DOCSDIR}
X ${INSTALL_MAN} ${WRKSRC}/COPYING.GPL ${DOCSDIR}
X ${INSTALL_MAN} ${WRKSRC}/README.progress-reporting ${DOCSDIR}
X ${MKDIR} ${EXAMPLESDIR}
X for f in ${WRKSRC}/docs/examples/*; do \
X ${INSTALL_MAN} $${f} ${EXAMPLESDIR}; \
X done
X.endif
X
Xpost-install:
X if [ ! -f ${PREFIX}/etc/apt/sources.list ]; then \
X ${CP} -p ${PREFIX}/etc/apt/sources.list.sample ${PREFIX}/etc/apt/sources.list; \
X fi
X if [ ! -f ${PREFIX}/etc/apt/apt.conf ]; then \
X ${CP} -p ${PREFIX}/etc/apt/apt.conf.sample ${PREFIX}/etc/apt/apt.conf; \
X fi
X
X.include <bsd.port.mk>
END-of-apt/Makefile
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list