summaryrefslogtreecommitdiff
path: root/mk/plist
AgeCommit message (Collapse)AuthorFilesLines
2008-07-23Avoid quoting "other character" in awk's strings as regular expressions.seb1-3/+3
See pkg/39002.
2008-05-30Add rm for gtkspell.wiz1-1/+5
2008-04-08Add better support for small conditional parts of PLISTs.jlam1-2/+15
PLIST_VARS is the list of names corresponding to automatic variables generated by plist.mk to simplify having conditionally-present entries in the PLIST. If "var" is listed in PLIST_VARS, then the automatic variable is named PLIST.var. If PLIST.var is defined, then in the PLIST generation, the ${PLIST.var} symbol is replaced with the empty string, or "@comment " otherwise.
2008-01-05The @imake-man macro should not yet be used, since it is subject torillig1-1/+3
further changes.
2007-10-31Some implementations of X11 install both manpages and catpages, whichrillig3-9/+44
has not been supported by pkgsrc up to now. This changes adds a PLIST macro @imake-man that expands to zero, one or two lines, depending on the value of IMAKE_MANINSTALL. Packages must explicitly have the macro in the PLIST files to use this feature. Since currently no package has that, this change doesn't affect anything at all by now. TODO: The platforms' definitions for IMAKE_MANINSTALL and the other definitions like IMAKE_MAN_SUFFIX need to be adjusted.
2007-10-25* If PLIST_SRC is explicitly set to an empty value in a package Makefile,jlam1-5/+19
then automatically generate a PLIST that says "${PKGNAME} has no files". * If PLIST_SRC and GENERATE_PLIST are not set in a package Makefile, and no PLIST files exist, then fail during the package build with PKG_FAIL_REASON. * Remove "intentionally empty" PLISTs again. Now, the easy way to say that a package installs no files is to just add the following to the package Makefile: PLIST_SRC= # empty
2007-10-25simpler includes.rillig1-3/+3
2007-10-25Re-add "intentionally empty" PLISTs for meta-packages and other packagesjlam1-10/+6
that directly manipulate empty PLISTs. Modify plist/plist.mk so that if the PLIST files are missing and no GENERATE_PLIST is defined, then the package fails to build.
2007-10-25Allow packages to have no PLIST files whatsoever. If such a package alsojlam1-4/+11
does not set GENERATE_PLIST, then automatically generate a PLIST that says: @comment ${PKGNAME} has no files.
2007-10-10Added _VARGROUPS.rillig1-1/+6
2007-08-20For DESTDIR operation, no need to filter out old files.joerg1-1/+8
2007-08-03Update _USE_DESTDIR=full handling to use the new -u/-g code andjoerg1-11/+2
require pkg_install-20070802 for using it. It is now considered to work correctly and ready for general consumption.
2007-07-31Don't substitute for OPSYS- or ARCH-related variables in print-plistjlam1-8/+13
if EMUL_PLATFORMS is defined. This facilitates making EMUL_PLATFORM-specific PLISTs.
2007-07-29* Add new emulator framework in pkgsrc/mk/emulator that handles alljlam1-1/+4
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.
2007-07-27Move the +SHLIBS generation code back into the pkginstall module. In thejlam2-89/+1
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.
2007-07-23Putting bsd.pkginstall.mk under bsd.tools.mk was a bad idea -- thejlam2-1/+89
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.
2007-07-18Add back a facility to rebuild the run-time library search paths databasejlam2-59/+1
on platforms that need it. XXX Right now, if the platform needs it, then it runs for every package. XXX This needs to be fixed to only run for packages that install shared XXX libraries. * Move mk/plist/shlib-type to mk/scripts. * Move definition of SHLIB_TYPE from mk/plist/plist.mk to bsd.pkg.mk. * Move inclusion of bsd.pkginstall.mk below bsd.tools.mk so that it can use SHLIB_TYPE. This is necessary because SHLIB_TYPE's value is the result of evaluating a command, and the command needs "TOOL" definitions provided by bsd.tools.mk.
2007-07-18Preserve the default value of PLIST_SRC as PLIST_SRC_DFLT while stilljlam1-21/+20
allowing PLIST_SRC to be overridden in a package Makefile. It's now possible to do: PLIST_SRC= ${PLIST_SRC_DFLT} ${WRKDIR}/PLIST_DYNAMIC and still use the default PLIST.* fragment handling.
2007-07-03+ be@latin for libwnck.wiz1-1/+5
2007-07-02Remove USE_MTREE support. Keep one copy (the NetBSD version) forjoerg2-2/+1347
the purpose of print-PLIST in plist/common-dirs.mtree. Discussed with wiz@, no objections on tech-pkg@.
2007-06-09Fixed the description of PLIST_SRC.rillig1-16/+12
2007-05-28Changed suffix for _PLIST_NOKEYWORDS to be more in line with other filesheinz1-2/+2
in WRKDIR.
2007-05-28In order to avoid incorrect information about needed shared libraries inheinz1-2/+17
+BUILD_INFO we must ensure that we only test valid lines from PLIST and not lines like "@unexec /bin/rmdir..." where "/bin/rmdir" is not a part of the resulting package. To achieve this, a stripped version of PLIST, called _PLIST_NOKEYWORDS, is introduced.
2007-04-22rename shared modules from .so to .sltnn1-4/+9
2007-04-21.so -> .sl substitutiontnn1-1/+5
2007-04-19add awk script to be used for Spectrum Object Module shlib handling.tnn2-1/+13
2007-04-11ECOFF on OSF1 behaves like ELF as far as PLISTs are concerned.tnn1-2/+2
2007-03-07Fixed a GNU awk warning about quoting.rillig1-2/+2
2007-03-02Make MTREE_FILE and MTREE_ARGS internal by prefixing them with '_'.wiz1-3/+3
They are not supposed to be set by the user.
2007-02-20A missing quote.uebayasi1-2/+2
2006-11-15Font-related entries we skip for CHECK_FILES should be skipped forjoerg1-1/+14
print-PLIST as well.
2006-11-05Rename _INSTALL_ROOT_USER to REAL_ROOT_USER. Use it as default forjoerg1-3/+3
SETUID_ROOT_PERMS.
2006-10-15Include some more magic to set ownership of packages build withjoerg1-2/+11
use-destdir to ${ROOT_USER}:${ROOT_GROU}. This allows us to safely use it on all packages which don't install setuid/setgid binaries.
2006-10-09Main infrastructure for DESTDIR support.joerg2-13/+13
Packages may set PKG_DESTDIR_SUPPORT to either "destdir" or "user-destdir" to flag support for this, following the same rules as PKG_INSTALLATION_TYPES (e.g. define before first include of bsd.prefs.mk). The user activates it via USE_DESTDIR. When set to "yes", packages with "user-destdir" are handled as "destdir". The installation of the package will not go to ${LOCALBASE}, but a subdirectory of ${WRKDIR} instead. pre/post install scripts are not run and the package is not registered either. A binary package can be created instead to be installed normally with pkg_add. For "user-destdir" packages, everything is run as normal user and ownership is supposed to be correctled by pkg_create later. Since the current pkg_install code uses pax and it doesn't allow overwriting owners, this does not work yet. For "destdir" packages, installation, packaging and cleaning is run as root. This commit does not change the handling of DEPENDS_TARGET or bin-install to allow recursive usage.
2006-07-21Modify the shlib-type script so that it doesn't need to compile anythingjlam2-26/+22
-- instead, we just check "pkg_info", which should exist on all pkgsrc platforms. XXX Note that this may need to change when we later support other package XXX system flavors. Back out revision 1.79 of pkgtools/x11-links/Makefile which was only to work around needing a C compiler for shlib-type to work.
2006-07-15Split the variable BUILD_DEFS into those that are defined by packagesrillig1-2/+2
and those that are defined by the infrastructure (_BUILD_DEFS). This allows the build-defs-message target to be moved to the end of bsd.pkg.mk. Now it prints the correct result even in unprivileged builds, which had been wrong due to the order in which the files have been included. For example, ${UNPRIVILEGED_USER} was displayed as (not defined) although its value was defined, which could be checked with "bmake show-var". Tested with one package that _does_ define BUILD_DEFS and with one that doesn't. The behavior stays the same.
2006-07-07Rename <phase>_COOKIE variables to _COOKIE.<phase>. These are privatejlam1-3/+3
variables so there are no user-visible changes. This change just makes it a little easier to write for loops.
2006-06-08Fix an inverted test that caused all catman pages to be stripped fromjlam1-3/+3
the PLIST on platforms where IMAKE_MANINSTALL != MANINSTALL, e.g. Solaris. Solution noted by adrianp in private email. This should fix the problem noted in PR pkg/33629.
2006-06-03First pass at implementing support for package system flavors otherjlam1-1/+2
than pkgsrc's current one. This is an important lead-up to any project that redesigns the pkg_* tools in that it doesn't tie us to past design (mis)choices. This commit mostly deals with rearranging code, although there was a considerable amount of rewriting done in cases where I thought the code was somewhat messy and was difficult to understand. The design I chose for supporting multiple package system flavors is that the various depends, install, package, etc. modules would define default targets and variables that may be overridden in files from pkgsrc/mk/flavor/${PKG_FLAVOR}. The default targets would do the sensible thing of doing nothing, and pkgsrc infrastructure would rely on the appropriate things to be defined in pkgsrc/mk/flavor to do the real work. The pkgsrc/mk/flavor directory contains subdirectories corresponding to each package system flavor that we support. Currently, I only have "pkg" which represents the current pkgsrc-native package flavor. I've separated out most of the code where we make assumptions about the package system flavor, mostly either because we directly use the pkg_* tools, or we make assumptions about the package meta-data directory, or we directly manipulate the package meta-data files, and placed it into pkgsrc/mk/flavor/pkg. There are several new modules that have been refactored out of bsd.pkg.mk as part of these changes: check, depends, install, package, and update. Each of these modules has been slimmed down by rewriting them to avoid some recursive make calls. I've also religiously documented which targets are "public" and which are "private" so that users won't rely on reaching into pkgsrc innards to call a private target. The "depends" module is a complete overhaul of the way that we handle dependencies. There is now a separate "depends" phase that occurs before the "extract" phase where dependencies are installed. This differs from the old way where dependencies were installed just before extraction occurred. The reduce-depends.mk file is now replaced by a script that is invoked only once during the depends phase and is used to generate a cookie file that holds the full set of reduced dependencies. It is now possible to type "make depends" in a package directory and all missing dependencies will be installed. Future work on this project include: * Resolve the workflow design in anticipation of future work on staged installations where "package" conceptually happens before "install". * Rewrite the buildlink3 framework to not assume the use of the pkgsrc pkg_* tools. * Rewrite the pkginstall framework to provide a standard pkg_* tool to perform the actions, and allowing a purely declarative file per package to describe what actions need to be taken at install or deinstall time. * Implement support for the SVR4 package flavor. This will be proof that the appropriate abstractions are in place to allow using a completely different set of package management tools.
2006-06-01Removed superfluous backslashes.rillig1-2/+2
2006-06-01In AWK string literals, backslashes must be doubled. Otherwise they arerillig1-4/+4
simply discarded.
2006-05-29When filtering out unrelated info files, only check the last bit ofjlam1-4/+4
the name instead of the whole name. This avoids some problems where the file name contains awk-special characters, e.g. +.
2006-05-14Re-add ${PREFIX} to the list of directories print-PLIST targetseb1-1/+2
should ignore or it is broken for packages that installing files right under ${PREFIX}. Example in lang/sun-jre15: $ make print-PLIST ... @dirrm java/sun-1.5 ls: /usr/pkg//usr/pkg/.: No such file or directory @dirrm /usr/pkg/. $ It looks to me that was removed by mistake in revision 1.5 of this file.
2006-05-09Apply PRINT_PLIST_AWK and _PLIST_PLIST_AWK_SUBST in the same orderminskim1-2/+2
for both files and directories.
2006-05-02Use brackets "[]" to quote characters instead of backslash "\". Thisjlam1-2/+2
is more bulletproof across different versions of awk. From PR pkg/33410 by Aleksey Cheusov.
2006-04-24Added the shebang line.rillig1-2/+2
2006-04-17Only do the locale transformation if USE_PKGLOCALEDIR is defined. Thisjlam2-2/+9
avoids any problems with current packages that install locale files but don't honor PKGLOCALEDIR yet.
2006-04-17Modify the plist module to automatically transform "^share/locale" injlam3-3/+62
PLISTs to "${PKGLOCALEDIR}/locale" for the installed PLIST. This is similar to the work that's already done to automatically handle PKGINFODIR and PKGMANDIR. PLISTs in pkgsrc will be modified so that they would just list the message files to be under "share/locale". USE_PKGLOCALEDIR must continue to be set in package Makefiles so that localedir substitutions happen at post-configure time.
2006-04-16Now that all info file entries have been pushed from INFO_FILES intojlam1-19/+2
the PLISTs, drop support for listing info files in INFO_FILES. The INFO_FILES variable is now strictly defined/undefined.
2006-04-15Apply jlam's awk fix done in plist-info.awk 1.12.minskim1-3/+5
- Avoid () as a regular expression as the interpretation seems to be implementation-defined by various awks.