Rather than defaulting to /var/db/pkgng, use the variable that exists
already for this purpose. Similarly, change cache directory definition
from /var/cache/pkgng to ${VARBASE}/cache/pkgng
As pointed out by jperkins, defaulting to builder's setting for PKGSRCDIR
for the sources isn't aways correct for the binary package consumers.
This is not a problem unique to pkgtools/pkg and really requires a system-
wide solution. Until there is such a global variable, rename the PORTSDIR
variable to PKG.portsdir and allow it to be modified by e.g. make.conf.
In the case of pkg, PORTSDIR just refers to a default configuration
location which is overridable by a configuration file.
This:
- fixes the "/usr/ports" paths in code and man pages to
${PKGSRCDIR} (normal) or hardcoded to "/usr/pkgsrc" (future, its for
builders like Synth and poudriere)
- changes default DB path from "/var/db/pkg" to "/var/db/pkgng". It
seems the original default was too ambiguous as "pkg" is used
everywhere in pkgsrc and it's the default format (not pkgng format)
- similarly, changes default CACHE patch from "/var/cache/pkg" to
"/var/cache/pkgng"
- bumps PKGREVISION again
Another relevant comment from John and reworded by myself for context:
(all misquotings mine)
« Importantly, FreeBSD, NetBSD, and DragonFly all provide libarchive
in base. Therefore, this changes the port to use the base version when
available because the libarchive requirement is considered heavy. The
OpenSSL dependency brings a lot with, including perl. When trying to
update the bootstrap to build pkgng instead of pkg_* tools, it is
critical that the dependencies remain low. Other platforms will have
to suffer with the libarchive requirement if they want to use pkgng.
Following this, special linking code is needed for DragonFly since the
SSL libraries are now private. In fact, the only userland program
allowed to link with them is pkg(8) for bootstrapping reasons listed
above. »
Thanks again!
This does:
- remove the requirement for C++ (there is no C++ code there)
- properly substitute $PKGSRCDIR for PORTSDIR
- remove sbin/pkg2ng as it is inapplicable for pkgsrc
- bump PKGREVISION accordingly
More changes pending...
This also adds two patches, to fix the "major OS upgrade detected" error
in NetBSD. A file missing from the original archive was imported too.
Bump package revision as the upstream was changed. The archive downloaded
has a different filename, so there should be no conflict in the
"distfiles" folder.
From John Marino, thanks!
- Handle /run/resolvconf/resolv.conf explicitly rather than mounting all of
/run. If /run exists then systemd will dynamically create /run/user/uid
tmpfs mounts inside the chroot which mksandbox is unable to unmount.
The plist-utils suite aims to facilitate management of PLIST entries.
It handles PLIST options and variables, and is especially useful for
keeping PLISTs of packages with quickly changing file-lists, such
as those closely tracking upstream development branch, up to date.
Import approved by <wiz>.
That package was removedi and caused pkglint errors like:
ERROR: ../../lang/php/ext.mk:25: Cannot read
"./../../lang/php55/Makefile.common".
So update to later php56.
I don't understand why the ChecklinesDistinfo function in distinfo.go
has an exception for the php patches directory but changed there too.
I received an okay on packages@ list.
Note that the make check for the pkglint package failed for me
but the pkglint worked for me in my tests of some php using packages.
Increase version of pkglint.
Changes since 5.4.8:
* Disallow lib/charset.alias in PLIST. This file may only be installed
by converters/libiconv. (That package is currently broken, since
it only touches that file when installing from source, not from a
binary package. But pkglint is prepared for it to be fixed.)
For 1.8.0:
New features:
- new vital flag that prevent from removing a package with pkg delete when not specifying -f
- upgrade process now has atomicity per packages meaning now we can safely check the return of the pre* scripts
- handle ctrl-c during upgrade/install/update
- solver improvements
- pkg clean now runs in a capsicum sandbox on supported plateforms
Changes:
- pkg delete now fails if one tries to delete it (the pkg package) without -f. Before it was just warning and skipping it
- pkg install --from-root has been renamed pkg install --recursive to avoir confusion
Fixes:
- correctly handle hardlinked setuid files
- better handling of setuid
- fix elf analysis when some bad libraries have SONAME specified by empty
- fix elf analysis when a binary provides elf_notes but not the expected ones and are still valid freebsd binaries
(this fixes the case when libgdk_pixbuf was not found as a provided lib on i386)
- NAMESERVER option is now working again and inputs are better checked
- lots of bug fixes: potential leaks mostly
For 1.7.0:
Changes:
- Support new "vital" notion: prevent from implicit deletion
- Improved support for OpenBSD/bitrig (still lacks some functions in libc)
- Improved ZSH completion
- Updated libucl
- Lots of fixes in error messages
- Fixed "pkg lock" handling
- Allow to specify "inline" respositories in pkg.conf
- ipv6 fixes
- Allow to restrict the accepted url schemes
- More commands supports "-q"
- Multiple bug fixes
- As usual multiple new bugs
- Improved support for shlibs dependency generation when packaging base via ALLOW_BASE_SHLIBES
For 1.6.0:
- Lots of improvements in the solver (in particular fixes the case like the
recent jpeg upgrade)
- Lots of fixes in the 3 way merge code
- pkg add can now work without a version specified in the dependency line
- pkg check -d now also check the required libraries
- Improved support for partial upgrades
- Improved zsh completion support
- Improved linux support (now all regression tests passes on linux)
- Messages can now be context aware: (only print a given message during
installation, upgrade - version aware -, removal, or always)
- @keywords now accepts new entries to add context aware messages
- Add the ability to generate graphiz's dot format representation of the
solver's problem
- pkg search now default on showing the comments of of the matched packages
- Lots of bug fixes and code cleanup
- Plenty of new bugs
From the commit log, since 1.5.4:
- More fixes to pkg-check.8
- Important improvements in the pkg check manpage
- HBSD: fix format specifier in libpkg's pkg_vets(...)
- Fix libexpat buffer overflow: CVE-2015-1283
- Always use sqlite3_column_int64 for reading integers from the db
- Add a new configuration item to define custom HTTP User-Agent
- Don't attempt to set file ownership when INSTALL_AS_USER is set
- zsh-completion: updated all of the currently handled subcommands
- Fix typo s/conpact/compact/
- Fix two typos in pkg_vset(), to correspond to pkg_vget()'s code
- Implement AUTOCLEAN
- Clean up some grammar and formatting in pkg.conf(5).
- Update zsh completion
- Do not distribute generated source files
- Add a random delay to pkg-audit when invoked without a TTY
- Fix display of <root directory>
Changes since 5.4.6:
* Allow conditionals of the form "${var1}" == "${var2}"
* Check for indentation of .include directives
* Check arbitrarily complex license conditions
* General code cleanup
Changes since 5.4.5:
* Fixed shell command parser to correctly parse redirections
* Added type definitions for several variables
* Allowed version numbers to be single digits
Changes since 5.4.4:
* Removed autofix for variables in BUILDLINK_TREE, since that change
affects multiple variables in the file and therefore cannot be done
automatically
* Fixed PLIST sorting to not lose lines
Changes since 5.4.3:
* Improved detection for undocumented patches from Git
* Added warning about unnecessary space after variable names
* Lots of internal housekeeping
Changes since 5.4.2:
* Variables like ${VAR_${OTHER_VAR}} are no longer checked for
use/define mismatch
* The check for plural variable names has been removed
* The type of variables called *DESTDIR is no longer guessed to be a
directory name
* The check for unknown shell commands is disabled in Makefile
sections that depend on OPSYS
* The experimental hand-written shell parser has been replaced with
a Yacc-generated one
* Meta packages don't need a LICENSE
* When PKGNAME is defined in terms of ${DISTNAME:S/from/to/:tl}, more
modifiers (like :tl) are handled properly
* When the MAINTAINER or OWNER of a package is not the current user,
a warning is printed for modified files
* The check for share/applications/*.desktop has been disabled, since
pkglint would need to inspect the file's actual contents to see
whether desktopdb.mk must be included or not
* SUBST_CLASSES may also be SUBST_CLASSES.NetBSD
* Loosened the usage restrictions for several variables, e.g. many
variables that may be appended in a Makefile may also be set
unconditionally
* PKG_OPTIONS_VAR must be of the form PKG_OPTIONS.*
Move the tree iteration logic from the master to the client. This
matters primarily when using the additional package list in the top
level makefile and ensures that the client configuration is used
consistently.