This package would fail when a non-privileged user would try to install it.
That's because it was trying to create /usr/pkg/var/log directory. Another
directory was getting installed into DESTDIR but no further.
Added patch:
1) Removes attempt of Makefile to install ${VARBASE}/log
2) ..and directory ${VARBASE}/cache/PackageKit/downloads creation
3) ..which fixes non-root installations
The INSTALL file was removed, instead of installing directories in ${VARBASE},
it was installing directories at /. The functionality was replaced with
OWN_DIRS+= in the Makefile and verified to work as expected.
- Add the GENERATE_PKG_SUMMARY option to tell pkg_comp to generate a
pkg_summary.gz file in the packages directory. Useful to later be
able to run a packaging tool like pkgin against new binary packages.
Resolves at least some issues with finding the right pyNN-foo, when
replacing packages that don't match PYTHON_VERSION_DEFAULT.
(This was a stray change in my tree not committed for a while, but
it's been working ok.)
Now 0.24.1.
Rewrite OpenBSD.bsd.man.mk, based on current NetBSD.bsd.man.mk and changed to
use mandoc.
Fixes manual pages installation with packages using USE_BSD_MAKEFILE=yes
on OpenBSD-5.0.
* Move some MesaLib files from files/xorg to files/xfree.MesaLib,
or unwanted MesaLib may be buildlinked (and result in build failure).
* Add some files from OpenBSD-5.0.
- Allow specifying packages by their basename, without a category. This
affects the arguments to the 'build' command as well as the list of
packages provided to AUTO_PACKAGES and BUILD_PACKAGES.
===================================================================
-- Version 0.44.0 by Aleksey Cheusov, Sat, 25 Feb 2012 11:43:56 +0300
Improvements for report:
- "^WARNING:" messages are logged
- Segmentation faults are logged
- Clean-ups in report_mini.txt and report.txt
Packages are rebuilt recursively only if it necessary
-- Version 0.43.0 by Aleksey Cheusov, Mon, 9 Jan 2012 23:27:20 +0300
Fix for signal handlers (SIGINT, SIGTERM, SIGQUIT).
Fix in "Depends" stage.
Unnecessary dependencies are not install anymore.
Dependency graph. Latest available binary package is always used for
BUILD_DEPENDS if it satisfies dependencies.
- Explicitly stat(2) if mkdir failed. errno detection doesn't work e.g.
on Solaris (PR 45289)
- Provide a stable order for package names that only differe in the base
name, not the version number.
Version 0.43.0
Fix for signal handlers (SIGINT, SIGTERM, SIGQUIT).
Fix in "Depends" stage.
Unnecessary dependencies are not install anymore.
Dependency graph. Latest available binary package is always used for
BUILD_DEPENDS if it satisfies dependencies.
Version 0.42.0
Support for cross-compilation. Build host dependencies are built on
demand. Patch for pkgsrc is needed.
http://mail-index.netbsd.org/tech-pkg/2011/11/19/msg008003.html
Support for libkver was added. In order to build packages for
different version of NetBSD you need to set LIBKVER_OSRELEASE and
LD_PRELOAD in distbb.conf.
New transport program distbb_chroot was added.
It is now the default for TRANSPORT.
- pkg_online_client now works dramatically faster.
- Manual pages for pkg_online_client and pkg_online_find were added.
- Bug in signal handlers was fixed in pkg_online_client.
- License has changed from MIT to equivalent 2-clause BSD.
our own getopt_long. Add a message to signify this in the configure
output. Fixes issues reported by hans@ on Solaris with nbpatch. OK
during freeze by wiz@
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.