Fix pkg_delete -d:
- ignore @dirrm commands, directories are removed already on demand
- use local copy of dir before changing it, the caller expects it
unmodified for the call to pkgdb_remove
Print the error about missing build information even when the
+BUILD_INFO file is missing instead of segfaulting. The problem is from
PR 30276, a solution in the form of just installing it will not be
implemented.
- Restrict audit related commands to the documented set and/or fix the
documention.
- Add support for conditional fetch-pkg-vulnerabilities via -u option.
- DB support is always included from libnbcompat if needed
- pkg_view and linkfarm are not installed any more; they are not moved
into the attic yet, so they can easily be installed as separte package
- common configuration file to customise the behavior of various
components; this supersedes the old audit-packages.conf
- support for PKSC7 signatures (using X509 certs) and GPG signatures for
packages in a secure way. See pkg_admin(8) for how to create them and
pkg_install.conf(5) for the options to use them
- audit-packages and download-vulnerability-list are wrapper scripts
around pkg_admin. They try to mimic the classic options if used sanely.
"pkg_admin audit" is now an order of magnitude faster than before
- pkg_add uses libarchive and libfetch instead of external ftp and tar:
- progress bar is currently missing for downloads
- "pkg_add -" is no longer supported
- no adhoc check for conficts between dependencies and already
installed packages
- "pkg_add -s" has been replaced with an option in pkg_install.conf,
verification of plain detached GPG signatures is no longer supported
- optional check for vulnerabilities before adding a package
- if /var and /usr/pkg are on different fileystems it is twice as fast
now
- conflicts due to overlapping plists are checked before installation
- pkg_add no longer plays with the process limits
- pkg_add and pkg_delete have a new destdir option; scripts have to
either be modified to use PKG_DESTDIR or should be disabled
- pkg_add -u for now can't be used to update to the exact same version
- internal "rm -rf" and "mkdir_p" code
- all memory allocation failures are not explicitly fatal
- if a file is not removed due to a failed checksum, still remove the
entry from pkgdb
- replace libevent dependency with internal event loop to make the pbulk
core standalone
- open success and error log with O_APPEND, which allows e.g. cleaning
up the error build during build without breaking it if done with care.
The GTK+ module is designed to be loaded using gnome-settings-daemon by the
gnome-packagekit package.
It can however be launched for testing using:
GTK_MODULES="$GTK_MODULES:/usr/lib/gtk-2.0/modules/pk-gtk-module.so" application
The module installs a custom default pangocairo font map during gtk_init().
Pango will then call back with any languages which need installing, and these
are queued up. In an idle callback these are emitted as an asyncronous D-BUS
method to the session PackageKit InstallFonts() method.
If configured to do so, this will prompt the user to install new fonts.
PackageKit is a system designed to make installing and updating software on
your computer easier. The primary design goal is to unify all the software
graphical tools used in different distributions, and use some of the latest
technology like PolicyKit to make the process suck less.
The actual nuts-and-bolts distro tool (yum, apt, conary, etc) is used by
PackageKit using compiled and scripted helpers. PackageKit isn't meant to
replace these tools, instead providing a common set of abstractions that can
be used by standard GUI and text mode package managers.
PackageKit itself is a system activated daemon called packagekitd. Being
system activated means that it's only being run when the user is using a text
mode or graphical tool, and quits when it's no longer being used. This means
we don't delay the boot sequence or session startup and don't consume memory
when not being used.
gnome-packagekit is the name of the collection of graphical tools for
PackageKit to be used in the GNOME desktop.
PackageKit is a system designed to make installing and updating software on
your computer easier. The primary design goal is to unify all the software
graphical tools used in different distributions, and use some of the latest
technology like PolicyKit to make the process suck less.
The actual nuts-and-bolts distro tool (yum, apt, conary, etc) is used by
PackageKit using compiled and scripted helpers. PackageKit isn't meant to
replace these tools, instead providing a common set of abstractions that can
be used by standard GUI and text mode package managers.
PackageKit itself is a system activated daemon called packagekitd. Being
system activated means that it's only being run when the user is using a text
mode or graphical tool, and quits when it's no longer being used. This means
we don't delay the boot sequence or session startup and don't consume memory
when not being used.
directory with currently installed packages.
This script will delete any ${DISTFILE} in ${DISTDIR} that does not currently
have an installed package as an owner.
If you play with packages a fair bit and download some just to have a play with
and delete the package later your ${DISTDIR} can end up with a lot of orphaned
${DISTFILES}. While lintpkgsrc will help you remove outdated ${DISTFILES} it
does not do any corealtion with installed packakges which is the gap this
script aims to fill.
With "lintpkgsrc -or && pkg_distinst --delete" you can and up with a fairly
lean and current ${DISTDIR}.
warning that a package "is being downgraded from 1.0.0nb5 to 1.0.0".
Disabled the note saying that in shell variable assignments, there don't
need to be double quotes around backticks. In some cases they need to be
there.
explicit about it at least for netinet/in.h. Include sys/types.h before
checking for content of sys/socket.h and netinet/in.h to fix this.
Reported and tested by Georg Schwarz.
only there to support this option. Maybe I will reinvent the advanced
autofix code someday, hopefully in a programming language that provides
more error checking than Perl.
"!~ qr" with "!~ m", to work around a memory leak in Perl 5.10.0.
(See Perl bug #59994 or just run perl -e 'while(1){qr""}'.)
This change also speeds up pkglint by around 15 percent, although I
noticed that updating from Perl 5.8.8. to 5.10.0 slowed down pkglint by
about 2 percent.
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
o Documentation fix: the blbump script does not print the names of
the package directories it succeeded in bumping, only the ones
which it failed to bump
o Code fix: remove a pointless assignment / substitution in blbump
- Perl 5.10 complains when closedir() is called on an undefined
directory handle, and is correct to do so. Since directory handles are
global variables, they must be used carefully in recursive functions.
- The PLIST.* variables still had some warning suspecting a "spelling
mistake". This has been fixed by marking all PLIST_VARS as being used.
- DESTDIR support
- Add check for inttypes.h and sys/socket.h
- Provide compatibility fallback for netdb.h and the RFC2553 API
(getaddrinfo), supoprting IPv4 only. Code from OpenSSH.
- Use normal autoconf checks for fixed size bit types. Stop using the
older BSD types (u_intXX_t) in libnbcompat.
- Add implementation of shquote (from NetBSD).
- Fix a buglet in the getenv/setenv/unsetenv detection.
- Fix a buglet in the mkdtemp/mkstemp detection.
X.Org found in NetBSD-current.
Thanks a lot to all who helped, especially Matthias Scheler who did
repeated tests on Mac OS X and older versions of NetBSD to make sure the
support for those platforms wouldn't be broken (or at least, not fatally,
as I would still expect a few hiccups here and there, because there is
only so much one can test in such limited time).
On the infrastructure side, this branch brings pkgconfig-builtin.mk, in
order to write very easily new builtin.mk files. It can actually handle
more than just pkgconfig files, but it will provide a version if it finds
such a file. x11.builtin.mk has also been made more useful and now all
existing (and future!) native-X11-related builtin.mk files should include
it.
Sync Dewey with pkg_install(-renovation) and add a fast check if a
pattern could ever match. This reduces the time for pbulk-resolve on a
full tree on my laptop from 12.9s to 5.3s.
Merge from changes for read_plist from pkg_install-renovation to always
initialize the plist and add append_plist for the one case where this is
not desired. Fixes PR 39276.
- version configuration file, object if the version doesn't match
- add an option for pbulk-resolve to ignore unresolvable dependencies
similiar to the incremental mode
- use this option to run pbulk-resolve again if ignore_missing_depencies
is set to yes. Report this explicitly to un-confuse readers and point
them to the logfile.
Merge a number of bugfixes from the pkg_install-renovation branch:
- explicit include of nbcompat/md5.h
- use errx when dealing with libfetch as it doesn't set errno
- avoid optind = 0 as GNUish getopt will reset itself otherwise
Isolate rules to compute the restricted subset in the upload script.
Make the upload script independent from the report file to allow
uploading partial builds.
Only depend on NO_BIN_ON_FTP to decide what to upload and what not.
provided by the system and if one is lacking use the file. Don't short
cut the list as before and do a second iteration, it is just confusing.
This breaks the regression introduced by the last commit on OS X.
- declare endpwent and endgrent if system headers are missing them
- check for existance of statfs.f_flags before using it
- drop a bunch of redundant function checks
Based on the work of Timothy Larson.
Add newer library version as provided by Mac OS 10.5.4. Based on a patch
submitted by Brian de Alwis in PR pkg/39207.
Tested under NetBSD/i386 4.0_STABLE and Mac OS PPC 10.5.4.
Make bulkbuild-rebuild over 200 times faster when running against a full
tree scan by using awk to filter out the data instead of the while read
shell builtin.
- For direct build failures, make the package location in the first
column a hyper link to the last (supposedly failing) phase.
- For indirect failures, list the first 10 failing dependencies.
doing an old-style bulk build on 4.0 or older systems:
- in mk/bulk/build, do "make update" instead of "make install + clean"
when installing a new pkg_install
- in pkgtools/pkg_install/Makefile, don't try to use our own
executables (${WORKDIR}/pkg_add/pkg_add etc.) if they don't exist
Discussed with joerg, and even though he's not entirely happy
with the latter change, he didn't appear to have a better suggestion.
This, and putting /usr/pkg/sbin earlier than /usr/sbin in the $PATH
appears to be required to get an old-style bulk build going.
Fix a bug exposed by the "set -e" improvements in NetBSD-current's
"/bin/sh" which would prevent the script from cleaning up its
temporary directory.
Change approved by David Brownlee.
This package attempts to resolve deficiencies in system headers by
providing missing types, definitions and prototypes in shadow headers.
New in this version:
- Rewrote all of the tests to use autoconf.
- Implemented tests and support for more standard integer types.
nor intends to provide full posix(r) compatibility, I've decided to rename
it.
An improved version of the package will be re-imported later, probably
under the name "compat_headers".
- Explicitly clear automatic flag for packages user wants installed
that got pulled in previously.
- Only ignore pkg_summary.gz in local repository if newer files
with name matching *.t[bg]z exist. (Otherwise, pkg_summary.gz
created by pbulk would be ignored because pkg_summary.bz2 is
newer.)
Okayed by abs@.
Makefiles. As a first pass make MAINTAINER optional and add an optional
OWNER directly after it in the same section. This will pass valid
OWNER/MAINTAINER combinations but not reject some invalid ones.
Full fix (hopefully) coming soon...
Many of the hash function headers are incompatible with the OpenSSL
headers, so don't include them by default and require the caller to
include them on demand.
* Look for $MAKECONF in @MAKECONF@, @PREFIX@/etc/mk.conf,
and /etc/mk.conf, in that order.
* Look for $PKGSRCDIR in the Makefile referred to by $MAKECONF,
".", "..", "../..", and "/usr/pkgsrc", in that order.
* Convert the Makefil to use the SUBST framework.
Proposed in tech-pkg; OK (in principle) David Brownlee
* Look for $MAKECONF in @MAKECONF@, @PREFIX@/etc/mk.conf,
and /etc/mk.conf, in that order.
* Look for $PKGSRCDIR in the Makefile referred to by $MAKECONF,
".", "..", "../..", and "/usr/pkgsrc", in that order.
Proposed in tech-pkg; OK Greg Troxel.
Known regressions:
- "pkg_add -" (aka reading from stdin) is currently not supported
- "pkg_add -s" is not supported either
- no progress reports for the downloads
- binary packages with hardlinks created by pkg_create before
pkg_install-20080422 will not extract correctly (libarchive issue)
- no adhoc check for potential conflicts between dependencies and
already installed packages
Features:
- Twice as fast for the typical case of /var/tmp and /usr/pkg on
different filesystems
- Standalone
- implicit conflict detection before actual installation.
Make use of the linkresolver from libarchive and thereby fix the
permissions of hardlinks in archives. This wasn't a problem so far
as nbpax is (incorrectly) ignoring the permissions of the other entries.
Add audit-history subcommand for pkg_admin, that lists all known
vulnerabilities for a given base package name. E.g. if you run a web
server, don't run "pkg_admin audit-history php" before going to bed.