1.14 -> 1.15:
- release popt-1.15.
- rse: fix building under --disable-nls
- rse: fix building under non GLIBC platforms where glob_pattern_p fallback has to be used
- rse: fix building under platforms where FNM_EXTMATCH is not available
- jbj: poptReadFile: permit NULL if return values are not desired.
- jbj: poptReadFile: add routine.
- jbj: trim out escaped newline(s) from file content, other fixes.
- jbj: permit popt alias/exec to include content from a file.
- jbj: permit glob(3) patterns in appName field of popt alias/exec config.
- jbj: add test cases for bit operations and toggles.
- jbj: avoid displaying --[no]nofoo with POPT_ARGFLAG_TOGGLE.
- jbj: add poptArgInfo() to get argInfo, implementing POPT_ARGFLAG_TOGGLE.
- jbj: add longOptionStrcmp() to match w POPT_ARGFLAG_TOGGLE.
- jbj: change singleDash arg to a bit enum, use LF_ISSET(ONEDASH) instead.
- jbj: rework the glob wrappers into something more useful. portability todo++.
- jbj: stub in glob(3) wrappers for popt. more useful poptGlob() API next.
- jbj: add poptInit/poptFini/poptReadConfigFiles/poptSaneFile routines.
- jbj: rewrite poptReadConfigFile(), styling for (i.e. my) readbility.
- jbj: reserve a bit for --[no]opt prefix toggling.
- jbj: fix: check/print argv[0] in --help for NULL.
- jbj: permit type/group bitmasks to be changed (if needed somewhen).
- jbj: snip out 8 unused bits for argument groups.
- jbj: fix: eliminate dead code (CID#5).
- jbj: fix: rearrange code to better hint to coverity scan (CID#9).
- jbj: fix: rewrite (and simplify) strdup_locale_from_utf8() (CID#7, CID#8, CID#11, CID#12).
- jbj: test/use HAVE_SRANDOM to avoid portability issues.
- jbj: fix: remove AC_CHECK_VA_COPY check, va_copy is no longer used.
- jbj: add eo.po and id.po (Translation Project).
- jbj: updated da.po (Translation Project).
- jbj: extend coverage to several additional setup routines.
- jbj: add tests for --usage/--help coverage.
- jbj: add lconv/gcov targets to Makefile.am.
- jbj: refactor automagic (*opt->arg) option arg store to poptSaveArg().
- ldv: update INPUT tag in Doxyfile.in, fix doxygen warnings in popthelp.c.
- start popt-1.15 development.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
1.13 -> 1.14:
- jbj: remove findme.c, add poptint.c, to po/POTFILES.in.
- jbj: use stpcpy 2 more places (Wayne Davison<wayned@samba.org>).
- jbj: add @LTLIBICONV@ when needed (Stanislav Brabec<sbrabec@suse.cz>).
- jbj: fix: remove the "echo --" Fedorable hack-a-round.
- rsc: updated de.po (not from the Translation Project).
- jbj: study the mess with splint. Sigh, splint is so easily confused ...
- jbj: rewrite findProgramPath & move to popt.c. Nuke the findme.{c,h} toys.
- jbj: use stpcpy several more places (Wayne Davison<wayned@samba.org>).
- jbj: enable equal after short option (Wayne Davison<wayned@samba.org>).
- jbj: permit "#define POPT_fprintf fprintf" to lose the malloc'ing fprintf.
- jbj: use vasprintf(3) when available (Wayne Davison<wayned@samba.org>).
- jbj: study the mess with splint, remove annotations where possible.
- jbj: add -D_GNU_SOURCE for gcc to use __builtin_stpcpy when available.
- jbj: add static inline stpcpy for the deprived.
- jbj: use stpcpy to eliminate sprintf calls everywhere but popthelp.c
- jbj: remove (now unneeded afaik) va_copy() from POPT_fprintf().
- jbj: inline strdup_fprintf() => POPT_fprintf keeping (unneeded?) va_copy.
- rse: fix memcpy(3) based va_copy(3) fallbacks
- jbj: fix: short option with "foo=bar" argument was mishandled.
(Wayne Davison<wayned@samba.org>).
- jbj: rename _ABS to avoid collisions, define DBL_EPSILON if not present
(Wayne Davison<wayned@samba.org>).
- jbj: test for <glob.h>, disable reading directory poptrc files if not.
- jbj: add __attribute__(__unused__) (Wayne Davison<wayned@samba.org>).
- jbj: permit equal after short option (Wayne Davison<wayned@samba.org>).
- jbj: make sure that short options are printed only once with --usage.
- jbj: don't display hidden short options with --usage.
- jbj: updated sv.po (Translation Project).
- jbj: updated {fi,nl}.po (Translation Project).
- jbj: updated th.po (Translation Project).
- rsc: avoid multilib file conflicts in generated doxygen.
- jbj: updated vi.po and zh_CN.po (Translation Project).
- jbj: fix: keep the poptHelpOptions array exactly the same size.
- jbj: updated pl.po (Translation Project).
- jbj: add new fi, th, zh_TW translations (Translation Project).
- jbj: add "make updatepo" to simplify PO file maintenance.
- jbj: display POPT_ARG_ARGV options in --help just like other options.
- jbj: add test for POPT_ARG_ARGV handling.
- jbj: fix: permit "--foo bar" and "--foo=bar" equivalent forms for aliases.
- jbj: fix: tests 20 -> 23 require an explicit '--' arg separator now.
- jbj: popt.3: add POPT_ARG_ARGV description.
- jbj: use NUL terminator to align help with (possible) multibyte chars.
- jbj: add utf8_skip_data table[] to keep track of utf8 character widths.
- jbj: refactor the POPT_WCHAR_HACK into stringDisplayWidth().
- jbj: add POPT_dgettext() prototype.
- jbj: add POPT_dgettext() for popt internal UTF-8 codeset (Takao Fujiwara).
- jbj: add POPT_next_char(), backout POPT_fprintf() usage (for the moment).
- jbj: finish POPT_ARG_ARGV implementation.
- jbj: free aliases/execs with common code.
- jbj: rewrite the callback logic using a switch for simplicity.
- jbj: hide bit field structure behind F_ISSET/LF_ISSET/CBF_ISSET macros.
- jbj: expose poptSaveLongLong and poptSaveString in the loader map.
- jbj: add POPT_ARG_ARGV, starting with the poptSaveString() method.
- jbj: add help for POPT_ARG_LONGLONG.
- jbj: hmmm, POSIXly correct --echo-args needs fixing, disable for now.
- jbj: poptint.h: typedef's for string and string arrays.
- jbj: add POPT_ARG_LONGLONG, and poptSaveLongLong().
- jbj: poptint.h: add poptSubstituteHelpI18N() to bury the ABI hack.
- jbj: start using poptArg and poptArgType() where useful.
- jbj: poptint.h: add a poptArgType define for bitfield type abstraction.
- jbj: poptint.h: add a poptArg union for opt->arg access without casts.
- jbj: include "-- Terminate options" end-of-options msg in poptHelpOptions.
- jbj: opt->argDescrip[0] determines "--foo=bar" or "--foo bar".
- jbj: --long always padded for alignment with/without "-X, ".
- jbj: Display shortName iff printable non-space.
- jbj: POPT_AUTOALIAS: if no popt aliases/execs, don't display the sub-head.
- jbj: add --libdir=/%{_lib} to popt.spec.
- jbj: add .cvsignore to m4 subdirectory.
- jbj: remove duplicate nb locale from ALL_LINGUAS.
- jbj: autogen.sh: on linux, add --libdir=/lib (no /lib64 autodetect yet).
1.12 -> 1.13:
- release popt-1.13.
- jbj: add a %track section (as in rpm-5.0) to popt.spec.
- jbj: chg poptGetOptArg() to "char *", document application needs to free.
- jbj: re-add it.po (from Sandro Bonazzola <sandro.bonazzola@gmail.com>).
- jbj: rescuscitate the splint annotations.
- jbj: change sizeof to use the type implicitly, rather than explicitly.
- jbj: remove incorrect casts, changing to size_t where needed.
- jbj: remove unused STD_VFPRINTF macro.
- jbj: reindent (and otherwise diddle) recent patch for popt coding style.
- jbj: remove splint bounds/branch annotations, little gain, much pain.
- jbj: revert alloca usage again again.
- jbj: handle Solaris signed character isspace(3) issues consistently.
- bero: read /etc/popt.d/* files.
- jbj: don't read /etc/popt twice (#290531).
- jbj: isspace(3) has i18n encoding signednesss issues on Solaris (#172393).
- jbj: refactor column cursor to a structure, carry maxcols as well.
- jbj: use TIOCGWINSZ to determine --help column wrapping.
- jbj: help formatting for POPT_ARG_MAINCALL.
- jbj: remove N_(...) markings from popt.h, markers in popthelp.c instead.
- jbj: add zh_CN.po (Translation Project).
- jbj: use PACKAGE_BUGREPORT.
- jbj: hotwire POPT_AUTOHELP/POPT_AUTOALIAS lookup in popt i18n domain.
1.11 -> 1.12
- jbj: plug a memory leak.
- jbj: fix index thinko.
- jbj: add vi.po (Translation Project).
- jbj: add nl.po (Translation Project).
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
PKGLOCALEDIR and which install their locale files directly under
${PREFIX}/${PKGLOCALEDIR} and sort the PLIST file entries. From now
on, pkgsrc/mk/plist/plist-locale.awk will automatically handle
transforming the PLIST to refer to the correct locale directory.
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
by moving the inclusion of buildlink3.mk files outside of the protected
region. This bug would be seen by users that have set PREFER_PKGSRC
or PREFER_NATIVE to non-default values.
BUILDLINK_PACKAGES should be ordered so that for any package in the
list, that package doesn't depend on any packages to the left of it
in the list. This ordering property is used to check for builtin
packages in the correct order. The problem was that including a
buildlink3.mk file for <pkg> correctly ensured that <pkg> was removed
from BUILDLINK_PACKAGES and appended to the end. However, since the
inclusion of any other buildlink3.mk files within that buildlink3.mk
was in a region that was protected against multiple inclusion, those
dependencies weren't also moved to the end of BUILDLINK_PACKAGES.
the normal case when BUILDLINK_DEPENDS.<pkg> isn't specified, it receives
a value only once due to the multiple inclusion protection in the
bulldlink3.mk files. In the case where a package includes several
buildlink3.mk files that each want a slightly different version of another
dependency, having BUILDLINK_DEPENDS.<pkg> be a list allows for the
strictest <pkg> dependency to be matched.
Link against libintl correctly so it doesn't exhibit unresolved gettext
symbols to binaries trying to link with libpopt.
Fixes (at least) fonts/chkfontpath as seen in recent bulk builds.