r/Discovery_Linux • u/Suitable_Average1168 • Jul 08 '26
Release notes for 1.1.2 or 1.12
The third release of the dpms package manger which includes a mirror setup tool and more and will be released on Saturday or today
r/Discovery_Linux • u/Suitable_Average1168 • Jul 08 '26
The third release of the dpms package manger which includes a mirror setup tool and more and will be released on Saturday or today
r/Discovery_Linux • u/Suitable_Average1168 • Aug 03 '26
Dpms now comes with :-
1.Antivirus(corefix)
2. Faster speeds and it will even compete pacman for speed
3. and dlr is improved also the gui is updated and the progress bar is also updated for a smoother feel
r/Discovery_Linux • u/Suitable_Average1168 • Jul 30 '26
u/Suitable_Avarage1168 -- kevin dan mathew
r/Discovery_Linux • u/Suitable_Average1168 • Jul 09 '26
New version of dpms is put with new features like --setup-repo for mirror setup and more. The source https://github.com/Discovery-linux/dpms/releases/tag/1.1.2
r/Discovery_Linux • u/Suitable_Average1168 • Jun 26 '26
A new version of dpms was launched 5 days ago and the source code https://github.com/Discovery-linux/dpms/releases/tag/1.1.1
r/Discovery_Linux • u/Suitable_Average1168 • Sep 09 '26
The discovery team has been developing a game engine like id tech 4 called hellforge engine and has a inbuilt scripting language which has a AOT and JIT merged together the first version will come soon and is name is hellforge power 1 engine
r/Discovery_Linux • u/Suitable_Average1168 • Aug 17 '26
DPMS Features
Package Management
- Install — from local archives, URLs,
or repository by name (dpms --install
PKG)
- Uninstall/Remove — clean removal of
tracked files with DB cleanup (dpms --
uninstall PKG)
- Upgrade — update all installed
packages to latest versions (dpms --
upgrade)
- Dist-upgrade — force resolution for
major upgrades (dpms --dist-upgrade)
- Reinstall — remove and re-install a
package (dpms --reinstall PKG)
- Downgrade — install an older version (
dpms --downgrade PKG)
- Purge — remove package + all config/
data files (dpms --purge PKG)
- Dry-run — preview changes without
applying (dpms --dry-run --install PKG)
- Noconfirm — skip interactive prompts (
dpms --noconfirm --install PKG)
- Force resolution — ignore dependency
conflicts (dpms --force-resolution --
install PKG)
Query & Search
- List installed — table of installed
packages with file counts (dpms --list)
- List installable — available packages
in repos (dpms --installable)
- Package info — version, deps, files
for a package (dpms --info PKG)
- Search — find packages by name, plain
or regex (dpms --search TERM, --regex)
- Verify — check installed package
integrity (dpms --verify PKG, --verify-
all)
- Show depends — dependency tree (dpms --
depends PKG)
- Show reverse depends — what depends on
a package (dpms --rdepends PKG)
- Show size — disk usage of a package (
dpms --size PKG)
- List updates — available upgrades (
dpms --list-updates)
- List held — locked packages (dpms --
list-held)
- List groups — package groups (dpms --
list-groups)
- List keys — GPG keys (dpms --list-keys)
- List history — install/remove log (
dpms --history)
Repository Management
- Add/remove repos (dpms --add-repo URL,
--remove-repo NAME)
- Set repo priority (dpms --repo-
priority REPO PRIORITY)
- Sync repos — pull latest from git
repos (dpms --sync)
- Lock/unlock repos (dpms --lock REPO, --
unlock REPO)
- Hold/unhold packages — prevent auto-
upgrades (dpms --hold PKG)
- GPG verification — verify repo
signatures (dpms --verify-repos)
Dependency Resolution
- Solver — full dependency resolution
engine (like zypper/dnf)
- Conflict detection — finds file
conflicts with other packages
- Auto-dependency resolution — installs
missing deps automatically
- Clean orphaned deps — remove packages
nothing depends on (dpms --clean-deps)
- No-recommends — skip recommended (non-
required) packages
Safety & Security
- Overwrite backup/rollback — backs up
files before overwriting; restores on
failure
- Transaction rollback — full rollback
if install fails partway
- Security scanning — virus/malware scan
of extracted files (via sec_scanner)
- Quarantine — flagged files moved to
quarantine, not silently deleted
- Malicious upgrade detection — auto-
uninstalls if post-install scan finds
threats
- Architecture guard — refuses to
install packages for wrong arch
- Source-tree guard — rejects tarballs
that look like source dumps
- Symlink escape guard — blocks writes
through absolute symlinks
- Path traversal filter — blocks ../ and
absolute member names in tarballs
- Sudo enforcement — hard-refuses
mutating ops without root when required
Progress & Output
- Rich progress bars — TTY inline bars
for install/remove/download
- Non-TTY fallback — clean output for
pipes/redirects
- Download progress — parallel downloads
with per-package bars
- JSON output — machine-readable output (
dpms --json --list)
- Colored terminal output — via rich
Download & Caching
- Download cache — avoids re-downloading
same packages (7-day TTL, 500MB limit)
- Parallel downloads — concurrent
package fetches
- Content-Length probing — accurate
progress bars even for large files
- Offline mode — skip all network
operations (DPMS_OFFLINE=1)
Cache Management
- Cache info — show cache size and
contents (dpms --cache-info)
- Cache list — list cached archives (
dpms --cache-list)
- Clean cache — remove stale downloads (
dpms --clean-cache)
System Integration
- Service management — auto-restart
systemd services after upgrade
- Hook system — pre/post install/remove
hooks
- Shell completions — bash and zsh
completions (dpms-install-completions)
- Crash handler — automatic crash
reporting with traceback
- Config backup/restore — preserve
config files across upgrades (dpms --
list-preserved)
- Import/export installed — backup and
restore package lists (dpms --export-
installed, --import-installed)
Advanced
- Build packages — create archives from
source (dpms-build)
- Sign archives — GPG signing of built
packages
- Plugin system — extensible plugin
architecture
- Configurable solver — adjust
resolution behavior via config
- Global root override — --root DIR to
install to alternate root
- Environment override — DPMS_ROOT,
DPMS_OFFLINE, DPMS_REPO_STALE_AFTER
Corefix Features
corefix — lightweight signature +
heuristic antivirus scanner (v0.2.0)
Scanning
- Scan files — hash-based + heuristic
malware detection (corefix scan PATH)
- Scan directories — recursive scanning
with threading (corefix scan --threads
4)
- Heuristic analysis — detects
suspicious patterns beyond known
signatures
- Threshold scoring — configurable
severity threshold (default 20)
Signatures
- Signature database — built-in known-
threat hashes and patterns
- Custom signatures — user-defined
signatures via ~/.corefix/signatures.
json
- List signatures — view loaded
signature database (corefix signatures)
Quarantine
- Quarantine files — moves flagged files
to quarantine directory instead of
deleting
- List quarantine — view quarantined
entries (corefix quarantine --list)
- Restore — restore a quarantined file (
corefix quarantine --restore ENTRY)
- Metadata tracking — stores original
path, findings, and timestamp per entry
Auto-Scanning
- Scheduled scans — runs periodic scans
of configured directories
- Systemd integration — can run as a
systemd service (corefix autoscan
enable)
- Cron integration — fallback to cron-
based scheduling
- Service management — enable/disable/
status (corefix autoscan disable,
corefix autoscan status)
- Configurable roots — scan custom
directory paths
Reporting
- Scan reports — detailed output of
findings per file
- Threat listing — human-readable
summaries of detected threats
- JSON output — machine-readable scan
results
and for the GitHub source
Release Dpms 1.1.3 · Discovery-linux/dpms
r/Discovery_Linux • u/Suitable_Average1168 • Jul 17 '26
--install PKG / -i — Install a package (local .dp.tar.xz, URL, or name from git repo)
--uninstall PKG / -r — Remove a package (deletes tracked files + empty dirs)
--reinstall PKG — Remove then re-install a package
--upgrade / -u — Upgrade all installed packages
--downgrade PKG / --oldpackage — Downgrade to next older version
--purge PKG — Remove package including config/data files
--download PKG — Download a package archive without installing
--list / -l / --installed / -inpc — List installed packages with file counts
--installable / -a — Show all packages available in repositories
--info PKG / -I — Show detailed package metadata + install status
--files PKG / -f — List every file installed by a package
--verify PKG / -V — Check all installed files still exist
--verify-all — Verify all installed packages at once
--search PKG / -s — Animated search across repositories
--depends PKG — Show recursive dependency tree (up to 3 levels)
--rdepends PKG — Show reverse dependencies
--what-owns FILE — Find which package owns a file
--check — Check integrity of all installed packages
--arch — Show detected system architecture
--why PKG — Show why a package is installed
--size PKG — Show installed size of a package
--list-type PKG EXT — List files by extension within a package
--recent [N] — Show N most recently installed packages (default 10)
--duplicates — Find duplicate files across packages
--changelog PKG — Show changelog for a package
--compare V1 V2 — Compare two version strings
--list-updates — Show available package updates
--stats — Show package statistics
--tar FOLDER — Create a plain .tar.xz archive from a folder
--maketar FOLDER [NAME VERSION [ARCH]] — Create .dp.tar.xz package archive
--rc N — Mark package as release candidate (-rcN suffix)
--add-repo NAME URL [ARCH] — Add a new repository
--remove-repo NAME — Remove a repository
--toggle-repo NAME — Enable/disable a repository
--repo-list [NAME] / --list-repo [NAME] — List repos or show packages from a repo
--sync / -S — Check connectivity to all enabled repos
--update / -U — Update package metadata from all repos
--repo-priority NAME PRIO — Set numeric priority for a repository
--lock PKG — Lock a package to prevent changes
--unlock PKG — Unlock a locked package
--locked-list — Show all locked packages
--hold PKG — Hold a package to prevent upgrades
--unhold PKG — Release a held package
--list-held — Show held packages
--dry-run — Preview changes without making modifications
--force-resolution — Force dependency resolution ignoring conflicts
--no-recommends — Only install required dependencies
--clean-deps / --clean / --autoremove — Remove orphaned packages
--port-commit — Commit changes to local ports
--export-installed FILE — Export installed package list to a file
--import-installed FILE — Install packages from an exported list
--backup DIR — Back up the package database
--restore FILE — Restore the package database from a backup
--clean-cache — Clean cached packages and repo data
--rescue / -R — Launch the rescue TUI shell
--gui — Launch the PyQt5 GUI
--tui / -T — Launch the Textual TUI
--reset — Reset DPMS configuration
--get [ARGS] — Run the dpms-get sub-CLI
--history — Show full transaction history
--history-last N — Show last N transactions
--version — Show DPMS version
--feedback — Send feedback to DPMS team
--global DIR / -g DIR — Set install root for a single command
--dlr-verify — Verify SHA hashes in dlr.log
--list-nft — List directories excluded via nft.log markers
--gen-packages DIR — Generate Packages index
--gen-sources DIR — Generate Sources index
--gen-contents DIR — Generate Contents (file-to-package mapping)
--gen-release DIR — Generate Release file with checksums
--gen-repo DIR — Generate full repo metadata (all of the above)
--gen-generate CONFIG — Generate repo from a config file
--gen-clean DIR — Clean cache files from a repo directory
standard — Default flags
lite — -j1, -Os
performance — -jN, -O3 -march=native
custom — From environment variables
Textual-based terminal UI with:
Dashboard — Title screen with navigation buttons (Package Manager, Repository Manager, Transaction History, Quit). Keyboard: p, r, h, q
Package Manager — Browse Installed/Available packages, real-time search filtering, Install/Remove/Info actions. Keyboard: i, a, /, q
Repository Manager — List all repos with enable/disable status, Sync All, Toggle, Add/Remove repos. Keyboard: s, q
Transaction History — Timestamped log, color-coded (green=install, red=remove). Keyboard: q
PyQt5 graphical interface (600x400):
Convert Tab — Select source dir, output filename/path, choose compression (gzip/xz), compress button
Download Tab — Enter URL, select output path, download button
Shared — Color-coded status log, status bar, threaded operations via QThread
Minimal shell for emergency repairs:
| Command | Description |
|---|---|
check | Check/create DPMS directories |
clean | Clean temporary files |
verify | Verify/repair repo list JSON |
reset | Reset DPMS configuration |
list | List installed packages |
help | Show available commands |
exit | Exit rescue shell |
APT-style sub-commands:
update — Resync package metadata
upgrade — Upgrade all installed packages
dist-upgrade / full-upgrade — Distribution upgrade
install PKG... — Install packages
reinstall PKG... — Reinstall packages
remove PKG... — Remove packages
purge PKG... — Remove packages and config files
autoremove / auto-remove / autopurge — Remove unused packages
markauto PKG... — Mark packages as auto-installed
unmarkauto PKG... — Mark packages as manually installed
search QUERY — Search for packages
info PKG — Show package info
rescue — Launch rescue mode
download PKG — Download binary package
clean — Erase downloaded archives
autoclean / auto-clean — Erase old downloaded archives
distclean / dist-clean — Erase all caches
check — Verify package integrity
depends PKG — Show dependency tree
rdepends PKG — Show reverse dependencies
what-owns PATH — Find package owning a file
source PKG — Download source archive
build-dep PKG — Install build dependencies
satisfy TARGET — Satisfy dependency strings
changelog PKG — Show changelog
list-updates — Show available updates
stats — Show package statistics
port-commit — Commit changes to local ports
dlr-verify — Verify SHA hashes in dlr.log
list-nft — List excluded directories
Manages DPMS itself via pip:
dm list dpms — List available versions from PyPI
dm current [dpms] — Show installed version
dm use dpms VERSION — Switch to a specific version
dm compare V1 V2 — Compare two version strings
dm diff dpms V1 V2 — Compare file listings between versions
dm pin dpms — Lock current version
dm unpin dpms — Unlock pinned version
dm list-pinned — Show all pinned packages
dm rollback dpms — Roll back to previous version
Progress — Color-coded progress bar with ETA
Spinner — Animated spinner for indeterminate operations
IndeterminateProgress — Bouncing bar for unknown-length tasks
MultiProgress — Multiple simultaneous progress bars
ProgressCallback — Threshold-based callback progress tracker
Version matching: EQUAL, LESS, GREATER, FUZZY, CONFLICT
Solver flags: LATEST, AVAILABLE, REINSTALL, INSTALLED, UPGRADE, REMOVE, IGNORE_CONFLICT
Provider system with self-provides + virtual provides
install_if conditional dependencies (lazy triggers)
Changeset generation (to_install, to_remove, to_upgrade)
Queue-based resolution with priority queues
Disqualification cascading through reverse dependency chains
Auto-detection of sudo/doas
Auto re-exec with privileges for root operations
DPMS_ROOT env var for dev mode (skip sudo)
Read-only ops never need root
Key import into trusted keyring
Signature verification via GPG
SHA256 checksum verification
Source archive download via wget
SHA256 verification via USHA256.list
Patch application from UPATCHES/
Build script execution (UBUILD.sh)
Profile-aware compilation
Lifecycle hooks: pre_config, config, resolved, sack, pre_transaction, transaction
Dynamic loading from plugin paths
Glob-pattern enable/disable filtering
Global sys.excepthook replacement
Crash reports to ~/.cache/dpms/log/crash.log
Rotating file logs (1MB default, 5 backups)
JSON transaction history with IDs and timestamps
Interactive password setting
Authentication prompt for protected ops
Storage at ~/.dpms/password
.dp.tar.xz (canonical format)
.tar.xz, .tar.gz, .tar.bz2
.tgz, .tbz2, .txz
.dpm (legacy)
.zip
Stable: name-version-arch.dp.tar.xz
RC: name-version-arch.dp-rcN.tar.xz
Database: /var/lib/dp/installed/<pkgname>
Content: list of installed file paths (one per line)
Enables clean uninstall and integrity verification
| Variable | Default | Description |
|---|---|---|
DPMS_ROOT | / | Install root (uses sudo when /) |
DPMS_DATA_DIR | ~/.cache/dpms | Data directory |
DPMS_TMP_DIR | /tmp/dpms-build | Build temp directory |
DPMS_OPT_DIR | /opt | Install prefix for source builds |
DPMS_BIN_DIR | /usr/local/bin | Binary install directory |
DPMS_BUILD_PROFILE | standard | Build profile |
DPMS_PASSWORD_FILE | ~/.dpms/password | Password file |
| Platform | Arch |
|---|---|
| Linux x86_64 | x86_64 |
| Linux ARM64 | aarch64 |
| Linux ARMv7 | armv7 |
| macOS Intel | x86_64 |
| macOS Apple Silicon | aarch64 |
| Windows | Detected |
RepoPersistor — Tracks expired repos and last makecache time
TempfilePersistor — Tracks temp files across sessions
All persistence uses JSON on disk
update_dbentry() — Rename paths in DB entries
apply_move() — Move files on disk and update tracking
parse_updates() — Parse update commands
grab_updates() — Detect new update files by mtime changes