ports/186279: [MAINTAINER] security/botan: deprecate (and update to 1.8.14)
Lapo Luchini
lapo at lapo.it
Thu Jan 30 16:10:03 UTC 2014
>Number: 186279
>Category: ports
>Synopsis: [MAINTAINER] security/botan: deprecate (and update to 1.8.14)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Thu Jan 30 16:10:02 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator: Lapo Luchini
>Release: FreeBSD 10.0-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD lapo.andxor.it 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC
>Description:
- DEPRECATED in favor of security/botan110
- Update to 1.8.14
- Support staging
I'm not sure about EXPIRATION_DATE: two ports are still depending on this port, and people could be using for local projects too.
Generated with FreeBSD Port Tools 0.99_11 (mode: update, diff: ports)
>How-To-Repeat:
>Fix:
--- botan-1.8.14.patch begins here ---
diff -ruN /usr/ports/security/botan/Makefile ./Makefile
--- /usr/ports/security/botan/Makefile 2013-09-21 00:55:24.000000000 +0200
+++ ./Makefile 2014-01-30 17:06:04.850426739 +0100
@@ -2,7 +2,7 @@
# $FreeBSD: security/botan/Makefile 327769 2013-09-20 22:55:24Z bapt $
PORTNAME= botan
-PORTVERSION= 1.8.13
+PORTVERSION= 1.8.14
CATEGORIES= security
MASTER_SITES= http://files.randombit.net/botan/v1.8/
DISTNAME= Botan-${PORTVERSION}
@@ -14,6 +14,8 @@
LICENSE= BSD
LICENSE_FILE= ${WRKSRC}/doc/license.txt
+DEPRECATED= Botan 1.8 have known bugs and is no longer supported upstream, migrate to security/botan110
+
OPTIONS_DEFINE= SSL GMP ECC
OPTIONS_DEFAULT= SSL GMP ECC
ECC_DESC= ECC support
@@ -22,8 +24,7 @@
USE_PYTHON_BUILD= yes
HAS_CONFIGURE= yes
CONFIGURE_SCRIPT= configure.py
-CONFIGURE_ARGS= --prefix=${PREFIX} --with-tr1-implementation=boost \
- --with-bzip2 --with-zlib
+CONFIGURE_ARGS= --prefix=${PREFIX} --with-bzip2 --with-zlib
USE_GMAKE= yes
MAKE_ARGS= CXX="${CXX}" LIB_OPT="${CXXFLAGS}"
USE_LDCONFIG= yes
@@ -31,7 +32,6 @@
PORTDOCS= *
-NO_STAGE= yes
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MSSL}
@@ -63,7 +63,7 @@
.endif
post-install:
- @(cd ${PREFIX}; ${FIND} -s include/botan -not -type d) >> ${TMPPLIST}
+ @(cd ${STAGEDIR}${PREFIX}; ${FIND} -s include/botan -not -type d) >> ${TMPPLIST}
@${ECHO_CMD} @dirrm include/botan >> ${TMPPLIST}
.include <bsd.port.mk>
diff -ruN /usr/ports/security/botan/distinfo ./distinfo
--- /usr/ports/security/botan/distinfo 2014-01-22 16:30:13.000000000 +0100
+++ ./distinfo 2014-01-30 10:57:04.667950085 +0100
@@ -1,2 +1,2 @@
-SHA256 (Botan-1.8.13.tbz) = 5593ce257d753c305ecf6f4d16e2f516f647bd6494f823fe9766a816ac439dba
-SIZE (Botan-1.8.13.tbz) = 2811686
+SHA256 (Botan-1.8.14.tbz) = a67be92c38a221b4dff180e8721a763cb97a717cd93722b23900680bd4e49d7c
+SIZE (Botan-1.8.14.tbz) = 2397499
diff -ruN /usr/ports/security/botan/files/patch-configure.py ./files/patch-configure.py
--- /usr/ports/security/botan/files/patch-configure.py 2014-01-22 18:40:44.000000000 +0100
+++ ./files/patch-configure.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,201 +0,0 @@
---- configure.py.orig 2011-10-24 19:51:31.000000000 +0000
-+++ configure.py 2011-10-24 19:52:25.000000000 +0000
-@@ -58,7 +58,7 @@
- self.include_dir = os.path.join(self.build_dir, 'include')
- self.full_include_dir = os.path.join(self.include_dir, 'botan')
-
-- all_files = sum([mod.add for mod in modules], [])
-+ all_files = sum([list(mod.add) for mod in modules], [])
-
- self.headers = sorted(
- [file for file in all_files if file.endswith('.h')])
-@@ -290,7 +290,7 @@
-
- for group in allowed_groups:
- to_obj.__dict__[group] = []
-- for (key,val) in name_val_pairs.iteritems():
-+ for (key,val) in list(name_val_pairs.items()):
- to_obj.__dict__[key] = val
-
- def lexed_tokens(): # Convert to an interator
-@@ -320,7 +320,7 @@
- raise LexerError('Group "%s" not terminated' % (group),
- lexer.lineno)
-
-- elif token in name_val_pairs.keys():
-+ elif token in list(name_val_pairs.keys()):
- to_obj.__dict__[token] = lexer.get_token()
- else: # No match -> error
- raise LexerError('Bad token "%s"' % (token), lexer.lineno)
-@@ -329,7 +329,7 @@
- Convert a lex'ed map (from build-data files) from a list to a dict
- """
- def force_to_dict(l):
-- return dict(zip(l[::3],l[2::3]))
-+ return dict(list(zip(l[::3],l[2::3])))
-
- """
- Represents the information about a particular module
-@@ -361,7 +361,7 @@
- return os.path.join(os.path.split(self.lives_in)[0],
- *filename.split(':'))
-
-- self.add = map(add_dir_name, self.add)
-+ self.add = list(map(add_dir_name, self.add))
-
- self.mp_bits = int(self.mp_bits)
-
-@@ -413,8 +413,8 @@
- self.unaligned_ok = 0
-
- def all_submodels(self):
-- return sorted(zip(self.submodels, self.submodels) +
-- self.submodel_aliases.items(),
-+ return sorted([(k,k) for k in self.submodels] +
-+ [k for k in list(self.submodel_aliases.items())],
- key = lambda k: len(k[0]), reverse = True)
-
- def defines(self, target_submodel, with_endian):
-@@ -574,13 +574,26 @@
- for feat in self.target_features]
-
- def canon_processor(archinfo, proc):
-- for ainfo in archinfo.values():
-+ # First, try to search for an exact match
-+ for ainfo in list(archinfo.values()):
- if ainfo.basename == proc or proc in ainfo.aliases:
- return (ainfo.basename, ainfo.basename)
-- else:
-- for (match,submodel) in ainfo.all_submodels():
-- if re.search(match, proc) != None:
-- return (ainfo.basename, submodel)
-+
-+ for (match,submodel) in ainfo.all_submodels():
-+ if proc == submodel:
-+ return (ainfo.basename, submodel)
-+
-+ # Now, try searching via regex match
-+ for ainfo in list(archinfo.values()):
-+ for (match,submodel) in ainfo.all_submodels():
-+ if re.search(match, proc) != None:
-+ return (ainfo.basename, submodel)
-+
-+ logging.debug('Known CPU names: ' + ' '.join(
-+ sorted(sum([[ainfo.basename] + \
-+ ainfo.aliases + \
-+ [x for (x,_) in ainfo.all_submodels()]
-+ for ainfo in list(archinfo.values())], []))))
-
- raise Exception('Unknown or unidentifiable processor "%s"' % (proc))
-
-@@ -597,7 +610,7 @@
- if full_proc == '':
- full_proc = base_proc
-
-- for ainfo in archinfo.values():
-+ for ainfo in list(archinfo.values()):
- if ainfo.basename == base_proc or base_proc in ainfo.aliases:
- for (match,submodel) in ainfo.all_submodels():
- if re.search(match, full_proc) != None:
-@@ -626,7 +639,7 @@
- try:
- template = PercentSignTemplate(slurp_file(template_file))
- return template.substitute(variables)
-- except KeyError, e:
-+ except KeyError as e:
- raise Exception('Unbound var %s in template %s' % (e, template_file))
-
- """
-@@ -642,7 +655,7 @@
- def link_to():
- libs = set()
- for module in modules:
-- for (osname,link_to) in module.libs.iteritems():
-+ for (osname,link_to) in list(module.libs.items()):
- if osname == 'all' or osname == osinfo.basename:
- libs.add(link_to)
- else:
-@@ -798,8 +811,7 @@
-
- 'doc_files': makefile_list(build_config.doc_files()),
-
-- 'mod_list': '\n'.join(['%s (%s)' % (m.basename, m.realname)
-- for m in sorted(modules)]),
-+ 'mod_list': '\n'.join(sorted([m.basename for m in modules])),
- }
-
- """
-@@ -814,7 +826,7 @@
- def cannot_use_because(mod, reason):
- not_using_because.setdefault(reason, []).append(mod)
-
-- for (modname, module) in modules.iteritems():
-+ for (modname, module) in list(modules.items()):
- if modname in options.disabled_modules:
- cannot_use_because(modname, 'disabled by user')
- elif modname in options.enabled_modules:
-@@ -862,8 +874,7 @@
- while dependency_failure:
- dependency_failure = False
- for modname in to_load:
-- for deplist in map(lambda s: s.split('|'),
-- modules[modname].dependencies()):
-+ for deplist in [s.split('|') for s in modules[modname].dependencies()]:
-
- dep_met = False
- for mod in deplist:
-@@ -1020,7 +1031,7 @@
- # First delete the build tree, if existing
- try:
- shutil.rmtree(build_config.build_dir)
-- except OSError, e:
-+ except OSError as e:
- logging.debug('Error while removing build dir: %s' % (e))
-
- for dirs in [build_config.checkobj_dir,
-@@ -1055,7 +1066,7 @@
- sink = os.path.join(build_config.build_dir, sink)
- templates_to_proc[source] = sink
-
-- for (template, sink) in templates_to_proc.items():
-+ for (template, sink) in list(templates_to_proc.items()):
- try:
- f = open(sink, 'w')
- f.write(process_template(template, template_vars))
-@@ -1128,7 +1139,7 @@
- if options.os not in osinfo:
-
- def find_canonical_os_name(os):
-- for (name, info) in osinfo.items():
-+ for (name, info) in list(osinfo.items()):
- if os in info.aliases:
- return name
- return os # not found
-@@ -1166,13 +1177,13 @@
- matching_version = '(4\.[01234]\.)|(3\.[34]\.)|(2\.95\.[0-4])'
-
- gcc_version = ''.join(
-- subprocess.Popen(['g++', '-v'],
-+ str(subprocess.Popen(['g++', '-v'],
- stdout=subprocess.PIPE,
-- stderr=subprocess.PIPE).communicate())
-+ stderr=subprocess.PIPE).communicate()))
-
- if re.search(matching_version, gcc_version):
- options.dumb_gcc = True
-- except OSError, e:
-+ except OSError as e:
- logging.info('Could not execute GCC for version check')
-
- if options.dumb_gcc is True:
-@@ -1206,8 +1217,8 @@
- if __name__ == '__main__':
- try:
- main()
-- except Exception, e:
-- print >>sys.stderr, e
-+ except Exception as e:
-+ logging.error(str(e))
- #import traceback
- #traceback.print_exc(file=sys.stderr)
- sys.exit(1)
diff -ruN /usr/ports/security/botan/files/patch-src_build_data_makefile_unix_shr.in ./files/patch-src_build_data_makefile_unix_shr.in
--- /usr/ports/security/botan/files/patch-src_build_data_makefile_unix_shr.in 2014-01-22 18:40:44.000000000 +0100
+++ ./files/patch-src_build_data_makefile_unix_shr.in 2014-01-30 11:02:26.038928417 +0100
@@ -1,17 +1,26 @@
---- src/build-data/makefile/unix_shr.in.orig 2009-09-10 02:29:34.000000000 +0200
-+++ src/build-data/makefile/unix_shr.in 2009-10-27 14:30:46.000000000 +0100
-@@ -25,8 +25,8 @@
- BINDIR = $(DESTDIR)/bin
- LIBDIR = $(DESTDIR)/%{libdir}
- HEADERDIR = $(DESTDIR)/%{includedir}/botan
+--- src/build-data/makefile/unix_shr.in.orig 2012-07-18 21:59:04.000000000 +0200
++++ src/build-data/makefile/unix_shr.in 2014-01-30 11:02:22.250928231 +0100
+@@ -20,13 +20,13 @@ SO_VERSION = %{so_version}
+ ##################################################
+ # Installation Settings #
+ ##################################################
+-DESTDIR = %{prefix}
++PREFIX = %{prefix}
+
+-BINDIR = $(DESTDIR)/bin
+-LIBDIR = $(DESTDIR)/%{libdir}
+-HEADERDIR = $(DESTDIR)/%{includedir}/botan
-DOCDIR = $(DESTDIR)/%{docdir}/Botan-$(VERSION)
-PKGCONF_DIR = $(LIBDIR)/pkgconfig
-+DOCDIR = $(DESTDIR)/%{docdir}/botan
-+PKGCONF_DIR = $(DESTDIR)/libdata/pkgconfig
++BINDIR = $(DESTDIR)$(PREFIX)/bin
++LIBDIR = $(DESTDIR)$(PREFIX)/%{libdir}
++HEADERDIR = $(DESTDIR)$(PREFIX)/%{includedir}/botan
++DOCDIR = $(DESTDIR)$(PREFIX)/%{docdir}/botan
++PKGCONF_DIR = $(DESTDIR)$(PREFIX)/libdata/pkgconfig
CONFIG_SCRIPT = %{botan_config}
PKGCONFIG = %{botan_pkgconfig}
-@@ -67,8 +67,8 @@
+@@ -67,8 +67,8 @@ LIBRARIES = $(STATIC_LIB) $(SHARED_L
LIBNAME = %{lib_prefix}libbotan
STATIC_LIB = $(LIBNAME).a
--- botan-1.8.14.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list