name which isn't correct, and the "Value of SrcDir" that is used is not
important to any pkgsrc user. Instead, let the pkgsrc infrastructure
print the package name.
possible to create the package file using a temporary file first, and if
everything has succeeded, to rename it to the real name. This time, I
tested it creating various binary packages and installing them
afterwards, so I'm pretty sure it works now.
it had severe consequences: pkg_create gets lots of information from the
filename into which the package is written. The extension decides what
compression to apply, and the basename gets recorded as the @name. This
part needs more work.
Noticed by stoned@.
everything went well, rename it to the real name. That way, it is less
likely that broken binary packages are created. It is a common
assumption that binary package files, if they exist, are usable.
An example for a broken binary package is security/sudo-1.6.9p10, in
which sbin/visudo wasn't readable when creating the package as an
unprivileged user.
* Add DOWNLOAD_VULN_LIST var
* Get AUDIT_PACKAGES and DOWNLOAD_VULN_LIST to point to the right binaries
taking into consideration OPSYS and pkg_install version
* Replace all references to audit-packages and download-vulnerability-list
with AUDIT_PACKAGES and DOWNLOAD_VULN_LIST
one, via "make replace OLDNAME=oldpkgname".
Enhance replace-names to use OLDNAME if present. Move replace-names
target before replace-tarup, and change replace-tarup to use the
computed oldname. Make deinstall respect OLDNAME.
Tested on netbsd-current with standard make replace and with OLDNAME.
tar up, instead of PKGBASE.
This enables modifying that file to have a package that isn't
automatically found be the replace target, e.g., "echo libglade2-2.6.2
> work/.replace_oldname" after make replace fails to find a package to
tar up when doing make replace in libglade.
dependency (bootstrap, build, full) is printed.
When building a package that pulls in the basic tools as dependencies,
it is good to know whether these are build or full dependencies, so the
additional information is useful.
- check-perms.mk was not DESTDIR aware, prefix files before passing it
to the directory extraction
- PKG_FILELIST_CMD was calling pkg_info, which is fine for normal
installation, but fails of course for DESTDIR. Just drop the @ lines
from ${_DEPENDS_PLIST} and use that.
- To make he former work, ensure that _flavor-generate-metadata is part
of _INSTALL_ALL_TARGETS. It was normally a dependency of
_flavor-register, but that is skipped for DESTDIR.
- Remove ${_DEPENDS_PLIST} when running install-clean.
instead only remove the files generated by _flavor-generate-metadata.
This should preserve the +INSTALL and +DEINSTALL scripts (which are
created during the "build" phase") across a "make update" or a "make
deinstall".
than in work/.pkgdb, so as not to lose them in install-clean.
Because of this, put them back explicitly.
(Fixes 'make replace loses +REQUIRED_BY', and also the unreported
'make replace loses +INSTALLED_INFO'.)
contains files that are generated during the "install" phase. This
should fix the problem where PLIST modifications were ignored if the
PLIST was modified between a "make deinstall" and a "make reinstall".
been replaced which might have had an ABI change. In practice, a
package is considered to maybe have had an ABI change if the version
changes. Introduce a new tag unsafe_depends_strict, which is
unconditionally set on depending packages whenever make replace is
done.
This will cut down considerably on the amount of rebuilding required
with pkg_rolling-replace, while still guaranteing that packages are
rebuilt if there was an ABI change in a dependency.
+INSTALLED_INFO is present, to avoid complaint from pkg_admin (see
pkg/36741). Separate tag removal into a separate target, and use
STEP_MSG and _PKG_DEBUG properly.
fixing up the required-by file. The invariant on unsafe_depends (on
which pkg_rolling-replace depends) is once again maintained, but now
cleanly, rather than assuming that all tags are cleared.
(proposed on tech-pkg with no objections, and concurrence from tnn@)
before replacing it, and restore it when the new package is installed.
This saves any state information that should be carried over to the
new package, e.g. automatic=yes.
XXX Still need to do the same when "un-replacing".
- USE_CROSS_COMPILATION activates it, CROSS_DESTDIR specifies root of
the target filesystem
- derive _CROSS_DESTDIR from CROSS_DESTDIR or MAKEOBJDIR
- buildlink3.mk prefixes the files to symlink with _CROSS_DESTDIR
- compiler/gcc.mk knows about the target prefix (e.g. i386--netbsdelf)
- PKG_DBDIR is prefixed with _CROSS_DESTDIR
- package-install and bin-install are not called with su
- install and strip are redirected to the tool version
- links for the target specific ar, as, ld, nm, objdump, ranlib and
strip are added
- compiler wrapper detect if linking is requested or not
- special command sinks for CPP and CC/CXX add the cross-compile magic:
- modify include dirs to get the target /usr/include
- modify linker dirs and runpath to use target /usr/lib at link time,
but keep correct rpath entries
Supported-by: Google SoC 2007
Basic tests by he@ on Sparc. Review from jlam@.