ghostbsd / issues

Issue tracker for GhostBSD
BSD 2-Clause "Simplified" License
2 stars 1 forks source link

Create "software-properties-station" tool to manage package repositories. #67

Open ericbsd opened 3 years ago

ericbsd commented 3 years ago

Description:
This ticket focuses on starting the development of a tool called software-properties-station, which will provide functionality similar to Ubuntu's software-properties. Initially, the tool will only manage the package repositories for the system.

Scope:

Initial Functionality:

Acceptance Criteria:

  1. Repository Listing
    The tool can list all available package repositories (e.g., official, custom, or third-party) found in /usr/local/etc/pkg/repos/.

  2. Repository Enabling/Disabling
    The tool can enable or disable specific repositories by copying the correct configuration files to /usr/local/etc/pkg/repos/.

  3. CLI Interface
    A command-line interface (CLI) is available to interact with the tool, allowing the user to list, enable, or disable repositories easily.

  4. Port Creation
    A port is created for software-properties-station so that the tool can be installed and managed through the package system.

ghost commented 3 years ago

Is this a standalone application or part of software station?

ericbsd commented 3 years ago

It is standalone, because it can be used for both Software Station and Update Station.

ericbsd commented 10 months ago

issue moved from ghostbsd/ghostbsd-src to ghostbsd/issues

repent-or-perish commented 1 month ago

https://github.com/repent-or-perish/PkgRepoSelector

I created this package repository change tool. It works as both a gui and cli tool.

ericbsd commented 1 week ago

I have updated the description.

vimanuelt commented 5 days ago

I would suggest removing the requirement to depend on default configurations found in /usr/local/etc/pkg/repos. Instead, we could have the application define what the correct configuration should be, then apply the correct setting to the appropriate file. The reason for this would be to prevent tampering or user misconfiguration.

Here is an example of how the application could define the correct configuration.

!/usr/bin/env python3.11

def load_repos(): repos = { "GhostBSD_Unstable": ("http://pkg.ghostbsd.org/unstable/${ABI}/latest", "http://pkg.ghostbsd.org/unstable/${ABI}/base"), "GhostBSD_CA": ("https://pkg.ca.ghostbsd.org/stable/${ABI}/latest", "https://pkg.ca.ghostbsd.org/stable/${ABI}/base"), "GhostBSD": ("https://pkg.ghostbsd.org/stable/${ABI}/latest", "https://pkg.ghostbsd.org/stable/${ABI}/base"), "GhostBSD_FR": ("https://pkg.fr.ghostbsd.org/stable/${ABI}/latest", "https://pkg.fr.ghostbsd.org/stable/${ABI}/base"), "GhostBSD_NO": ("http://pkg.no.ghostbsd.org/stable/${ABI}/latest", "http://pkg.no.ghostbsd.org/stable/${ABI}/base"), "GhostBSD_ZA": ("https://pkg.za.ghostbsd.org/stable/${ABI}/latest", "https://pkg.za.ghostbsd.org/stable/${ABI}/base") } return repos

vimanuelt commented 5 days ago

I have made a working prototype named "software-properties-station" at https://github.com/vimanuelt/software-properties-station

ericbsd commented 5 days ago

We could bring that in.

ericbsd commented 5 days ago

Here is the repository https://github.com/ghostbsd/software-properties-station

vimanuelt commented 5 days ago

Thanks. I submitted a PR for the initial commit of the working prototype.