of the interpreter as the filetype when a file starts with #!
This unfortunately breaks SUBST handling. For now, use a dummy that
claims that every file is a text file.
installed. Idea from one of joerg@'s patches.
Fix 'make readme' and make README.html' targets for individual packages.
Issue reported by Gary Thorpe and David Lord in pkgsrc-users@
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".
PKGVULNDIR; else extract the current setting using audit-packages -Q and use
that. In addition to this mkreadme can still be called with -V to specify
a pkg-vulnerabilities file that will override any automatic detection.
- 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@.
shell script. Just specify everything on the command line. Also,
since shlib-type is a plain-old shell script with no bells and whistles,
we can safely run it with "sh" and not "${SH}", which is necessary
because "${SH}" isn't defined at this point.
behavior of just appending to the file without cvs update (or cvs edit
if not writable), for the convenience of those committing multiple
package updates at once. To implement this, split the
update/cat/commit into elementary targets and compose them to form the
user-exposed targets, spiff up the comments, and rationalize .PHONY
usage.
cross-compile support.
- NATIVE_MACHINE_GNU_ARCH, NATIVE_LOWER_ARCH, NATIVE_MACHINE_ARCH,
NATIVE_MACHINE_PLATFORM and NATIVE_MACHINE_GNU_PLATFORM work
like the counterpars without NATIVE_ prefix. Expansion of
NATIVE_LOWER_ARCH and NATIVE_MACHINE_ARCH is enforced early,
so that MACHINE_ARCH can be overriden in mk.conf to specify the
target architecture.
- Provide a default of NO for USE_CROSS_COMPILE. This will be the
main switch to activate cross-compiling and adding it now makes
it possible to merge more of the patches for specific packages.
- Set --build and --host when cross-compiling, the former using the
just added variable NATIVE_MACHINE_GNU_PLATFORM.
Supported-by: Google SoC 2007
Looks good: jlam@
binary-only packages that require binary "emulation" on the native
operating system. Please see pkgsrc/mk/emulator/README for more
details.
* Teach the plist framework to automatically use any existing
PLIST.${EMUL_PLATFORM} as part of the default PLIST_SRC definition.
* Convert all of the binary-only packages in pkgsrc to use the
emulator framework. Most of them have been tested to install and
deinstall correctly. This involves the following cleanup actions:
* Remove use of custom PLIST code and use PLIST.${EMUL_PLATFORM}
more consistently.
* Simplify packages by using default INSTALL and DEINSTALL scripts
instead of custom INSTALL/DEINSTALL code.
* Remove "SUSE_COMPAT32" and "PKG_OPTIONS.suse" from pkgsrc.
Packages only need to state exactly which emulations they support,
and the framework handles any i386-on-x86_64 or sparc-on-sparc64
uses.
* Remove "USE_NATIVE_LINUX" from pkgsrc. The framework will
automatically detect when the package is installing on Linux.
Specific changes to packages include:
* Bump the PKGREVISIONs for all of the suse100* and suse91* packages
due to changes in the +INSTALL/+DEINSTALL scripts used in all
of the packages.
* Remove pkgsrc/emulators/suse_linux, which is unused by any
packages.
* cad/lc -- remove custom code to create the distinfo file for
all supported platforms; just use "emul-fetch" and "emul-distinfo"
instead.
* lang/Cg-compiler -- install the shared libraries under ${EMULDIR}
instead of ${PREFIX}/lib so that compiled programs will find
the shared libraries.
* mail/thunderbird-bin-nightly -- update to latest binary
distributions for supported platforms.
* multimedia/ns-flash -- update Linux version to 9.0.48 as the
older version is no longer available for interactive fetch.
* security/uvscan -- set LD_LIBRARY_PATH explicitly so that
it's not necessary to install library symlinks into
${EMULDIR}/usr/local/lib.
* www/firefox-bin-flash -- update Linux version to 9.0.48 as the
older version is no longer available for interactive fetch.
changes-entry now does cvs update (and cvs edit if needed), and adds
the line. This target will behave the same way (with extra CVS
traffic) if the file is up to date, and will be omre useful if
CHANGES-YYYY is not up to date.
commit-changes-entry depends on changes-entry and also commits. This
target has no behavior changes.
Rename _CCE_FOO variables to PKGSRC_CHANGES_FOO, and merge with
existing varables.
We may need a changes-entry-no-update, or a new name for what
changes-entry does now. Given how infrequently CHANGES-YYYY is up to
date when I want to add, I believe the new behavior will be welcome to
almost everyone.
plist module, it was being "defined" too late, and the pkginstall module
never created any +SHLIBS scripts. Sidestep the tools problems with
SHLIB_TYPE by pretending they don't exist (for now).
XXX SHLIB_TYPE needs to be re-thought or removed altogether.
We can't use our own imake to check for builtin packages so disable the
check and always report that no builtin implementation exists.
No objections on tech-pkg@
former set several USE_TOOLS lines that were being missed by bsd.tools.mk.
Rearrange the +SHLIBS code so that bsd.tools.mk can now be included
after bsd.pkginstall.mk again. The +SHLIBS code has now been moved
over to the plist module, which is so far the repository for all of
the shlib-type handling.
This should fix the problem with fonts handling being broken.
CVSREAD=t, and should result in unchanged behavior with writable
files. Split _CCE_CHANGES definition into _CCE_CHANGES_{DIR/BASE} to
facilitate above.