- separate UPDATE_COOKIES_DIR, unless set to empty.
Makes for easier management.
- FORCE_UPDATE variable, that makes certain packages are updated when
a dependency is run, and that forces the replacement of packages that are
already there. Still uses the update cookie, so that this update occurs
just once unless you wipe out yur UPDATE_COOKIES_DIR (which justifies putting
update cookies in a separate directory).
what it should.
Use the exact same rules for checking LIB_DEPENDS that will later be used
to build the package itself, e.g., add the pkg dependency check.
- automatically detect number of cpus per host
- differentiate between hosts and nodes
=> each cpu is its own node
=> ports are build on nodes now
=> multiple host entries are no longer necessary for smp machines
- removed netiso depends
- _symon uid 535, 525 never made it into ports/infrastructure/db/user.list
- ntp clockadjusts no longer trigger extra measurements
- daemon parts ported to freebsd/netbsd/linux
From: Willem Dijkstra <wpd@xs4all.nl>
=> you have an SMP machine, use localhost0, localhost1, ...
- for remote sessions, use ssh multiplexing, this speeds up a dpb
restart by about 1/4 - 1/3
- new option '-s', which starts building in cwd
=> use 'dpb -s' instead of 'make package'
=> mostly useful for SMP machines or if you have your cluster powered
on all the time
- '-b' now forces creation of the dependency file, if it doesn't exist,
it is created automatically
- check signals on returning ssh sessions to notice which ones really
succeeded and which ones where killed
- Mtree module, shared with check-common-dirs
- update list of `known' directories to match actual OpenBSD, so
that stuff outside of /usr/local will work.
- drop dead if destdir does not exist (e.g., fake got a problem)
- if a file is found in a fragment, and as a comment in the original
file, then that was a limitation of the old make-plist: don't look at
the comment.
- copy modes for @sample
- do fragments for multi-packages too.
- pass existing files around for more accurate @exec tests.
- don't copy install-info/mkdir if files/dir have been found.
- register dirrm dir as dir/, but using original object, so that it will
need to be found once to be accounted for.
- don't register extra as `files', otherwise we end up with bogus
${SYSCONFDIR}/file entries.
- classify directories and files in a unified way.
- more thorough tests for info files, more names, look at two lines context.
- ibid dir file.
- ibid subinfo.
- provide a way to erase a directory that only holds one file.
- use for .packlist, perllocal.pod.
- use perl Config to look for those in the right location.
- don't look at file dates, we always use fake.
- special case /etc/X11/app-defaults becomes /usr/local/lib/X11/app-defaults
- use plist state info to avoid extraneous mode/owner/group entries.
- sort comments that are not accounted for.
- warn about .orig files.
- man pages for linux.
- don't backsubst SYSCONFDIR except at start of line.
- handle @comment @dir like @comment @dirrm.
- respect fragment locations
- put %%SHARED%% at top by default.
- handle recursive fragments correctly (simpler code, needs pkg_add support)
- mark genuine fragments, and don't try to write empty ones, assuming
the chosen flavor doesn't hold the required information.
- don't invoke intermediate shells on exec(), allowing to actually kill children
- when we are going down, only kill remaining children, not the whole pgrp
- don't use a SIGCHLD handler, but call waitpid explicitly at the right places
- exit(1) in case of an error
others:
- a little cleanup
- new option -t <timeout>
ok pval@
first output all PLISTs in a tmp dir, then compare with
original set, and report all differences.
Then check that original can be moved to orig, and do the move.
That way, make plist on a set of unchanged lists will be silent,
and can be used irregardless of the presence of P*.orig files.
The new version uses the pkg_* infrastructure to read existing plists
and produced new plists.
Lots and lots of improvements:
- copy most stuff over from original lists correctly. For instance,
attach @exec/@unexec/@sample to other files and copy them in the right
location.
- generic post-treatment of @commnent, using stringize(), so that most
things can be commented out and will stay commented out.
- parse all packing-lists using relevant PREFIXes. Grab PFRAG.xx if %xx%
is seen.
- walk through all of fake, and distpatch files according to PREFIXes
if nothing else works.
- identifies man, libraries, info, handling symlink correctly.
to say port works only with shared libraries.
Mostly useful for `update-plist' which will recurse differently if
LIB_DEPENDS are only BUILD_DEPENDS or if they becomes RUN_DEPENDS.
okay pvalchev@
MODULES=devel/gettext
so that:
- stubs in infrastructure/ are no longer needed.
- PORTSDIR_PATH is taken into account.
This will look for ${PORTSDIR}/devel/gettext/gettext.port.mk
okay naddy@
As a result, this recognition must happen when we know the files
exist, e.g., at find time.
Adjust the auto-migration of shared objects to PFRAG.shared so that
it doesn't migrate subpackage files to the main package.
Simplify info handling slightly by just writing @info thingy.info.
XXX note that some info files will have to be patched to have proper
category/direntry tags.
okay naddy@
If LOCK_CMD, UNLOCK_CMD and LOCK_DIR are defined, those are used to
perform `big-lock' style locking on top-level targets, such as
extract, patch, build.
The internals of the ports tree do not use any finer grained locking.
Those top-level targets now redirect to _internal-targets, without
any behavioral change.
Any dependency computation will recurse to another directory, and
invoke a top-level target, thus triggering the locking of the dependency.
All locking is done using FULLPKGNAME, except for fetch with uses
the DISTFILES names for independent files.
If no locking is desired, the top-level targets simply redirect to
the _internal-targets. The cost is close to zero: make just needs to
handle an extra ~20 phony targets.
Much testing and approval by brad@, naddy@, pval@, fries@ and other
people. Thanks to niklas@ for some useful discussion.