MESON
meson setup builddir
meson setup --reconfigure builddir
alias rebuild='meson compile -C builddir && sudo meson install -C builddir'
rebuild && datarecovery
sudo ninja -C builddir uninstall

RELEASE WORKFLOW

## Release Workflow for v0.2.0 (example)

### 1. Update Version Numbers
Files to update with new version:
- meson.build (line 2: version: 'v0.2.0')
- obs/rpm/_service (line 7: versionformat)
- obs/deb/datarecovery.dsc (line 5: Version:)
- aur/PKGBUILD (line 3: pkgver=)
- copr/datarecovery.spec (line 4: Version:)

### 2. Update Changelogs
- CHANGELOG.md - add new version section with changes
- debian/changelog - add new entry at the top
- obs/rpm/datarecovery.spec - add new entry in %changelog section
- copr/datarecovery.spec - add new entry in %changelog section

### 3. Commit and Tag
cd /home/richard/Projects/DataRecovery
git add .
git commit -m "Release v0.2.0"
git tag -a v0.2.0 -m "Release v0.2.0"
git push origin main --tags

### 4. Create GitHub Release
- Go to https://github.com/koxt2/DataRecovery/releases
- Click "Draft a new release"
- Choose tag: v0.2.0
- Copy changelog from CHANGELOG.md
- Publish release

### 5. Update OBS (openSUSE only)
upload service file

### 6. Update OBS (Debian)
cd ~/Projects
# Create new tarball
tar --transform 's,^DataRecovery,datarecovery-0.2.0,' --exclude='.git' --exclude='builddir' --exclude='*.pyc' --exclude='__pycache__' --exclude='obs' --exclude='aur' --exclude='copr' -czf datarecovery_0.2.0.orig.tar.gz DataRecovery/

# Upload to OBS
cd ~/Projects/home:koxt2:datarecovery:deb/datarecovery
osc update
cp ~/Projects/datarecovery_0.2.0.orig.tar.gz .
cp /home/richard/Projects/DataRecovery/obs/deb/debian.* .
cp /home/richard/Projects/DataRecovery/obs/deb/datarecovery.dsc .
osc add datarecovery_0.2.0.orig.tar.gz
osc rm datarecovery_0.1.1.orig.tar.gz
osc commit -m "Update to v0.2.0"

### 7. Update AUR (Arch Linux)
# Container already set up, just update the package
podman start -ai aur-build

# Inside container (as builder user):
cd /work/datarecovery-aur
cp /work/DataRecovery/aur/PKGBUILD .
makepkg --printsrcinfo > .SRCINFO
git add PKGBUILD .SRCINFO
git commit -m "Update to v0.2.0"
git push
exit

### 8. Update Copr (Fedora)
# Copr automatically rebuilds from GitHub
Web: https://copr.fedorainfracloud.org/coprs/koxt2/datarecovery/
Click package → "Rebuild" button
Or: Edit package and trigger new build from tag v0.2.0


SUMMARY OF FILES TO UPDATE EACH RELEASE:

Version numbers (5 files):
1. meson.build
2. obs/rpm/_service
3. obs/deb/datarecovery.dsc
4. PKGBUILD
5. copr/datarecovery.spec

Changelogs (4 files):
1. CHANGELOG.md
2. obs/deb/debian.changelog
3. obs/rpm/datarecovery.spec
4. copr/datarecovery.spec

Then: Git commit/tag → GitHub release → OBS trigger (openSUSE) → OBS manual (DEB) → AUR update → Copr rebuild
