Commit graph

197 commits

Author SHA1 Message Date
Neil Blakey-Milner
aca5c8ad90 Use 'id -un' and 'id -gn' for user and group information, not 'logname'.
Add mkppackage, which will create a "fake"-style package, but not
really.  It doesn't try fake PREFIX and such to the build (it's not
really possible anyway yet), but it uses pkg_create's '-s' option to
pretend the package generated was installed in ${PREFIX}.
2001-08-17 09:41:17 +00:00
Maxim Sobolev
c7d13486e3 Actually fix the breakage introduced in rev 1.2. 2001-07-31 08:50:36 +00:00
Maxim Sobolev
f6f46adfbd Fix breakage introduced in previous commit. 2001-07-31 07:42:43 +00:00
Maxim Sobolev
a2bc5891ae Fix a bug that in some rare cases may lead to a patch not being properly
generated.
2001-07-31 07:41:01 +00:00
Maxim Sobolev
0464d99a43 Trap signal 31 as well (typo).
Submitted by:	"Alexey V. Neyman" <alex.neyman@auriga.ru>
2001-07-30 14:24:12 +00:00
Maxim Sobolev
898e9fee9e Unbroke when /usr/ports is symlink.
Submitted by:	ben
2001-07-30 09:01:12 +00:00
Maxim Sobolev
42016695a6 Fix problems in previous commit:
- We don't really want to catch SIGCHLD;
- actually enable new `-f' option.
2001-05-17 13:50:59 +00:00
Maxim Sobolev
b22c4e2030 - Add an option to disable interactive confirmation;
- catch up possible signals to remove temporary files.

Submitted by:	dirk, sobomax
2001-05-17 13:11:18 +00:00
Will Andrews
ab9d25dedb Stopgap bugfix to avoid the case where a user invokes -t and ends up with
a work/ dir in the repository placed there by addport without permission.
Also restore the rcsids from the predecessors of this script by removing
their $'s.

If I had more time, I'd just revamp parts of this script.

Submitted by:	greid
Apologies to:	greid && cvs@
2001-05-01 13:54:22 +00:00
Neil Blakey-Milner
a8154cfead Be more specific in trying to exclude man pages - look for 'man/man',
not just 'man'.  This makes the 'manage_*' from Zope work.
2001-04-02 10:37:33 +00:00
Neil Blakey-Milner
029193aa5d Steal the 'hmake' variable building from mkpinstall. This wasn't
properly fixing the username in the *OWN variables passed to make(1).
2001-04-02 10:35:29 +00:00
Maxim Sobolev
ba1fa488d4 Add patchtool - a tool to automate generation/updating of patchfiles. This
tool has something in common with update-patches shell script, but has more
features and is more intelligent. See README.patchtool or source code for
details.
2001-03-19 15:33:33 +00:00
Maxim Sobolev
ef746ecffe Look into arch-specific distinfo's as well.
Prompted by:	Vadim Ostranitsyn <vadim@alpha.tsu.ru>
2001-03-19 15:20:00 +00:00
Brian Feldman
9725d8378f Make plist work again with new-found use of line continuation in
mtree files.
2001-03-13 01:53:04 +00:00
Satoshi Asami
bf0af6f063 Uncomment and update OSREL and OSVERSION in preparation for 4.3R. 2001-03-12 10:55:03 +00:00
Steve Price
f91ad808b3 Tweak to catch missing directories from the Makefiles in the various
categories which were failing to be mapped from directory to port name
because 'make index' can't know to run 'make describe' in directories
it doesn't know exist.
2001-03-08 02:28:44 +00:00
Satoshi Asami
041d6fd7a5 mkbindist is in scripts/ now, with ${branch}/mkbindist.conf specifying
necessary per-branch options.
2001-02-28 17:14:29 +00:00
Peter Pentchev
fe8a840446 Do not hardcode /tmp as a temp directory base, try $TMPDIR, $TMP and
the system temp dir as given by paths.h (paths.ph) in this order.

Approved by:	nbm
Perl-fu by:	des, Tony Finch <dot@dotat.at>
2001-02-22 14:51:44 +00:00
Satoshi Asami
abbe92fc7c (1) Update values of OSREL/OSVERSION to match reality.
(2) (portbuild) Change no-output timeout from 1800 to 3600.  Some ports
    seem to actually take more than 30 minutes inside a command.

(3) (portbuild) Add -p flag to tar when extracting bindist.

(4) (makeindex) Remove the -j flag to make index, the argument was 1 anyway.
2001-02-21 04:35:35 +00:00
Neil Blakey-Milner
43a1c1abf7 Some minor additions so that we act a bit more like NetBSD's url2pkg; we
now autogenerate MASTER_SITES if we're given an URL.  Also check the
PKGMAINTAINER environment variable.

Submitted by:	Tomasz Luchowski <zuntum@eik.pl>
2001-02-02 15:00:42 +00:00
Satoshi Asami
f8e206ffe7 A few new features:
(1) The script now assumes make(1) knows how to handle long dependency
    chains properly.  quickports is a list of ports that take a
    long time to build by thesmelves (not ports that have long
    dependency chains).  The script adds several extra dependency
    levels to the generate Makefile for those ports to make their
    dependency chains longer.

(2) Use -R flag to cvs.  Comment out the cvsup part.

(3) Preserve error messages for ports that didn't build the first
    time around but did build on the retry.

(4) Record the package's timestamps in the log directory by doing
    an "ls -asFlrt" in the packages/All directory.

(5) Add a little sleep after two background jobs so outputs won't
    be garbled.
2001-01-21 01:02:13 +00:00
Will Andrews
6e23ca1d3e Fix off-by-one error that was causing an infinite loop in some very
weird cases.  AAARGGH!!!

Discovered by:	will, sobomax, alex
Fix by:		Dima Dorfman <dima@unixfreak.org>
2001-01-16 23:11:38 +00:00
Trevor Johnson
f27e8d32d1 Use the -p option with diff. Add a FreeBSD tag. Don't try to
guess WRKSRC or PATCHDIR.  Don't munge "." characters in filenames.

This requires support in bsd.port.mk, a patch for which is in PR
24292.

Submitted by:	Christian Weisgerber <naddy@mips.inka.de>
2001-01-12 21:25:48 +00:00
Will Andrews
759fa23f72 Fix two bugs: pass $passenv to make *always*; remember that the initial
join() in the autofill algorithm doesn't need a space.

Bugged by:	alex
2001-01-07 07:25:18 +00:00
Brian Feldman
03e6193f13 Make plist (the Ruby script) a tad more useful: build in mtree support
which holds final veto power over what @dirrm lines go into the plist.
This is a bit less evil than all the regexps previously used to manually
remove those directories.
2001-01-06 17:11:40 +00:00
Neil Blakey-Milner
48fce3facf As a quick fix, use /tmp instead of the currently hardcoded /usr/tmp. 2001-01-03 11:16:46 +00:00
Neil Blakey-Milner
e0ceba3928 Add (a currently very bare) mkpbuild, and (the more useful) mkpinstall.
mkpbuild just builds a port with WRKDIRPREFIX and PREFIX set to a
directory in /tmp, and with the owner and group variables set to the
user.  A placeholder - in future, it'll have build error/log parsing.

mkpinstall's claim to fame is to do the same, except with "make install"
instead of "make build", and it then parses the mtree file, and compares
that and the current directory tree and the files, and auto-generates a
plist.

They're not pretty, but they finish the mkptools set basic
functionality: automatic skeleton generation with mkpskel, on-extraction
requirements guessing, and plist generation.

Future direction might be parsing build and install failures, checking
for '/usr/local' abuse, more requirements guessing, and stuff like that.
2001-01-02 20:44:26 +00:00
Will Andrews
2f7c6bd9f5 Fix breakage when someone uses -t option: pass DISTDIR environment variable
to the extra testing's make procs.  Fix _stupid_ mistake where -n option
had no effect on hindering ``cvs add'' and CVSROOT/modules updating.

Cosmetics; remove extra space in generated commit log message and fix the
usage section's style in regards to options that take arguments.  Add
missing -g option's mention.

Submitted by:	assar (DISTDIR, CVSROOT/modules updating routine bugs)
2001-01-01 23:12:31 +00:00
Will Andrews
efc8971fd6 Several changes. First, depend on another environment variable rather
than CVSROOT (now ADDPCVSROOT) to avoid conflicts for people who normally
set CVSROOT to something besides freefall (like myself).  Second, allow
autofill to work for non-PR additions by checking for a -l argument of -1.
Third, remove the bogus $portname check in autofill that screws up if you
are adding something with a PKGNAMEPREFIX (i.e. p5-).
2001-01-01 05:50:33 +00:00
Will Andrews
8de8dbb8e6 Here's my holiday present to the ports team: new -l option allows you to
let portlint fill out your commit log message.  It takes data from your
port's Makefile and pkg-comment to generate this, then displays the
resulting file and gives a chance to fix any problems.

Also, change -c option to move the file to the temp directory.  Since -c
and -l option conflict, -l will take precedence.  Move -c option down to
where directories are parsed.

Reviewed by:	Jeremy Shaffner <jeremy@external.org>
2000-12-31 11:24:13 +00:00
Will Andrews
51dc79714d Add new option: -c file : Pass a file containing the log message for the
new port.  Slight hack used to obtain absolute path for the file.  I'll
probably change that to make it copy the file to the tmpdir instead.  For
now, this provides a stepping stone to use to begin automating commit log
messages - with, of course, a chance to edit the file again.
2000-12-30 02:20:13 +00:00
Will Andrews
6d4b5c5dad Add -g option to disable committing to CVSROOT/modules, useful if someone
is going to commit a large number of ports and doesn't want to bloat
the repo any more than necessary.  Later on I'll add support to
modulesupdate to do multiple modules at the same time.  I should check that
script in CVS, but nobody's repocopied non-ports-specific tools to src yet
to my knowledge so I can't do that.
2000-12-19 08:16:06 +00:00
Satoshi Asami
990f4557b0 master is back to bento.
Add definition of scratchdir=/x/tmp for scratch directory to use
when temporarily creating load files.
2000-12-18 04:43:46 +00:00
Satoshi Asami
aa93cd0f98 Combine the scripts for building the bundist tarballs. The per-branch
specifics are in mkbindist.conf under ${portbuilddir}/${branch}.
2000-12-18 01:54:19 +00:00
Will Andrews
514c1d0973 Functional modification: Make -n only apply to cvs commit, NOT *all*
cvs ops.  Many committers found it difficult to debug while using addport
with the -n argument.  I'm inclined to agree with the sentiment.

Submitted by:	sada, deischen, others
2000-12-08 19:54:54 +00:00
Satoshi Asami
118622e658 Use YYYYMMDDHH for log files so we can have two builds on the same
day.  Remove lock file if package build aborts.
2000-11-07 23:40:07 +00:00
Satoshi Asami
4928f195ad (1) New flag, -ftp, indicates packages are to be copied over to the
ftp site (specified in portbuild.conf).  (It used to be implied by
    -norestr.)

(2) Remove x11-toolkits/Motif-dummy from list of dummy ports, since
    open-motif is now the default.  Also gone is the MOTIF_OPEN
    variable.

(3) Run the tar -czf of the ports tree and generation of CHECKSUM.MD5
    in the background.

(4) Print the amount of time it took for the entire process, as well
    as phase 1 and phase 2 of the compilations.  (It is done by date
    -r, so it will only work modulo 24 hours.  Hopefully the build
    will never go over 24 hours again.)

(5) Make symlink of the form [ae].${branch}.YYYYMMDD ->
    [ae].${branch}.YYYYMMDDHH so we can have the simple "date" form as
    well as the new "date+hour" directories for logs.

(6) Remove temporary make status files from /tmp that are over 60
    minutes since the last modification.  It was filling up the root
    filesystem.

(7) Print out an "ls -lrt" of packages/All into logs/ls-lrt.  This is
    going to be used to evaluate make's job dispatch policies.
2000-11-07 23:39:16 +00:00
Will Andrews
9cd0d7f466 Add standard 2-clause BSD license to protect my (and mharo's) copyright. 2000-11-04 12:19:43 +00:00
Maxim Sobolev
27873e9b7a s|pkg/PLIST|pkg-plist|g 2000-10-21 14:39:20 +00:00
Trevor Johnson
01b5fe4634 Add update-patches, a script to generate updated versions of the
patches in a port.

Obtained from:	OpenBSD
2000-10-19 10:47:28 +00:00
Brian Feldman
11a2dbd370 Add plist, a script to automate the generation of a pkg-plist. 2000-10-17 14:46:04 +00:00
Will Andrews
fc010c8c8b Overhaul addport again. Should be quite functional now.
1) Re-add functionality removed in revision 1.11, but only as an option.
   This time, it checks out its own copy of ports/Mk and points PORTSDIR
   at the correct location.  To use this, use the -a option.  It will not
   work if it can't find portlint in your path.
2) Add option -f to disable fetching the distfile.
3) Add option -m to disable checking out a copy of Mk for 1).  For those
   that have a current Mk in PORTSDIR and don't want to check out a fresh
   copy for whatever reason.
4) Support CVSROOT environment variable.
5) Note environment variables recognized by addport.
6) Fix breakage trying to use -d with multiple directories (not tested).
7) Actually use $interactive variable.
8) Update usage().
9) Note original RCSID for my shell script; take over as MAINTAINER.

Tested by:	gshapiro (this revision was used in adding sendmail)
2000-10-14 05:06:09 +00:00
Neil Blakey-Milner
90d103f7cc Add the first efforts on my mkptools, the successor to makeport.pl.
mkptools are broken up into simple scripts:

mkpskel takes a distribution file as an argument and generates a
skeleton; it guesses the extract method, the package name, and so forth,
and generates populated Makefile and distinfo and empty pkg-descr,
pkg-comment, and pkg-plist.

mkpextr goes through the extract phase, and generates what it believes
are the necessary variables necessary to build the port.  It guesses the
work source directory, what the Makefile is called, whether it has
configure, whether to use libtool, and other bits such as wildly
guessing kde, qt, gtk, gnome, and ssl requirements.  Run it in a port
directory, and it generates Makefile.extr.

mkpmerge merges the results from mkpskel and mkpextr (and will later
merge the results from the other phases) into Makefile.

mkpclean cleans up any extra files that may be hanging about.
2000-10-14 02:45:49 +00:00
Will Andrews
ae9e3e2171 Since people don't seem to appreciate the fact that addport can do
automatic checking on their ports to be added, I'm removing it and its
overriding -v option.  Let the improper port additions continue, and screw
anyone who doesn't care about the repo.

Propelled by:	obrien, msmith
2000-10-11 00:14:00 +00:00
Maxim Sobolev
6ce7757a77 Ajust for a new world order (md5 --> distinfo). 2000-10-09 06:23:44 +00:00
Satoshi Asami
423990e4c2 Name change, files/md5 -> distinfo. (Only change is to message -- the
code actually detects both new and old errors.)

Expand the USE_XLIB case to include Xosdefs.h.
2000-10-09 01:37:22 +00:00
Satoshi Asami
37ee08a11b Hack this file beyond recognition to cope with both the old and new
mtree outputs.

Also change the title of the file from "List of extra files and
directories" to "List of files and directories that do not match their
mtree description", which is more accurate.
2000-10-06 07:32:42 +00:00
Satoshi Asami
ef88fdd4c1 Need to quote su -c command with ", not ' since I've got variables
in there (d'oh!).
2000-10-06 07:31:19 +00:00
Satoshi Asami
884508eff0 Typo (/etc/portbuild -> /var/portbuild). 2000-10-06 07:30:25 +00:00
Satoshi Asami
e93b21fc89 Comment out OSREL settings -- these are taken from /usr/bin/uname
in the chroot dirs (which is a hacked version) anyway.
2000-10-06 07:29:56 +00:00