1) Bulk Build: don't add ports where there's no makefile present (x2)
2) Make hook processing more robust (g option on regex, check for
non-empty string value)
3) Make enterBuild function work with HOST_WKRDIRS option
4) Handle specific DEPENDS+= case for perl where the addition of the
dependency port is conditional on the version of perl used.
This addresses the infinite loop case seen on some perl packages
FIX: Shell scripts now use "trap" corectly.
Minor correction in pkg_lint_summary.1.
pkg_summary4view:
- TARGET_BUILD_DEPENDS and _ALL_DEPENDS are formatted
just like DEPENDS.
the same as SHLIB_MAJOR, don't try to symlink SHLIB_MAJOR. Otherwise
you lose the library and get a symlink pointing to itself, and things
fail later with ELOOP.
Fixes builds of packages that use bsd.lib.mk for shared libraries and
set only a major version number.
1) postbuild hook sed was too greedy and deleted extra packages from
the queue, fixed regex.
2) Hook checks if a queue entry exists before requesting that it be
removed to avoid build aborts
3) The makeJail process was updated to include "make upgrade" which
is required for certain device headers to appear.
4) Changed "dud" handling. Previously requesting a build with a dud
dependency would cause it never to move to the next package.
5) Add the two files that should have been committed with 3.4.1
Besides syncing with FreeBSD Tinderbox 3.4.1, the following updates were
included:
1) Creating bulkbuild handling script
2) Created postPortBuild hook script to support bulk builds
3) Fixed fake "wrong arch" error due to funky licenses
4) Deviated "mark_failed()" from Tinderbox-FreeBSD to fire postPortBuild
hook for ports marked failed due to failed dependency
5) Added tc_command.pl patch that should have gone in previous update to
support pkgsrc scan bulk script
pkg_src_summary:
- fixed: gathering DESCRIPTION and ALLDISTFILES fields eats
too much CPU. Now full summary is gathered drammatically faster.
This may significantly speed up distbb bulk builds.
- While generating ALLDISTFILES do not try to read "distinfo" files when
DISTFILES is empty.
- More regression tests.
- If MAKECONF and PSS_SLAVES are not empty, MAKECONF is passed to
pkg_src_summary processes running on slave hosts.
A lot of improvements and grammar fixes in manual page
by Nikolai Krot.
Support for marker "keep" was implemented.
(nih mark -k|-K, nih list -k, nih install).
"keep" marker means that a package can't be updated by "nih update"
command. This marker is particularly useful to mark packages that
the user compiled manually from pkgsrc.
Original idea belongs to Debian APT.
nih install:
- Options -r and -R options were added
for installing dependencies or dependent packages.
Sometimes they may fix mysterious segfaults.
- Support for package suffix `/' was added that means "remove
update". See the manual page for details.
- A virtual package "_" was implemented that means "all packages"
for which update is available".
- Fixed: bug in REQUIRES/PROVIDES problem resolver. Now packages
that solve REQUIRES/PROVIDES problems are marked as installed by
user. Thanks to Jan Smydke for the report.
- Library files including system libraries that packages require
through REQUIRES field are also checked during update plan
generation.
fix: $CACHEDIR/All directory is created only when it is really necessary.
This update of tinderbox addresses several issues:
1) Updates obsolete failure message on options.mk
2) Adds support for PKG_DEVELOPER=yes
3) Switches build failure default to build only once, twice is the option.
4) Merge BOOTSTRAP_DEPENDS with FETCH_DEPENDS in order to maintain the
same database structure as Tinderbox. Removes two patches.
5) Change behavior where leftover files immediately after package deinstall
is no longer considered an error, but still list the files that do this.
6) Add a way out of an infinite recursion loop as seen when the package
name changed between portbuild and buildscript (considered a safeguard).
7) Push the package name from portbuild to buildscript to avoid issue with
php5 packages getting renamed to php53 (for example), which was the
cause for the infinite loop on lang/pear.
8) Fix enterbuild by allowing it to properly detected when the port has
entered the sleep state.
9) Fix php/pgsql bug on row limiting, should be fixed upstream for next
released. Requires old patch to be reincarnated.
10) Fix PLIST, several files were missing
11) Add utility script to add all 10K packages to database (this takes
several hours to do)
pkg_src_summary:
- Mysterious infinite loop was fixed in 'pkg_src_summary -m'
- summary2multi_variants script was separated from pkg_src_summary
pkg_bin_summary:
- CKSUM was renamed to FILE_CKSUM (by analogy with FILE_SIZE
and FILE_NAME) as suggested by spz@
Tinderbox is a well-known package building system for FreeBSD.
This commit ports the original Tinderbox to DragonFly. The scripts
are highly platform specific, so only one operating system can be
supported per package. With interest, alternative versions such as
tinderbox-netbsd and tinderbox-sunos could be developed fairly easily
as they would share the pkgsrc-specific changes with this package.
The repository for the project is:
https://github.com/jrmarino/pkgsrc-tinderbox
Various minor fixes from NetBSDfr hackathon
Moved break_depends() at the end of impact.c to avoid inconsistencies
Check for real filesystem size to be occuppied by upgrade
Check for user permissions before update_db
update_db() returns a status so we can warn simple users
introduced have_enough_rights(), fixed pkg_keep() perms
Various return codes fixed to satisfy frontends
. Don't download packages when repository is a file:// scheme
. Reduce verbosity when marking non-autoremovable packages
. Keep going if unmet requirements are encountered and warn about
it before proceeding
. Always move pkg_install on top of the "to-upgrade" list
. pkgin now depends on pkgsrc's pkg_install
. Log timestamp
. Better handling of pkg_install error logs
. rec_pkglist() now takes a va_list
. Added "requires" and "provides" to have a closer look on packages
requirements
. Globs can now be passed as an argument for package installation, i.e.
# pkgin in 'mysql-server<5.1'
. Export / import a list of packages as requested by wiz@
. Operations tracing flag (-t)
. Database silent migration
. More flexible check_yesno()
. Made pkgin in / rm yes by default
. One struct to rule them all (Pkglist)
. Got rid of many useless lists (speed x10, literally)
. Introduced FULLPKGNAME as db member, speed ups searches
. unique_pkg(): no more "many versions of foo", pickup newer
FIX: Do not use packages with non-empry PKG_FAIL_REASON for building
a dependency graph if there are ones without such marker. This
unbreaks rare failures of bulk builds.
Changes in dependency graph generation. Old algorithm leads to too
many failures caused by weak [BUILD_]DEPENDS in pkgsrc. Old
algorithm is available using "distbb -m1".
rmd160 and sha512 checksums are generated for packages in pkg_summary(5).
A number of sanity checks and tips for packagers have been
implemented which are a part of final report.
stage_report has been renamed to stage_send_report
New script pkg_summary2build_deps for building dependency graph
fix in "nih deps": option -t now works correctly
fix: ~/.nih/config has higher priority than @sysconfdir@/nih/config
Thanks to Jan Smydke for the report!
fix: Create "$CACHEDIR/All" on startup.
Thanks to Zafer Aydogan for the report.
nih.default.conf:
- REPOSITORY defaults to ftp://ftp.NetBSD.org/...
Default nih.conf:
- One more example of use
Support for "try_out" marker was added. New options for subcommands:
nih install -t, nih remove -t, nih list -t and nih mark -t/-T.
See manual page for details.
nih install:
- after downloading binary packages it checks for common files in
PLIST fields. If unregistered conflicts are detected, nih exits
with error. This can be disabled using NO_PLIST_CHECK variable.
- New option -a was added for running pkg_add(8) directly.
nih history:
- "automatic" and "try_out" flags are registered and output.
- outputs a warning message if NO_INSTALLED_COPY is set.
nih install|remove:
- New option -l was added for keeping auto-removable leaf
packages.
nih verify:
- New option -s was added for comparing running OS and OS packages
were built for.
nih:
- New global option -s was added for specifying path to
pkg_summary(5).
~/.nih/installed_* files are compressed by bzip2 at creation time.
Version 0.56.0, by Aleksey Cheusov, Sun, 28 Aug 2011 12:05:00 +0300
pkg_cmp_summary:
- New option -O was added for specifying fields for
output without using them for comparison
Version 0.55.0, by Aleksey Cheusov, Sat, 27 Aug 2011 20:14:53 +0300
pkg_lint_summary:
- New option -f option was added that checks files in PLIST
fields given on input and warns about files common for several
packages.
- New option -p option was added for specifying prefix directory
used by option -l.
- New option -n was added that analyses PLIST and CONFLICTS
fields in input summaries and outputs unregistered conflicts.
- New option -s was added that checks OPSYS, OS_VERSION and
MACHINE_ARCH fields given on input and warns if they differ from
that of running system (uname -srm).
pkg_cmp_summary:
- New options -a and -A were added for specifying fields for
comparing in addition to package versions.
- New option -E was added. It works together with -A and changes
its output.
- Options -c and -b were reimplemented using more generic -a.
- Examples section was added to pkg_cmp_summary.1
pkg_bin_summary:
- New option -e option was added for effectively using
pkg_bin_summary with xargs (xargs -r is not portable).
- New option -k was added for enriching binary package summaries
with checksums using algorithms supported by digest(1)
pkg_digger_backend:
- Mixed -1|-3|-9 options are now handled correctly.
pkg_summary2leaves:
- When no files are given as arguments (stdin),
pkg_summary2leaves outputs an error message.
Regression tests have been reorganized. One test - one file.
Some manual pages were updated and improved.
Problem analysis from Anthony:
On Wednesday, at 23:52, Anthony Mallet wrote:
> # rm -rf ~tmp && mkdir ~/tmp
> # pkg_add -K ~/tmp/var/db/pkg -p ~/tmp /usr/pkgsrc/packages/All/digest-20080510.tgz
> # pkg_add -U -K ~/tmp/var/db/pkg -p ~/tmp /usr/pkgsrc/packages/All/digest-20080510.tgz
> pkg_delete: Couldn't remove package directory in `/home/tho/tmp/var/db/pkg/digest-20080510'
> Also, the dir var/db/pkg/digest-20080510.xxxxxxx is never cleaned.
>
> The problem apparently is that pkg_delete finds some stalled NFS entries
> (.nfs*) in the var/db/pkg/digest-20080510 dir, so it does not delete the
> directory. Is this due to pkg_add not correctly closing file descriptors before
> exec'ing pkg_delete? For instance, I really don't understand the logic in
> check_already_installed() (add/perform.c:375) regarding the open() of +CONTENTS
> which is almost never closed (and never used as well...). Shouldn't this be
> closed before running pkg_delete?
ktrace shows that the +CONTENTS file is open() by pkg_add, I believe this is in
check_already_installed(), add/perform.c:381. Then pkg_delete is run and when
it comes to deleting the pkgdir entry, it finds that .nfs file and aborts.
Bump version to 20110805
Allow "@" as a character for directories in "${WRKSRC}". This stop bogus
warnings for the "phpmyadmin" package which contains directory names
like "locale/sr@latin/LC_MESSAGES".
Change suggested by Thomas Klausner in private e-mail.
nih remove:
- FIX: -n now works correctly
Affected versions: 0.7.1-0.7.2
nih install:
- FIX: "nih install -n" doesn't change "automatic" flag anymore
- new suboption -k for continuing download after failures
- BUILD_DATE field is included to installed_*.txt files
New command "nih audit" for checking packages for vulnerabilities
New command "nih history"
nih mark:
- new suboption -A and -U, synonyms to -u and -a respectively
- if neither -a, -A, -u or -U were specified, markers are output.
nih list:
- new suboption -b for outputting packages in the repository
- new suboption -r for outputting raw package summaries
nih meta:
- new suboption -r for outputting raw package summaries
nih refresh:
- error message is output when download fails
Minor improvements in "nih -h" and manual page
Path to ftp(1) defaults to /usr/bin/ftp on NetBSD, FreeBSD, OpenBSD
and DragonFlyBSD. On other systems it defaults to tnftp from
pkgsrc.
FTP_OPTIONS and WGET_OPTIONS default to "-4" for using IPv4 only.
New configuration variable IGNORE_CKSUMS was added in order to
ignore SHA512.txt absent in some repositories.
pkg_micro_src_summary:
- support for PSS_SLAVES=nnn was added
pkg_digger:
- workaround for buggy shells (set -e; if eval false; ...)
Regression tests were updated
Fix for "Package xxx is not found" problem:
0 > nih -y install editors/emacs22
...
0 > nih -y install editors/emacs20 emacs-
Package editors/emacs20 is not found
1 >
(This avoids false positive reports in some circumstances, such as a pair
of depends on e.g. foo-2.0 and 2.0.3, and also for more complicated forms
of version numbers.)
Key features:
- several packages can be built at the same time on different
machines or chroots
- good design ;-)
- flexibility
- compactness
- no limit on a number of "slave" machines and/or chroots
- fault tolerance, e.g. failures of slave hosts is not a problem
- nice logging
This is a package manager for pkgsrc.
Available commands:
nih help - Display help message
nih refresh - Download pkg_summary and SHA512 files
nih install - Install or update packages
nih uninstall - Uninstall packages
nih verify - Verify packages integrity
nih status - Show status of installed packages
nih info - Show information about packages
nih meta - Output available or installed meta packages
nih search - Powerful search in packages
nih leaf - Output or remove autoinstalled leaf packages
nih list - List packages
nih mark - Mark packages
nih deps - Show dependencies
nih clean-cache - Clean-up cache directory with binaries
Every separate field (PKGPATH, PKGNAME, COMMENT etc.) may be queried
separately and multiple fields may be queried too. A lot of search
strategies are available. Set of fields and search strategies may
very depending on your server configuration. Search in multiple
"repositories" is supported too, e.g. search in binary repository
or in pkgsrc source tree.
Communication protocol is a well known dictionary protocol described
in RFC-2229. Server may run dictd or any other dictionary protocol
server. For dictd see http://www.dict.org and
http://sourceforge.net/projects/dict
pkg_online has minimal amount of things specific to pkgsrc and can
easily be adapted to any other packageing systems.
Of course it is based on pkg_summary-utils ;-)
pkg_list_all_pkgs - list (in PKGPATH form) all packages in pkgsrc tree
pkg_src_summary - create a full pkg_src_summary
for given (in PKGPATH form) packages
pkg_bin_summary - creates a summary for binary or installed packages
pkg_micro_src_summary - create a micro pkg_src_summary
for given (in PKGPATH form) packages
pkg_cmp_summary - compare two summary files, i.e. packages
are compared by their versions
pkg_grep_summary - grep the summary using AWK expression
pkg_digger - very powerful package searcher
pkg_digger_backend - pkg_summary.txt backend for pkg_digger
pkg_update_summary - updates pkg_summary(5) by analysing the
modification
time of binary packages and pkg_summary(5) file
pkg_update_src_summary - efficiently updates pkg_src_summary for all
packages in pkgsrc tree
pkg_summary4view - convert a summary file to human readable format
pkg_refresh_summary - output an information about latest/newest version
of packages
pkg_cleanup_distdir - remove old unused distfiles
pkg_uniq_summary - filter out repeated package summaries
pkg_summary2deps - summary to dependency graph converter
pkg_subgraph_deps - analyses dependency graph given on input
pkg_lint_summary - sanity checks for summaries
pkg_summary2leaves - output leaf packages
20110306
Moving to SF.net
Check for mark_as_automatic_installed() return code
20110301
pkgin can now upgrade pkg_install with user's approval
20110228
url_stat's size is declared as off_t, will be > SSIZE_MAX on
32 bits systems. Added a fix for this.
20110227
Added -P, print package version instead of globs in sd, srd, sfd
Added warning for repositories with 0-lenght FILE_SIZE
Added -V (verbosity) flag
Moved integer flags to uint8_t
-D provides the previous behaviour of creating patches in $WRKDIR/.newpatches
-d dir specifies the directory where the patches will be created.
Requested by Aleksey Cheusov for read-only pkgsrc checkouts.
Fix minor bugs while here.
Bump version.
20110207
Replaced naive repository arch check by MACHINE_ARCH check
20110206
Bump to SQLite 3.7.5
20110205
Added statvfs64 support
Redirect stderr to logfile while pkg_{add,delete}
20110204
Feature request: -F / force-reinstall
Feature request: PR 43049
Generated repositories.conf for NetBSD, DragonFly BSD and MINIX
20110130
Merged 0.4.0 to HEAD
MINIX patches from Gautam are now upstream
Re-added download-only
Makefile.in / configure.ac cleanup
Integrated some of bapt's patches
- chroot
- bandwidth calculation
20110122
pkgin 0.4.0
SQLite "Amalgamation" version is now part of the tree,
No more databases/sqlite3 dependency needed
It is based on ancient bsd.prefs.mk and not works as expected for SUA,
because all SUA (5.2, 6.0 and 6.1) have libc.so.5.2 (and also old version).
Moreover shlibname base OS version was introduced to speed up to avoid invoking
`uname', but in this script, `uname' always will be invoked.
Smarter pkgdiff, doesn't create chunks that are added automatically
by the pkgsrc infrastructure (configure:exit instead of regenerate,
Makefile: localedir).
mkpatches: patch file names now contain the path to the file and its name
per discussion on tech-pkg June 2010.
Also, the files are created directly in the patches/ directory; backups
are saved as patches/patch-foo.orig.
patchdiff: now compares patches/patch-foo with patches/patch-foo.orig;
if they only differ in non-essential parts, patchdiff reinstates the
original patch to keep commits less noisy.
- Go back to manual installation to avoid problems on unprivileged
NetBSD installation. This fixes PR pkg/44415 by Hauke Fath.
- Don't install "rpm2pkg.cat8" any more as it is not really useful.
- Major overhaul of the source code to make maintenance and support
for new compression formats easier.
- Use "liblzma" instead of "xzcat" for dealing with LZMA compressed RPMs.
Drop unnecessary dependences on "gettext-lib" and Berkeley DB. Neither
of them have been necessary when this package stopped depending on the
"rpm" package.
Approved by Thomas Klausner.
- Use "xzcat" instead of "lzcat". This package now doesn't depend on the
"archivers/xz" package under NetBSD-current because "xzcat" is part of
the base distribution.
Set PKGNAME_REQD to give underlying make processes a chance to set
options derived from the package name. For example, the appropriate
version of Python can be derived from the package name (so, when
building py25-foo, use python-2.5, not python-2.6). Specifically,
MAKE_SET_VARS='PKGNAME_REQD=${pkg}-*'
From Alan Barret via pkgsrc-users@.
Sometimes, the set of packages to be replaced ($REPLACE_TODO) does not
have any members which are installed (and hence in $TSORTED). This
caused the loop over $TSORTED to not find any packages to replace.
The check for not having found one was missing, resulting in the last
package in TSORTED being replaced. Because $REPLACE_TODO is still
non-empty, this repeats.
This patch adds an abort when no packages in $TSORTED are in
$REPLACE_TODO. Analysis and patch from Ian D. Leroux on
pkgsrc-users@.
NetBSD-current after last weekends xorg imports.
Remove Xmu files from xorg file list, they are in xorg.libXmu list.
Bump version to 0.61 and depend on it in bl3.mk.
all depending packages have their dependencies satisfied by the new
package. Essentially, split off this particular behavior as a special
case of -f, so that -f works as before, unforced works as before, and
one can give -D to override exactly this check, leaving all other
checks intact.
The -D flag is in support of make replace, as the workflow for make
replace is that inter-package dependencies are sometimes violated (but
then one must replace the depending packages, which is what
pkg_rolling-replace does via the unsafe_depends flags).
Bump PKGTOOLS_VERSION.
Add missing break statement in option parsing of "pkg_add -C", riding
the version bump.
Discussed extensively on tech-pkg@ over the summer.
OK pkgsrc-pmc@.
- Fix a fundamental problem which meant that the package included links
for builtin components that "pkgsrc" will not use because they are too old.
- Remove NetBSD specific "pixman" hack that is no longer necessary.
- Add a nasty hack to deal with the "pixman" issue under NetBSD 5.1*
(and 5.0?) which provides an old version of "libpixman" with a higher
major number than the package in "pkgsrc".
- Use "@pkgdir" instead of "@exec mkdir ..." to create empty directories.
- Don't add "@dirrm" lines for empty directories as they are now deleted
automatically.
Based on a suggestion by Thomas Klausner in private e-mail.
Always treat symbolic links like file when generating the package list.
A long time ago "pkg_install" didn't like symbolic links which is why
"rpm2pkg" created "@exec" and "@unexec" lines in the package list.
This does however cause false positive reported by the "CHECK_FILES" check.
This should fix a part of PR pkg/41191.
- Avoid handling RPMs with uncompress data via "lzcat -f".
- Improve handling of LZMA compression via "lzcat":
- Fail early if the child process fails to start "lzcat".
- Don't try to kill the chld process blindly when we close the parent
end of the pipe. Check first whether it already terminated which
is the normal case.
Handling of RPM files with LZMA compression is now tested.
- Implement a minimal parser for the RPM header section and use it to
skip to the data section instead of searching for BZip2 or GZip
magic headers.
- Add untested support for LZMA compression. It currently uses "lzcat"
from the "xz" package which is what "pkgsrc" itself uses to handle
".lzma" files.
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
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=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
- Remove pkg_install version check and rebuild if outdated. pkgsrc is
supposed to do that for us. Addresses PR pkg/38323.
- Don't bother to explicitly builddigest. pkgsrc DTRT nowadays when
PKGSRC_COMPILER includes ccache/distcc.
diff version must uses spaces to separate the filename and timestamp (that
or somepeople do cut-n-pasting of patches).
2) add the comma "," to the pattern used to match line numbers, to match POSIX.
- Recognize -C for pkg_add like the rest of the tools do
- Do the existing check for pkg_add -f, it makes the combination of
-f and -U a bit less surprising
- Fix option handling for CHECK_VULNERABILITIES (from spz@)
- Make end-of-life check the default. pkg_install.conf(5) can be used to
override the default. The existing admin -e & co continue to work as
before.
- Explicitly call make create-usergroup if USERGROUP_PHASE is specified
and DESTDIR is active
- If the current user is not root, don't use su.
- Skip lines starting with # in the limited bulk build list.
- Fix detection of BZip2/GZip signature which would have failed if the
signature was located behind a prefix of the signature.
- Increase I/O buffer size so that "rpm2pkg" will usually find the data
section after only one read(2) system call.
- Don't use the original "rpm" libraries. All we need to do is to identify
a file as an RPM file and afterwards find the BZip2 or GZip compressed
section at the end of the file.
- Use C99's "stdbool.h" instead of home-grown defines.
Solaris (and, I suspect, other autoconf-using architectures). En detail:
20100123:
Many cleanups from stacktic
- Replaced strstr's with str{n}cmp when possible
- #ifdef'ed PROVIDES
- Queries are now const chars
20100102:
Solaris 10 support
Mac OS X support
Many cleanups from stacktic
20100101:
Many fixes by stacktic :
- Added -n (no-flag)
- Various memleaks fixed
- pkgname comparison fix
- Cleaned up trailing spaces
- Got rid of recursion !
20091206:
Added -l status flags
20091203:
autoconf support
percentage redraw fix (jmcneill)
variables cleanups (PKG_SYSCONFDIR, VARBASE) (sketch)
auto-lookup for SUMEXTS, removed options.mk (sketch)
opensolaris fixes (sketch)
repositories.conf variables substitution (tuxillo)
impact mutex (Johannes Hofmann)
SunOS 5.8 support (Mikhail T.)
If /usr/ucb/lib/cpp is in the path before gnu cpp this could break things
but that is not an expected situation. The only executable in /usr/ucb/lib
is cpp, so there is no other reason to add it to the path.
This should fix PR#42624
This is just a simple version bump so that ${OS_VERSION} can be removed from
the DISTNAME as this package now depends on 'pkgtools/osabi'
Update BUILDLINK_API_DEPENDS.x11-links to match.
This is a dummy-package which is made a dependence for packages which are
tightly bound to a specific version of an operating system, e.g. LKMs or
sysutils/lsof. Such binary packages are not backwards compatible with other
versions of the OS.
The version number of this package should be similar to the operating system
version (`uname -r' output).
Extract dependencies of libarchive from the pkgconfig file and thereby
drop knowledge of the needed libraries.
At least some versions of HP-UX are known to not support %zu, add a
workaround. This is using the black list approach for now.
Recognize xz as compression type for pkg_create.
The first time an error is hit while fetching packages, try to reget
from the same position. This works around the server closing the
connection while fetching dependencies.
- Try to detect common forms of pkgdb corruption and issue a warning in
that case.
- Refactor the pkg_vulnerabilities logic to use the compression support
from libarchive. This reduces the amount zlib/bzip2 interaction to the
linkage.
* Do not force the install target to take a full package name. pkg_add will
automatically pick the latest version.
* When building a package as part of makeroot, make sure it actually gets
installed. This is to fix a regression with the switch to USE_DESTDIR=yes.
Otherwise these packages will get rebuilt later on when needed.
* It is common for calls to mktemp to have 6 placeholders in the template,
not 4. Make it so.
* include python/extension.mk and PYSITELIB in PLIST instead of hard coded python2.5.
* PKGLOCALEDIR are handled automatically, no need to use in PLIST.
* icontains *.desktop, so include desktop-file-utils/desktopdb.mk.
Bump PKGREVISION.
- Restore PKG_PREFIX in pkg_delete (PR 42731)
- Ensure that the current pkg_install version is at least as new as
the version used to build the package
- Add option '-D' to tune "USE_DESTDIR=" and set this defaultly to 'NO'
- Add option '-j' to tune "MAKE_JOBS=" (Default: unset)
- Fix an issue with packages with missing origin
- Solaris 10 support
- Mac OS X support
- Added -l status flags
- autoconf support
- percentage redraw fix (jmcneill)
- variables cleanups (PKG_SYSCONFDIR, VARBASE) (sketch)
- auto-lookup for SUMEXTS, removed options.mk (sketch)
- opensolaris fixes (sketch)
- repositories.conf variables substitution (tuxillo)
- impact mutex (Johannes Hofmann)
- SunOS 5.8 support (Mikhail T.)
Plus many cleanups from stacktic@
- Replaced strstr's with str{n}cmp when possible
- #ifdef'ed PROVIDES
- Queries are now const chars
- Added -n (no-flag)
- Various memleaks fixed
- pkgname comparison fix
- Cleaned up trailing spaces
- Got rid of recursion !
- Refactor man pages:
- Move description of environmental variables into pkg_install.conf(5)
- Remove a bunch of dead references
- Avoid using hard-coded path names that can easily be overridden by
the user.
- Refactor pkgdb related logic, so that -K behaves consistently.
- Add some helper functions to isolate more places from the pkgdb
layout.
- Sync license list.
- Handle PKG_REFCOUNT_DBDIR consistently as option too.
- Utilize connection cache from libfetch.
- Add helper target for cat pages updates.
1.) Update list to remove duplicates and add missing entries for recent
versions of NetBSD-current. The necessary changes were supplied
by Bernd Ernesti.
2.) Include the operating system version number in the package version
to force a re-build of the package if the operating system is
updated (which might change the X11 distribution as well.
This should fix PR pkg/42492.
Change approved by Thomas Klausner.
typos and incorrect entries and also adds a brief line on SHLIB_MAJOR,
SHLIB_MINOR and SHLIB_TEENY, the latter addresses PR bin/39693
No functionality change, no PKGREVISION bump
Set TZ=UTC before calling diff to ensure everyone uses the same timezone
to avoid spurious diffs in metadata, such as:
< clock/clock.c.orig 1993-06-29 01:11:39.000000000 -0400
---
> clock/clock.c.orig 1993-06-29 03:11:39.000000000 -0200
Changes:
Added 3 new features:
1) Fetch only
2) Keep going after error (skip package)
3) Log output of make steps
Modified verbosity to report what's failed and what succeeds.
Do not overwrite a string with itself using snprintf. This breaks
setting the pkgdb directory internally on Linux. Explicitly check
if the string is the same and otherwise just use xstrdup.
Detect X.org even if "imake" is not installed. The package now works as
expected under Mac OS X Snow Leopard.
No regressions under NetBSD/amd64 5.0_STABLE with native X.org.
- Cleanup configure.ac to not check for headers and functions not used
- Always use nbcompat/db.h on !NetBSD (PR 41865)
- Don't bother setting termwidth in pkg_info, it is never used.
This package contains two tools for maintaining pkgsrc/doc/TODO.
add_todo adds lines for newly available updates for packages to
the TODO file.
obsolete_todo checks the contents of pkgsrc/doc/TODO against updates
noted in the CHANGES-* files and removes entries for packages which
were already updated to newer files.
Fix ordering of event handler vs queue modification. This can result in
queue corruption or use after free when the master can't handle a
request before the next arrives. From Matt Dillon.
Add a new command for pkg_admin: findbest. It takes one or more patterns
and searches for the best match in PKG_PATH, just like pkg_add would.
It prints the URLs of the best match for each pattern to stdout.
Rewrite the config file parser to read the file only once.
Make pkg_install WARNS=4 clean and fix a number of lint warnings.
Based on reports from veego about warnings with older GCC releases in
pkg_delete, where a variable is potentially used uninitialized.
tech-pkg.
Commented out the LICENSE definition, since pkg_admin is very picky
about invalid values. Having either "" or "LICENSE" as the value doesn't
let you even fetch and extract the distfiles.
- license handling: accept upper case letters. Keep license checks
case-sensitive as done in the older pkgsrc logic. Document this.
OK dillo@, schmonz@, wiz@
- pkg_info:
- fix handling of non-packages, that are valid archives
- invert order of pkg_info -r to better match the expectations of
make update.
Shared directories can now be created independently by the pacakges
needing them and will be removed automatically by pkg_delete when empty.
Packages needing empty directories can use the @pkgdir command in PLIST.
Discussed and ok'd in thread starting at
http://mail-index.netbsd.org/tech-pkg/2009/06/30/msg003546.html
${VARNAME} into their values.
This was intended to fix the false positive warnings about missing
distinfo files, but it cannot handle database/ruby-gdbm for example,
because _RUBY_VER_MAJOR uses pattern substitution. Run pkglint with
-Dtrace,misc and look for resolve_var to see what happens up to now.
#ifdef MMAP_NOT_AVAILABLE
/* Code which uses mmap, but with a comment saying we don't want to use it */
#endif
to
#if !defined(MMAP_NOT_AVAILABLE) && 0
/* Code which uses mmap, but with a comment saying we don't want to use it */
#endif
so system without mmap() also work...
Use "pkg_info -Q" to extract PKGPATH from installed packages instead of
"pkg_info -B" coupled with awk magic. The previous regexp didn't account
for packages that have PREV_PKGPATH set, and blew up while replacing
for example mail/sylpheed and multimedia/ffmpeg.
pkgsrc binary packages. It relies on pkg_summary(5) for
installation, removal and upgrade of packages and associated
dependencies, using a remote repository.
OK'd by seb@
Try harder to mimic the old pkg_delete behavior and provide a
topologically sorted output for pkg_info -r. Bail out on dependency
cycles based on recursion depth, currently 64K.
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@