Skip to content

Conversation

@sebrowne
Copy link
Contributor

@sebrowne sebrowne commented Oct 30, 2025

Motivation

The following Trilinos packages have been scheduled for removal and are ready to be removed:

  • Amesos
  • AztecOO
  • Epetra
  • EpetraExt
  • Ifpack
  • Intrepid
  • Isorropia
  • ML
  • NewPackage
  • Pliris
  • PyTrilinos
  • ShyLU_DDCore
  • ThyraEpetraAdapters
  • ThyraEpetraExtAdapters
  • Triutils

This PR takes the following general approach:

  1. Mark all of the deprecated packages as ALLOW_MISSING. This sets the stage for removing the package code, in which case TriBITS will stop automatically enabling them under most circumstances.
  2. Remove the deprecated packages and subpackages. Now that the deprecated packages directories are missing, TriBITS will set the appropriate variables that tell any downstream packages to disable support for the removed packages. Note that this is NOT the case for subpackages, so we also remove the declaration of shylu_dd/core manually (which seems to be safe enough in my manual testing, though we are now bypassing the behavior where TriBITS will correctly set the appropriate variables related to that subpackage).
  3. Update packages used for tests/examples in unit tests (a deprecated package was used as a sample EX package).
  4. Remove checks related to deprecated packages (the one that checks and halts people from modifying deprecated packages specifically).

Related Issues

https://sems-atlassian-son.sandia.gov/jira/browse/TRILFRAME-718

Stakeholder Feedback

Tagging Trilinos leadership to get eyes on this ASAP. Will also send an announcement out to the mailing list to get as many package maintainers’ eyes on the changes as possible.

Testing

A full build/test passed with both GCC and GCC + OpenMPI.

@sebrowne sebrowne added the AT: WIP Causes the PR autotester to not test the PR. (Remove to allow testing to occur.) label Oct 30, 2025
@sebrowne sebrowne requested review from a team as code owners October 30, 2025 16:59
@github-actions
Copy link

CDash for AT1 results [Only accessible from Sandia networks]
CDash for AT2 results [Currently only accessible from Sandia networks]

@sebrowne sebrowne added the AT2-SpecialApprove (Beta) Special approval label for AT2. label Nov 4, 2025
@sebrowne sebrowne requested review from a team as code owners November 5, 2025 21:30
@sebrowne sebrowne force-pushed the remove-deprecated-packages-only branch from 73b6d69 to 29d7242 Compare November 5, 2025 21:50
Want to ensure that TriBITS _cannot_ enabled any deprecated packages now
that they are deleted.  Could cause issues if variables such as
`<package>_ENABLE_<deletedPackage>` are dereferenced since TriBITS will
no longer define those.

Signed-off-by: Samuel E. Browne <[email protected]>
Calling the optional-dependency disablement causes us to hit an
assert_defined() that is false, so remove it as redundant anyway now
that deprecated packages (specifically Epetra here) are removed.

Signed-off-by: Samuel E. Browne <[email protected]>
Stratimikos reaches into Amesos (naughty), so ensure that is guarded by
an enablement of Amesos.

Also ifguard a test that uses that matrix file.

Signed-off-by: Samuel E. Browne <[email protected]>
I don't know if the other approach I used
(`tribits_allow_missing_external_package()`) works for subpackages, so
modify the code to remove the declaration "early".  As long as nothing
else uses package variables from shylu_dd/core, this should be perfectly
safe (and it passed my local GCC + OpenMPI build and test run).

Signed-off-by: Samuel E. Browne <[email protected]>
Scrub dependencies on deprecated packages from any
non-deprecated package's `Dependencies.cmake` file.

This helps prevent issues where TriBITS could try to enable a
nonexistant package or complain about one during configure.

Signed-off-by: Samuel E. Browne <[email protected]>
Set TriBITS variables for dependencies on deprecated packages to be
`OFF` to get around any
`assert_defined(<packageName>_ENABLE_<deprecatedPackageName>)`
statements lying around in non-deprecated packages.

Also set the global enables (e.g.
`Trilinos_ENABLE_<deprecatedPackageName>`) in case packages are using
them either.

Signed-off-by: Samuel E. Browne <[email protected]>
Since NewPackage is being removed.

Signed-off-by: Samuel E. Browne <[email protected]>
Deprecated packages are gone!

Signed-off-by: Samuel E. Browne <[email protected]>
@sebrowne sebrowne force-pushed the remove-deprecated-packages-only branch from 29d7242 to 18ea19f Compare November 24, 2025 21:54
@sebrowne sebrowne added AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed 17.0 release note AT2-SpecialApprove (Beta) Special approval label for AT2. and removed AT: WIP Causes the PR autotester to not test the PR. (Remove to allow testing to occur.) AT2-SpecialApprove (Beta) Special approval label for AT2. labels Nov 24, 2025
@sebrowne sebrowne changed the title Draft: Remove deprecated packages only Remove deprecated packages only Nov 24, 2025
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Using Repos:

Repo: TRILINOS (sebrowne/Trilinos)
  • Branch: remove-deprecated-packages-only
  • SHA: 18ea19f
  • Mode: TEST_REPO

Pull Request Author: sebrowne

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED

Pull Request Auto Testing has PASSED (click to expand)


CDash Test Results for PR# 14637.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
WARNING: NO REVIEWERS HAVE BEEN REQUESTED FOR THIS PULL REQUEST!

@trilinos-autotester
Copy link
Contributor

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

Copy link
Contributor

@cgcgcg cgcgcg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ cgcgcg ]!

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged

@trilinos-autotester
Copy link
Contributor

Cannot Merge Pull Request# 14637: Github Mergeability = blocked; Git Mergeable = True

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged

@trilinos-autotester
Copy link
Contributor

Cannot Merge Pull Request# 14637: Github Mergeability = blocked; Git Mergeable = True

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged

@trilinos-autotester
Copy link
Contributor

Cannot Merge Pull Request# 14637: Github Mergeability = blocked; Git Mergeable = True

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged

@trilinos-autotester
Copy link
Contributor

Cannot Merge Pull Request# 14637: Github Mergeability = blocked; Git Mergeable = True

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged

@trilinos-autotester trilinos-autotester merged commit 5594438 into trilinos:develop Nov 25, 2025
18 of 20 checks passed
@trilinos-autotester
Copy link
Contributor

Merge on Pull Request# 14637: IS A SUCCESS - Pull Request successfully merged

@trilinos-autotester trilinos-autotester deleted the remove-deprecated-packages-only branch November 25, 2025 04:18
@trilinos-autotester trilinos-autotester removed the AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed label Nov 25, 2025
@mperego
Copy link
Contributor

mperego commented Nov 25, 2025

Woo. It happened at last! Thanks all for working on this.

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

Labels

17.0 release note AT2-SpecialApprove (Beta) Special approval label for AT2.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants