Commit Graph

177 Commits

Author SHA1 Message Date
steven
826ea4d32c support -objectlist option; makes devel/cln build 2008-10-27 10:34:18 +00:00
steven
af0ac41778 slightly more readable
use same comment as gnu .la file
2008-10-27 09:36:42 +00:00
steven
e0416b8ada sort subs 2008-10-26 09:52:10 +00:00
steven
9fbc3582ca slight code reorg, somewhat more readable 2008-10-26 09:44:22 +00:00
sturm
2342cf4f65 BIN_PACKAGES is obsolete
from  Mikolaj Kucharski
2008-10-24 16:34:19 +00:00
steven
f259217b48 abort if neither a .la file nor a real library can be found 2008-10-20 21:00:30 +00:00
steven
728795eed1 don't try to strip .la files on installation
use same libtool version as in ports tree
2008-10-20 20:20:09 +00:00
steven
002ab91cdb -n is an alias for --dry-run 2008-10-20 20:16:05 +00:00
steven
211fecd1ec sort libraries by version number only instead of alphanumerically by filename
prevents libfoo.so.10.0 < libfoo.so.9.0

pointed out and similar diff by bluhm@ before ports lock
2008-10-10 20:32:28 +00:00
espie
553bc2d94c pkg_subst without file args acts as a filter 2008-06-09 12:01:39 +00:00
espie
252db942d7 copy rights and owner, based on jasper's remarks 2008-05-06 16:13:15 +00:00
steven
276ab95894 say it's experimental. avoid it for regular ports building for now... 2008-05-01 22:02:32 +00:00
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