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

Open
zi0r opened this Issue Aug 9, 2018 · 7 comments

Comments

Projects
None yet
2 participants
@zi0r

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

This comment has been minimized.

Show comment
Hide comment
@zi0r

zi0r commented Aug 9, 2018

@dlangille

This comment has been minimized.

Show comment
Hide comment
@dlangille

dlangille Aug 9, 2018

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.

Contributor

dlangille commented Aug 9, 2018

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

This comment has been minimized.

Show comment
Hide comment
@zi0r

zi0r Aug 9, 2018

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

Example:
[0-9]*

zi0r commented Aug 9, 2018

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

Example:
[0-9]*

@dlangille

This comment has been minimized.

Show comment
Hide comment
@dlangille

dlangille Aug 9, 2018

Contributor

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

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

This comment has been minimized.

Show comment
Hide comment
@dlangille

dlangille Aug 14, 2018

Contributor

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

Contributor

dlangille commented Aug 14, 2018

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

@dlangille

This comment has been minimized.

Show comment
Hide comment
@dlangille

dlangille Aug 14, 2018

Contributor

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=# 
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

This comment has been minimized.

Show comment
Hide comment
@dlangille

dlangille Aug 20, 2018

Contributor

Linking to the discussions on the mailing lists:

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

Contributor

dlangille commented Aug 20, 2018

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment