Commit Graph

315 Commits

Author SHA1 Message Date
espie
ade8f6f21e scaffold for CMD_SUBST 2008-04-07 11:10:16 +00:00
jakemsr
41e50b340e escape special characters in arguments before splitting arguments on
spaces.

ok steven@
2008-02-17 02:01:42 +00:00
simon
6692106c6c ease sending cpan reports by adding the default recipient address
requested by & ok okan@
2008-01-29 21:00:27 +00:00
simon
bf1bcd25c5 let `make regress' write test reports
to use it set CPAN_REPORT=Yes, CPAN_REPORT_FROM to your email address
and CPAN_REPORT_DB to a directory (like PLIST_DB)

initially by steven@
feedback from steven@, msf@, rui@, espie@, merdely@, okan@

ok msf@
2008-01-27 23:28:25 +00:00
steven
00e2cb6285 - store more info in .la files, simplifies the resolver
- process -R flags
- try to use the right -l flag
- skip prefer-pic/non-pic for now
- various tweaks
2007-11-16 15:37:20 +00:00
steven
2ff99c7644 don't create symlinks to static libraries 2007-11-09 15:20:57 +00:00
steven
fd610b14e1 install libraries with mode 644 if possible. 2007-11-05 12:45:34 +00:00
steven
011438b584 handle -prefer-pic and -prefer-non-pic options in compile mode.
shorten second getopt configuration line a bit.
2007-11-05 12:15:35 +00:00
steven
520b2657e2 also use -R flags when linking libraries, and add them into dependency_libs. 2007-11-05 11:27:34 +00:00
steven
3b08865b7c rework comments a bit 2007-11-03 13:40:08 +00:00
steven
8638149d6e handle current,revision,age stuff a bit better, and make sure it all gets
written in the .la file
2007-11-03 10:15:41 +00:00
steven
b5e8a26a13 drop -L flags containing .libs directories from installed .la file 2007-11-03 09:20:34 +00:00
steven
df477a7ef0 - library names don't have to start with 'lib'
- use libname.lax directory for extraction
- eliminate duplicates from dependency_libs
2007-11-03 08:47:46 +00:00
steven
2cd6019414 oops, keep -f test before creating a symlink 2007-11-01 17:21:25 +00:00
steven
cc9a22211a remove symlinks before creating them.
add --config output, only one variable for now which some port uses.
2007-11-01 10:39:33 +00:00
steven
3a7ffa8c6f - use .lai extension for better compatibility with gnu
- write .lai file at build time, and only install .la for shared libraries
- create symlink to .la file from the .libs directory
2007-10-31 21:49:08 +00:00
steven
802692b22c put the final libdir correctly in .la file from the start.
this also simplifies reworking of dependency_libs upon installation.
2007-10-31 17:32:55 +00:00
steven
c4dfa87bce - read and ignore -thread-safe option
- ignore multiple arguments for -version-info, just take the first
2007-10-29 18:47:19 +00:00
steven
ffcdf90dd5 resolve symlinks during installation 2007-10-29 15:56:56 +00:00
steven
fbad1b3d27 don't escape special characters which are surrounded by quotes. 2007-10-29 11:49:52 +00:00
steven
51efcbbcc7 libtool replacement
work in progress, do not use this yet.

input from and "commit it" espie@
2007-10-28 14:34:09 +00:00
naddy
44899eea9b * fix check for CVS keywords
* extend check to all CVS keywords, suggested by kurt@

ok kurt@
2007-10-01 20:39:23 +00:00
kurt
853bf4e006 - don't use PATCHORIG for patch files in a port's patches dir since that
confuses 'make patch'. improvement and ok naddy@
2007-09-28 17:11:10 +00:00
espie
7a9f1afb15 add message that shows we exited a directory after an error, stops log there
during rebuilds.
2007-08-25 07:56:04 +00:00
espie
0c6983c419 allow locking command to take extra parameters, store them inside the lock
file (as a comment)
2007-06-02 12:03:56 +00:00
espie
9a70356e28 use new ProgressMeter interface 2007-06-01 15:01:50 +00:00
espie
d0d6d56f7e allow extract-dependencies to use several seeds, which is necessary
for multi-packages ports (databases/sqlite3 == databases/sqlite3,-main).
2007-02-06 20:01:06 +00:00
espie
7b1ed78b46 pass -a to diff always, as it will often get confused with unicode/iso-latin
stuff.
2007-02-03 17:08:13 +00:00
jasper
1616b919e5 zap trailing whitespace in the output 2007-01-17 19:44:19 +00:00
espie
e7bba25064 avoid weird error if we run this without patches 2006-11-21 11:18:34 +00:00
espie
3d0bde7b9b zap duplicate specs 2006-11-20 12:13:43 +00:00
espie
aaa9a0cd63 remove hack to recognize .0.0. 2006-09-18 12:56:22 +00:00
espie
a7c0d256e1 also zap .n as a final. 2006-09-18 11:30:08 +00:00
espie
03409d0fb5 zap .n.m suffix, just keep .0.0 as a special case for now. 2006-09-18 11:27:47 +00:00
espie
2bf397a8e6 allows >= for lib-specs, needs some quoting for shell... 2006-08-01 10:00:54 +00:00
ian
edc8f04975 Minor clarification of message, ok espie@ 2005-12-06 17:15:38 +00:00
espie
a7f7af295a more error checking.
reported by Simon Kuhle
2005-11-06 09:34:20 +00:00
espie
eae1e7329e move DIFF_ARGS around 2005-11-05 11:38:46 +00:00
sturm
76a0bc8eef create LOCKDIR if it doesn't already exist
ok espie@
2005-11-01 10:54:42 +00:00
bernd
097bf89941 Add a quick (-q) option for the impatient people. But look out! If you
use the -q option, out-of-date looks for changed package names but not
for changed package signatures!

If you want to see ALL of you outdated packages, don't use -q.

"go ahead, commit" espie@
2005-11-01 10:11:40 +00:00
espie
f5f73908d5 more reports 2005-10-29 12:27:31 +00:00
espie
76fc40b70e fix 2005-10-29 12:14:26 +00:00
espie
3e5d6bac8a better error message for slackers who can't read perl. 2005-10-29 12:12:39 +00:00
espie
ce319b8661 Add -r option so that tool can be used to do more. 2005-10-22 18:05:34 +00:00
espie
8e7f909b8d Use the caching mechanism set up in bsd.port.mk to speed it up x3. 2005-10-10 22:25:06 +00:00
bernd
67538a1775 - only compute signatures if the package name doesn't change
- some error checking
- print differences between package signatures

ok espie@
2005-10-10 22:08:27 +00:00
espie
c4ced942c9 protect against cases where @ARGV == 0, which can happen very seldom... 2005-10-10 19:43:33 +00:00
espie
031729bf37 make sure to get ALL libs, that is, several lines in case we need pkg_info
to get the right libraries.
2005-10-10 19:04:06 +00:00
espie
01c2d27f64 let resolve-lib return a useful error code 2005-10-09 13:27:39 +00:00
espie
43ed8edb9c tweak the way library dependencies are resolved to speed them up.
Now, resolve-lib can take a big list of libraries with full paths,
and it can solve a big list of spec at once.
Basically, we move most of the parsing of spec paths into resolve-lib.

Since print-package-signature does build a full list of libs, let's solve
it all at once, instead of invoking a costly perl script repeatedly.

Add some caching possibilities for out-of-date. Specifically:
- store libraries for each package under the directory _PORT_LIBS_CACHE
- use the dependency cache _DEPENDS_FILE to avoid recreating dependency
chains, add a new file _DEPENDS_CACHE that will accumulate all dependencies,
and extract these with a simple script extract-dependencies.

Use echo to build libraries lists instead of ls, that's a bit simpler...

Some more clean-up will happen: it's probably simpler to parse libspecs
at once, extract the libraries needed and go fetch the corresponding libraries
just once.
2005-10-09 12:01:22 +00:00
espie
6ed42bc212 some clean-up + progress meter.
okay bernd@
2005-10-01 16:36:03 +00:00
bernd
f4a024d5a8 Rewrite in perl. It compares package signatures instead of package names.
This needs a lot of testing, so please test!

Suggestions and ideas from sturm@ and espie@.

ok espie@
2005-10-01 13:17:54 +00:00
sturm
041ba74bae fix cleanup code
noticed by pval@
2005-03-03 21:08:03 +00:00
sturm
b0bb1cbbbb - remove lockfiles when a host dies or dpb is killed (the ports don't do
it in these cases)
- remove an unused variable
- clean up warning messages
2005-01-30 12:37:32 +00:00
sturm
182d8ff4d8 tear down the ssh master session only after killing all node sessions
this solves the problem of ports being marked "built" after the node
building it was lost
2005-01-30 10:07:36 +00:00
espie
8e15a36e97 fix a stupid bug where some expr don't match, use extended expressions
to simplify things.
2005-01-08 00:05:16 +00:00
sturm
6e890a965a in parse_dependency_file() make sure, we really read port specs and
not some gibberish like error messages or so
2004-12-26 07:48:46 +00:00
kurt
1ca9d5c443 make update-patches deal with spaces in paths (ok espie@ sturm@) 2004-12-02 19:50:17 +00:00
sturm
0148b33be9 improved SMP handling
- 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
2004-11-14 11:46:15 +00:00
sturm
9dca1f7475 a little cleanup in preparation for improved SMP handling
print() -> warn() where useful
2004-11-14 11:25:53 +00:00
espie
1c062c3c2e allows for updates 2004-11-10 10:15:42 +00:00
espie
e94445485e provide a simple locking command in perl. 2004-11-07 10:09:35 +00:00
sturm
bc39f7be50 new option -c for "clean builds", i.e. remove all installed packages
before building a new one; don't use this when building multiple packages
on one host
2004-10-24 14:16:38 +00:00
espie
e4b643ad88 don't create patches for Oops.rej 2004-09-21 09:27:15 +00:00
sturm
ea2b00d80a $OpenBSD$ 2004-09-20 20:17:33 +00:00
sturm
1f2b8ae4df - use sh on localhost* and don't check_host() on these
=> 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
2004-09-20 18:57:53 +00:00
sturm
1f1c3ee467 wrong order when redirecting STDOUT/STDERR
ok pval
2004-08-24 20:30:07 +00:00
sturm
0c0f93c97d raise default timeout to 1 minute
requested by pval@
2004-08-23 20:46:42 +00:00
sturm
91eb345927 improve reliability:
- 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@
2004-08-23 19:54:11 +00:00
sturm
02a925a3c7 Distributed Package Build is a helper script to permit several hosts
working together in doing a bulk package build.

ok pvalchev@, espie@
2004-08-10 20:54:38 +00:00
espie
413404d080 tag updating-plist case for logging. 2004-08-06 11:31:22 +00:00
sturm
0e1d71c25e gdiff die, die, die
from Jared Yanovich
2004-06-20 19:11:08 +00:00
sturm
e622e85755 be more robust as people might install packages they no longer have
port directories for, e.g. mystuff/foo
2004-05-31 14:39:40 +00:00
xsa
d55ad4e2e1 - add $OpenBSD$ Id string
- minor cosmetics
2004-04-11 17:03:56 +00:00
naddy
8b4d126f44 Script to check for availability of newer upstream releases for perl ports.
From: Sam Smith <S@mSmith.net>
2004-04-11 16:43:48 +00:00
sturm
4a5015409c adapt to new pkg tools without breaking compatibility to old ones
noted by Andreas Kahari, ok espie@
2003-11-05 17:35:45 +00:00
espie
e039496e40 Allows out-of-date to proceed even if some port is broken. 2003-09-28 10:59:42 +00:00
espie
314595c041 nicer out-of-date script, use the embedded subdir information to find
the correct package spec, and ask the corresponding package to show its
information.
2003-08-02 11:17:37 +00:00
espie
cba1263649 synch with new ports tree 2003-08-02 10:53:52 +00:00
jolan
f2d129335f update-patches depends on GNU diff, for now. Error out and say where to
install it from if it doesn't exist on the system.

"looks cool" espie@
2003-07-30 11:10:34 +00:00
espie
6fb2f71ce6 dot is regexp magic 2002-11-28 19:20:37 +00:00
naddy
a653eafeac Protect against meta-characters in library names (e.g. "libestdc++").
Mostly from pvalchev@
2002-10-01 12:16:38 +00:00
nino
d1662486a2 Make sure we're in PATCHDIR when we verify the patches. Otherwise we'll
print out incorrect information if no patches are found in WRKDIST.

Ok espie@
2002-07-24 11:54:21 +00:00
espie
3aada711bb zap fetch progress bar. 2002-05-18 18:37:47 +00:00
espie
cc277cf81d teach portslogger to put patch/configure/build depends with the correct
package.
2002-04-24 21:35:33 +00:00
espie
f801d53cd6 do not consider static libraries if dynamic libraries are around.
This is not the linker's way of working, but this is the way dependencies
must be handled to find about update issues.

naddy@ agrees, nobody else gives a fuck.
2002-03-04 13:39:34 +00:00
espie
007b0bcbc1 Recognize the `No new line at end of file' dif issue 2002-01-03 10:37:43 +00:00
espie
47692f4664 Use perl lib depends checker, that parses the full gamut of libspecs. 2001-11-17 10:39:19 +00:00
espie
a0b04e366e Groan. Even after I refreshed my memory with perlvar(1), I still managed
to typo my way through.
2001-11-11 12:57:25 +00:00
espie
56b6822e2f close PR2115 2001-11-11 12:38:57 +00:00
espie
3ad730108d synch with new regress target (I forgot to commit this) 2001-10-05 07:26:50 +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
a3b8e08ec3 numbering of matches means we got to default log too often. 2001-07-26 14:53:53 +00:00
espie
32d772833a Fix a few issues with portslogger, pointed out by Heikki Korpela.
I went a bit overboard with this one and implemented a Logger class
as a derived class on IO::File...
2001-07-19 12:29:09 +00:00
espie
1211f04ece Take PORTSDIR var into account. Noticed by Brian R. Landy. 2001-07-19 02:49:56 +00:00
espie
a669357afd Add old-install.mk names.
Noticed by naddy@
2001-06-07 14:46:23 +00:00
camield
53743ebea8 cvs should not touch this tag, ok espie@ 2001-05-22 09:26:46 +00:00
espie
1e51a65a71 Add Installing... 2001-05-05 21:23:56 +00:00
espie
1215dcfa7d This script can be used to check that all ports are linked in master
Makefiles.
2001-04-08 17:01:31 +00:00
espie
9336fc846c Identify identical $file and $file.orig. Report them, but don't generate
an empty patch (that is sure to throw make patch later).
2001-03-31 22:54:41 +00:00
espie
e31ec85085 logger -> portslogger
to avoid conflict with logger(1)
2001-03-13 22:00:14 +00:00
form
30d4d0aba2 Better handling of installed packages not in ports INDEX.
ok espie@
2001-03-07 03:41:10 +00:00
espie
d8eecece63 Script to log specific ports build independently. Recognizes all
===> xxx for package
lines, so that it will redirect dependencies correctly. Use as
make 2>&1 | logger logdir
2001-03-01 00:00:26 +00:00
espie
88dcba4ede Create PATCHDIR if first call of update-patches 2000-06-09 17:08:37 +00:00
espie
2026dfeb34 Bug-fix: if using WRKOBJDIR, update-patches wouldn't work if
WRKDIR=WRKDIST, since find does not follow links.
2000-06-07 00:47:47 +00:00
espie
1d2539aa57 A simple script to magically update-patches.
It's a fair attempt at trying to match actual changed files
with the patchdir, and invent new patch file names.

There are a few things it doesn't do yet, such as dealing with
patch files with multiple patches, or dealing with context diffs.

Just watch out when you use it for the first time on a port, verify
you don't lose or duplicate patches.

I've been using this to update large ports recently, and it seemed too
good not to give it to other porters.

Approved by turan@
2000-04-19 11:16:27 +00:00
espie
6130169376 author -> maintainer, use consistent terminology 2000-04-18 13:40:27 +00:00
espie
08da737589 If key, author, category is defined on the command line,
build SUBDIRS directly from INDEX.
2000-04-09 16:26:13 +00:00
espie
5dc30c71db Tweak the packaging slightly 1999-10-07 14:22:36 +00:00
espie
50a55ee199 Name says it all 1999-10-01 22:11:06 +00:00
espie
555a809e8c Bug fixed:
- comments recognized.
- standard echo name name
for tsort to work for packages without dependencies...
1999-09-28 21:54:25 +00:00
espie
91f5ae3fcb Work for flavored packages as well 1999-09-26 14:00:53 +00:00
espie
73ad5d7f6d Fix. 1999-09-26 09:36:33 +00:00
espie
79b9051629 Inform about what's going on on stderr 1999-09-20 09:42:17 +00:00
espie
b8c7c3aacc infrastructure framework: helper scripts and other stuff needed for
ports, long-term.
1999-05-18 16:39:02 +00:00