binary package to a FreeBSD binary pkg. pkgsrc binary packages keep
more metadata, and do Dewey matching on package version numbers, so
it's not possible to convert in the other direction.
The DESCR says:
This is a small utility to generate a FreeBSD pkg binary package
from a pkgsrc binary package. It is invoked simply, using a
command like:
genpkgng ssam-1.9nb1.tgz
and it will convert the pkgsrc binary package to a pkg one:
% ./genpkgng.sh perl-5.18.1nb2.tgz
Converting perl-5.18.1nb2.tgz
-rw-r--r-- 1 agc users 16597860 Apr 24 19:01 perl-5.18.1nb2.txz
%
update pkg_chk from 2.0.6 to 2.0.7, based on suggestions from PR 30893
- switch from getopt to getopts. The issue described in PR 30893 ('*' being
expanded by shell globbing) had already been worked around, but getopts
is just a nicer interface
- Extend tag parsing to support -D '*' to cause all package lines to be matched
Newer RHEL distributions have pkgconfig files split across three locations,
so add support for both share/pkgconfig and lib${LIBABISUFFIX}/pkgconfig if
LIBABISUFFIX is defined.
don't redefine 'pkg_info' if it already exists.
This is notably for pkg_rolling_replace -u in case pkg_install
was revbump'd and openssl happens to be in PKG_DEFAULT_OPTIONS.
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
Most important parts of pkg_grep_summary, a part of
pkgtools/pkg_summary-utils, was reimplemented in C. As a result
"nih {search,info,meta,leaf,install,remove,deps}" should work faster.
nih install:
- if pkg_update_plan(1) fails, nih(1) exits with pkg_update_plan's
exit status.
- packages to be installed or removed are output in sorted order.
nih {search,meta,info}:
- "nih meta" now defaults to -1 mode (internally).
- documentation for -1|-3|-9 ads added for "nih {info,meta}" commands
- "nih info" now defaults to -3 mode.
- "nih {search,meta,info}" now work correctly with -{o,i} options
if ~/.nih/pkg_summary.txt is absent.
- new option -l was added to "nih {search,info}" that outputs
package file list.
Summary for installed packages is cached in
~/.nih/pkg_inst_summary.txt. "nih {refresh,search,info,meta,deps,list} -i"
use this file and update it when necessary.
nih refresh:
- Option -P was added for fully rescanning pkgsrc tree.
- The default value for PKGSRCDIR is not determined at build time
anymore. As a result "nih refresh -p" does not try to access
/tree/pkgsrc used by bouyer@ who builds official NetBSD binary
packages. Now PKGSRCDIR defaults to /usr/pkgsrc.
- "nih refresh -p" shows progress counter (the number of scanned
packages) unless -m is in PSS_OPTIONS.
- option -i was added that updates summaries for installed
packages (~/.nih/pkg_inst_summary.txt).
nih remove:
- does not try to create $CACHEDIR and "cd" to it.
nih list:
- was completely reimplemented and simplified.
- new option -p was added that outputs pkgsrc tree packages.
nih deps:
- new options -b and -p were added for working with binary
repository and pkgsrc scanned packages
(pkg_summary.txt ad pkg_src_summary.txt respectively)
- option -1 was added that outputs direct dependencies or dependents.
nih/config:
- better conversion from "uname -r" to repository URL.
- REPOSITORY for SunOS defaults to smartos.org.
Support for summaries with no PKGPATH, e.g., compat50-5.1.tgz, was
added.
Option -I for "list", "deps', "meta", "info" and "search" was
renamed to -i. Option -I is supported for backward compatibility.
package_search.pdf was updated, fixed and improved.
pkg_grep_summary:
- almost all search strategies were reimplemented in C for better
performance, as a result all utilities using pkg_grep_summary(1)
work much faster. Strategies still implemented in AWK: awk, kw.
- converted to use shell's getopts.
- new regression tests.
pkg_src_summary:
- if -m, -d, -D aren't applied, temporary files are not created.
- adapted for recent paexec(1) improvements.
pkg_update_src_summary:
- progress counter is output if -v is applied.
pkg_summary2deps:
- workaround for buggy patterns like >=foo-1.* was implemented.
pkg_summary-utils build infrastructure is completely reimplemented. Now
it is a two-level project. Subprojects: scripts and grep_summary
(enabled by default), doc and tests.
PKG_TOOLS_BIN env. variable is used at build time as a default
directory for pkg_info(8) (for OpenBSD/FreeBSD in order to avoid
conflicts with their native pkg_* tools).
A number of stupid workarounds for stupid Solaris' userlevel.
All scripts written in shell uses @SH@ in shebang and therefore uses
pkgsrc's ${SH} at run time.
NetBSD make library. Bump version (to 20131207, which was when I wrote
this.) Fixes the build of multimedia/bsdav.
Note: this is not a merge from NetBSD HEAD, but a minimal
reimplementation of the feature to get the job done.
These make templates really need to be merged with or replaced by the
latest versions from NetBSD HEAD. Anyone embarking on such a merge
should probably revert this change (which is only to bsd.prog.mk)
before doing so.
No objection after 3+ weeks on tech-pkg.
* Partial fix for PR pkg/47335
** Define some variables
** Define empty function neatvalue
** Generate Makefile before custom MakeMaker.pm invocation
to avoid no Makefile error.
failures for a long time. (I'm not sure why it sometimes does and
sometimes doesn't, but I think it may depend on different CFLAGS
arising from bootstrapping vs. not bootstrapping.)
While here add a comment to patch-curses__helpers.c; hi Joerg.
Introduce a modified bsd.own.mk on SunOS which enables MKCATPAGES by
default, and a modified bsd.man.mk which correctly installs catman
pages with a section suffix rather than a blanket '.0'.
This allows the SunOS man(1) to find the catman pages correctly.
signature_archive were not initialized properly, therefore randomly failing
in the verify_signature_read_cb() callback.
Partly closes PR pkg/48194; pkgsrc needs to be updated as well.
"please commit" agc@
XXX pull-up to netbsd-6
* Fix build with libnbcompat-20120702, PR pkg/42142's side effect is fixed.
Tested on Solaris 10, OpenBSD, FreeBSD etc.
Detect system's sha2.h and SHA2 functions, and include nbcompat/sha2.h
conditionally.
Remove incorrect return value when in force mode, which was causing pkg_add
to exit with failure even though the operation completed successfully. This
also fixes the case where 'pkg_add -uf' would leave an update in an
inconsistent state.
helps to see which source line belongs to which warning.
- PKGSRCTOP is a known variable. It is used only in the top-level
Makefile.
- Arbitrary tool names may be added to TOOLS_NOOP.
- In the top-level Makefile, the alphabetic order of the SUBDIRs
may have a single exception.
itself. Copied from similar code in pkg_delete.
This fixes the issue when an +INSTALL script fails but the pkgdb directory
couldn't be removed, leading to an inconsistent state.
This package is no longer in use, and is far behind upstream now.
It is heavily customized so maintenance is far from trivial. There were
no objections to the announcement of my intentions to remove this package
which I made on package-users@ a month ago.
I feel it is better to retire this package than allow it to bitrot further.
* bare `zu' modifier is used, it should be replaced with `PRIzu` instead.
Fixes crash with `pkg_admin rebuild' on platforms missing %z support,
PR pkg/48070.
- Add /usr/sfw to SunOS mount dirs, required for certain binaries on
newer releases.
- Mount proper instances of /dev and /dev/fd on SunOS rather than relying
on devfsadm and ucblinks, the latter of which does not exist on newer
releases.
- Do not create /var/games if the games user does not exist.
* Mount /proc read-write on Linux, it appears to be required for e.g.
groupadd to function correctly.
* Add new --rodirs and --rwdirs options, which allow arbitrary lists
of directories to be mounted appropriately inside the chroot.
* Add --without-pkgsrc which prevents the default pkgsrc directories
from being mounted.
This allows mksandbox to be easily used for chrooted pbulk setups, using
a simple invocation such as:
mksandbox --without-pkgsrc --rodirs=/usr/pbulk --rwdirs=/shared /chroot
Onl include the symbolic links if we are actually using the builtin version
of this library.
Bump the version number and the minimal required version for this change.
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
for that);
- use more common option list header line;
- correct argument names of `--src' and `--xsrc' in the text;
- correct default `xsrcdir' directory;
- choose different argument wording (then also using appropriate
macro) in the arbitrary sandbox command running explanation (and
adjust the list width with it);
- add comma after ``e.g.'';
- bump date.
From Bug Hunting.
- add an appropriate comma;
- correct (also macro wise) / rewrite `EXAMPLES' section;
- replace packages(7) reference in `SEE ALSO' with pkgsrc(7) one
(src/share/man/man7/packages.7 was removed in 2007);
- remove ``Documentation on the NetBSD Package System'' reference
from `SEE ALSO' (it's referenced in pkgsrc(7));
- remove unneccesary `.br' macro (and low level macros should
generally not be used anyway);
- remove `BUGS' section, as the ``bug'' described in it isn't a
bug at all;
- bump date.
From Bug Hunting.
if no eol is found in the string we set "next" to NULL, assign it
to "buf" and then check the loop condition by dereferencing it - which
does not work well.
Change the loop condition to first check for buf == NULL.
pkg_src_summary:
- Option -t was added. If applied a value of TOOL_DEPENDS
is added to BUILD_DEPENDS. This option works just like -b
does for BOOTSTRAP_DEPENDS.
pkg_cmp_summary:
- Fixes for -A and -O. Now they output an empty line after each
compared package even if it appeares multiple times in
pkg_summary1. So, the output is now consistent.
Last change time was updated for manual pages
File too long (should be no more than 24 lines).
Line too long (should be no more than 80 characters).
Trailing empty lines.
Trailing white-space.
Trucated the long files as best as possible while preserving the most info
contained in them.
COMMENT should not be longer than 70 characters.
COMMENT should not begin with 'A'.
COMMENT should not begin with 'An'.
COMMENT should not begin with 'a'.
COMMENT should not end with a period.
COMMENT should start with a capital letter.
pkglint warnings. Some files also got minor formatting, spelling, and style
corrections.
* In test, match the "make makesum" warning more loosely.
* In test, find packages to run against in $PKGSRCDIR explicitly.
* Bump version.
This is the last commit in a set developed for my "Rehabilitating
pkglint" talk at pkgsrcCon 2013.
Reviewed-at-pkgsrcCon-and-approved-during-the-freeze-by: wiz
Leave the silly self-grep in place, adjusting to also match the
lines that initialize the dispatch table. The underlying code is
better and the tests still pass. (No functional change intended.)
pkglint greps itself (really) to generate this list of types. Test
exhaustively for all types in the list today, so that the tested
code can become more civilized tomorrow. Adds a test-time dependency
on Test::Deep for cmp_bag().
In the configure stage, tell pkglint to find *.map in ${FILESDIR}.
That lets tests run even when pkglint isn't installed (which means
it also makes the tests less wrong when pkglint is installed!).
In the install stage, tell pkglint to find *.map under ${PREFIX},
as before (no functional change to the installed package).
Specify USE_TOOLS=perl to quell pkglint. :-)
These bits of non-main functionality are distracting to the casual
reader, and also to your intrepid refactorer. Since we recently
added some characterization tests that run the pkglint executable
against real packages, we can safely extract bits of code to separate
files and prove nothing broke in the move.
Instead of installing the new Perl modules where pkglint can find
them at runtime, I've added a build step to inline them right back
where they used to be (same order and everything). This is a little
annoying, but less annoying than suddenly needing to deal with Perl
runtime paths just for these few tiny modules. Also, loading modules
at runtime would affect pkglint's performance, and I don't yet have
performance tests to prove that this would be fine (or not), so I
can't safely do it.
No functional change intended.
This is the first commit in a set developed for my "Rehabilitating
pkglint" talk at pkgsrcCon 2013.
Reviewed-at-pkgsrcCon-and-approved-during-the-freeze-by: wiz
nih install:
- Order of packages does matter
("nih install emacs- editors/emacs22" is correct)
- Option -P and new config variable NO_REQPROV_CHECK were added
- Option -L and new config variable NO_REMOVE_LEAVES were added
- "Nothing to be done" message is output if everything is up-to-date
- Download failures and cksum failures are handled differently
- Handling CONFLICTS between installed packages and packages to
install are handled differently. Now package splits and similar
problems are resolved with a help of "fake" packages. Fake
packages are always marked for updates.
New option -f for "nih list" was added in order to list them
- Improvemed download progress messages
nih uninstall:
- Option -L was added, see "nih install -L"
- Options -p and -P were added. See "nih install"
nih leaf:
- Command was reimplemented and simplified
- Option -t option was removed
pkg_status doesn't have -ltRn options anymore
- Option -r was added
nih search:
- Option -I uses pkg_digger_installed provided by pkg_summary-utils
pkg_update_plan:
- Fixes in error messages
nih search|meta|info:
- Option -p was added. With a help of it one may search in
pkgsrc packages offline. Also see "nih refresh -p" and man page
Now nih works correctly if REPOSITORY is a directory
Fixes for shell's "trap" command.