Changes:
20150124
When -n is provided to pkgin ar, rm, in, fug, packages list is shown
as one package per line so it is easier to read (feature proposed
by gdt@ in GitHub issue #41)
20150122
Fixed GitHub issue #33: clean database when repository removed
20150121
Fixed some resource leakage pointed out by coverity scan
20150119
+PRESERVE packages now correctly upgraded without pkg_add -f
20150106
Dropped percentage printout if stdout is not a tty (patch by Havard
Eidnes)
Changed pkg_add -f flag with -D as suggested by Greg Troxel
20150105
Fixed an issue with meta-packages not updating pkgdb, check for
PKG_DBDIR mtime instead
20150102
Avoid deepness > 1 when checking for dependency upgrades, should fix
PR #48561
20141229
Avoid `preserved' packages to be `autoremoved'
20141228
Fixed GH issue #1, NULL PKG_PATH (which is wrong btw) makes pkgin
segfault, strcmp() secured with safe_strcmp()
Added --with-pkginstall to configure
20141223
0.7.0
Fixed GH issue #36, automatic flag no more set when a package is
installed via pkg_add(1)
Added -p (parsable) flag for 3rd party frontends
Added statistics (patch by Youri Mouton)
Package-names-containing-a-dot fix (patch by Yamamoto Takashi)
Given that libarchive is built with large file support, pkg_install
needs it too. Otherwise libarchive and pkg_install may see different
definitions of types such as struct stat, resulting in a runtime
failure on some platforms (especially Darwin 9):
% bmake package
=> Creating binary package /usr/pkgsrc/pkgtools/pkg_install/work/.packages/pkg_install-20141227.tgz
pkg_create: cannot write to archive: tar format cannot archive this (type=00)
The reason why this was unnoticed until now is that libarchive's
"configure" has just been regenerated with Autoconf 2.69. Prior to
2.69, AC_SYS_LARGEFILE did nothing significant on Darwin so there was
no actual inconsistency between libarchive and pkg_install, which was
just coincidental.
prevents us from attempting to link the inplace libarchive against itself.
Fixes build on systems which do not include a native libarchive, and avoids
possible issues on systems which do.
Tested on SmartOS (no native libarchive) and OS X in both builtin and pkgsrc
configurations. Ok joerg@.
This update is proposed as
http://mail-index.netbsd.org/tech-pkg/2014/12/08/msg013888.html
- (revbump) convert internal to two pass, and reduce fallout
- (replace-commonbump) new command to replace 'commonbump' to
'commonbump.replaced'
- (check-cvs-diff) new command to check 'cvs diff -u' if py27,py34, ruby200
and replace it if exists
Thanks wiz@ and gdt@ for advice.
NIH_<subcommand>_OPTS variables were introduced. With their help one
can configure EVERYTHING from config file.
NIH_OPTS config variable was also introduced.
nih mark:
- new option -n was added.
nih install:
- Option -D doesn't remove temporary directory.
- New options -v and -V were added.
- NO_REQPROV_CHECK and NO_REQPROV_CHECK config variables were
removed. Use NIH_INSTALL_OPTS instead.
nih uninstall:
- does not need "nih refresh -b".
Thanks to Andrey N. Oktyabrski for the report!
Fixed:
- Finding a correct dependency now works correctly if dependency
is ambiguous.
- Unicity problem in "nih install PKGNAME" was fixed.
- Analysing file conflicts now works correctly with files
containing a space character.
- Fix in saving ~/.nih/installed_* files
- Check for version emptyness in "fake packages" was added.
- Export path to the wrapper via config file and use that to replace the
libtool call in the relink command.
- Do not drop rpath entries when processing the relink command, they are
still needed.
'..' test to print "looks fine." and exit 0. Indeed, this is what
an installed pkglint does when run in pkgtools/pkglint. But the
corresponding test does not, depending in some way on the state
left by previous tests of main().
In lieu of precise understanding, just run the adjusted '..' test
earlier so that nothing causes it to fail. This will annoy someone
later (probably me), but gets us back to green.
- PythonDependency is a basic vartype
- Wording for missing LICENSE has changed (plural -> singular)
- Unknown dependency pattern is now ERROR (used to be WARN)
- qmail package behavior has been improved a bit (surprise!)
TOOL_DEPENDS is supported by default (pkg_src_summary stage)
Support for cross-builds (not tested yet)
stage_checks:
- gen_unregistered_CONFLICTS was disabled, it is too slow.
- additional section for memory allocation failures was added.
- improvements for "missing progs", "missign header" and "library
not found sections".
distbb_chroot:
- Option -p was added and other improvements.
distbb.conf and distbb.default.conf:
- Variable OS was renamed to OPSYS
- home-made function "assign" was replaced with :=
- New config variable ULIMIT_CMD was introduced.
It defaults to "ulimit -t 1800"
upload_pkgs_all_files: fix find(1) arguments.
Thanks to Andrey Oktyabrski for the report.
Version 0.65.0
mk-configure>=0.26.0 is required for build.
pkg_grep_summary
- fix for "-t strfile" (hcreate(3) hash is not autoresizable)
- if option -r was applied, the exit status is 1 for "not match"
and 2 for unexpected failure.
Code clean-ups and improvements.
Version 0.64.0
pkg_subgraph_deps:
- significant performance improvements
pkg_cmp_summary:
- option -f was added, options -p and -P are considered deprecated
Code clean-ups in the default pkg_digger.conf
also emit packages mentioned there, if a match was found in that
Makefile.common.
Adapt revbump HOWTO slightly, but not completely, since I don't
trust the comments enough yet.
Bump version.
Leaf package.
On Linux with LIBABISUFFIX, only include lib$LIBABISUFFIX directories rather
than both, as it can cause issues with ld finding suitable libraries. Fixes
a bunch of packages.
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
Strip trailing slashes on package names.
The reason for this is that the package's own buildlink3.mk file usually
matches category/package, but not category/package/ (because the only
match is "BUILDLINK_PKGSRCDIR.foo").
Bump version.
binary package to a FreeBSD binary pkg. pkgsrc binary packages keep
more metadata, and do Dewey matching on package version numbers, so
it's not possible to convert in the other direction.
The DESCR says:
This is a small utility to generate a FreeBSD pkg binary package
from a pkgsrc binary package. It is invoked simply, using a
command like:
genpkgng ssam-1.9nb1.tgz
and it will convert the pkgsrc binary package to a pkg one:
% ./genpkgng.sh perl-5.18.1nb2.tgz
Converting perl-5.18.1nb2.tgz
-rw-r--r-- 1 agc users 16597860 Apr 24 19:01 perl-5.18.1nb2.txz
%
update pkg_chk from 2.0.6 to 2.0.7, based on suggestions from PR 30893
- switch from getopt to getopts. The issue described in PR 30893 ('*' being
expanded by shell globbing) had already been worked around, but getopts
is just a nicer interface
- Extend tag parsing to support -D '*' to cause all package lines to be matched
Newer RHEL distributions have pkgconfig files split across three locations,
so add support for both share/pkgconfig and lib${LIBABISUFFIX}/pkgconfig if
LIBABISUFFIX is defined.
don't redefine 'pkg_info' if it already exists.
This is notably for pkg_rolling_replace -u in case pkg_install
was revbump'd and openssl happens to be in PKG_DEFAULT_OPTIONS.
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
Most important parts of pkg_grep_summary, a part of
pkgtools/pkg_summary-utils, was reimplemented in C. As a result
"nih {search,info,meta,leaf,install,remove,deps}" should work faster.
nih install:
- if pkg_update_plan(1) fails, nih(1) exits with pkg_update_plan's
exit status.
- packages to be installed or removed are output in sorted order.
nih {search,meta,info}:
- "nih meta" now defaults to -1 mode (internally).
- documentation for -1|-3|-9 ads added for "nih {info,meta}" commands
- "nih info" now defaults to -3 mode.
- "nih {search,meta,info}" now work correctly with -{o,i} options
if ~/.nih/pkg_summary.txt is absent.
- new option -l was added to "nih {search,info}" that outputs
package file list.
Summary for installed packages is cached in
~/.nih/pkg_inst_summary.txt. "nih {refresh,search,info,meta,deps,list} -i"
use this file and update it when necessary.
nih refresh:
- Option -P was added for fully rescanning pkgsrc tree.
- The default value for PKGSRCDIR is not determined at build time
anymore. As a result "nih refresh -p" does not try to access
/tree/pkgsrc used by bouyer@ who builds official NetBSD binary
packages. Now PKGSRCDIR defaults to /usr/pkgsrc.
- "nih refresh -p" shows progress counter (the number of scanned
packages) unless -m is in PSS_OPTIONS.
- option -i was added that updates summaries for installed
packages (~/.nih/pkg_inst_summary.txt).
nih remove:
- does not try to create $CACHEDIR and "cd" to it.
nih list:
- was completely reimplemented and simplified.
- new option -p was added that outputs pkgsrc tree packages.
nih deps:
- new options -b and -p were added for working with binary
repository and pkgsrc scanned packages
(pkg_summary.txt ad pkg_src_summary.txt respectively)
- option -1 was added that outputs direct dependencies or dependents.
nih/config:
- better conversion from "uname -r" to repository URL.
- REPOSITORY for SunOS defaults to smartos.org.
Support for summaries with no PKGPATH, e.g., compat50-5.1.tgz, was
added.
Option -I for "list", "deps', "meta", "info" and "search" was
renamed to -i. Option -I is supported for backward compatibility.
package_search.pdf was updated, fixed and improved.
pkg_grep_summary:
- almost all search strategies were reimplemented in C for better
performance, as a result all utilities using pkg_grep_summary(1)
work much faster. Strategies still implemented in AWK: awk, kw.
- converted to use shell's getopts.
- new regression tests.
pkg_src_summary:
- if -m, -d, -D aren't applied, temporary files are not created.
- adapted for recent paexec(1) improvements.
pkg_update_src_summary:
- progress counter is output if -v is applied.
pkg_summary2deps:
- workaround for buggy patterns like >=foo-1.* was implemented.
pkg_summary-utils build infrastructure is completely reimplemented. Now
it is a two-level project. Subprojects: scripts and grep_summary
(enabled by default), doc and tests.
PKG_TOOLS_BIN env. variable is used at build time as a default
directory for pkg_info(8) (for OpenBSD/FreeBSD in order to avoid
conflicts with their native pkg_* tools).
A number of stupid workarounds for stupid Solaris' userlevel.
All scripts written in shell uses @SH@ in shebang and therefore uses
pkgsrc's ${SH} at run time.
NetBSD make library. Bump version (to 20131207, which was when I wrote
this.) Fixes the build of multimedia/bsdav.
Note: this is not a merge from NetBSD HEAD, but a minimal
reimplementation of the feature to get the job done.
These make templates really need to be merged with or replaced by the
latest versions from NetBSD HEAD. Anyone embarking on such a merge
should probably revert this change (which is only to bsd.prog.mk)
before doing so.
No objection after 3+ weeks on tech-pkg.
* Partial fix for PR pkg/47335
** Define some variables
** Define empty function neatvalue
** Generate Makefile before custom MakeMaker.pm invocation
to avoid no Makefile error.
failures for a long time. (I'm not sure why it sometimes does and
sometimes doesn't, but I think it may depend on different CFLAGS
arising from bootstrapping vs. not bootstrapping.)
While here add a comment to patch-curses__helpers.c; hi Joerg.