Commit Graph

165 Commits

Author SHA1 Message Date
espie
2d2f5986a9 convenience functions so that main isn't that big.
Mark comments that have been accounted for, and show the remaining ones.
2004-08-09 10:24:26 +00:00
espie
bf445f78df do local uid/gid changes so that tempfiles will get removed correctly. 2004-08-08 18:09:04 +00:00
espie
10083d7dfb run update-plist as root, to catch all files.
pass OWNER/GROUP around and setuid/gid to them before writing
files to keep ownership.
2004-08-08 16:43:15 +00:00
espie
505d40ba33 reset lastfile before register, so that exec/unexec at start of PLIST
don't get register with the last file.
Add tag_marker `lastfile' placeholder to catch exec/unexec at start
and reproduce them faithfully.
2004-08-08 14:13:41 +00:00
espie
685bd09404 use File::Spec to resolve link. Add missing '/' when needed. 2004-08-07 07:47:38 +00:00
espie
bc4dd33fdd shared lib markers, ditch DYNLIBDIR. 2004-08-06 10:24:19 +00:00
espie
b138d92476 more stringent checks on dynamic library name.
Distinguish between library and plugin.
Saner check for DYNLIBDIR.
2004-08-06 09:37:15 +00:00
espie
e60d9a7833 use clone() to copy objects when either we can, avoiding truncation problems
if inheritance is used.
Fixes @extra dir/  copying.
2004-08-05 23:51:44 +00:00
espie
0e976d1198 almost completely new make-plist.
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.
2004-08-05 23:43:45 +00:00
espie
6ff36eddfe if SHARED_ONLY=Yes, don't bother moving libraries to a PFRAG.shared. 2004-08-03 11:17:11 +00:00
espie
65ecb32a85 file == file.orig -> rm file.orig 2004-08-03 10:51:47 +00:00
espie
a2e191d19b recognition of manpages based on the names 2004-08-03 10:16:58 +00:00
espie
454617f823 @dir directory -> directory/ 2004-07-22 22:24:51 +00:00
espie
d30077a340 too long a name will wrap to the next line. 2004-07-21 11:00:38 +00:00
espie
174132efe7 add routines for genuine recognition of info files and libraries.
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@
2004-07-20 19:01:22 +00:00
espie
e25db78f6a teach make-plist about @dir: converts @dirrm to @dir in the correct location.
Also warns about @extra/@extraunexec not getting copied over (we should
copy them at the end of the correct PLIST).
2004-07-18 22:47:44 +00:00
sturm
27566ce032 permit moving of shared objects and shared libraries from PLIST
to PFRAG.shared automatically
2004-07-03 17:50:52 +00:00
pvalchev
4598902e99 better patch, no need for ldconfig(1) on plugins; ok espie mjc 2004-06-29 20:26:08 +00:00
mjc
e7dbd0e457 put shared objects with no version into PFRAG.shared
OK pvalchev@ better regex suggested by espie@
2004-06-29 01:28:26 +00:00
espie
86e868c57c also check libs with paths. 2004-02-12 14:04:43 +00:00
espie
c688c5c73b nits 2004-02-01 23:43:26 +00:00
espie
1c19b2641b better elf libs checker.
okay pvalchev@
2004-02-01 23:07:30 +00:00
espie
494fac294a Report files and directories installed in WRKINST outside of PREFIX,
usually a good indication the fake process is screwing up.
Okay naddy@
2003-12-26 00:26:01 +00:00
espie
1aa18b2c75 buglet fix 2003-07-16 22:07:40 +00:00
espie
794cf63444 add_info needs a valid filehandle. 2003-07-02 09:04:08 +00:00
espie
7e85ac2f7b kludge to make it work with qt3-mt...
better form would be to ask bsd.port.mk for actual PLIST names.
2003-07-01 14:47:53 +00:00
espie
af5c0b27a7 Sort info files into the right plist. 2003-06-30 12:07:56 +00:00
espie
6caef06ee4 do not record comments twice. 2003-06-30 11:53:37 +00:00
espie
297d9e1225 Extra code for annotations: instead of stashing each element into one plist,
record all plists concerned.

This lets update-plist deal with packages with duplicated files.
2003-06-30 11:49:41 +00:00
espie
c4aafd4e74 Protect filehandle from being created twice. 2003-06-30 11:31:22 +00:00
espie
472d214ba5 Multi-packages may have extra blanks at start. Disallow... 2003-06-30 11:29:16 +00:00
sturm
a01b82e1b5 New user- and groupname schema for ports. All users and groups created
by ports have to have a leading '_' and a fixed id. They have also to
be added to db/user.list.

user.db and createuser are not used and are superfluous now.
2003-06-22 09:59:35 +00:00
espie
9ed39dcf96 ensure $out{$plist}, $out{$pshared} are defined when needed. 2003-06-16 22:42:54 +00:00
espie
bfc9aa6dfa Improvements to make-plist, try to take multi-packages into account.
Doesn't handle yet the case where several plists want the same files...
2003-06-15 13:31:37 +00:00
pvalchev
235993d268 remove license terms 3 & 4 for espie 2003-06-12 22:04:37 +00:00
sturm
5d346b70df Switch two regexps to strip trailing dots earlier from library specs.
This fixes dependency checks of specifications like bar.1.1.::foo/bar
which is now dealt with the same as bar.1.1::foo/bar
2003-04-18 20:27:59 +00:00
espie
778d367e08 Use PLIST and PFRAG, makes updating simpler in some cases. 2003-01-06 20:16:21 +00:00
espie
f9088537c3 Handle @comment @dirrm 2002-12-23 16:07:51 +00:00
espie
c43f93f261 strip only numbers at the end, and do a better job at removing spaces. 2002-12-03 13:56:44 +00:00
espie
c612390ed0 Kill at most two series of numbers from dependencies, so that
LIB_DEPENDS=glib-2.0.0.0 will work
2002-12-03 13:38:16 +00:00
espie
4fecaeb271 move stuff around, so that functions are at beginning of file.
No other significant change.
2002-04-20 19:07:25 +00:00
espie
b2e829be6d register comments. Allows to remove a file from a plist by @comment'ing it,
and having make update-plist keep that.
2002-04-15 06:38:23 +00:00
espie
9ad648bfbe Let make update-plist look at dependent packages (LIB_DEPENDS and
RUN_DEPENDS) to create a more accurate list of @dirrm.

Minor negative side-effect: up-to-date dependent packages must be present
for this to work. Not a problem, since this is only used by maintainers.

This improves the quality of generated plists for large packages with lots
of dependencies by a large amount (e.g., kde)

reviewed by pval@
2002-04-03 15:00:30 +00:00
naddy
80abcb4c2f strip leading path components from lib specs; ok espie@ 2001-12-31 01:59:39 +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
91228bc7f3 Recognize empty @owner/@mode/@group correctly. 2001-08-23 09:13:19 +00:00
espie
efb1a6317b Some attempt at parsing the .orig files, to preserve @mode/@owner/@group
and misc. information.

Try to warn if non-reproducible stuff is found.
2001-08-18 13:11:10 +00:00
espie
3fc98296ac Oops. Seen by Flinn Mueller. 2001-05-24 16:47:59 +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
7b5e441497 Oh well. Need both stats under different circumstances, as found out
by Peter Stromberg.
2001-05-07 15:25:44 +00:00
espie
ebc57e0cb7 better stat. 2001-05-05 21:24:27 +00:00
espie
ce3e41c265 Warn for arch dependent names in PLIST.
No automatic correction, as this can be hard.
2001-03-24 12:14:38 +00:00
espie
79e5ed78ab Tell user to add directory to rc.conf here, instead of doing that in
every port that needs it.
2000-12-16 23:25:36 +00:00
espie
d510925065 Don't output shared libs in both PFRAG.shared and PLIST. 2000-07-08 18:09:10 +00:00
espie
5ddf68f635 Forgot %D in DYNLIBDIR. 2000-07-08 15:13:49 +00:00
espie
5e279084af Put shared libraries into a separate fragment. 2000-07-03 13:01:47 +00:00
form
f37eff7959 @unexec ldconfig -m -> @unexec ldconfig -R 2000-07-01 17:16:48 +00:00
espie
546489edf0 Let make-plist emit DYNLIBDIR/NEWLIBDIR directives. 2000-06-30 23:45:41 +00:00
espie
acb2e64fdb ldconfig substitution scripts for packing-lists. 2000-06-30 21:39:36 +00:00
espie
0243a5dea2 Fix nasty bug in make-plist:
if a new directory was found, it  is always marked for @dirrm.
But, if the directory is empty, nothing pertaining to it is recorded in
the PLIST... and thanks to pkg_*, we can't record directories in the PLIST.
So, just add an @exec mkdir -p   right in front of the @dirrm, up to
the port maintainer to decide whether the @exec mkdir/@dirrm pair is
justified or not (for the port at hand).
2000-04-17 21:00:56 +00:00
espie
2a525277b7 `Fake' infrastructure:
if a port sets FAKE=Yes, this means it can be `pre'-installed elsewhere,
with DESTDIR set to WRKINST (=work/fake-${ARCH} by default).

the infrastructure takes care of pre-install/do-install/post-install targets,
assuming those install stuff under PREFIX.

To help ports to cope with DESTDIR, you can set FAKE_FLAGS and FAKE_TARGET
(used for the fake installation).

Ports with FAKE=Yes are the way to go: they can be packaged directly without
a real installation, and the installation proceeds from the package, thus
forcing porters to check the package.
2000-03-03 21:24:50 +00:00
niklas
ea1c0a8940 Make it work under YP, and fix an obvious bug in an RE 1999-08-21 20:56:05 +00:00
espie
8ab55c64e5 buglet: install-info --delete to remove entries. 1999-07-29 14:01:12 +00:00
espie
06f2deceba Making automatic plists better:
- parse mtree file completely,
- find out which directories amongst modified dirs are really new,
- handle info files.
1999-07-29 13:51:51 +00:00
espie
b8c7c3aacc infrastructure framework: helper scripts and other stuff needed for
ports, long-term.
1999-05-18 16:39:02 +00:00