Commit graph

29 commits

Author SHA1 Message Date
wiz
3ca0214c05 Add DESTDIR to error message in case of PLIST mismatch.
Noted by Edgar Fuß.
2013-03-08 15:32:52 +00:00
marino
9220ff46a6 mk/check/check-files.mk: Skip locale.alias
On DragonFly, packages like devel/doc++ and net/wap-utils were failing the
file check during installation due to a present locale.alias file.  Treat
it the same as charset.alias.
2012-05-22 07:59:31 +00:00
bad
89f715edf7 I'm fed up with having to waste time because PKG_DEVELOPER is "special" and
can't be disabled by setting it to "no" like the other variables.
Besides, flavor/pkg/metadata.mk has been expecting for a long time that "no"
is a valid value.

Make PKG_DEVELOPER DWIM.
2010-08-24 19:08:28 +00:00
tnn
ab33a2bb5f revert previous - better do a bulk build with this change first to see
if/how much stuff is dependent on it.
2009-10-21 18:00:00 +00:00
tnn
33518e0113 remove lib/charset.alias from CHECK_FILES_SKIP 2009-10-21 17:00:33 +00:00
minskim
ecb0f805f1 Remove a redundant "$" from a grep pattern. 2009-05-08 20:46:29 +00:00
adrianp
d08d9e77fe Skip ${PREFIX}/emul/linux32/proc.* as well 2008-02-08 23:13:35 +00:00
rillig
66736dde43 Replaced _PKG_SILENT and _PKG_DEBUG with RUN. 2008-02-07 21:36:13 +00:00
rillig
cef72b1779 STEP_MSG may be a hidden command. 2008-01-23 14:30:59 +00:00
rillig
3e6363f13d Even though VARBASE is sometimes below LOCALBASE, some users want to
check it. Don't prevent that in CHECK_FILES_STRICT=yes mode.
2007-09-27 13:57:12 +00:00
rillig
c852fe8d9a check-files shouldn't complain about files in VARBASE, since they cannot
be represented in the PLIST.
2007-09-12 10:22:53 +00:00
jlam
f7addad279 Allow the existence of symlinks that point nowhere. 2007-08-21 21:44:23 +00:00
rillig
4c34803115 Prevented the files check from being confused by concurrent instances of
"make replace". Since these are currently not locked properly, they may
remove files from PKG_DBDIR while another package is being installed.
2007-08-13 05:05:11 +00:00
rillig
185782f13a Added the variable declarations for the "show-all" target. 2007-03-16 10:29:22 +00:00
rillig
dc3b9d6541 Don't check files in ${PACKAGES} and ${DISTDIR}. 2007-03-16 10:17:13 +00:00
wiz
fc3f7b9811 Remove support for obsolete and unused NO_PKG_REGISTER. 2007-03-02 05:54:18 +00:00
rillig
06e2f03ee1 Moved the code that installs check-files on the hook from install.mk to
check-files.mk, for two reasons:

1. It belongs there.
2. Now check-files is run before check-perms and check-interpreter.
2007-01-06 20:15:26 +00:00
martti
e2610fb8c8 Remove trailing tabs. 2006-12-15 13:15:06 +00:00
rillig
66982a6030 Added a missing line continuation in the code for CHECK_FILES_STRICT.
Apparently no one has been using that code since June 2006.
2006-11-12 20:57:55 +00:00
rillig
d43645467b Added documentation. 2006-11-09 21:29:26 +00:00
joerg
5b374e445d Main infrastructure for DESTDIR support.
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-10-09 12:25:44 +00:00
joerg
7545d135e6 - Compute CHEKCK_FILES filter on the entries requested and keep it
as tight as possible. Files we don't handle shouldn't be skipped.
- fonts.alias is not created automatically, so don't remove it.
- create fonts.encoding with mkfontdir using -e X11_ENCODINGSDIR.
  On platforms not following the X11R6 loayout this might need to
  be overriden.
- Fix type1inst calls.
- Modify packages which installed fonts.alias before to actually
  include it in the PLIST and bump the revisions accordingly.
- Modify xorg-fonts* packages to use FONTS_DIRS.* to build indices
  at run time.

Discussed with wiz and jlam.
2006-09-22 21:53:56 +00:00
joerg
86ec0977ff Also ignore fontconfig cache like the "clasic" databases. 2006-09-17 17:02:38 +00:00
joerg
5c0a40494e Avoid spurious false negatives when the directories are reordered
during install phase by sorting explicitly.
2006-08-22 18:50:56 +00:00
jlam
fa494e1722 make(1) will automatically delete partially made targets if the target
creation fails, so remove instances where temporary files were created
then moved to the final target filename, and just directly create the
target.  This is just for brevity/clarity, and saves a few tool calls.
2006-06-09 16:41:09 +00:00
jlam
2cc3f64abb Add a new variable CHECK_FILES_SUPPORTED which is a package-settable
variable to show whether the package supports running the check-files
target.

Set CHECK_FILES_SUPPORTED to "no" in pkgtools/pkg_install in the case
where the PREFIX does not match ${LOCALBASE} it's likely the tools are
being installed in some place that's completely outside pkgsrc control,
and check-files fails horribly in that case.
2006-06-09 16:12:08 +00:00
jlam
8c10d39139 Introduce the capability to gather all the warnings and errors that
are generated for a target and output them all at once at the conclusion
of the target's invocation.  The implementation is in bsd.pkg.error.mk,
which defines a macro target "error-check" that will print out any
non-empty warning and error files in ${WARNING_DIR} and ${ERROR_DIR}
and exit appropriately if there were errors.

Convert some targets that were just long sequences of ${ERROR_MSG} or
${WARNING_MSG} within a single shell statement to use the new delayed
error output via error-check.

Modify the compiler "fail" wrappers for C++ and Fortran to be less
verbose during invocation.  Instead collect the warnings and only
print them at the end of the completed phase, e.g. after "configure"
and/or "build" completes.
2006-06-09 13:59:06 +00:00
jlam
6a64f49846 Fix problems with check-files where it fails with a confusing message
that "the files are in the PLIST but not in ${PREFIX}" if the files
that are installed overwrite other files already on the disk.
Overwriting files can legitimately happen when, e.g. doing a "make
update" or "make replace" without removing the old files, or when
re-running "make install" after fixing a broken Makefile during
development.  While here, make the errors print to standard error
using ERROR_CAT.
2006-06-07 20:28:59 +00:00
jlam
e5eb2c56af First pass at implementing support for package system flavors other
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-03 23:11:42 +00:00
Renamed from mk/bsd.pkg.check.mk (Browse further)