Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for CONFLICTS #84

Closed
zi0r opened this issue Aug 9, 2018 · 10 comments
Closed

Add support for CONFLICTS #84

zi0r opened this issue Aug 9, 2018 · 10 comments

Comments

@zi0r
Copy link

zi0r commented Aug 9, 2018

It would be neat to see the conflicts for ports and be able to follow links to ports that match the expression.

You would want to support parsing:

CONFLICTS, CONFLICTS_INSTALL and CONFLICTS_BUILD

@zi0r
Copy link
Author

zi0r commented Aug 9, 2018

Example port

@dlangille
Copy link
Contributor

I really like this idea. My first reading is that CONFLICTS contains the PKG_NAME value, which is already stored in the database. Should be very straight forward to do this.

I think it's a great idea.

@zi0r
Copy link
Author

zi0r commented Aug 9, 2018

Plot twist: CONFLICTS variables can contain wildcards and regexy-type things.

Example:
[0-9]*

@dlangille
Copy link
Contributor

dlangille commented Aug 9, 2018

From https://svnweb.freebsd.org/ports/head/Mk/bsd.port.mk?view=markup#l436

# CONFLICTS             - A list of package name patterns that the port conflicts
#                                 with, separated by blanks.  The names may include shell
#                                 pattern meta-characters "*", "?", "[", "]", and "!".
#                                 Example: apache*-1.2* apache*-1.3.[012345] apache-*+ssl_*
#
# CONFLICTS_BUILD
#                               - Check conflict prior to the build.
#
# CONFLICTS_INSTALL
#                               - Check conflict prior to the installation stage.

See also https://www.freebsd.org/doc/en/books/porters-handbook/conflicts.html

@dlangille
Copy link
Contributor

Your task: find out if the field contains a regex or not. Using php.

@dlangille
Copy link
Contributor

dlangille commented Aug 14, 2018

These three new columns with each contain their respective values obtained directly from the Makefile via:

make -V CONFLICTS -V CONFLICTS_BUILD -V CONFLICTS_INSTALL

For example:

# make -V CONFLICTS -V CONFLICTS_BUILD -V CONFLICTS_INSTALL -f Makefile PORTSDIR=/var/db/repos/PORTS-head                       
bacula5-server-*


Column creation:

$ psql freshports.dev
psql (10.5)
Type "help" for help.

freshports.dev=# begin;
BEGIN
freshports.dev=# ALTER TABLE ports ADD COLUMN conflicts TEXT;
ALTER TABLE
freshports.dev=# ALTER TABLE ports ADD COLUMN conflicts_build TEXT;
ALTER TABLE
freshports.dev=# ALTER TABLE ports ADD COLUMN conflicts_install TEXT;
ALTER TABLE
freshports.dev=# commit;
COMMIT
freshports.dev=# 

@dlangille
Copy link
Contributor

Linking to the discussions on the mailing lists:

https://lists.freebsd.org/pipermail/freebsd-ports/2018-August/114084.html

dlangille added a commit that referenced this issue Sep 17, 2018
@dlangille
Copy link
Contributor

I see conflicts listed at https://www.freshports.org/sysutils/bacula9-server/

See also #103

@grahamperrin

This comment was marked as resolved.

@dlangille
Copy link
Contributor

Done. Example: https://dev.freshports.org/sysutils/bacula13-server/#conflicts and I added a tag for it.

I also added in a new tag: https://dev.freshports.org/sysutils/bacula13-server/#pkg-plist

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants