pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
bup: Rename -git to -snapshot
Module Name: pkgsrc-wip
Committed By: Greg Troxel <gdt%lexort.com@localhost>
Pushed By: gdt
Date: Thu Jul 9 15:46:38 2026 -0400
Changeset: baa7a7e68e262a17849f84d5d2a88412dd0390fb
Modified Files:
Makefile
Added Files:
bup-snapshot/COMMIT_MSG
bup-snapshot/DESCR
bup-snapshot/Makefile
bup-snapshot/PLIST
bup-snapshot/distinfo
bup-snapshot/options.mk
bup-snapshot/patches/patch-lib_bup___helpers.c
Removed Files:
bup-git/COMMIT_MSG
bup-git/DESCR
bup-git/Makefile
bup-git/PLIST
bup-git/distinfo
bup-git/options.mk
bup-git/patches/patch-lib_bup___helpers.c
Log Message:
bup: Rename -git to -snapshot
My opinion is that the point is not that bup is developed in git but
that the package is a snapshot of development rather than a release.
That's my story and I'm sticking with it at least all day today! But
seriously, it seems like a good plan in general.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=baa7a7e68e262a17849f84d5d2a88412dd0390fb
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 2 +-
bup-git/COMMIT_MSG | 3 -
bup-git/DESCR | 24 ----
bup-git/Makefile | 163 -------------------------
bup-git/PLIST | 128 -------------------
bup-git/distinfo | 9 --
bup-git/options.mk | 17 ---
bup-git/patches/patch-lib_bup___helpers.c | 24 ----
bup-snapshot/COMMIT_MSG | 3 +
bup-snapshot/DESCR | 24 ++++
bup-snapshot/Makefile | 163 +++++++++++++++++++++++++
bup-snapshot/PLIST | 128 +++++++++++++++++++
bup-snapshot/distinfo | 9 ++
bup-snapshot/options.mk | 17 +++
bup-snapshot/patches/patch-lib_bup___helpers.c | 24 ++++
15 files changed, 369 insertions(+), 369 deletions(-)
diffs:
diff --git a/Makefile b/Makefile
index 0afe09324d..afc190c02e 100644
--- a/Makefile
+++ b/Makefile
@@ -410,7 +410,7 @@ SUBDIR+= bugsx
SUBDIR+= bugzilla
SUBDIR+= bulk-test-llvm
SUBDIR+= bun
-SUBDIR+= bup-git
+SUBDIR+= bup-snapshot
SUBDIR+= bupstash
SUBDIR+= busybox
SUBDIR+= bwa
diff --git a/bup-git/COMMIT_MSG b/bup-git/COMMIT_MSG
deleted file mode 100644
index 4a5ddf78ae..0000000000
--- a/bup-git/COMMIT_MSG
+++ /dev/null
@@ -1,3 +0,0 @@
-sysutils/bup: Update to 0.34
-
-[Steal from notes/0.34-from-?]
diff --git a/bup-git/DESCR b/bup-git/DESCR
deleted file mode 100644
index a02f4eda1f..0000000000
--- a/bup-git/DESCR
+++ /dev/null
@@ -1,24 +0,0 @@
-bup is a program that backs things up. bup has a few advantages over other
-backup software:
-
-It uses a rolling checksum algorithm (similar to rsync) to split large files
-into chunks. The most useful result of this is you can backup huge virtual
-machine (VM) disk images, databases, and XML files incrementally, even though
-they're typically all in one huge file, and not use tons of disk space for
-multiple versions.
-
-It uses the packfile format from git (the open source version control system),
-so you can access the stored data even if you don't like bup's user interface.
-Unlike git, it writes packfiles directly (instead of having a separate garbage
-collection/repacking stage) so it's fast even with gratuitously huge amounts of
-data. bup's improved index formats also allow you to track far more filenames
-than git (millions) and keep track of far more objects (hundreds or thousands of
-gigabytes).
-
-Data is "automagically" shared between incremental backups without having to
-know which backup is based on which other one - even if the backups are made
-from two different computers that don't even know about each other. You just
-tell bup to back stuff up, and it saves only the minimum amount of data needed.
-
-This package tracks bup's master branch from git. It exists for
-testing and is not recommended for production use.
diff --git a/bup-git/Makefile b/bup-git/Makefile
deleted file mode 100644
index 54d6d844d6..0000000000
--- a/bup-git/Makefile
+++ /dev/null
@@ -1,163 +0,0 @@
-# $NetBSD: Makefile,v 1.75 2026/01/29 00:35:05 gdt Exp $
-
-DISTNAME= bup-0.33.51.872
-CATEGORIES= sysutils
-MASTER_SITES= ${MASTER_SITE_GITHUB:=bup/}
-GITHUB_TAG= 1b4976f9fc100f12b8b1a34d1a7e96e5fcdd4116
-# bup has two problems that make packaging difficult. One is that
-# building man pages requires non-portable tools (pandoc). The other
-# is that it is hosted on github, which makes hosting tarballs
-# difficult. The combination of this leads to having a branch "man"
-# in bup's git which has autogenerated man pages. The third problem
-# is that github.mk assumes that there is one distfile.
-
-# Upstream should have a tag for built man pages, but doesn't.
-# EXTRACT_SUFX default value is set too late, so using it in SITES.* fails.
-EXTRACT_SUFX= .tar.gz
-MAN_TAG= 26d961455dc071f166a3f6f54e6ceb0b71cf2524
-MAN_UNPACK= bup-${MAN_TAG}
-MAN_DISTFILE= bup-man-${MAN_TAG}${EXTRACT_SUFX}
-SITES.${MAN_DISTFILE}= -${MASTER_SITE_GITHUB:=bup/bup/archive/}${MAN_TAG}${EXTRACT_SUFX}
-# Upstream provides html, but we choose not to include it in the package.
-#HTML_TAG= 66eccb7eb49575d006d193276018d9551ac5b4d4
-DISTFILES= ${DEFAULT_DISTFILES} ${MAN_DISTFILE}
-
-MAINTAINER= gdt%NetBSD.org@localhost
-HOMEPAGE= https://github.com/bup/bup
-COMMENT= Highly efficient file backup system based on the git packfile format
-LICENSE= gnu-gpl-v2
-
-USE_LANGUAGES= c
-USE_TOOLS+= bash gmake perl:run
-HAS_CONFIGURE= yes
-CONFIG_SHELL= bash
-
-# On macOS 10.13, building bup fails with defaults but builds with
-# USE_CWRAPPERS=no. The error is
-# Looking for cpp (/path/to/pkgsrc/sysutils/bup/work/.cwrapper/bin/cpp) (can't run cpp as a pipeline)
-
-DEPENDS+= par2-[0-9]*:../../archivers/par2
-DEPENDS+= ${PYPKGPREFIX}-tornado-[0-9]*:../../www/py-tornado
-DEPENDS+= git-base-[0-9]*:../../devel/git-base
-TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
-TEST_DEPENDS+= ${PYPKGPREFIX}-test-xdist-[0-9]*:../../devel/py-test-xdist
-TEST_DEPENDS+= rsync-[0-9]*:../../net/rsync
-TEST_DEPENDS+= rdiff-backup-[0-9]*:../../sysutils/rdiff-backup
-
-DIST_MANPAGES= ${WRKDIR}/${MAN_UNPACK}
-
-ALL_ENV+= BUP_PYTHON_CONFIG=${PREFIX}/bin/python${PYVERSSUFFIX}-config
-
-MAKE_FILE= GNUmakefile
-MAKE_FLAGS+= PREFIX=${PREFIX}
-MAKE_FLAGS+= PYTHON=${PYTHONBIN}
-MAKE_FLAGS+= MANDIR=${DESTDIR}${PREFIX}/${PKGMANDIR}
-
-# Even if converters/pandoc is installed, pretend as if it isn't
-MAKE_FLAGS+= PANDOC=
-
-# find work/ -type f |xargs egrep 'env.*bash'|awk -F: '{print $1}' | sed -e s,work/bup-5f9cf697b3daa3d4d6899f9366ebc1fd64161a32/,,
-# and merge to the list
-REPLACE_BASH+= configure
-REPLACE_BASH+= dev/checksum
-REPLACE_BASH+= dev/compare-trees
-REPLACE_BASH+= dev/configure-sampledata
-REPLACE_BASH+= dev/force-delete
-REPLACE_BASH+= dev/git-cat-tree
-REPLACE_BASH+= dev/path-fs
-REPLACE_BASH+= dev/perf-glance
-REPLACE_BASH+= dev/prep-for-debianish-build
-REPLACE_BASH+= dev/prep-for-macos-build
-REPLACE_BASH+= dev/refresh
-REPLACE_BASH+= dev/sync-tree
-REPLACE_BASH+= dev/system-info
-REPLACE_BASH+= dev/update-checkout-info
-REPLACE_BASH+= dev/update-doc-branches
-REPLACE_BASH+= dev/validate-python
-REPLACE_BASH+= dev/with-tty
-REPLACE_BASH+= lib/cmd/bup-import-rdiff-backup
-REPLACE_BASH+= pylint
-REPLACE_BASH+= test/ext/test-btl
-REPLACE_BASH+= test/ext/test-cat-file
-REPLACE_BASH+= test/ext/test-comparative-split-join
-REPLACE_BASH+= test/ext/test-compression
-REPLACE_BASH+= test/ext/test-drecurse
-REPLACE_BASH+= test/ext/test-empty-metadata
-REPLACE_BASH+= test/ext/test-fsck
-REPLACE_BASH+= test/ext/test-fuse
-REPLACE_BASH+= test/ext/test-gc
-REPLACE_BASH+= test/ext/test-gc-removes-incomplete-trees
-REPLACE_BASH+= test/ext/test-get-excludes
-REPLACE_BASH+= test/ext/test-get-missing
-REPLACE_BASH+= test/ext/test-get-repair-bupm
-REPLACE_BASH+= test/ext/test-get-repair-symlinks
-REPLACE_BASH+= test/ext/test-get-rewrite-missing
-REPLACE_BASH+= test/ext/test-help
-REPLACE_BASH+= test/ext/test-import-duplicity
-REPLACE_BASH+= test/ext/test-import-rdiff-backup
-REPLACE_BASH+= test/ext/test-index
-REPLACE_BASH+= test/ext/test-index-check-device
-REPLACE_BASH+= test/ext/test-index-clear
-REPLACE_BASH+= test/ext/test-index-save-type-change
-REPLACE_BASH+= test/ext/test-init
-REPLACE_BASH+= test/ext/test-install
-REPLACE_BASH+= test/ext/test-list-idx
-REPLACE_BASH+= test/ext/test-ls
-REPLACE_BASH+= test/ext/test-ls-remote
-REPLACE_BASH+= test/ext/test-main
-REPLACE_BASH+= test/ext/test-meta
-REPLACE_BASH+= test/ext/test-meta-acls
-REPLACE_BASH+= test/ext/test-misc
-REPLACE_BASH+= test/ext/test-on
-REPLACE_BASH+= test/ext/test-packsizelimit
-REPLACE_BASH+= test/ext/test-redundant-saves
-REPLACE_BASH+= test/ext/test-restore-map-owner
-REPLACE_BASH+= test/ext/test-restore-single-file
-REPLACE_BASH+= test/ext/test-rewrite
-REPLACE_BASH+= test/ext/test-rm
-REPLACE_BASH+= test/ext/test-rm-between-index-and-save
-REPLACE_BASH+= test/ext/test-save-creates-no-unrefs
-REPLACE_BASH+= test/ext/test-save-data-race
-REPLACE_BASH+= test/ext/test-save-errors
-REPLACE_BASH+= test/ext/test-save-restore
-REPLACE_BASH+= test/ext/test-save-restore-excludes
-REPLACE_BASH+= test/ext/test-save-smaller
-REPLACE_BASH+= test/ext/test-save-strip-graft
-REPLACE_BASH+= test/ext/test-save-symlink-race
-REPLACE_BASH+= test/ext/test-save-with-valid-parent
-REPLACE_BASH+= test/ext/test-sparse-files
-REPLACE_BASH+= test/ext/test-split-files-config
-REPLACE_BASH+= test/ext/test-split-join
-REPLACE_BASH+= test/ext/test-tag
-REPLACE_BASH+= test/ext/test-treesplit
-REPLACE_BASH+= test/ext/test-tz
-REPLACE_BASH+= test/ext/test-validate-object-links
-REPLACE_BASH+= test/ext/test-validate-ref-links
-REPLACE_BASH+= test/ext/test-validate-refs
-REPLACE_BASH+= test/ext/test-versioning-and-archive
-REPLACE_BASH+= test/ext/test-walk-object-order
-REPLACE_BASH+= test/ext/test-web
-REPLACE_BASH+= test/ext/test-xdev
-
-DOCDIR= share/doc/${PKGBASE}
-
-INSTALLATION_DIRS+= ${PKGMANDIR}/man1 ${DOCDIR}
-
-post-install:
- ${INSTALL_DATA} ${DIST_MANPAGES}/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
- ${INSTALL_DATA} ${WRKSRC}/DESIGN.md ${DESTDIR}${PREFIX}/${DOCDIR}
- ${INSTALL_DATA} ${WRKSRC}/README.md ${DESTDIR}${PREFIX}/${DOCDIR}
-
-.include "options.mk"
-
-# Note that tests 1) will fail on a fs mounted noatime, 2) need a lot
-# of space, perhaps 1 GB, and 3) can fail with test data at the DST
-# boundary because of what I believe is a bug in NetBSD libc.
-TEST_TARGET= test
-# \todo Pass MAKE_JOBS into "gmake test" via -j.
-TEST_ENV+= TZ=UTC
-
-# \todo Investigate "bup ftp" crash with NetBSD editline and resolve.
-.include "../../devel/readline/buildlink3.mk"
-.include "../../lang/python/application.mk"
-.include "../../mk/bsd.pkg.mk"
diff --git a/bup-git/PLIST b/bup-git/PLIST
deleted file mode 100644
index c0066572d9..0000000000
--- a/bup-git/PLIST
+++ /dev/null
@@ -1,128 +0,0 @@
-@comment $NetBSD: PLIST,v 1.14 2025/01/03 00:38:38 gdt Exp $
-bin/bup
-lib/bup/bup/__init__.py
-lib/bup/bup/_helpers.so
-lib/bup/bup/bloom.py
-lib/bup/bup/client.py
-lib/bup/bup/cmd/__init__.py
-lib/bup/bup/cmd/bloom.py
-lib/bup/bup/cmd/cat_file.py
-lib/bup/bup/cmd/daemon.py
-lib/bup/bup/cmd/damage.py
-lib/bup/bup/cmd/demux.py
-lib/bup/bup/cmd/drecurse.py
-lib/bup/bup/cmd/features.py
-lib/bup/bup/cmd/fsck.py
-lib/bup/bup/cmd/ftp.py
-lib/bup/bup/cmd/fuse.py
-lib/bup/bup/cmd/gc.py
-lib/bup/bup/cmd/get.py
-lib/bup/bup/cmd/help.py
-lib/bup/bup/cmd/import_duplicity.py
-lib/bup/bup/cmd/index.py
-lib/bup/bup/cmd/init.py
-lib/bup/bup/cmd/join.py
-lib/bup/bup/cmd/list_idx.py
-lib/bup/bup/cmd/ls.py
-lib/bup/bup/cmd/margin.py
-lib/bup/bup/cmd/memtest.py
-lib/bup/bup/cmd/meta.py
-lib/bup/bup/cmd/midx.py
-lib/bup/bup/cmd/mux.py
-lib/bup/bup/cmd/on.py
-lib/bup/bup/cmd/on__server.py
-lib/bup/bup/cmd/prune_older.py
-lib/bup/bup/cmd/random.py
-lib/bup/bup/cmd/restore.py
-lib/bup/bup/cmd/rm.py
-lib/bup/bup/cmd/save.py
-lib/bup/bup/cmd/server.py
-lib/bup/bup/cmd/split.py
-lib/bup/bup/cmd/tag.py
-lib/bup/bup/cmd/tick.py
-lib/bup/bup/cmd/validate_object_links.py
-lib/bup/bup/cmd/validate_ref_links.py
-lib/bup/bup/cmd/validate_refs.py
-lib/bup/bup/cmd/version.py
-lib/bup/bup/cmd/web.py
-lib/bup/bup/cmd/xstat.py
-lib/bup/bup/commit.py
-lib/bup/bup/compat.py
-lib/bup/bup/config.py
-lib/bup/bup/drecurse.py
-lib/bup/bup/gc.py
-lib/bup/bup/git.py
-lib/bup/bup/hashsplit.py
-lib/bup/bup/helpers.py
-lib/bup/bup/hlinkdb.py
-lib/bup/bup/index.py
-lib/bup/bup/io.py
-lib/bup/bup/ls.py
-lib/bup/bup/main.py
-lib/bup/bup/metadata.py
-lib/bup/bup/midx.py
-lib/bup/bup/options.py
-lib/bup/bup/path.py
-lib/bup/bup/protocol.py
-lib/bup/bup/pwdgrp.py
-lib/bup/bup/repair.py
-lib/bup/bup/repo/__init__.py
-lib/bup/bup/repo/base.py
-lib/bup/bup/repo/local.py
-lib/bup/bup/repo/remote.py
-lib/bup/bup/rewrite.py
-lib/bup/bup/rm.py
-lib/bup/bup/shquote.py
-lib/bup/bup/source_info.py
-lib/bup/bup/ssh.py
-lib/bup/bup/tree.py
-lib/bup/bup/url.py
-lib/bup/bup/version.py
-lib/bup/bup/vfs.py
-lib/bup/bup/vint.py
-lib/bup/bup/xstat.py
-lib/bup/cmd/bup
-lib/bup/cmd/bup-import-rdiff-backup
-lib/bup/cmd/bup-import-rsnapshot
-lib/bup/web/list-directory.html
-lib/bup/web/static/styles.css
-man/man1/bup-bloom.1
-man/man1/bup-cat-file.1
-man/man1/bup-daemon.1
-man/man1/bup-damage.1
-man/man1/bup-drecurse.1
-man/man1/bup-features.1
-man/man1/bup-fsck.1
-man/man1/bup-ftp.1
-man/man1/bup-fuse.1
-man/man1/bup-gc.1
-man/man1/bup-get.1
-man/man1/bup-help.1
-man/man1/bup-import-duplicity.1
-man/man1/bup-import-rdiff-backup.1
-man/man1/bup-import-rsnapshot.1
-man/man1/bup-index.1
-man/man1/bup-init.1
-man/man1/bup-join.1
-man/man1/bup-ls.1
-man/man1/bup-margin.1
-man/man1/bup-memtest.1
-man/man1/bup-meta.1
-man/man1/bup-midx.1
-man/man1/bup-mux.1
-man/man1/bup-on.1
-man/man1/bup-prune-older.1
-man/man1/bup-random.1
-man/man1/bup-restore.1
-man/man1/bup-rm.1
-man/man1/bup-save.1
-man/man1/bup-server.1
-man/man1/bup-split.1
-man/man1/bup-tag.1
-man/man1/bup-tick.1
-man/man1/bup-validate-object-links.1
-man/man1/bup-validate-ref-links.1
-man/man1/bup-web.1
-man/man1/bup.1
-share/doc/bup/DESIGN.md
-share/doc/bup/README.md
diff --git a/bup-git/distinfo b/bup-git/distinfo
deleted file mode 100644
index 7b4b88ec5e..0000000000
--- a/bup-git/distinfo
+++ /dev/null
@@ -1,9 +0,0 @@
-$NetBSD: distinfo,v 1.33 2026/01/29 00:35:05 gdt Exp $
-
-BLAKE2s (bup-0.33.51.872-1b4976f9fc100f12b8b1a34d1a7e96e5fcdd4116.tar.gz) = 8a89a6bc73817ac814e101b15c52edafd27843070fa654893fb2df3845034045
-SHA512 (bup-0.33.51.872-1b4976f9fc100f12b8b1a34d1a7e96e5fcdd4116.tar.gz) = 294e5e9f9518d01bde13cb9072656e9e5802f2d32c33aa521eb885a0410b3aa212b856efeef99c346db717036d2bda09bb9be6ed86b5937322bf2eb29496f56e
-Size (bup-0.33.51.872-1b4976f9fc100f12b8b1a34d1a7e96e5fcdd4116.tar.gz) = 651813 bytes
-BLAKE2s (bup-man-26d961455dc071f166a3f6f54e6ceb0b71cf2524.tar.gz) = 8c4037e8e8e226fa0f23e4f7deb8c06ca43c6514416bb32fd66ec3a3a1b1fca5
-SHA512 (bup-man-26d961455dc071f166a3f6f54e6ceb0b71cf2524.tar.gz) = c0a9ba7d3a3a752bc4a993b9da5745959e17a523bf59d42d47dc7e2df30eb8804a3feaf9ae9f768d417d2fc0d6918c4991cfc89353b08cac56c75f5c254f03c3
-Size (bup-man-26d961455dc071f166a3f6f54e6ceb0b71cf2524.tar.gz) = 34265 bytes
-SHA1 (patch-lib_bup___helpers.c) = 2d0d70118858e9765fb5663a54f899c9084bf51a
diff --git a/bup-git/options.mk b/bup-git/options.mk
deleted file mode 100644
index dac6b9b4c2..0000000000
--- a/bup-git/options.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# $NetBSD: options.mk,v 1.2 2019/11/19 15:01:25 gdt Exp $
-
-PKG_OPTIONS_VAR= PKG_OPTIONS.bup
-PKG_SUPPORTED_OPTIONS= fuse
-# fuse is disabled by default because it doesn't build on Mac, and
-# because the fuse implementation in bup doesn't work on NetBSD.
-# After it's fixed upstream, an OS-specific default is probably
-# appropriate.
-PKG_SUGGESTED_OPTIONS=
-
-.include "../../mk/bsd.prefs.mk"
-
-.include "../../mk/bsd.options.mk"
-
-.if !empty(PKG_OPTIONS:Mfuse)
-.include "../../filesystems/py-fuse-bindings/buildlink3.mk"
-.endif
diff --git a/bup-git/patches/patch-lib_bup___helpers.c b/bup-git/patches/patch-lib_bup___helpers.c
deleted file mode 100644
index 6ecbfd6948..0000000000
--- a/bup-git/patches/patch-lib_bup___helpers.c
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD: patch-lib_bup___helpers.c,v 1.4 2025/12/17 23:46:21 nia Exp $
-
-If OS does not define htonll as a macro, avoid colliding with it.
-
---- lib/bup/_helpers.c.orig 2025-12-17 14:20:36.236008733 +0000
-+++ lib/bup/_helpers.c
-@@ -137,7 +137,7 @@ static void *checked_malloc(size_t n, size_t size)
- // This function should technically be macro'd out if it's going to be used
- // more than ocasionally. As of this writing, it'll actually never be called
- // in real world bup scenarios (because our packs are < MAX_INT bytes).
--static uint64_t htonll(uint64_t value)
-+static uint64_t my_htonll(uint64_t value)
- {
- static const int endian_test = 42;
-
-@@ -145,6 +145,8 @@ static uint64_t htonll(uint64_t value)
- return ((uint64_t)htonl(value & 0xFFFFFFFF) << 32) | htonl(value >> 32);
- return value; // already in network byte order MSB-LSB
- }
-+
-+#define htonll my_htonll
- #endif
-
- #define INTEGRAL_ASSIGNMENT_FITS(dest, src) INT_ADD_OK(src, 0, dest)
diff --git a/bup-snapshot/COMMIT_MSG b/bup-snapshot/COMMIT_MSG
new file mode 100644
index 0000000000..4a5ddf78ae
--- /dev/null
+++ b/bup-snapshot/COMMIT_MSG
@@ -0,0 +1,3 @@
+sysutils/bup: Update to 0.34
+
+[Steal from notes/0.34-from-?]
diff --git a/bup-snapshot/DESCR b/bup-snapshot/DESCR
new file mode 100644
index 0000000000..a02f4eda1f
--- /dev/null
+++ b/bup-snapshot/DESCR
@@ -0,0 +1,24 @@
+bup is a program that backs things up. bup has a few advantages over other
+backup software:
+
+It uses a rolling checksum algorithm (similar to rsync) to split large files
+into chunks. The most useful result of this is you can backup huge virtual
+machine (VM) disk images, databases, and XML files incrementally, even though
+they're typically all in one huge file, and not use tons of disk space for
+multiple versions.
+
+It uses the packfile format from git (the open source version control system),
+so you can access the stored data even if you don't like bup's user interface.
+Unlike git, it writes packfiles directly (instead of having a separate garbage
+collection/repacking stage) so it's fast even with gratuitously huge amounts of
+data. bup's improved index formats also allow you to track far more filenames
+than git (millions) and keep track of far more objects (hundreds or thousands of
+gigabytes).
+
+Data is "automagically" shared between incremental backups without having to
+know which backup is based on which other one - even if the backups are made
+from two different computers that don't even know about each other. You just
+tell bup to back stuff up, and it saves only the minimum amount of data needed.
+
+This package tracks bup's master branch from git. It exists for
+testing and is not recommended for production use.
diff --git a/bup-snapshot/Makefile b/bup-snapshot/Makefile
new file mode 100644
index 0000000000..54d6d844d6
--- /dev/null
+++ b/bup-snapshot/Makefile
@@ -0,0 +1,163 @@
+# $NetBSD: Makefile,v 1.75 2026/01/29 00:35:05 gdt Exp $
+
+DISTNAME= bup-0.33.51.872
+CATEGORIES= sysutils
+MASTER_SITES= ${MASTER_SITE_GITHUB:=bup/}
+GITHUB_TAG= 1b4976f9fc100f12b8b1a34d1a7e96e5fcdd4116
+# bup has two problems that make packaging difficult. One is that
+# building man pages requires non-portable tools (pandoc). The other
+# is that it is hosted on github, which makes hosting tarballs
+# difficult. The combination of this leads to having a branch "man"
+# in bup's git which has autogenerated man pages. The third problem
+# is that github.mk assumes that there is one distfile.
+
+# Upstream should have a tag for built man pages, but doesn't.
+# EXTRACT_SUFX default value is set too late, so using it in SITES.* fails.
+EXTRACT_SUFX= .tar.gz
+MAN_TAG= 26d961455dc071f166a3f6f54e6ceb0b71cf2524
+MAN_UNPACK= bup-${MAN_TAG}
+MAN_DISTFILE= bup-man-${MAN_TAG}${EXTRACT_SUFX}
+SITES.${MAN_DISTFILE}= -${MASTER_SITE_GITHUB:=bup/bup/archive/}${MAN_TAG}${EXTRACT_SUFX}
+# Upstream provides html, but we choose not to include it in the package.
+#HTML_TAG= 66eccb7eb49575d006d193276018d9551ac5b4d4
+DISTFILES= ${DEFAULT_DISTFILES} ${MAN_DISTFILE}
+
+MAINTAINER= gdt%NetBSD.org@localhost
+HOMEPAGE= https://github.com/bup/bup
+COMMENT= Highly efficient file backup system based on the git packfile format
+LICENSE= gnu-gpl-v2
+
+USE_LANGUAGES= c
+USE_TOOLS+= bash gmake perl:run
+HAS_CONFIGURE= yes
+CONFIG_SHELL= bash
+
+# On macOS 10.13, building bup fails with defaults but builds with
+# USE_CWRAPPERS=no. The error is
+# Looking for cpp (/path/to/pkgsrc/sysutils/bup/work/.cwrapper/bin/cpp) (can't run cpp as a pipeline)
+
+DEPENDS+= par2-[0-9]*:../../archivers/par2
+DEPENDS+= ${PYPKGPREFIX}-tornado-[0-9]*:../../www/py-tornado
+DEPENDS+= git-base-[0-9]*:../../devel/git-base
+TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
+TEST_DEPENDS+= ${PYPKGPREFIX}-test-xdist-[0-9]*:../../devel/py-test-xdist
+TEST_DEPENDS+= rsync-[0-9]*:../../net/rsync
+TEST_DEPENDS+= rdiff-backup-[0-9]*:../../sysutils/rdiff-backup
+
+DIST_MANPAGES= ${WRKDIR}/${MAN_UNPACK}
+
+ALL_ENV+= BUP_PYTHON_CONFIG=${PREFIX}/bin/python${PYVERSSUFFIX}-config
+
+MAKE_FILE= GNUmakefile
+MAKE_FLAGS+= PREFIX=${PREFIX}
+MAKE_FLAGS+= PYTHON=${PYTHONBIN}
+MAKE_FLAGS+= MANDIR=${DESTDIR}${PREFIX}/${PKGMANDIR}
+
+# Even if converters/pandoc is installed, pretend as if it isn't
+MAKE_FLAGS+= PANDOC=
+
+# find work/ -type f |xargs egrep 'env.*bash'|awk -F: '{print $1}' | sed -e s,work/bup-5f9cf697b3daa3d4d6899f9366ebc1fd64161a32/,,
+# and merge to the list
+REPLACE_BASH+= configure
+REPLACE_BASH+= dev/checksum
+REPLACE_BASH+= dev/compare-trees
+REPLACE_BASH+= dev/configure-sampledata
+REPLACE_BASH+= dev/force-delete
+REPLACE_BASH+= dev/git-cat-tree
+REPLACE_BASH+= dev/path-fs
+REPLACE_BASH+= dev/perf-glance
+REPLACE_BASH+= dev/prep-for-debianish-build
+REPLACE_BASH+= dev/prep-for-macos-build
+REPLACE_BASH+= dev/refresh
+REPLACE_BASH+= dev/sync-tree
+REPLACE_BASH+= dev/system-info
+REPLACE_BASH+= dev/update-checkout-info
+REPLACE_BASH+= dev/update-doc-branches
+REPLACE_BASH+= dev/validate-python
+REPLACE_BASH+= dev/with-tty
+REPLACE_BASH+= lib/cmd/bup-import-rdiff-backup
+REPLACE_BASH+= pylint
+REPLACE_BASH+= test/ext/test-btl
+REPLACE_BASH+= test/ext/test-cat-file
+REPLACE_BASH+= test/ext/test-comparative-split-join
+REPLACE_BASH+= test/ext/test-compression
+REPLACE_BASH+= test/ext/test-drecurse
+REPLACE_BASH+= test/ext/test-empty-metadata
+REPLACE_BASH+= test/ext/test-fsck
+REPLACE_BASH+= test/ext/test-fuse
+REPLACE_BASH+= test/ext/test-gc
+REPLACE_BASH+= test/ext/test-gc-removes-incomplete-trees
+REPLACE_BASH+= test/ext/test-get-excludes
+REPLACE_BASH+= test/ext/test-get-missing
+REPLACE_BASH+= test/ext/test-get-repair-bupm
+REPLACE_BASH+= test/ext/test-get-repair-symlinks
+REPLACE_BASH+= test/ext/test-get-rewrite-missing
+REPLACE_BASH+= test/ext/test-help
+REPLACE_BASH+= test/ext/test-import-duplicity
+REPLACE_BASH+= test/ext/test-import-rdiff-backup
+REPLACE_BASH+= test/ext/test-index
+REPLACE_BASH+= test/ext/test-index-check-device
+REPLACE_BASH+= test/ext/test-index-clear
+REPLACE_BASH+= test/ext/test-index-save-type-change
+REPLACE_BASH+= test/ext/test-init
+REPLACE_BASH+= test/ext/test-install
+REPLACE_BASH+= test/ext/test-list-idx
+REPLACE_BASH+= test/ext/test-ls
+REPLACE_BASH+= test/ext/test-ls-remote
+REPLACE_BASH+= test/ext/test-main
+REPLACE_BASH+= test/ext/test-meta
+REPLACE_BASH+= test/ext/test-meta-acls
+REPLACE_BASH+= test/ext/test-misc
+REPLACE_BASH+= test/ext/test-on
+REPLACE_BASH+= test/ext/test-packsizelimit
+REPLACE_BASH+= test/ext/test-redundant-saves
+REPLACE_BASH+= test/ext/test-restore-map-owner
+REPLACE_BASH+= test/ext/test-restore-single-file
+REPLACE_BASH+= test/ext/test-rewrite
+REPLACE_BASH+= test/ext/test-rm
+REPLACE_BASH+= test/ext/test-rm-between-index-and-save
+REPLACE_BASH+= test/ext/test-save-creates-no-unrefs
+REPLACE_BASH+= test/ext/test-save-data-race
+REPLACE_BASH+= test/ext/test-save-errors
+REPLACE_BASH+= test/ext/test-save-restore
+REPLACE_BASH+= test/ext/test-save-restore-excludes
+REPLACE_BASH+= test/ext/test-save-smaller
+REPLACE_BASH+= test/ext/test-save-strip-graft
+REPLACE_BASH+= test/ext/test-save-symlink-race
+REPLACE_BASH+= test/ext/test-save-with-valid-parent
+REPLACE_BASH+= test/ext/test-sparse-files
+REPLACE_BASH+= test/ext/test-split-files-config
+REPLACE_BASH+= test/ext/test-split-join
+REPLACE_BASH+= test/ext/test-tag
+REPLACE_BASH+= test/ext/test-treesplit
+REPLACE_BASH+= test/ext/test-tz
+REPLACE_BASH+= test/ext/test-validate-object-links
+REPLACE_BASH+= test/ext/test-validate-ref-links
+REPLACE_BASH+= test/ext/test-validate-refs
+REPLACE_BASH+= test/ext/test-versioning-and-archive
+REPLACE_BASH+= test/ext/test-walk-object-order
+REPLACE_BASH+= test/ext/test-web
+REPLACE_BASH+= test/ext/test-xdev
+
+DOCDIR= share/doc/${PKGBASE}
+
+INSTALLATION_DIRS+= ${PKGMANDIR}/man1 ${DOCDIR}
+
+post-install:
+ ${INSTALL_DATA} ${DIST_MANPAGES}/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
+ ${INSTALL_DATA} ${WRKSRC}/DESIGN.md ${DESTDIR}${PREFIX}/${DOCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${DESTDIR}${PREFIX}/${DOCDIR}
+
+.include "options.mk"
+
+# Note that tests 1) will fail on a fs mounted noatime, 2) need a lot
+# of space, perhaps 1 GB, and 3) can fail with test data at the DST
+# boundary because of what I believe is a bug in NetBSD libc.
+TEST_TARGET= test
+# \todo Pass MAKE_JOBS into "gmake test" via -j.
+TEST_ENV+= TZ=UTC
+
+# \todo Investigate "bup ftp" crash with NetBSD editline and resolve.
+.include "../../devel/readline/buildlink3.mk"
+.include "../../lang/python/application.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/bup-snapshot/PLIST b/bup-snapshot/PLIST
new file mode 100644
index 0000000000..c0066572d9
--- /dev/null
+++ b/bup-snapshot/PLIST
@@ -0,0 +1,128 @@
+@comment $NetBSD: PLIST,v 1.14 2025/01/03 00:38:38 gdt Exp $
+bin/bup
+lib/bup/bup/__init__.py
+lib/bup/bup/_helpers.so
+lib/bup/bup/bloom.py
+lib/bup/bup/client.py
+lib/bup/bup/cmd/__init__.py
+lib/bup/bup/cmd/bloom.py
+lib/bup/bup/cmd/cat_file.py
+lib/bup/bup/cmd/daemon.py
+lib/bup/bup/cmd/damage.py
+lib/bup/bup/cmd/demux.py
+lib/bup/bup/cmd/drecurse.py
+lib/bup/bup/cmd/features.py
+lib/bup/bup/cmd/fsck.py
+lib/bup/bup/cmd/ftp.py
+lib/bup/bup/cmd/fuse.py
+lib/bup/bup/cmd/gc.py
+lib/bup/bup/cmd/get.py
+lib/bup/bup/cmd/help.py
+lib/bup/bup/cmd/import_duplicity.py
+lib/bup/bup/cmd/index.py
+lib/bup/bup/cmd/init.py
+lib/bup/bup/cmd/join.py
+lib/bup/bup/cmd/list_idx.py
+lib/bup/bup/cmd/ls.py
+lib/bup/bup/cmd/margin.py
+lib/bup/bup/cmd/memtest.py
+lib/bup/bup/cmd/meta.py
+lib/bup/bup/cmd/midx.py
+lib/bup/bup/cmd/mux.py
+lib/bup/bup/cmd/on.py
+lib/bup/bup/cmd/on__server.py
+lib/bup/bup/cmd/prune_older.py
+lib/bup/bup/cmd/random.py
+lib/bup/bup/cmd/restore.py
+lib/bup/bup/cmd/rm.py
+lib/bup/bup/cmd/save.py
+lib/bup/bup/cmd/server.py
+lib/bup/bup/cmd/split.py
+lib/bup/bup/cmd/tag.py
+lib/bup/bup/cmd/tick.py
+lib/bup/bup/cmd/validate_object_links.py
+lib/bup/bup/cmd/validate_ref_links.py
+lib/bup/bup/cmd/validate_refs.py
+lib/bup/bup/cmd/version.py
+lib/bup/bup/cmd/web.py
+lib/bup/bup/cmd/xstat.py
+lib/bup/bup/commit.py
+lib/bup/bup/compat.py
+lib/bup/bup/config.py
+lib/bup/bup/drecurse.py
+lib/bup/bup/gc.py
+lib/bup/bup/git.py
+lib/bup/bup/hashsplit.py
+lib/bup/bup/helpers.py
+lib/bup/bup/hlinkdb.py
+lib/bup/bup/index.py
+lib/bup/bup/io.py
+lib/bup/bup/ls.py
+lib/bup/bup/main.py
+lib/bup/bup/metadata.py
+lib/bup/bup/midx.py
+lib/bup/bup/options.py
+lib/bup/bup/path.py
+lib/bup/bup/protocol.py
+lib/bup/bup/pwdgrp.py
+lib/bup/bup/repair.py
+lib/bup/bup/repo/__init__.py
+lib/bup/bup/repo/base.py
+lib/bup/bup/repo/local.py
+lib/bup/bup/repo/remote.py
+lib/bup/bup/rewrite.py
+lib/bup/bup/rm.py
+lib/bup/bup/shquote.py
+lib/bup/bup/source_info.py
+lib/bup/bup/ssh.py
+lib/bup/bup/tree.py
+lib/bup/bup/url.py
+lib/bup/bup/version.py
+lib/bup/bup/vfs.py
+lib/bup/bup/vint.py
+lib/bup/bup/xstat.py
+lib/bup/cmd/bup
+lib/bup/cmd/bup-import-rdiff-backup
+lib/bup/cmd/bup-import-rsnapshot
+lib/bup/web/list-directory.html
+lib/bup/web/static/styles.css
+man/man1/bup-bloom.1
+man/man1/bup-cat-file.1
+man/man1/bup-daemon.1
+man/man1/bup-damage.1
+man/man1/bup-drecurse.1
+man/man1/bup-features.1
+man/man1/bup-fsck.1
+man/man1/bup-ftp.1
+man/man1/bup-fuse.1
+man/man1/bup-gc.1
+man/man1/bup-get.1
+man/man1/bup-help.1
+man/man1/bup-import-duplicity.1
+man/man1/bup-import-rdiff-backup.1
+man/man1/bup-import-rsnapshot.1
+man/man1/bup-index.1
+man/man1/bup-init.1
+man/man1/bup-join.1
+man/man1/bup-ls.1
+man/man1/bup-margin.1
+man/man1/bup-memtest.1
+man/man1/bup-meta.1
+man/man1/bup-midx.1
+man/man1/bup-mux.1
+man/man1/bup-on.1
+man/man1/bup-prune-older.1
+man/man1/bup-random.1
+man/man1/bup-restore.1
+man/man1/bup-rm.1
+man/man1/bup-save.1
+man/man1/bup-server.1
+man/man1/bup-split.1
+man/man1/bup-tag.1
+man/man1/bup-tick.1
+man/man1/bup-validate-object-links.1
+man/man1/bup-validate-ref-links.1
+man/man1/bup-web.1
+man/man1/bup.1
+share/doc/bup/DESIGN.md
+share/doc/bup/README.md
diff --git a/bup-snapshot/distinfo b/bup-snapshot/distinfo
new file mode 100644
index 0000000000..7b4b88ec5e
--- /dev/null
+++ b/bup-snapshot/distinfo
@@ -0,0 +1,9 @@
+$NetBSD: distinfo,v 1.33 2026/01/29 00:35:05 gdt Exp $
+
+BLAKE2s (bup-0.33.51.872-1b4976f9fc100f12b8b1a34d1a7e96e5fcdd4116.tar.gz) = 8a89a6bc73817ac814e101b15c52edafd27843070fa654893fb2df3845034045
+SHA512 (bup-0.33.51.872-1b4976f9fc100f12b8b1a34d1a7e96e5fcdd4116.tar.gz) = 294e5e9f9518d01bde13cb9072656e9e5802f2d32c33aa521eb885a0410b3aa212b856efeef99c346db717036d2bda09bb9be6ed86b5937322bf2eb29496f56e
+Size (bup-0.33.51.872-1b4976f9fc100f12b8b1a34d1a7e96e5fcdd4116.tar.gz) = 651813 bytes
+BLAKE2s (bup-man-26d961455dc071f166a3f6f54e6ceb0b71cf2524.tar.gz) = 8c4037e8e8e226fa0f23e4f7deb8c06ca43c6514416bb32fd66ec3a3a1b1fca5
+SHA512 (bup-man-26d961455dc071f166a3f6f54e6ceb0b71cf2524.tar.gz) = c0a9ba7d3a3a752bc4a993b9da5745959e17a523bf59d42d47dc7e2df30eb8804a3feaf9ae9f768d417d2fc0d6918c4991cfc89353b08cac56c75f5c254f03c3
+Size (bup-man-26d961455dc071f166a3f6f54e6ceb0b71cf2524.tar.gz) = 34265 bytes
+SHA1 (patch-lib_bup___helpers.c) = 2d0d70118858e9765fb5663a54f899c9084bf51a
diff --git a/bup-snapshot/options.mk b/bup-snapshot/options.mk
new file mode 100644
index 0000000000..dac6b9b4c2
--- /dev/null
+++ b/bup-snapshot/options.mk
@@ -0,0 +1,17 @@
+# $NetBSD: options.mk,v 1.2 2019/11/19 15:01:25 gdt Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.bup
+PKG_SUPPORTED_OPTIONS= fuse
+# fuse is disabled by default because it doesn't build on Mac, and
+# because the fuse implementation in bup doesn't work on NetBSD.
+# After it's fixed upstream, an OS-specific default is probably
+# appropriate.
+PKG_SUGGESTED_OPTIONS=
+
+.include "../../mk/bsd.prefs.mk"
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mfuse)
+.include "../../filesystems/py-fuse-bindings/buildlink3.mk"
+.endif
diff --git a/bup-snapshot/patches/patch-lib_bup___helpers.c b/bup-snapshot/patches/patch-lib_bup___helpers.c
new file mode 100644
index 0000000000..6ecbfd6948
--- /dev/null
+++ b/bup-snapshot/patches/patch-lib_bup___helpers.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-lib_bup___helpers.c,v 1.4 2025/12/17 23:46:21 nia Exp $
+
+If OS does not define htonll as a macro, avoid colliding with it.
+
+--- lib/bup/_helpers.c.orig 2025-12-17 14:20:36.236008733 +0000
++++ lib/bup/_helpers.c
+@@ -137,7 +137,7 @@ static void *checked_malloc(size_t n, size_t size)
+ // This function should technically be macro'd out if it's going to be used
+ // more than ocasionally. As of this writing, it'll actually never be called
+ // in real world bup scenarios (because our packs are < MAX_INT bytes).
+-static uint64_t htonll(uint64_t value)
++static uint64_t my_htonll(uint64_t value)
+ {
+ static const int endian_test = 42;
+
+@@ -145,6 +145,8 @@ static uint64_t htonll(uint64_t value)
+ return ((uint64_t)htonl(value & 0xFFFFFFFF) << 32) | htonl(value >> 32);
+ return value; // already in network byte order MSB-LSB
+ }
++
++#define htonll my_htonll
+ #endif
+
+ #define INTEGRAL_ASSIGNMENT_FITS(dest, src) INT_ADD_OK(src, 0, dest)
Home |
Main Index |
Thread Index |
Old Index