1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-30 21:49:25 +00:00
Commit Graph

172 Commits

Author SHA1 Message Date
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
Will Andrews
65d5ba399c Use -t flag with portlint.
Submitted by:	trevor
2000-10-04 03:58:52 +00:00
Will Andrews
6e07bc037c Fix bogon where replies were not chomp()'d.
Submitted by:	knu
2000-10-01 15:37:22 +00:00
Satoshi Asami
bafaa911bf Detect two more failures -- fetch timeout and runaway process (which is
really a make package timeout without output).
2000-09-29 11:27:19 +00:00
Satoshi Asami
68bad8cfd6 Don't delete modules, it might be needed. 2000-09-27 03:45:23 +00:00
Satoshi Asami
b139324d13 Read in configuration variables from /var/portbuild/portbuild.conf. 2000-09-27 01:43:32 +00:00
Satoshi Asami
0d088a094b Pull in configuration variables from /var/portbuild/portbuild.conf.
/var/portbuild is the new designated home of the portbuild setup, and
is expected to be a symlink to wherever you choose to put the stuff.

Also, change reportload to use /var/portbuild to store temporary files.
Seems there are some bugs in the null mount code that make the files
inaccessible if you are using an NFS root.
2000-09-27 01:41:44 +00:00
Satoshi Asami
607ef25fb6 A configuration file where all options reside. 2000-09-27 01:31:17 +00:00
Satoshi Asami
b674158285 A little script to call "at" to copy the packages. 2000-09-27 01:04:37 +00:00
Satoshi Asami
a17437a871 Don't whack old packages, we have enough disk space to keep a few sets
around now.

Make a symlink "Makefile" so I don't have to "make -f ../../Makefile"
when I'm restarting an aborted build.

Print out pnohang messages along with ptimeout messages.

Count the number of jobs at the beginning of the second phase too.

Check integrity of packages at end with gzip -t.  Remove the ones that
don't pass the test.

Don't try to compare list of packages if there is no prior list to
compare with.

If the -norestr flag is given, copy the packages to the ftp site.
2000-09-27 01:03:17 +00:00
Satoshi Asami
85f9fecab1 Remove syslog message about a load file being empty -- I know it happens now. 2000-09-27 00:59:37 +00:00
Satoshi Asami
bf39c7d73a Make sure you're given the "start" argument before trying to start the script. 2000-09-27 00:58:31 +00:00
Satoshi Asami
c4b86368de Don't add packages that are already installed.
Use pnohang to catch make checksum (fetch) or make package (usually an
xemacs running away) that aren't making any progress.
2000-09-27 00:09:10 +00:00
Satoshi Asami
b57b6e5cd4 A little script to kill makes that haven't printed out any message in
a while (presumably because they are hanging or are in an infinite loop).
2000-09-27 00:05:22 +00:00
Satoshi Asami
de1b8b82a9 Change "grep *.log" to "find . -name '*.log' | xargs grep", the number of
logs were overflowing the argv array.
2000-09-26 23:51:04 +00:00
Satoshi Asami
c46666b5b6 Catch one more case of XFree86-4 manpage building error.
Mark ports that are already marked BROKEN (and don't build, predictably)
with a red "[B]" for people to see.
2000-09-26 23:49:45 +00:00
Satoshi Asami
e94549da79 Remove an extra message that only served to clutter the logs. 2000-09-26 23:44:35 +00:00
Satoshi Asami
82767949b8 Don't try to process logs twice by protecting this script with a lock file. 2000-09-26 23:43:09 +00:00
Satoshi Asami
68d197cd25 Add -t and -n flags to ssh. (-t flag suggested by: ps)
This seems to fix a lot of the hang problems to bump up the timeout from
5 hours to 12 hours.
2000-09-26 23:40:13 +00:00
Satoshi Asami
ea5f827cdf Change lock file name to "cppackages.lock" so it's clear it's a lock. 2000-09-26 23:36:35 +00:00
Satoshi Asami
411ba40b8e When NODUMMY is defined, set XFREE86_VERSION to 4 and MOTIF_OPEN to t.
These are for testing the split-up XFree86-4 ports and open-motif.
2000-09-26 23:35:36 +00:00
Satoshi Asami
cf84480637 Don't remove the distfiles from the backup directory -- the next
run of dopackages will take care of it.
2000-09-26 23:34:35 +00:00
Satoshi Asami
31fb70c70d Exit with error status in ${portbuild}/status when an error occurs.
Make INDEX build failure a fatal error.

Copy INDEX to INDEX-${branch} for later perusal.

There is no -a flag in OpenSSH's scp.

Use sed to remove /usr/ports and stuff from restricted.sh and
cdrom.sh, so they can be run without further modification using
relative directories.

Take more options, namely -norestr (don't build RESTRICTED ports),
-noplistcheck (turn off "extra files check"), and -nodummy (use
open-motif instead of Motif-dummy and XFree86-4-* instead of
XFree86-3).  -nodummy will become the default soon.  Also a new flag
-nocvs will prevent cvs update on ${branch}/src only (while -nocvsup
will prevent cvsup and cvs update on usr/ports).  -nocvs is to be used
when builds for more than one branch shares a same cvsup session.

Write out time cvsup is done so it can be used by log processing
scripts.

Handle dummy ports by using a more generic approach -- list the
directories they reside in (e.g., x11-toolkits/Motif-dummy) and
generate the package name from there, instead of hardcoding them
package names everywhere.  Hopefully this will go away when we get rid
of the special case handling for Motif and XFree86.

Add something called "quickports" -- these are packages with very long
dependency lists that always seem to throttle the parallel build near
the end.  By spelling them out explicitly, try to make make build
dependencies for them earlier while there are a lot of other stuff to
do.  (Our make doesn't do anything with the target list, but maybe I
can fix that someday.)

Copy bindist.tar to clients before the second run of package build
too.  It can be useful to "sneak" in fixes if something minorly wrong
is discovered in the bindist during the first run.  Since there is a
md5 checking, this copying will not be done unless the files are
actually different.

When -norestr is set, delete restricted packages and distfiles using
restricted.sh immediately after completion of package build.

Generate CHECKSUM.MD5 after packages are built.

Copy distfiles over to the ftp site after everything is done.  This is
run in the background on bak/distfiles so the next package build can
immediately start.
2000-08-29 08:51:57 +00:00
Satoshi Asami
03914a93bd Split build into two phases, checksum and package, and copy the
distfile to the server right after checksum.  This will make it
possible to "harvest" distfiles even for ports that don't currently
build.  (This was a reason for a lot of distfiles being lost in the
past -- someone commits a broken port, distfile doesn't get fetched to
ftp.FreeBSD.org since package doesn't build, and distfile is gone from
the master site before the port is fixed.)  This also enables more
efficient sharing of distfiles since we can set MASTER_SITE_OVERRIDE
to the port build server and have a better chance of finding the
distfiles there.

Instead of using a simple make package | tee, redirect the output of
make package into a separate log file and concatenate it later.  For
some reason, the gconf build always hangs after the build succeeds
(tee doesn't exit).

Handle the new arguments (-norestr for NO_RESTRICTED, -noplistcheck
for NOPLISTCHECK and -nodummy for NODUMMY) by converting them to
environment variables.

Add the branch=5 case.  Run ldconfig on /usr/lib/compat too.
2000-08-29 08:33:05 +00:00
Satoshi Asami
fcb5d2b7fe Instead of doing a pwd | grep (duh!) to find the branch we are
building ports for, pass it as an argument.

Pass NO_RESTRICTED, NOPLISTCHECK and NODUMMY to ssh as flags when said
environment variables are set.
2000-08-29 08:25:14 +00:00
Satoshi Asami
5fc1b924f9 The errors and logs are now in the archive directory named
[ae].${branch}.${date}, and "logs" and "errors" are just symlinks to
them.
2000-08-29 08:23:42 +00:00