Commit graph

265 commits

Author SHA1 Message Date
Stefan Eßer
9cf2f48781 Fix problem with debug output from export-flavor garbling the gen_dep_list
result. The solution is different from the patch suggested in the PR, since
the debug message was only meant to be used during early development of
flavors support. In my local development version of portmaster, all output
from pm_v is redirected to STDERR, but that change seemed to disruptive to
apply to the "published" version.

Unrelated changes: make pm_isdir_pd more robust and fix variable name of
BACKUP_FORMAT option in sample file.

PR:             225843
Reported by:    John Hein
Approved by:    antoine (implicit)
2018-02-12 13:34:20 +00:00
Stefan Eßer
a1927b5d83 Fix typo (missing dash in find argument list).
Reported by:	Martin Birgmeier
Approved by:	antoine (implicit)
2018-02-06 15:07:11 +00:00
Stefan Eßer
35cca48cbe Fix build for ports that have a LICENSE if DISABLE_LICENSES is defined.
The behavior of the ask-license target should be to silently succeed instead
of returning an error, IMHO, but I can test for this condition and skip the
ask-license phase in portmaster, too.

While here, I'm slightly simplifying the fix implemented in r460294.

PR:		225699
Submitted by:	dewayne@heuristicsystems.com.au
Approved by:	antoine (implicit)
2018-02-06 13:12:04 +00:00
Stefan Eßer
3452afb3c6 Fix a problem that could result in de-installation of a port that shares
a prefix of the package name with a new port to be installed. The cause of
this bug was that a pattern was applied without anchor at the end.

Testing revealed that "pkg info -x" ignores an anchor at the end of the
pattern (which might be a bug in pkg), therefore the output of the query
is now additionally filtered with egrep to obtain the desired result.

PR:		225496
Reported by:	Martin Birgmeier
Approved by:	antoine (implicit)
2018-01-29 12:22:04 +00:00
Stefan Eßer
433569dcae Print different action list text for packages that are not going to be
installed (e.g. for make targets "extract", "patch" or "stage" in build
dependencies).
Limit depth of search for empty directories to reduce the scan time if
there are non-empty work directory sub-trees.
Add package format parameters to rc.sample file.

Approved by:	antoine (implicit)
2018-01-28 20:22:04 +00:00
Stefan Eßer
ba1f4c6e0b Fix previous commit (r459202) which introduced dependencies that specify
an optional make target. The patch file contained 2 typoes ("{$" instead
of "${").

Add clean phase for dependencies that are not installed but required when
the dependent port is built (e.g. because of references to source files of
that port, or because of static linking against libraries in the stage area
of such a dependency).

Approved by:	antoine (implicit)
2018-01-17 22:43:24 +00:00
Stefan Eßer
06c8fff860 Add support for dependencies specified with a non-standard make target.
This is required for e.g. net/openntpd, which links against static libressl
libraries in that port's staging area.

In case of a port that is not fully installed, there is no clean phase for
the dependency's port directory. The dependency tracking does not maintain
the necessary state to perform this cleanup when the depending port is
finished.

PR:		213887
Reported by:	blackmore@pichove.org (Simeon Simeonov)
Approved by:	antoine (implicit)
2018-01-16 18:49:38 +00:00
Stefan Eßer
16ccc729a8 Test privileges early and complain if privileges are insufficient.
The patch is based on ideas presented in the PR, but implemented
differently. Re-open the PR, if this solution has unexpected side-effects
or proves insufficient.

PR:		174729
Reported by:	ngie
Approved by:	antoine (implicit)
2018-01-16 18:43:27 +00:00
Stefan Eßer
e98261f04c Update to version 3.19, which is identical to 3.18_12 with all port patches
applied.

Approved by:	antoine (implicit)
2018-01-14 22:11:02 +00:00
Stefan Eßer
8aa3f3c610 Fix display of license acceptance menu if build logs are hidden with -H.
PR:		206738
Reported by:	torsten.eichstaedt@web.de
Approved by:	antoine (implicit)
2018-01-12 21:59:51 +00:00
Stefan Eßer
0760c3485f Fix problem with ports being converted from a non-flavored to a flavored
version, if PYTHON3_DEFAULT is set to anything but 3.6. Since the MOVED
file sets the new origin and flavor such that a Python-3.6 compatible
package is built, the original Python version for this port is ignored.

Reported by:	lev
Approved by:	antoine (implicit)
2018-01-11 13:48:12 +00:00
Stefan Eßer
1b59f47ce0 Small fix for directory accesses in find_dl_distfiles, which did not take
the optional flavor part of the passed argument into consideration.

Approved by:    antoine (implicit)
2018-01-11 12:29:24 +00:00
Stefan Eßer
590891ba8e Generally path FLAVOR via the environment, not the "make" command line, to
circumvent a check for an empty FLAVOR parameter being passed to certain
ports.

Reported by:	Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
Approved by:	antoine (implicit)
2018-01-09 12:35:47 +00:00
Stefan Eßer
d99781ac9c Fix version number ... I have to remember to manually fix-up this string
before each commit and I'll whether I can create a pre-commit script that
checks this for me.

Reported by:    Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
Approved by:    antoine (implicit)
2018-01-06 22:43:20 +00:00
Stefan Eßer
8d0f0436f2 Remove spurious trace output left over from debugging.
Reported by:	Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
Approved by:	antoine (implicit)
2018-01-06 10:15:17 +00:00
Stefan Eßer
910a40dd86 Fix pm_islocked function, which could lead to a spurious error message if
used for a port that is not found in the package database.

Reported by:	Tatsuki Makino <tatsuki_makino@hotmail.com>
Approved by:	antoine (implicit)
2018-01-03 11:10:33 +00:00
Stefan Eßer
b47f5eb864 Add undocumented option --package-format=<fmt>. I'm not sure, that this is
a useful feature, and the txz-format is currently hard-wired in a lot of
places in portmaster, but there has been a request to allow creation of
packages in a non-standard archive format.

Approved by:	antoine (implicit)
2018-01-02 22:44:39 +00:00
Stefan Eßer
dc24a9071d Fix package name: the pattern that gets replaced with the actual version
string at build time had been replaced by a version string from a test
version.

Reported by:	herbert@gojira.at (Herbert J. Skuhra)
Approved by:	antoine (implicit)
2018-01-02 14:26:20 +00:00
Stefan Eßer
e74eb8af18 Increment PORTREVISION, forgotten in previous commit.
Approved by:	antoine (implicit)
2018-01-02 14:05:09 +00:00
Stefan Eßer
177c5fb794 Add --backup-format=<fmt> option to allow faster creation of package
backups with no or less compression than the default of "txz" provides.

Support for different archive format for packages in general could be
provided, but not added at this time, since I'm not convinced that this
would be a useful feature (please let me know, if you disagree ...).

Approved by:    antoine (implicit)
2018-01-02 14:03:35 +00:00
Stefan Eßer
05fc103eac ----------------------------------------------------------------------------
Fix spelling of OPTIONS_FILE.

Approved by:	antoine (implicit)
2017-12-30 22:14:58 +00:00
Stefan Eßer
1525eb96a8 Bump PORT_REVISION, forgotten in previous commit.
Approved by:	antoine (implicit)
2017-12-29 22:14:24 +00:00
Stefan Eßer
81e1fde0e0 Fix regression in kill_bad_children: add missing $ before progcmd ...
Approved by:	antoine (implicit)
2017-12-29 22:13:22 +00:00
Stefan Eßer
2327d5967a Fix installation from local or remote package including the --packages-build
case. Partially based on patches supplied by Alexander Leidinger.

Reported by:	phk, netchild
Approved by:	antoine (implicit)
2017-12-23 16:36:51 +00:00
Stefan Eßer
1e72c927a7 Add PKG_DEPENDS, EXTRACT_DEPENDS, PATCH_DEPENDS and FETCH_DEPENDS to the
make_dep_list function when called with parameter build-depends-list or
all-depends-list.

Reported by:	phk
Approved by:	antoine (implicit)
2017-12-21 21:44:45 +00:00
Baptiste Daroussin
b1b7d0d33d Remove useless MASTER_SITES entries 2017-12-21 09:14:45 +00:00
Stefan Eßer
5d83816bc6 Update to version 3.18, which already contains all patches required for the
previous version.

Approved by:    antoine (implicit)
2017-12-21 09:11:48 +00:00
Stefan Eßer
aa82bf23b9 Patch package version into the port and install man-page with patched path
for non-standard LOCALBASE. The port used to patch the man-page, but then
installed the unpatched version.

Approved by:	antoine (implicit)
2017-12-21 08:25:55 +00:00
Stefan Eßer
d0a5a6f380 Fix execution of portmaster in a port directory without any port or package
parameters.

Reported by:	lenzi.sergio@gmail.com
Approved by:	antoine (implicit)
2017-12-20 20:05:27 +00:00
Stefan Eßer
6d8a3ed3c9 Add flavor support to routines that convert port origins to shell variable
names. The character '@' is illegal in such names and must be converted to
a legal character same as [-+./].
remobve post processing of "pkg check -dn" output, which was a left-over
from pre-PKG_NG times.

Reported by:	koobs (invalid @), tatsuki_makino@hotmail.com (pkg check)
Approved by:	antoine (implicit)
2017-12-20 12:17:46 +00:00
Stefan Eßer
9d15f65803 Add back local package installation support, which was disabled for PKG_NG.
The patch attached to PR 181450 did no longer apply cleanly, therefore I
edited portmaster to follow the intent and in part the letter of the patch.
This patch should not affect port building in any way. I have no use for
the feature (and I'm still considering to completely remove support for the
installation of packages in portmaster), and therefore did not test that
it performs as expected by the submitter.

PR:		181450
Submitted by:	rozhuk.im@gmail.com
Approved by:	antoine (implicit)
2017-12-19 12:25:34 +00:00
Stefan Eßer
f3376fc92a Add all-depends-list case required for portmaster -t.
Approved by:	antoine (implicit)
2017-12-18 22:22:07 +00:00
Stefan Eßer
3a223ed53d Remove stray double-quote character left from an incomplete edit of that
line (result of directly editing the patch for a trivial change ...)

Approved by:	antoine (implicit)
2017-12-17 13:36:53 +00:00
Stefan Eßer
134638cb8f Add LIB_DEPENDS to dependencies relevant for installation of a package.
Approved by:	antoine (implicit)
2017-12-17 13:32:28 +00:00
Stefan Eßer
0020f526a7 Add support for ports that have been upgraded with a change of both
origin and package name (sans version), as was the case for e.g. the
lang/cython3 port, which was moved to lang/cython@py36 with a package
name change from cython3-$version to py36-cython-$version.

Approved by:	antoine (implicit)
2017-12-17 13:01:28 +00:00
Stefan Eßer
29314a7c31 Fix query for package to be replaced: This could lead to a wrong package
being identified and replaced when the new package is installed.

Add library dependencies to the list of build dependencies to consider.

Reported by:	Robert Huff
Approved by:	antoine (implicit)
2017-12-16 15:17:58 +00:00
Stefan Eßer
f87a111e76 USe correct origin in multiport case (several packages specified on the
command line, which is different from passing "-a").

Reported by:	Robert Huff
Approved by:	antoine (implicit)
2017-12-16 14:05:37 +00:00
Stefan Eßer
c934c7e3e4 Add another check for a flavor passed attached to the port directory.
Without this fix, the default flavor was built in specific situations.

Approved by:    antoine (implicit)
2017-12-15 21:01:14 +00:00
Stefan Eßer
df010168c9 Fix patch: The patch had been created from the version used to debug the
previous version's problem and I forgot to
Fix shbang: Remove the -x that had been added for debugging.

Reported by:    (Walter Schwarzenfeld) w.schwarzenfeld@utanet.at
Approved by:	antoine (implicit)
2017-12-15 20:13:38 +00:00
Stefan Eßer
912a5ef5ef Fix regression: The find_new_port function is now invoked from an earlier
place than before flavor	support	was added. Move	its definition to an
appropriate place.

Silence	one pkq	query command that may be called for a non-existing
package	name.

Approved by:    antoine	(implicit)
Reported by:	Milan Obuch, Paul Beard
2017-12-15 17:55:49 +00:00
Stefan Eßer
606a3cac9d Add flavor support to portmaster. This version has been lightly tested and
supports upgrades from non-flavored port versions based on the information
in the MOVED file.

For initial installations of flavored ports, the flavor must be specified
as part of the port origin, e.g. "devel/py-py@py36" for the Python-3.6
version of that port. Dependent ports will automatically be installed with
the correct flavor passed via the dependency mechanism.

It is planned to add a --flavor option to ease flavor selection for ports
that are initially installed with portmaster.

Approved by:	antoine (implicit)
2017-12-14 20:32:26 +00:00
Torsten Zuehlsdorff
b27126764f ports-mgmt/portmaster: Pass maintainer-ship to se@
Stefan will continue to maintain portmaster.
2017-12-08 14:00:02 +00:00
Bryan Drewery
99b5ee1ef7 - Update to 3.17.10
Fixes --clean-distfiles trying to read in base/ [1]
  Saves port failures to TMPDIR/portmasterfail.txt [2]

PR:		212376 [1]
Reported by:	wblock [1]
Tested by:	wblock [1]
Submitted by:	Torsten Zühlsdorff <t.zuehlsdorff@anymotion.de> [2]
2017-02-03 22:12:53 +00:00
Stefan Eßer
4af2489d71 Fix "portmaster --check-port-dbdir" broken by the previous commit. While
the variable $unique_list was created with identical content, its value was
only set within the implicit sub-shell (2nd command in a pipe) and lost on
exit from the while loop.

Reported by:	Jakub Laach
2016-07-24 14:21:13 +00:00
Stefan Eßer
2571fabfb8 Bump PORTREVISION to have portmaster be re-installed with the fix commited
as SVN rev. 418619.

Reported by:	Herbert J. Skuhra (herbert at mailbox.org)
2016-07-16 13:03:56 +00:00
Stefan Eßer
2ef23fbf21 A read lock on the sqlite file used by pkg can lock out writers for
indefinite amounts of time, preventing installation or upgrade of
ports with portmaster.  Instead of using a pipe to read pkg query
input to be consumed by a shell loop, buffer the query result in a
shell variable and let the loop iterate over the contents of this
variable.

While here, use a call to all_pkgs_by_origin() instead of an inline
versin of equivalent code.

Reviewed by:	tz
Approved by:	tz
2016-07-16 07:13:24 +00:00
Torsten Zuehlsdorff
fa23faa40b Change MAINTAINER from ports@toco-domains.de to tz@FreeBSD.org
Approved by:	junovitch (mentor)
2016-06-10 09:08:02 +00:00
Adam Weinberger
591a0e0dea Enable BASH and ZSH options (install their completions) by default.
Also, add NO_ARCH. PORTREVISION bump for pkg change.

PR:		207075
Submitted by:	maintainer
2016-03-04 16:50:48 +00:00
Mathieu Arnold
7176f4d377 Remove unneeded dependencies on bash and zsh.
With hat:	portmgr
Sponsored by:	Absolight
2016-02-12 15:46:04 +00:00
John Marino
182f4324d8 ports-mgmt/portmaster: Assign maintainership to Torsten Z.
Torsten has accepted the challenge of whipping portmaster back into
shape.  In addition to changing MAINTAINER, he's starting with fixing
both non-default options by providing their necessary RUN_DEPENDS.

PR:	207075
2016-02-10 18:41:02 +00:00