were moved or renamed.
This was for some from 2008 and 2009 and one from 2001.
Also I noticed that a CHANGES entry was wrong as said "Renamed"
when should have said "Moved" (lua-OSBF) because PKGBASE stayed the
same.
These will be available from pkg_summary(5) database.
To be used to find previous packages when a package is moved
or renamed. (Even though that is not recommended.)
Documented in pkgsrc Guide and in the pkg_summary(5) manual page.
Upcoming commit will have some packages modified to add them.
in the code, avoiding "Type not found" fatal errors at runtime. In this
case, only the variables *_SPECIFIC_PKGS were affected.
The real problem that induced the above change was the unknown type
"List of Pathname", which was a bug in the pkglint code itself,
introduced three years ago (revision 1.574).
Add logic to evaluate license conditions. As frontend for pkgsrc,
pkg_admin gets two new commands (check-license and
check-single-license), which can be used to evaluate a given condition.
pkg_add will be changed to honour licenses at a later point.
Make pkg_delete -d the default behavior, remove the option.
Remove pkg_create -R support (reorder @dirrm entries).
Introduce new plist command @pkgdir, which makes pkg_add add
this directory if it doesn't exist already and pkg_delete remove it
only if no other package has a @pkgdir entry for it. Otherwise
directories are pruned when the last file or directory in them is
removed. @dirrm is now a pure hint, if the directory doesn't exist, it
will be silently skipped.
- Switch to 2-clause BSD license.
- Compile with extra warnings (again) if GCC is used as the compiler.
- Fix build warnings reported by "-Wsign-compare".
Consider EOF during signature scan a fatal error. At the very least, the
package is missing the +CONTENTS file at that point. Correctly reset the
entry pointer in that case and make the meta data extraction stricter,
avoiding NULL dereferences for invalid archives.
Fixes pkg_info -X crash on empty files as reported by Daniel Horecki.
Don't use getopt_long as replacement for getopt. It behaves different
and doesn't work well in combination with optreset. Instead use
getopt(3) from NetBSD if requested. Sync getopt_long.c with NetBSD while
here. Addresses issues with pkg_admin on Solaris reported by Tim Zingelman.
Important changes since 4.90:
- Fixed some issues with "package has been downgraded" warnings.
- The doc/CHANGES-* files can be checked individually now.
- Emit a warning if a package does not define PKG_DESTDIR_SUPPORT.
- In patch files, warnings about absolute pathnames, CPP macros and the
like are only emitted if the line starts with a "+". If the -Wextra
option is given, the context lines (starting with a " ") are also
checked.
- Added support for the new buildlink3.mk format.
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.
patch files. Up to now, the lines that only provide the context for the
patches have been checked for absolute pathnames and the like. Now, only
those lines that really add something to the patched file are checked.
The context lines are checked when the -Wextra option is given.
While here, added some comments to help me understand the code that I
wrote years ago.
Simplify archive handling by depending on archive_read_finish and the
close callback where needed. Fixes a file descriptor leak as side
effect as reported by wiz.
terminate the shell due to "set -e" when the [ ... ] part is false.
This behaviour seems correct to me, but I can't explain why this code
doesn't fail with our /bin/sh.
Integrate the PKG_PATH logic for tightly with the find_archive logic:
- remember initial current working directory from the time PKG_PATH is
processed, it will be used as reference for all relative entries
- remove now redundant fchdir dance in pkg_add
- pass down to find_archive if this is a top-level package (e.g.
requested on the command line) or not; the location of top-level
packages is searched for packages first and for URLs or path names the
PKG_PATH itself is not processed (e.g. pkg_add foo/bar not look into
PKG_PATH for bar). This addresses PR 33884 in a different way.
- document the rules for finding packages more explicitly
- allow specifying PKG_PATH in pkg_install.conf as well; environment
takes precendence.
- remove PKG_PATH related logic in pkg_info(1), it doesn't deal with
PKG_PATH anyway
- remove PKG_PATH, PKG_TMPDIR and TMPDIR description in pkg_info(1),
they are no longer used
Always try to preserve the +PRESERVE file from the old package, even
when the new one has one as well. This fixes the update case for the
special case of pkg_install itself as reported by tron@.
Rewrite pkg_delete to expand the list of packages to delete first and
reorder it if necessary. It will bail out if it knows in advance that it
can't remove a package. It will also fail for errors while removing one
package, unless forced. Add an option to remove automatically installed
packages that are no longer used.
The pkgviews support is kept, but untested. The error handling for
pkgviews most of all is as weak as before.
Basic review from hubertf@, man page changes by bad@.
ending in .tbz as well as .tgz. Should address the problem reported
in PR pkg/40515. I am explicitly not using the mk.conf settings
for PKG_SUFX though because at run time we may or may not have a valid
mk.conf on hand that corresponds to how the packages were built.
- At least Ubuntu 8.1 sets __attribute__((warn_unused_result)) on fwrite()
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509
which means (void)fwrite(...) will *always* generate a warning, so
set -Wno-error to bypass this in Linux.sys.mk
- Ubuntu 8.1 also jumps through hoops to ensure ARG_MAX is *undefined*, so
work around this in tnftp and libnbcompat
Changes since 0.4.2:
- added -c list-file (seb@)
- no more MASTER_SITES, using files/ instead
- removed README in favor of a man page
- corrected pkglint(1) warning about multi-line SUBST_SED
OK'd by cube@
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.