Commit Graph

714 Commits

Author SHA1 Message Date
pvalchev
391e25bf26 lib-depends checker for ELF using objdump -p. ok espie 2001-10-26 17:34:31 +00:00
espie
b2ec1dc262 Allows for a path in the LIB_DEPENDS libspec component.
Don't use it for now.
2001-10-26 13:46:03 +00:00
espie
fde29e65ce shift to update-plist' from plist'... keep old target around for now.
Create PKGDIR while we're at it.
2001-10-24 16:35:38 +00:00
espie
5906a566ef First cut at a lib-depends checker: this version does use WRKINST instead
of the actual package, so it WILL get things wrong in some multi-packages
case.
2001-10-24 11:57:34 +00:00
espie
22c02484ba More helpers: scan WRKINST for list of all needed libraries.
The chroot is needed to avoid having ldd pick up dependent libraries
that come from a package variant and are actually not needed as
dependencies.

Scan /usr, /usr/X11R6 for system libraries, and WRKINST for packaged
libraries.
2001-10-24 11:53:54 +00:00
espie
e9324ae683 Internal target: create list of all libraries we're allowed to depend upon. 2001-10-24 11:49:45 +00:00
espie
975eb63fc2 bulk-do, a slightly more generic version of bulk-packages 2001-10-24 11:47:41 +00:00
espie
e1b9d65421 Cleaning out an installed package that is not there should not abort the
make.
2001-10-24 11:44:35 +00:00
espie
51cf601625 More verbose default maintainer 2001-10-24 11:43:06 +00:00
espie
4357d41f96 Give dependencies a fighting change, spell early_exit correctly. 2001-10-11 00:01:27 +00:00
todd
16bf411ce4 add regress, ok espie@ 2001-10-08 22:04:43 +00:00
espie
23b9b0affa REGRESS_IS_INTERACTIVE
This makes things a bit less symetric, but it can't really be avoided
since regress is out of the normal build chain.
2001-10-07 11:30:30 +00:00
espie
cc0048df1e In retrospect, just allow REGRESS_FLAGS. This would be redundant otherwise 2001-10-07 10:53:43 +00:00
espie
e7fbc2b015 Seems like we can't avoid REGRESS_ENV/REGRESS_FLAGS.
Some testsuites use HOME to test their getenv function. Which seems
to be reasonable. But we definitely don't want to allow HOME into
MAKE_ENV by default.
2001-10-07 10:50:47 +00:00
espie
9e6fd66baf don't depend on the current version of unzip/bzip2. Any should do. 2001-10-07 10:47:01 +00:00
naddy
14ef0e4541 fix PATCH_LIST absolute path handling in case of missing PATCHDIR
ok espie@
2001-10-04 22:43:45 +00:00
espie
5da704a0f9 typo 2001-10-04 22:20:38 +00:00
espie
90787b9a17 basic regression testing framework. 2001-10-03 08:53:18 +00:00
espie
548eff5cee move error handling later for greater flexibility.
Move default NO_* after including local Makefiles.
2001-10-03 08:41:16 +00:00
espie
c202780cad In bulk, ftp/cdrom must be non interactive as well. 2001-10-03 08:36:25 +00:00
espie
aac1c8b95c make sure config.guess is executable. 2001-09-30 17:14:33 +00:00
espie
6953d535fa More stringent PERMIT_* checking: if any info is missing, assume
the maintainer made a mistake, and turn everything to No.
Record it as _BAD_LICENSING for describe purpose.

Yep, having this as ERRORS is obnoxious.

Then, we can rely on PERMIT_* always being defined.

Rewrite ftp-packages/cdrom-packages to use more current rules. Fixes
naddy's issue of ignoring IGNORE.  Use a .for loop, since those rules
are basically identical.

No longer use them to try and record port logging, as we have a much better
script to do that.

`Enhance' bulk-packages to do ftp-packages/cdrom-packages linking as well,
so that one single sweep of the tree should be enough for everything.
2001-09-30 12:26:57 +00:00
espie
13b952cc81 Enforce /nonexistent for non-package/install/reinstall dep. 2001-09-30 11:27:05 +00:00
espie
f540cb1856 Enforce correct use of SUBPACKAGE. 2001-09-29 17:36:02 +00:00
naddy
2f979e8aa5 remove last vestiges of NO_INSTALL; ok espie@ 2001-09-28 01:48:58 +00:00
espie
0471c7a912 Let PATCH_LIST handle absolute paths.
make sure update-patches can handle lists (naddy@).
2001-09-27 10:34:19 +00:00
espie
c0d4fa5d92 Grab config.guess from master repository, to repair ppc globally. 2001-09-24 22:30:03 +00:00
brad
d3723c9d2f Add iconv/gettext modules. 2001-09-23 05:29:47 +00:00
espie
72ef602c39 quote |. Thanks naddy@ 2001-09-21 11:41:17 +00:00
espie
3a0cf8ed4d Update dependencies (kill first part when needed).
Update japanese/README... 2.4 is looong past.
2001-09-19 16:03:09 +00:00
espie
146dd13ffb show what is actually checked (the pkg, no longer the file) 2001-09-19 15:16:39 +00:00
espie
27d5739e28 Handles the case where CONFIGURE_SCRIPT is an absolute path gracefully
(to deal with a common shared Cygnus configure)

Move MODGNU_configure definition to gnu.port.mk. Should have done that on
creation.

Typo in brad's hack (to be superseded shortly anyways)
2001-09-16 14:56:42 +00:00
espie
3286714c5c fix sudo install 2001-09-14 17:33:51 +00:00
espie
6968258d70 Trust packages for all dependencies except libs. 2001-09-14 15:04:23 +00:00
ho
5b10ebfbe9 Fix a typo that prevented a number of ports from building correctly. heko@ ok. 2001-09-13 09:12:45 +00:00
espie
cd0a7c7bef * is special too 2001-09-07 10:56:50 +00:00
espie
9af4a16590 Protect expression against empty results. Will at least prevent syntax
errors.
2001-09-07 09:48:23 +00:00
espie
5a4388c241 More special chars to remove to create files. 2001-09-06 21:33:39 +00:00
espie
4e9c296182 If pkg_create fails, you may still have a partial package out there...
Owned by root. Ouch.
2001-09-05 11:59:54 +00:00
espie
5bcf9d53b7 Use cookies for dependencies as well, and for the creation of a workdir.
This can speed up some iterations, as a dependency won't be checked more
than once. This also allows for make extract NO_DEPENDS=Yes, then later
to have the dependencies pulled in at configure stage (even though this
might not work all the time, as some dependencies may be needed earlier
but then you'll certainly notice).
2001-09-05 09:13:18 +00:00
espie
9327c4a99b LIB_DEPENDS tweaks.
- allow for several libraries, separated by commas.
- try to heed dependency most closely. Notably, make sure the spec
stops at a sensible place. This may break some ill-formed dependencies.
2001-09-05 09:10:34 +00:00
brad
72b351c4e8 kludge which allows the ports tree to continue working on our newly renamed powerpc systems without needing to patch all copies of config.guess in the tree. 2001-09-03 02:00:48 +00:00
espie
286ec35abe Enforce the order of MOD*_configure fragments to match CONFIGURE_STYLE.
Create pseudo gnu/simple fragments to make the situation more regular.
Found by aaron@.
2001-08-28 08:09:31 +00:00
espie
8861b634d6 qt module 2001-08-27 09:08:57 +00:00
espie
1867c778d8 qt2 module support 2001-08-27 08:53:53 +00:00
espie
224ec1b24a Turns out modules have to go through infrastructure anyways, because
there's no easy way to reparse the Makefile afterwards...

Turns module absence into mild error (Fatal ?)
2001-08-27 08:50:30 +00:00
espie
e1f7f2ac1a fix dependencies's early_exit logic.
Turns out this can be done based on target, directly, instead of
relying on /nonexistent.

One step closer to turning TRUST_PACKAGES=Yes on by default...
2001-08-27 08:47:37 +00:00
brad
7272a8be65 add LIBTOOL to MAKE_FLAGS when USE_LIBTOOL is defined. 2001-08-26 21:42:18 +00:00
espie
bc8a492475 Cut out some parts of bsd.port.mk into separate modules.
This is work-in-progress. Supplemental hooks will be added when they
become necessary.

The goal is to permit separate subsystems to tweak the package building
process slightly. This should help e.g., python or qt2, for instance.

Documentation will come when it's tested more thoroughly...
2001-08-25 11:23:46 +00:00
todd
2c70f18cb7 implement $PATCHORIG, a variable with the ability to change from .orig to
another suffix for 'update-patches' and 'patch', since there are some
distfiles that have foo and foo.orig already; ok espie@
2001-08-24 14:43:28 +00:00
espie
98836603b6 Fix clean/dist 2001-08-24 14:39:36 +00:00
naddy
5c7d963a5d typo: break to accidentally joined lines 2001-08-21 22:22:57 +00:00
brad
e654419469 drop old compatibility cruft and make USE_ZIP/USE_BZIP2 internal variables 2001-08-18 23:16:57 +00:00
brad
27888b1ea4 remove some old cruft to do with tar that does not pertain to us. 2001-08-17 03:23:04 +00:00
espie
ed3f2b5725 Fix (used bad patch version...) _PKGFILE->PKGFILE. 2001-08-16 15:15:24 +00:00
espie
01cca80419 Use new make feature. 2001-08-16 15:13:17 +00:00
espie
c191588f7f Change WRKDIR name, to flatten things somewhat.
work-* is too long, because we want to include the PKGNAME in the dir name
(so that PKGNAME changes are less likely to work with old work directories)

Change the way clean works, so that you can say
make clean='dist depends packages' and have it do what you think it should
do.

Common fragment to _create_wrkobjdir.

Put some info into PACKAGING (name of subpackage being built)
2001-08-16 14:49:31 +00:00
espie
212808ddbd Change PKGNAME and FULLPKGNAME semantics slightly.
Since those are mostly infrastructure-side, making SUBPACKAGE transparent
only adds to the confusion, so don't interpolate SUBPACKAGE into
FULLPKGNAME, hiding it into _FULLPKGNAME, but rather let FULLPKGNAME
tag the main package, and use FULLPKGNAME-foo for subpackage -foo.

This will simplify some other stuff...
2001-08-12 11:33:10 +00:00
heko
06dbdad843 o Shared works on alpha post-2.9;
remove it from the NO_SHARED_ARCHS list
naddy@ ok
2001-08-07 11:46:17 +00:00
espie
58571bb4ea Restore sudo in make deinstall. Naddy, Joshua Stein, and myself... 2001-07-31 22:26:48 +00:00
espie
5efc528bdc More trouble... Revert sed -e so that it will work. 2001-07-30 15:07:49 +00:00
espie
950a3a0fa6 Tsk, tsk. 2001-07-30 14:55:07 +00:00
jsyn
62cee9e1e2 Fix EXTRACT_CASES for shell archives (handles leading cruft, too!)
ok espie@
2001-07-30 14:45:26 +00:00
espie
ad09219591 Pass PKG_TMPDIR thru to pkg_add. From Heikki Korpalla. 2001-07-30 14:34:34 +00:00
espie
19d7809002 Lots of internal changes.
- define _FULLPKGNAME* and _PKGFILE*. Use _PKGFILE* as package cookie
instead of package_done.
- use ${PKG_DBDIR}/${_FULLPKGNAME${SUBPACKAGE}/+CONTENTS as install cookie.

- BIN_PACKAGES variable. If set to yes, remove coupling between
PACKAGE_COOKIE and dependencies, so that binary packages exist
independently of working directories.

- mark packages as precious.

- change all refs to PKGFILE to _PKGFILE${SUBPACKAGE}.
- add bulk-packages target.

Note that BIN_PACKAGES and TRUST_PACKAGES are off by default.
This interface is likely to change. The name bulk-packages will probably
change as well.

We will probably get rid of the old PKGFILE/FULLPKGNAME (taking SUBPACKAGE
into account) and use the new PKGFILE/FULLPKGNAME
PKGFILE-foo/FULLPKGNAME-foo instead (with explicit subpackage information).
This is less confusing and simpler.
2001-07-30 14:13:16 +00:00
espie
1ebaa8580f Move the whole definition of FLAVOR_EXT up, so that it can be used
directly.

Tighten the flavor check, so that ports without flavors error out if
flavors are specified.
2001-07-20 13:13:47 +00:00
espie
9f4e80ba55 While building a package, we check dependencies with
DEPENDS_TARGET=package. Thus, the second check may fail...
So make it possible to avoid the second check.
2001-07-20 13:02:47 +00:00
espie
9e7d740d87 Move PKGFILE definition up, so that it can be used in dependencies. 2001-07-18 18:23:04 +00:00
espie
18979ba402 Knob DESTDIRNAME. 2001-07-18 16:19:47 +00:00
espie
cc77256996 Synch with src (CDIAGFLAGS, CXXOPTS, WARNINGS) 2001-07-18 14:52:27 +00:00
espie
773bce9872 Replace .BEGIN lines with explicit ERRORS framework. 2001-07-17 16:11:45 +00:00
espie
779586af01 Replace X11 up-to-dateness test with something that will work with
recent XFree.
2001-07-16 15:14:36 +00:00
espie
8e5d0aadab Don't append COPTS if it's not defined. This avoids passing
CFLAGS="-O2 -g " with extra unwanted spaces off to submakes.
2001-07-11 12:57:20 +00:00
espie
380824ae62 Recognize both !%%SHARED%% and %%!SHARED%% temporarily, to match
!%%flavor%%  eventually.
2001-07-03 12:06:13 +00:00
matt
2a9f29dd86 skip ports marked COMES_WITH on mirror-maker runs; ok espie@ 2001-06-30 19:06:09 +00:00
jakob
083c3736f7 take care of *.tar.gz before extracting any *.gz 2001-06-22 07:21:24 +00:00
jakob
efb10cff8d back out my broken handling of .gz 2001-06-22 07:15:47 +00:00
jakob
48c87069cb handle .gz as EXTRACT_SUFX. ok espie@ 2001-06-22 07:03:19 +00:00
espie
f63f8c480b Fix _COMMENT quote handling. 2001-06-07 14:43:01 +00:00
espie
c87f0178ee Add support for PATCH_CASES, modelled on EXTRACT_CASES. 2001-06-03 14:42:07 +00:00
espie
38bf339443 Fix quoting 2001-05-23 15:48:08 +00:00
espie
d19ed8bd90 Smarter plist regen.
- back substitute VAR_SUBST (hence swap ARCH/MACHINE_ARCH)
- pass PKGDIR to make-plist.

- don't create PLIST-auto/PFRAG.shared-auto. Move originals around, and
create new ones directly (guard against accidentally deleting old ones).

Todo: add regexp to dispatch stuff to fragments automatically, based on
MULTI_PACKAGES.
2001-05-23 14:18:24 +00:00
espie
3f025d2169 kill some old stuff:
- all COMMENTs live in Makefiles now.
- NEW_DEPENDS is always on.
- 2.8 warning is woefully out of date (rohee@)
2001-05-23 13:28:14 +00:00
espie
853cd0fdd7 Fix double describe for MULTI_PACKAGES 2001-05-22 11:46:17 +00:00
espie
41d87e2076 Make sure assignment is unambiguous. Found out by naddy@ 2001-05-19 20:07:00 +00:00
espie
e80fc7eb06 Avoid Makemaker's /usr/lib -> $(PREFIX)/lib substitution in a weird place. 2001-05-07 15:24:50 +00:00
miod
de247992b6 Make MACHINE_ARCH available for PLIST.
Allow for MACHINE_ARCH specific files or patches, if no such files
for ARCH found.
Put compiled packages in MACHINE_ARCH directory, instead of ARCH.

All of this to improve support for compound architectures, mainly
m68k-based architectures at this time.

While there, mention mvme88k does not have shared libraries, to be
sure this isn't forgotten when mvme88k gets back in shape.

ok'ed by espie@
2001-05-05 23:42:03 +00:00
espie
e05abe6f1d Minor fixes having to do with PACKAGING.
This repairs dependencies in some japanese ports.
2001-05-05 20:23:42 +00:00
espie
41127009fa Fix _COMMENT and add SUDO for those few unfaked ports that are left. 2001-05-05 20:20:59 +00:00
espie
d677374763 TRUST_PACKAGES: use actual installed packages to check dependencies
and avoid calling pkg_add.
Solve some of art's problems.
2001-04-20 16:25:24 +00:00
espie
33d58011b9 Solve two simple problems:
- allow Makefile to distinguish packaging steps, since SUBPACKAGE can now
be set for various reasons.
- EXTRA_LIBDIRS for architectures without shared libraries.
2001-04-20 15:06:19 +00:00
espie
27a4fede8b REPORT_PROBLEM for non-existent dirs. 2001-04-20 15:00:04 +00:00
espie
e45a669ca1 typo. thanks Anil. 2001-04-19 22:15:05 +00:00
espie
bd26c4b573 MOTIFLIB, not MOTIF_LIB
Use FULLPKGPATH for describe
2001-04-19 01:56:53 +00:00
brad
05d97a9773 consistency nit, add missing braces. 2001-04-18 15:00:53 +00:00
espie
701a95b5b2 Misc. small tweaks.
- let USE_MOTIF be sensible: any, openmotif, lesstif.
any triggers a lesstif flavor.
- show=name as a shortcut.
- package-dir-depends to check that packages are okay.

- error message for non-existent dirs.
2001-04-18 14:43:55 +00:00
espie
8a4e5086b5 Add SUBPACKAGE to INSTALL_COOKIE so that stuff such as
SUBPACKAGE=-thingy make install
works sanely.
2001-04-17 21:40:36 +00:00
espie
f7db65c8f4 Use same code as bsd.port.mk 2001-04-17 16:48:07 +00:00
espie
d646d4880c - Fix FULLPKGPATH again. I missed it in naddy's buggy bug-fix.
- save subdir into package, that's what is useful, since the name is
already there.
- check that SUBPACKAGE is a member of MULTI_PACKAGES.
Make make SUBDIR=misc/fileutils,-ls  work without error.
2001-04-17 16:45:14 +00:00
naddy
7f46795af3 Handle multiple flavors in package paths. ok espie@ 2001-04-16 21:40:04 +00:00
espie
8ae73df6f3 Add NO_SHARED_ARCHS, useful with NOT_FOR_ARCHS 2001-04-14 16:49:53 +00:00
espie
9dbd067f7d Proper quoting in build depends too. Discovered by avsm@.
Slightly more intricate, because we can't quote each value
indiscriminately, simplest way is to move the for loop from shell to make.
2001-04-12 20:35:59 +00:00
espie
39a760c88e aesthetical tweaks.
Oh, and uninstall doesn't need to remove the package cookies, obviously.
2001-04-11 16:06:07 +00:00
espie
35158dc67b define NEW_DEPENDS as yes. More consistent with the rest of the file. 2001-04-11 15:55:34 +00:00
espie
71f290aa08 protect dependencies from shell expansion.
Noticed by avsm@
2001-04-09 23:16:50 +00:00
espie
6bac4e3df0 Turn NEW_DEPENDS on 2001-04-08 16:56:22 +00:00
espie
a930aa16bf FULLPKGPATH is PKGPATH plus flavor/multipackage modifiers.
Use it where we can, including WRKOBJDIR `real' names.

NOTE: if you are using WRKOBJDIR, *all* flavored builds directories
will change  names, from work-no_x11 to work,no_x11
2001-04-08 16:55:17 +00:00
espie
907db990a1 ...without breaking things 2001-04-08 16:50:13 +00:00
espie
ea034965e1 Store PERMIT_PACKAGE_* in PLIST. 2001-04-08 16:49:26 +00:00
espie
4d85ac4a33 reset IFS so that dir-depends will work correctly. 2001-04-04 09:55:34 +00:00
espie
3b0481a403 New Features for NEW_DEPENDS:
dir-depends: list of SUBDIRS this port depends on (with flavors, subpackages),
to use with tsort.
build-depends-list, run-depends-list: list of pkgspec:dir needed for this
port, no recursion. To use for INDEX.
2001-04-04 08:17:31 +00:00
espie
b1aa09605d I missed one package cookie 2001-04-04 08:03:59 +00:00
espie
a54dee276a derive _ALWAYS_DEP from _ALWAYS_DEP2 (and friends) so that pkgspec don't
interfere.
2001-04-02 21:08:49 +00:00
espie
5c979b3753 Compute `new dependencies' if NEW_DEPENDS is defined. 2001-04-02 11:50:25 +00:00
espie
6d478c82a8 Some comments 2001-04-02 11:45:11 +00:00
espie
8edb444009 Remove stuff that is often duplicate, and causes only bogus warnings. 2001-04-02 11:32:32 +00:00
espie
15f663ed60 revise the way package multi-builds are handled.
- move FLAVOR_EXT up so that WRK* are correct when they're needed for
dependencies.
- build a list of _PACKAGE_COOKIES, one for each subpackage.
- let package go through an indirection:
package: ${_PACKAGE_COOKIES}

_PACKAGE_COOKIE_${SUB}:
	SUBPACKAGE=${SUB} ${MAKE} _package

so that all packages are `flat', and subpackages can depend on each other
freely.
2001-04-02 10:35:51 +00:00
espie
c8d7665254 Add FLAVOR_EXT to the list of substituted variables (deprecate ${FLAVOR}
in packing lists).
2001-04-02 10:16:59 +00:00
espie
5ce94b79e1 Repair IGNORE. I forgot to move this around when the rest needed
rearranging. Found by naddy@.
2001-03-29 19:01:05 +00:00
espie
11ff28f808 Restore REPORT_PROBLEM functionality.
I don't see what the hell sh is doing erroring out in an eval in a test,
even under set -e.
2001-03-28 16:37:27 +00:00
espie
673de31adf typo 2001-03-28 15:07:05 +00:00
espie
acf0fc7a70 Distinguish between no flavor seen (default flavor) and empty flavor seen
(empty flavor).
2001-03-28 15:04:34 +00:00
espie
01e30c116d Due to the way make is working, flavors passed as `make FLAVOR=a'
don't work, as they propagate down subdirs.

Use `FLAVOR=a make' (sh) or `env FLAVOR=a make' (csh) instead.

Error out with a useful error message if old usage is encountered.
2001-03-28 15:01:01 +00:00
espie
062a4a9eb7 Missed one in back-porting my diff 2001-03-28 14:50:17 +00:00
espie
656c37a943 dir -> dir[,-multi][,-flavor...] notation for dependencies. Finally ! 2001-03-28 14:33:24 +00:00
espie
b793933200 Slight optimisation:
always define _ALWAYS_DEP, _BUILD_DEP, _RUN_DEP and test for emptiness
instead of definedness, so that the code is still optimized away when
dependency lists are defined, but empty.
2001-03-28 12:15:26 +00:00
espie
0d35a51ad3 Use error=true/false instead of error=0/1 (consistency) 2001-03-28 11:52:20 +00:00
espie
e941296cc0 Move dependency checking above targets, so that it can be changed to
generate cookies for each dependency.
2001-03-28 11:48:12 +00:00
espie
3ca1304f6a Trim documented parts. Give default values to NO_DEPENDS, NO_BUILD 2001-03-28 11:43:16 +00:00
espie
85dc6dca9c More regularity, use $@ to regenerate target cookies 2001-03-28 11:32:29 +00:00
espie
59c853bcdf ... and to the list of targets too, oops. 2001-03-28 11:28:31 +00:00
espie
87006647c2 Add rebuild target 2001-03-28 11:27:18 +00:00
espie
a6396841cb Handle parsing the flavor/multi-package part internally.
Use eval to simplify passing those to submakes.

Note that the preferred separator is ',', not ':'.
(Because ':' can't be used unambiguously in *_DEPENDS, whereas ',' can)
2001-03-28 11:19:33 +00:00
espie
cd2b7ae81b Move DUDS handling to makefile level 2001-03-28 10:55:52 +00:00
espie
87d90f5e43 Add NOT_FOR_ARCHS 2001-03-28 10:25:38 +00:00
espie
1ee9c9c4ea Repair setting of PKGNAME/FULLPKGNAME dependning on Flavor.
These should override a default setting of PKGNAME, since in that case,
PKGNAME only holds the name for the main package.
2001-03-25 20:35:35 +00:00
espie
6438a9450e ... and don't forget to include FULLPKGNAME here either. 2001-03-22 00:23:15 +00:00
espie
59abb51a42 _FEXT -> FLAVOR_EXT, make this visible
FULLPKGNAME as a knob for ex ${PKGNAME}-${_FEXT}, so that python
and others can tweak it directly, without needing post bsd.port.mk
tweaks.
2001-03-22 00:22:36 +00:00
espie
e568d53c54 Consistency (Peter Fritchman) 2001-03-17 11:16:38 +00:00
espie
e82e5409a7 Allow for COMMENT-foo= inside the Makefile.
NetBSD did this a while ago, this is a natural idea. It just took me
some time to figure out how to do that in a MULTI_PACKAGE context,
while maintaining compatibility with existing stuff.
2001-03-16 14:56:41 +00:00
espie
5130db70d1 Simplify MULTI_PACKAGES, allow for PKGNAME-foo=value 2001-03-16 14:54:40 +00:00
espie
a199bcb59a Create an intermediate mtree.spec that is used for fake installations.
Use of VAR_SUBSTS will solve a few nasty problems.
2001-03-06 18:59:38 +00:00
espie
8c07bce4dc Add `===> Checking files for pkgname' line to simplify automatic
recognition of various package builds.
2001-03-01 00:01:40 +00:00
espie
6bc4c47f7f Rework the dependency framework.
* pull every dependency under the same rule, using specialized fragments.
* re-check after the dependency is expanded, unless earlyexit is true.
* explicitly recognize /nonexistent as a specific way to have always
triggered dependencies, use it to handle DEPENDS in a uniform way.
* parse dependencies fully. Note that we know have a pkg variable that will
be used.

Thanks to naddy@ for useful tweaks.

This is probably not quite perfect yet, stuff may break. Other stuff that
remain to be done:

- handle library dependencies better, so that lib.10 will match only
lib.10.x and not lib.100.
- handle default FLAVORS correctly. This involves not
passing FLAVOR='', but rearranging ${MAKE} ${_DEPEND_THRU} to remove
FLAVOR from the environment and from MAKEFLAGS (yucky).
2001-02-24 22:02:08 +00:00
wilfried
4dbdfa7f73 We want to test if the variable is defined,
not the value it may have.
2001-02-15 21:51:32 +00:00
wilfried
f13fccbaf2 set variable before we use it, ok espie@ 2001-02-13 12:09:07 +00:00
espie
07876a6c8e Run pkg_create under ${SUDO} and fix the owner afterwards when needed.
The cleaner fix would be to create the package to stdout under SUDO
and redirect it, but that junk (pkg_create) is actively fighting that.

God, I've got to rewrite it and retire that crap.
2001-02-10 13:50:13 +00:00
espie
74d58c4e80 Fix DEF_UMASK check, should take ${SUDO} into account.
This ought to please naddy and avsm...
2001-02-10 13:47:54 +00:00
miod
18f01cdf24 Don't mention LICENCE_TYPE anymore 2001-02-03 01:14:52 +00:00
espie
02d5954552 move variables that only belong in old-install.mk to old-install.mk
Kill old work-arounds that are no longer needed since 2.8 came out.
2001-01-18 14:58:16 +00:00
brad
386156aa3c eliminate NO_CDROM and make the use of :U/:L consistent. Ok'd by espie@ 2001-01-08 22:34:51 +00:00
espie
cd8425b805 Always make TRUEPREFIX/DESTDIR available 2001-01-08 22:10:36 +00:00
espie
fc2ad74c6f Less comments, see bsd.port.mk(5) 2001-01-08 22:09:24 +00:00
espie
45af2405c8 indentation 2000-12-23 12:27:17 +00:00
espie
c754691700 take the old non-fake code out of line, for greater clarity (and since
it's so seldom used now).

Remove a few targets that are not really needed (mirror-distfiles, use
mirror-maker instead).

More changes to fake to come, once they've been properly tested.
2000-12-23 12:25:57 +00:00
espie
78564b0e02 link-categories/unlink-categories target:
populate ports tree with symlinks.
2000-12-16 15:49:12 +00:00
espie
12dc728de6 Enforce directory check in dependencies, so that link-category can come
alive (since ports can now be symlinked, porters need some strong check
so that they don't create bogus dependencies).
2000-12-16 15:47:35 +00:00
espie
7a7b37f54b Remove compatibility scaffolding for EXTRACT_CMD, EXTRACT_BEFORE_ARGS,
EXTRACT_AFTER_ARGS
2000-12-16 15:44:35 +00:00
espie
ec30af29cd Fix build of README.html (use PKGPATH) 2000-12-14 13:13:53 +00:00
espie
bf4b1ad7bb Add extraction support for shell archives (.sh, .shar, .shar.gz...) 2000-12-14 13:08:59 +00:00
espie
046b0ff608 Remove documentation that is now in bsd.port.mk(5) 2000-12-01 16:31:11 +00:00
espie
3b7559aaec With the new MAINTAINER format, this looked weird 2000-10-22 16:31:38 +00:00
espie
02eb4f9304 Kill USE_AUTOCONF, USE_IMAKE, NO_INSTALL_MANPAGES, HAS_CONFIGURE,
GNU_CONFIGURE.
2000-10-22 16:06:25 +00:00
espie
6c4a978b24 Fed up with *idiots* that never read the documentation. 2000-10-02 07:53:24 +00:00
espie
b2cefd992a Typo. 2000-09-23 22:03:21 +00:00
espie
20a00a6871 Use CONFIGURE_ENV/CONFIGURE_ARGS for perl-style configure 2000-09-23 12:40:27 +00:00
espie
a160ede9d2 Don't change the semantics of the patch target if BATCH is defined,
this is stupid (BATCH is only there to skip IS_INTERACTIVE ports).

Make PATCH_CHECK_ONLY a Yes/No switch.
Let it be a slightly better no-op, e.g., skip creating the cookies
in checkpatch operation.
2000-09-23 12:36:39 +00:00
espie
d5248f008e thinko 2000-09-22 02:20:30 +00:00
mickey
90a44e010d @ the echo so we only the message 2000-09-19 14:14:52 +00:00
espie
d218af1299 INSTALL_MACROS does not need to be visible. 2000-09-17 16:26:57 +00:00
espie
09ff1c0242 Clean PATCH_DEBUG handling 2000-09-16 13:54:56 +00:00
espie
fae88b0133 Documentation clean-up: group deprecated variables, clarify
MAINTAINER comment. List bsd.port.mk(5) as the future source of
documentation.
2000-09-13 14:06:55 +00:00
espie
6b10c1319a Fix dependency problem linked to make's POSIX rules.
Reported by Camiel, thanks.
2000-09-13 13:49:51 +00:00
marc
6ddcd6e2f2 distclean: don't puke when _DISTFILES and _PATCHFILES are empty
prob found by Jeremie Kass <jeremie@umich.edu>
2000-09-12 02:52:01 +00:00
espie
e35f4db285 Deprecate old EXTRACT_* variables.
Use some weird code to allow backward compatibility.
Rely on distfiles suffixes and a case statement (with matching variable
EXTRACT_CASES) to allow distinct extraction rules for multiple distfiles.
2000-09-11 18:06:24 +00:00
brad
b44aa7212b oops, fix cut and past-o. vax -> hppa 2000-09-07 04:20:54 +00:00
brad
ec463c63b8 enable shared libraries on powerpc 2000-09-07 04:14:44 +00:00
espie
996e841d00 Add SYSCONFDIR to SUBST_VARS. 2000-09-05 17:27:45 +00:00
espie
df7514664f Kill CDROM_COPY/CDROM_OPT. Nothing really needs them. 2000-09-03 16:00:49 +00:00
espie
5f92cc296f current make passes flags through to submakes, no need to subvert
AM_MAKEFLAGS for this.
2000-08-28 22:42:00 +00:00
espie
c242d633e5 make from current handles recursive variables just fine. 2000-08-28 22:38:37 +00:00
brad
1aa3076045 now that the ports tree is tracking -CURRENT, make use of ldconfig -U for
NEWDYNLIBDIR
2000-08-22 23:10:38 +00:00
espie
0757d4020d Base _SEP on PKGPATH being empty, more robust 2000-07-26 12:47:16 +00:00
miod
45ffc7a496 Make _CDROM_OVERRIDE work again 2000-07-21 02:38:33 +00:00
naddy
4d89af4f75 fix "show" target to correctly display variables that contain
shell metacharacters; ok espie@
2000-07-19 22:36:32 +00:00
espie
f02479f386 Buglet: ensure PKGPATH is without a /.
This complicates bsd.port.subdir.mk slightly (needs to set _SEP),
but at least it's consistent.
2000-07-17 07:11:50 +00:00
espie
4bf4de0012 DEPENDS lib:path -> lib::path here as well.
(getting ready to drop back support for lib:path, so that we may do
lib📦path support and similar fun things)
2000-07-14 23:07:25 +00:00
espie
837cf24d7c Change PORTSUBDIR/DIRPRFX to PKGPATH (avoid gratuitous naming
incompatibility with NetBSD).

This patch rearranges code so that PKGPATH is maintained
- when recursing into subdirs,
- when computing dependencies.

So that this reduces the number of `pwd` calls overall.
Should be especially noticeable for mirror-maker.
2000-07-14 23:01:11 +00:00
espie
0d0e665869 Make mtree invocation path explicit (rohee@) 2000-07-11 10:32:22 +00:00
espie
5ef9c5c473 Remove work-around for pre 2.7 ftp/make bug with dates. 2000-07-07 15:49:32 +00:00
espie
5e279084af Put shared libraries into a separate fragment. 2000-07-03 13:01:47 +00:00
espie
5077fbe88a Fix up comment. 2000-06-30 21:48:50 +00:00
espie
87e3a78b63 Remove ldconfig mess from packing-lists, let a sed script generate the
right instructions from DYNLIBDIR(dir) or NEWDYNLIBDIR(dir)
2000-06-30 21:42:36 +00:00
espie
4db20c876c Remove kludge for PLIST.sed
All PLIST are substituted, and all PLIST.sed have been removed from
the tree.
2000-06-28 15:06:26 +00:00
espie
e0673fa6b0 Pass FLAVOR in the environment, to allow for some manipulations... 2000-06-24 14:12:33 +00:00
espie
14b844e500 Since we are generating the PLIST, add the full package name as a comment,
may be useful later.
2000-06-20 16:51:23 +00:00
turan
8d0dc5836d spelling errors in all-packages target. 2000-06-18 23:35:02 +00:00
espie
08aacef06e Fix DESCR/INSTALL/DEINSTALL names for old-style ports.
Based on something that looked remotely like a bug-report by
Michael H. Price II (no details at all, except `lsof is broken')
2000-06-18 23:27:03 +00:00
espie
81a53c2590 Create all packing information under a subdir of WRKDIR (WRKPKG).
WRKPKG should seldom be changed, unless it conflicts with the port's
actual naming conventions (default is ${WRKBUILD}/pkg).

Substitute stuff in INSTALL/DEINSTALL script as well.
The only drawback is that those LOOK like shell variables, but are actually
simple sed substitution.
Preconise a style such as
prefix=${PREFIX}
(then use ${prefix}) to avoid confusion.
2000-06-16 23:53:40 +00:00
espie
1dbe92f1ae Remove NO_EXTRACT/NO_PATCH/NO_CONFIGURE 2000-06-16 23:10:41 +00:00
espie
e04a85bdd5 NO_INSTALL_MANPAGES -> CONFIGURE_STYLE=imake noman 2000-06-13 01:48:17 +00:00
espie
d3f7169889 Set ac_given_INSTALL to the same value as INSTALL for gnu-configure
invocations. This works around a bug in autoconf-generated scripts that
is present up to autoconf 2.13.

In recursive configure, INSTALL is re-set from ac_given_INSTALL, to handle
relative paths correctly. However, sometimes ac_given_INSTALL hasn't been
set yet, and we end up with a `BSD compatible INSTALL' of ../
2000-06-12 02:09:22 +00:00
espie
2a2b19e211 Handle CONFIGURE_STYLE=autoconf correctly 2000-06-10 17:21:33 +00:00
espie
b1a5029c53 Forgot to handle legacy HAS_CONFIGURE
(+typo spotted by brad@)
2000-06-10 17:15:06 +00:00
espie
84e942de0b Extend CONFIGURE_STYLE to deal with GNU_CONFIGURE, HAS_CONFIGURE,
DESTDIR tweaks for fake, old-style gnu-configure (no sysconf), imake,
and autoconf...
2000-06-10 15:27:54 +00:00
espie
8ec35a8628 Missing SUDO in reinstall target for fake ports. 2000-06-09 20:59:46 +00:00
espie
571b2d1140 Add EXEC=exec indirection to mirror-maker,
so that broken OSes (slowlaris) can say 'make EXEC=/bin/ksh' and
use the target.
Thanks, Bob (beck@)
2000-06-09 19:34:31 +00:00
espie
db23a7cde1 Document deprecated variables. 2000-06-09 18:37:31 +00:00
espie
f954b21f3a Tweak generated PLIST name, to avoid collisions with ports that brew
their own (compatibility hack, to remove once ports have been cleaned up).
2000-06-09 16:31:54 +00:00
espie
0ea371c386 Generate PLIST, MESSAGE, DESCR from templates systematically.
- the PLIST, MESSAGE, DESCR variables refer to the sources.
- files are generated under ${WRKBUILD}, always.
- SUBST_VARS refer to the variables being substituted. ARCH,
  HOMEPAGE, PREFIX are always substituted.
  Use $\{VAR} to escape substitution.
Plus ${FLAVORS} -> -flavor1-flavor2  for PLIST.
- the %%FRAG%% and %%!FRAG%% notations are always used for PLIST.
- SED_PLIST can be augmented if needed.

Plus some compatibility kludges with the current situation.
2000-06-09 16:26:54 +00:00
espie
be6611a11f Support COMMENT=-string
(specifically, to allow all-in-one-Makefile stubs for all ports)
2000-06-09 16:18:42 +00:00
espie
301a61292d Display `cleaning for' at the right point.
Somehow, this got swapped.
2000-06-07 15:46:15 +00:00
brad
dbff997122 ports-admin@ -> ports-maintainers@ 2000-06-02 14:37:17 +00:00
espie
ac5cf880c7 Add standard method for perl MakeMaker configuration 2000-06-02 11:42:53 +00:00
espie
7b9d1b5044 - tighten regexps for PLIST_SED, to avoid accidental matching for fragments.
- repair clean-depends... it was broken quite a few months ago. I suspect
I'm the only one who uses this.
2000-06-01 17:33:53 +00:00
marc
bc45a59758 use with uninstall 2000-05-31 22:37:42 +00:00
espie
8dd54038fb Let package cookie depend on package components (plist, descr, etc) 2000-05-30 16:39:04 +00:00
espie
8dc2e5c332 Turn
FAKE=Yes
on by default
2000-05-30 14:51:59 +00:00
espie
43485e7a39 Define WRKINST always.
Exchange WRKINST tests for FAKE tests, more logical.
2000-05-30 14:44:23 +00:00
espie
20e71af37d Add duplicates check to packing list 2000-05-29 16:43:35 +00:00
espie
eb03402014 Add PLIST.sed substitution
!%%fragment%% -> PFRAG.no-fragment
Useful for no_X11-like flavors.
2000-05-22 13:43:55 +00:00
espie
2fcec6e645 Don't show `make plist' internals under fake, it works good enough that
we don't need to debug it.
2000-05-18 19:59:21 +00:00
espie
9b1a639bff Add REFETCH mechanism, effective once ftp.openbsd.org is populated with
checksum links.
2000-05-17 12:41:28 +00:00
espie
0bc51803ca Use exec to strip a large number of intermediate shells that don't serve
any useful purpose except for eating up PCB.

Not sure whether this is a ksh bug or not, but this is at least a fine
work-around.
2000-05-17 12:14:53 +00:00
espie
6c54029712 pre-fake needs SUDO 2000-05-17 00:22:39 +00:00
espie
361e5cd773 Use setenv -i, for predictability. 2000-05-16 18:14:29 +00:00
espie
e0eb5fc9ba Support ${SUDO} 2000-05-16 17:06:46 +00:00
espie
ada699dfa0 Switch back to ${MAKE}. Pointed out by Todd Miller.
${MAKE} is special, it's set by make itself, and should be relied upon
to be sure we reinvoke the same make we started out with.
2000-05-16 15:54:17 +00:00
espie
b7252d84ea Missed phony target 2000-05-16 15:13:28 +00:00
espie
77af5027a8 Remove lots of extra shells in the mirror-maker Makefile. 2000-05-16 14:40:28 +00:00
espie
b2d1296094 Passing flavors along while computing dependencies is a bad idea,
use _DEPEND_THRU uniformously.

Note that this actually needs something very similar to what is used
in bsd.port.subdir.mk to work.

In particular `default' FLAVORs not being empty is probably a bad idea,
and won't work uniformously.

The right way to set a default flavor is probably to:
- not have empty as a valid flavor.
- do things in two steps:
FLAVOR?=default
.if empty(FLAVOR)
FLAVOR:=default
.endif

so that flavor always gets set correctly.
2000-04-22 19:20:12 +00:00
espie
af038eb990 Dependency bugfix:
subpackage cookies ought to depend on {fake,install}_cookie as well.
2000-04-22 18:57:00 +00:00
espie
7e961a38e0 hook to call update-patches, and call your fave editor on the changed
patches.
2000-04-19 14:37:19 +00:00
espie
b8fc9fef8e MULTI_PACKAGES needs to be propagated to all-package, ftp-packages,
cdrom-packages as well.

Use _sub for loop variable name, to work around an obscure make bug.
2000-04-18 23:20:49 +00:00
espie
60cd07e54e Missed SUBPACKAGE in PFRAG.shared 2000-04-18 20:13:48 +00:00
espie
1f9278cd57 Handle NO_DESCRIBE like NO_PACKAGE for MULTI_PACKAGES. 2000-04-18 17:35:09 +00:00
espie
3639222585 Always define a FAKE_COOKIE, so that FAKE="No" will display an error message. 2000-04-17 21:53:38 +00:00
espie
999cccb78e buglet fix: let the port+flavor directory show up in a form suitable
for direct SUBDIR reuse.
2000-04-17 20:14:33 +00:00
espie
6c6c933ec0 MULTI_PACKAGES framework.
This is somewhat orthogonal to FLAVORS.

Principle: one port may build several packages in one go.
For instance, egcs will build all compilers, and package stuff as
base, C++, Fortran, etc.

This simplifies some japanese ports greatly, e.g., one Canna port that
builds libs/server/app packages.

How to use:
just set
MULTI_PACKAGES=-ext1 -ext2...
in the Makefile.

Then make package will invoke itself recursively with SUBPACKAGE set to
-ext1, -ext2.

The SUBPACKAGE will fetch package info as PLIST-ext1, COMMENT-ext1,
DESCR-ext1, etc.

The port Makefile itself can test the value of SUBPACKAGE if things differ.

Some problems:
- there still is a main package (with PLIST, DESCR, etc), and it's built
last, so you can't add RUN_DEPENDS=main_package to subpackages, you have
to encode them explicitly in the PLIST for now.
- other ports can't depend on subpackages yet. This is usually not a
problem, it's just a question of choosing the `right' main package (e.g.,
for Canna, it will be canna-lib).
- PLIST.sed recognize @FLAVOR@, which is extended to the current flavor,
so that a subpackage may depend on the corresponding main package in
explicit ways.


describe is also invoked recursively, so that all subpackages appear in
the INDEX.
2000-04-17 20:12:03 +00:00
espie
46f238e655 Common definitions into _FAKE_SETUP to shorten and simplify fake target. 2000-04-16 21:41:07 +00:00
espie
8bc36bb0e8 Add @ 2000-04-16 20:59:22 +00:00
espie
25cc866faf Don't add FLAVOR='' to ports without flavor, let default be picked up
instead.

Allow for ',' as a FLAVOR separator instead of ':'
2000-04-16 20:10:21 +00:00
espie
7007246e58 Bug-fix: take ${_FEXT} into account for WRKOBJDIR. 2000-04-15 18:46:08 +00:00
espie
2cb07b50e6 Flexibility in recursively entering subdirs. 2000-04-10 17:51:26 +00:00
espie
bee18ac785 Somewhat simpler {ftp/cdrom/all}-packages, depending on real files. 2000-04-10 01:11:36 +00:00
espie
aebf80dccd ALWAYS_PACKAGE: if defined, let install depend on _PACKAGE_COOKIE as well.
Use this for the {all,cdrom,ftp}-packages targets instead of unreliable
DEPENDS_TARGET.
2000-04-10 00:42:02 +00:00
espie
86ec251992 Typos 2000-04-09 23:57:58 +00:00
espie
fd5775bd31 Need to include Makefile.inc sooner. 2000-04-09 15:24:13 +00:00
espie
6a4876d0a3 Let fetch-all use the same magic invocation as mirror-distfiles 2000-04-09 15:05:52 +00:00
turan
2c979f178d ftp-packages, cdrom-packages targets. These are the targets I use
to build packages and log them.
2000-04-09 12:04:13 +00:00