Because the $FreeBSD$ keyword isn't expanded in the new version, we can't
just do a diff, check the return value and ignore the output.
Every new modules file, changed or not with regarding to the contents,
has at least four lines in the diff output (line number, old line,
seperator, new line). Only commit it if there are more than four
lines difference between it.
- added -c, doesn't change anything
- added -n, deal with an already checkouted tree
- removed negative logic in favor of 'unless'
- switch to 3 arg form of open()
- don't use globs for filehandles, this is been obsolete
since at least 5.6.1
- handle possible errors in close()
- allow CVSROOT to be overriden in the ENV
PR: ports/125025
Submitted by: "Philip M. Gollucci" <pgollucci@p6m7g8.com>
lines has 3 spaces before SUBDIR word and all other categories has 4.
I've asked pav@ if there is a default format of category Makefiles and he said
the number of spaces doesn't matter, so, i fix addport to respect the current
number of spaces and/or tabs the file has.
Reported by: miwi, erwin
- check if an installed libtool records dependencies recursively and
print a warning if it does
currently it prints the warning on every system which has libtool
installed from ports (only my local version doesn't do this, the
version in the ports is not correctly patched for this, a patch
similar in complexity (= simple) like the ltdl.m4 one in the
libtool-port-patch-directory is needed)
- enhance the regex which is responsible to not print a dependency to
the port we are just checking
- add a work in progress (not executed) to collapse the USE_* which
can have more than one value
neededlibs.sh:
- we also care about shared libs
resolveportsfromlibs.sh:
- take care about USE_OPENSSL, USE_EFL, USE_GL, USE_FAM, USE_OPENLDAP,
USE_SDL
- search in the "ldconfig -r" output if we can not find the lib ourself
- a better way of getting the first part of the LIB_DEPENDS stuff
(lib/libXYZ.so can be specified now too)
- some line wrapping + whitespace
- print the origin for the USE_* too (except USE_OPENSSL), so an user
can make some sanity checks and the explicit_lib_depends.sh can DTRT
if we check the USE_* port itself
- warn if we can not determine the right component (can happen for XORG)
unambiguously.
dependencies of a port:
neededlibs.sh
Extract direct library dependencies (filenames) from binaries.
resolveportsfromlibs.sh
Prints the name(s) of ports(s) given a library filename,
suitable for direct use (copy&paste) in LIB_DEPENDS.
Example usage is included in the scripts. The following combined usage may
be helpful for further porting/testing automation:
resolveportsfromlibs.sh -b /usr/local $(neededlibs.sh /test/bin/*)
Requested by: kris, lofi (sort of)
bsd.commands.mk and can be easily reused within the infrastructure.
- Revert old DESTDIR implementation.
- Add a new, fully chrooted DESTDIR implementation as bsd.destdir.mk.
Sponsored by: Google Summer of Code 2007
Approved by: portmgr (pav)
with very long arguments (>400000 characters).
The problem reveals for example if
/usr/ports/Tools/scripts/rmport -d print/ghostscript-gnu
is executed - it does
printf "%s\n" "... 451109 chars ..."
Spotted by: rafan
and continue with removal anyway. Requested by miwi@
* Pipe dependencies information (if any) through a PAGER because INDEX lines
are very long and hard to read when wrapped
This script can sometimes take several hours to run on builder,
and thus leading to confusing of why it still reports an error
that was fixed in cvs some time ago. Including the time when
the ports tree was updated should reduce some of this confusion.
to be removed, possibly with the expiration date and deprecated reason
* If port is not marked for expiration than put "Removed" in ports/MOVED
entry instead of "Has expired"
* Implement -a option to remove all expired ports
* Ask if the cvs diff output should be recreated/reviewed again thus
giving the committer a chance to edit files by hand and view diff
results afterwards
* Cosmetic changes
This commit should largele be a NOOP as it only adds support
for DESTDIR undefined. This does allow us to start testing
ports with DESTDIR set, but this is as of yet not supported.
Although this has been extensively tested on pointyhat, this
is a very intrusive change and some cases may have been
overlooked. Please contact Gabor and me if you find any.
PR: 100555
Submitted by: gabor
Sponsored by: Google Summer of Code 2006
${FILESDIR} which look like patches be treated as binary files. This
prevents RCS tags in patch fragments causing a problem for CVS.
Approved by: garga (maintainer),
ahze (mentor, implicit)
When copying INDEX to the server, copy it first to a staging area and
first then to the real location. The copying can take long enough for
users to get a truncated file when downloading during the upload.
time to add a new module. If you want to still use old way, just use
"-M freefall.FreeBSD.org" option
- Take addport maintainership
- When modulesupdate fail, ask user to retry
- Change modulesupdate to work fine with addport
Approved by: will (maintainer)
When removing category/port - look if other ports' Makefiles contain
`/port' rather than `category/port', since the later misses things
like `${.CURDIR}/../port'
on the contents of the distinfo files.
#
# Small tool to find distinfo with missing MD5/SHA256/SIZE statements,
# based on the assumption that if there is one of the MD5/SHA256/SIZE
# statements, then there should be all of them (except for SIZE
# when MD5/SHA256 is set to IGNORE).
#
# Usage: distinfochecker [-v] [-d directory]
# -v - verbose (print)
# -d - use directory instead of /usr/ports
#
portsvar.sh
- print out variable defined through bsd.port.mk
example:
% portsvar.sh PORTSDIR OSVERSION
PORTSDIR = /usr/ports
OSVERSION = 600034
% portsvar.sh -e "PORTS[^_]"
PORTSDIR = /usr/ports
PORTSSUPFILE = /usr/share/examples/cvsup/ports-supfile
% portsvar.sh USE_RUBY=yes RUBY_VER RUBY_ARCH
RUBY_VER = 1.8
RUBY_ARCH = i386-freebsd6
% portsvar.sh -w ruby RUBY_VER RUBY_ARCH
RUBY_VER = 1.8
RUBY_ARCH = i386-freebsd6
% portsvar.sh -w kde -e KDE_
KDE_MAINTAINER = will@FreeBSD.org
KDE_ORIGVER = ${KDE_VERSION}
KDE_PREFIX = ${LOCALBASE}
KDE_VERSION = 3.5.0
MASTER_SITE_KDE_kde = ${kmaster:S@%SUBDIR%/@@g}
% portsvar.sh -a
list all variables through bsd.port.mk
% portsvar.sh -a -w kde
list all variables through bsd.port.mk including kde
portsvar.sh is easy tool to check out the variables used in
/usr/ports/Mk/bsd.*.mk.
The ports tree contains many tools with almost-similar names
and no helpful pkg-descr difference. The goal of pkg-descr
would be to aid the user in his choice of port version.
Ergo, similar pkg-descr files are bad.
PR: ports/89432
Submitted by: Jonathan <afarsec@012.net.il>
of ports which are depending on a port with a changed shared lib version.
Edwin dedicates this script to his son Dirk, born few days ago :)
Congrats (again) !
PR: ports/63915
Submitted by: edwin
which are copied to www.freebsd.org for use by 'make fetchindex', as well
as the source of build failure reports on ports@FreeBSD.org when it is
broken.
- CC committers and maintainer [1]
- include affected ports in the subject line [2]
- do a CVS log of the version checked out [3]
Suggsted by: Ade Lovett <ade@FreeBSD.org> [1]
Bjoern A. Zeeb <bzeeb-lists@lists.zabbadoz.net> [2]
Pav Lucistnik <pav@FreeBSD.org> [3]
You can even get notified of version changes in your favourite
perl modules by setting
WATCH_REGEX='p5-.*'
Plus, it has a nice configurable nagging option.
- Does not execute unknown commands nor call sh(1) at all.
- Does not overwrite existing files by default.
- Does not extract files into upper directories.
- Does have a dry run (-n) flag to see what would have been extracted.
- Does have a strip (-p N) flag to strip any number of levels from
pathnames.
It (so far) only supports shell archives made with BSD shar.
also print the exact location of the file to checkout.
This is for those who rarely adds new ports and do not remember the
location of Additional FreeBSD Contributors article.
Approved by: will
Perl before, sometimes we would word wrap too soon. Now we should never
generate a line more than 72 characters long (but as close to 72 characters
long as we can without breaking up a word).
Approved by: will (maintainer)