Package Details: snapper-git 0.3.2.git.1223.0b36c71-1

Git Clone URL: (read-only)
Package Base: snapper-git
Description: A tool for managing BTRFS and LVM snapshots. It can create, diff and restore snapshots and provides timelined auto-snapping.
Upstream URL:
Licenses: GPL2
Conflicts: snapper
Provides: snapper
Submitter: teekay
Maintainer: teekay (NicoHood)
Last Packager: teekay
Votes: 27
Popularity: 0.120020
First Submitted: 2012-01-31 19:54
Last Updated: 2016-06-30 04:27

Required by (4)

Sources (1)

Latest Comments

batGnat commented on 2016-11-18 03:22


NicoHood commented on 2016-11-17 16:19

@batGnat Can you please report that upstream and link us the issue here?

batGnat commented on 2016-11-17 04:37

No longer building since btrfs-progs hit 4.8.3-1 in Testing...

Snaphsots *are* working...
...but cleanup.service is not executing,

● snapper-cleanup.service - Daily Cleanup of Snapper Snapshots
Loaded: loaded (/usr/lib/systemd/system/snapper-cleanup.service; static; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2016-11-16 18:46:28 AEDT; 21h ago
Docs: man:snapper(8)
Process: 11297 ExecStart=/usr/lib/snapper/systemd-helper --cleanup (code=exited, status=1/FAILURE)
Main PID: 11297 (code=exited, status=1/FAILURE)

Nov 16 18:46:28 batlaptop systemd[1]: Started Daily Cleanup of Snapper Snapshots.
Nov 16 18:46:28 batlaptop systemd-helper[11297]: Failure (org.freedesktop.DBus.Error.NoReply).
Nov 16 18:46:28 batlaptop systemd[1]: snapper-cleanup.service: Main process exited, code=exited, status=1/FAILURE
Nov 16 18:46:28 batlaptop systemd[1]: snapper-cleanup.service: Unit entered failed state.
Nov 16 18:46:28 batlaptop systemd[1]: snapper-cleanup.service: Failed with result 'exit-code'.

error in journalctl -xe

Nov 17 15:28:41 batlaptop org.opensuse.Snapper[519]: /usr/bin/snapperd: symbol lookup error: /usr/lib/ undefined symbol: lookup_path_rootid

NicoHood commented on 2016-11-04 20:57

@teekay I am currently updating the PKGBUILD. I try to orientate on the official snapper package. The configure command especially disables some things like ext4 support.

Are there any reasons for that or does the new version possibly disables this by default? I'd rather stick to the official PKGBUILD if there are no specific reasons. Otherwise we could also patch the official PKGBUILD.

teekay commented on 2014-04-29 13:00

@Reventlov: this is a -git package. The compile error is an upstream issue, but that doesn't qualify for flagging it out-of-date.


Reventlov commented on 2014-04-29 12:26


teekay commented on 2014-03-28 17:04

Heads up! From post_upgrade():
BIG FAT WARNING: the snapper-git package now uses systemd .timer units instead of cron scripts!
If you use timelined snapshots, you need to manually enable and start the timer units with:

# systemctl enable snapper-cleanup.timer
# systemctl enable snapper-timeline.timer
# systemctl start snapper-cleanup.timer
# systemctl start snapper-timeline.timer

For the rationale behind this step see

teekay commented on 2014-03-25 07:25

@erikw: libtool is part of the base-devel group. From the AUR User Guidelines:
"Warning: Packages in the AUR assume the base-devel group is installed, and AUR packages will not list members of this group as dependencies even if the package cannot be built without them..."

Otherwhise we also would have to add gcc, make, automake etc etc to every package, too.

erikw commented on 2014-03-24 21:41

Please add package "libtool" to the dependencies as libtoolize(1) is needed to build the package.

teekay commented on 2014-03-17 21:14

Heh, ok. Anyways, I fixed the conf.d vs. sysconfig location in the man pages.

cbounce commented on 2014-03-17 20:37

I screwed up - snapperd does not reload its config files automatically, but just seems to check them periodically for changes. I moved my config file with its .pacsave file in /etc/conf.d after the upgrade, but did not issue a 'killall -HUP snapperd' afterwards. Because of that, 'snapper list-configs' showed no configs. By the time I looked at snappers man page, found the default config location and copied the file from /etc/conf.d to /etc/sysconfig, snapperd must have detected the config file change and was working as expected again.

teekay commented on 2014-03-17 20:21

@cbounce: The configure flag for this is --with-conf=/etc/conf.d
If that fails I'd say it's an upstream bug, but I cannot reproduce your issue with a just built version.

What exactly isn't working?

cbounce commented on 2014-03-17 15:49


I just switched from snapper to snapper-git, and noticed that even though the upgrade process created a .pacsave file for /etc/conf.d/snapper correctly, the git version seems to be hardcoded to look for /etc/sysconfig/snapper for its configuration. after copying my /etc/conf.d/snapper to /etc/sysconfig/snapper, it started working correctly again.

teekay commented on 2014-02-01 10:09

Fixed. Thanks.

Mic92 commented on 2014-02-01 09:38

In the origin config in /etc/snapper/filters/base.txt the path for the ntp drift file is /var/lib/ntp/drift/ntp.drift but the arch default is /var/lib/ntp/ntp.drift. Would be cool if it would be correct by default.

teekay commented on 2013-12-11 12:10

Indeed. Fixed, thanks.

ams1 commented on 2013-12-11 10:23

Boost seems to be a run-time dependency, as well as a make-time dependency.

I cleaned out my orphan packages, and snapper stopped working.

teekay commented on 2013-10-31 18:24

@mtorromeo: you're right. snapper create-config is way more elegant.
I updated the wiki accordingly.

mtorromeo commented on 2013-10-31 16:44

Looking at the source code, the .snapshots subvolume is created with the create-config command:

You may want to update the wiki.

mtorromeo commented on 2013-10-31 16:34

Regarding the instructions on the wiki, there is a line section that suggests that snapper expects .snapshots to be a subvolume.

In my experience this is not necessary. The .snapshots subvolume is created automatically by snapper on the first run.

Maybe this was true for older versions? I just started using this recently and I don't know much about the old behaviours.

teekay commented on 2013-10-31 13:59

@mtorromeo: thanks. I updated the wiki accordingly (

@donniezazen: regarding the config, you might have to recreate /etc/conf.d/snapper (most likely it will end up as .pacsave after uninstalling snapper-git). If you modified the cronjob scripts provided by snapper, they will get overwritten as there is no backup() for it (not sure what you meant with "rewriting" them)

donniezazen commented on 2013-10-31 12:55

@mtorromeo Thanks. Will I need to make any change to my default setup? I have default setup as instructed in install file. Will cron job survive or will I have to rewrite that?

mtorromeo commented on 2013-10-31 10:33

For anyone interested: the stable version (0.1.7) of snapper base off this PKGBUILD is now in [community]

teekay commented on 2013-10-03 15:04

@lots0logs: thanks, meanwhile the patch is needed for btrs-progs from [core], too. Fixed.

lots0logs commented on 2013-10-02 19:36

The build failed the first try. I got it to work by removing first half of the patch line (where it pacman Q | grep btrfs-progs). I have btrfs installed so I am not sure if this is just an isolated issue or if others will have trouble. Just wanted to give the heads up!

freestyler7 commented on 2013-09-04 04:22

git needs to be added to dependencies :)

superzanti commented on 2013-06-12 05:10

Thanks for help,man do I feel stupid. All I had to do was run
sudo systemctl cronie.service
to enable crontab. Anyway, thanks again, this is one of the best packages on AUR. You received my vote!

teekay commented on 2013-06-11 14:21

@superzanti: I should have been more specific, use --verbose instead of the --quiet flag. But as a snapshot is generated when running manually, I suspect there's something fishy with your cron daemon. As a test you could add a echo "something" line in /etc/cron.hourly/snapper and/or replace the --quiet with --verbose in the snapper command. You should get a mail from cron then if it runs...

superzanti commented on 2013-06-11 13:11

Thanks, I think that may have lead me to the problem. I get no output when running with the --verbose flag, however, when I run it, it does generate a snapshot. The snapper.log doesn't seem to have any problems either.
Could this be a problem with crontab not running?

teekay commented on 2013-06-11 09:24

@donniezazen & superzanti

Hourly timeline works fine here. Please execute the command from /etc/cron.hourly/snapper manually with --verbose flag and check your /var/log/snapper.log

Also check SNAPPER_CONFIGS in /etc/conf.d/snapper - you need to enable your configs in there.

superzanti commented on 2013-06-11 05:00

I'm having the same trouble. I feel like it needs to be some service that needs to be enabled via systemctl or something, but I can't quite figure it out.
I can however, make snapshots just fine, diff them, and revert back to them.

donniezazen commented on 2013-06-11 01:58

It doesn't seem to do hourly snapshotting. Does it do that for you?

# create hourly snapshots

teekay commented on 2013-06-10 07:47

Updated depends for xsltproc changes (


donniezazen commented on 2013-06-09 21:46

Please add docbook-xsl as a dependency. It wouldn't build without docbook-xsl as reported in this bug

teekay commented on 2013-06-04 08:23

I unintentionally uploaded the PKGBUILD with the patch for btrfs-progs-git master uncommented, sorry! Fixed.

Again for those who use a recent btrfs-progs-git, uncomment the patch. I don't know a sane way to make this conditional (like "if has_version .." on Gentoo for example)

darude commented on 2013-06-04 07:45

Got the exact same message!

darude commented on 2013-06-04 07:45

Got the same exact message!

erikw commented on 2013-06-04 01:22

I'm getting build errors after upgrading official packages:

In file included from
/usr/include/btrfs/send-stream.h:59:5: note: declared here
int btrfs_read_and_process_send_stream(int fd,
make[2]: *** [Btrfs.lo] Error 1
make[2]: Leaving directory `/tmp/yaourt-tmp-root/aur-snapper-git/src/snapper/snapper'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/yaourt-tmp-root/aur-snapper-git/src/snapper'
make: *** [all] Error 2

teekay commented on 2013-06-03 09:33

@waynelloyd: dang, fixed!

@arokh: first get the dbus fixup. If the error persists, check /var/log/snapper.log - If you created a .snapshots _directory_ as explained in the install file previously, please see - it needs to be a subvolume meanwhile. I updated the install file accordingly.

Anonymous comment on 2013-06-03 08:19

This is what I get when trying to do a snapshot:

# snapper --config=root --quiet create --description="timeline" --cleanup-algorithm="timeline"
IO Error.

What's going on here?

waynelloyd commented on 2013-06-02 21:23

After updating I got the following error running snapper "Failure (org.freedesktop.DBus.Error.Spawn.ExecFailed)." the path to snapperd needs updated in /usr/share/dbus-1/system-services/org.opensuse.Snapper.service from /usr/sbin/snapperd to /usr/bin/snapperd

waynelloyd commented on 2013-06-02 20:57

After updating I got the following error running snapper "Failure (org.freedesktop.DBus.Error.Spawn.ExecFailed)." the path to snapperd needs updated in /usr/share/dbus-1/system-services/org.opensuse.Snapper.service from /usr/sbin/snapperd to /usr/bin/snapperd

teekay commented on 2013-05-30 06:33

Done. Also fixed pam plugin install location and removed .la files.

bwrsandman commented on 2013-05-30 01:19

It would be prudent to move /usr/sbin/snapperd to /usr/bin before the devs merge the bin directories.

teekay commented on 2013-05-29 07:50

Aargh, fixed. Thanks erikw!

Also if you use a recent btrfs-git build, you need to uncomment the btrfs-master.patch in build()

erikw commented on 2013-05-28 20:12

/etc/cron.hourly/snapper and friends are looking for the snapper config at /etc/sysconfig/snapper but its placed under /etc/conf.d/snapper. So no timeline snapshots are taken!!

teekay commented on 2013-04-25 13:07

PS: Attention! The package now uses the new pkgver() function to create a sane version number. This causes a "downgrade".

teekay commented on 2013-04-25 10:47

@jpkotta: perfect, thanks! Package updated accordingly.

jpkotta commented on 2013-04-24 21:57

Does not build; fails with linker errors on Also, it seems to work fine with automake-1.13 (the current version in core), so I removed the dependency.

teekay commented on 2013-03-31 19:10

@ AlatarQQ: thanks, fixed. One hack less, yay.

@ erikw: indeed very handy. I'll play with and maybe we could even include it in this package or something. I was always thinking of some sort of pacman hook to create a snapshot pre and post upgrade..

The package needs a rebuild after boost 1.53 upgrade (curr. in [testing]). Watch out!

Anonymous comment on 2013-03-31 01:02

Please fix PKGBUILD:

erikw commented on 2013-03-23 21:38

Hey all here's a handy script that wraps a shell command around pre-post snapshots that I use all the time, typically like $(snp yapurt -Syyua). Thought that I could share it if anyone wants to use it:

hasufell commented on 2013-03-02 22:46

gentoo does not have slots for BOOST any longer

that was done, so that broken packages get reported instead of just pinning them to older boost slots and letting them rot

that also has it's disadvantages though

teekay commented on 2013-02-06 11:15

Fixed upstream. package updated.

teekay commented on 2013-02-06 11:05

Arvin Schnell came up with the same patch, so it should be fine

cbounce: please report back there if it works for you.


teekay commented on 2013-02-05 19:09

I have the same issue - I just didn't realize it because as you said it still works sort of. Fun with BOOST, yay!

Most likely it's because of boost-1.52 "breaking changes"

I added a patch that checks if the thread is joinable in server/ and server/ Please test, and do so on a test system, because to be honest I don't really have much idea of what I'm doing there with boost threads.

Sometimes I _really_ Gentoo's SLOTs, boost is one of the reasons why they exist I guess..

cbounce commented on 2013-02-05 05:56

Hey, there seems to be another problem with boost, although I suspect it's an upstream bug:

Interestingly, the commands seem to complete successfully (I can list, create, mount, delete... snapshots), but afterwards, some boost thread seems to die.

Feb 05 06:41:49 mammoth dbus-daemon[477]: dbus[477]: [system] Activating service name='org.opensuse.Snapper' (using servicehelper)
Feb 05 06:41:49 mammoth dbus[477]: [system] Activating service name='org.opensuse.Snapper' (using servicehelper)
Feb 05 06:41:49 mammoth dbus-daemon[477]: dbus[477]: [system] Successfully activated service 'org.opensuse.Snapper'
Feb 05 06:41:49 mammoth dbus[477]: [system] Successfully activated service 'org.opensuse.Snapper'
Feb 05 06:41:50 mammoth dbus-daemon[477]: terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::thread
Feb 05 06:41:50 mammoth dbus-daemon[477]: what(): boost thread: thread not joinable: Invalid argument
Feb 05 06:41:50 mammoth systemd-coredump[573]: Process 570 (snapperd) dumped core.

mammoth ~ # pacman -Q snapper-git thin-provisioning-tools-git lvm2-thin dbus boost systemd
snapper-git 20130205-1
thin-provisioning-tools-git 20130205-1
lvm2-thin 2.02.98-1
dbus 1.6.8-6
boost 1.52.0-1
systemd 197-4

mammoth ~ # /usr/sbin/snapperd -h
usage: snapperd [--options]

--stdout, -s Log to stdout.
--debug, -d Turn on debugging.

terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::thread_resource_error> >'
what(): boost thread: thread not joinable: Invalid argument
Aborted (core dumped)

teekay commented on 2013-01-12 19:40

Fixed build yet again, needs automake-1.11 now ...

Anonymous comment on 2012-10-22 20:33

It always seems to be fun linking with boost... Working now, thanks for the quick fix!

teekay commented on 2012-10-22 19:52

Thanks. I fixed the build process (things get messy sort of..)

It now comes with a dbus service so a regular user can use it. Haven't tested that yet.

Anonymous comment on 2012-10-22 18:59

makepkg is failing for me on a fresh install... I've got boost 1.50.0-2 from extra.

/usr/bin/ld: cannot find -lboost_thread-mt
collect2: error: ld returned 1 exit status
make[2]: *** [] Error 1
make[2]: Leaving directory `/home/matt/Downloads/snapper-git/src/snapper-build/snapper'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/matt/Downloads/snapper-git/src/snapper-build'
make: *** [all] Error 2
==> ERROR: A failure occurred in build().

It looks like openSUSE has boost 1.49 in it's repos, but downgrading to that didn't help. I've tried softlinking libboost_thread.a and/or with an -mt suffix, but no joy there either.


teekay commented on 2012-06-20 12:32

@srf21c: install base-devel. See

sysfu commented on 2012-06-19 23:19

makepkg fails for me here:

==> Starting build...
Cloning into '/home/seth/snapper-git/src/snapper-build'...
/home/seth/snapper-git/PKGBUILD: line 49: aclocal: command not found
==> ERROR: A failure occurred in build().

teekay commented on 2012-04-28 10:17

Thanks. Updated accordingly.

skydrome commented on 2012-04-27 02:26

repo is at now

teekay commented on 2012-02-29 11:29

Update: removed blocxx-svn depend - it's not needed anymore.

teekay commented on 2012-02-12 19:27

@crabman: recompile blocxx-svn

crabman commented on 2012-02-12 19:11

broken since latest pcre update

teekay commented on 2012-02-08 08:33

Changed dependency to blocxx-svn as there is no blocxx available currently, and added subversion to blocxx-svn's makedepends.
Thanks @rewind.

Anonymous comment on 2012-02-07 17:19

blocxx is not available, there is blocxx-svn, but needs subversion dependency.

teekay commented on 2012-02-01 13:55

Yeah that one almost drove me nuts yesterday. The last version has that fixed already, plus some other minor cleanups.

crabman commented on 2012-02-01 12:26

I found another problem: the scripts in cron.hourly and cron.daily are named "". On a normal arch install, they are called by debian run-parts, which requires them to be named in the way as described in its manpage. Otherwise they are not being executed. Renaming them to just "snapper" did the trick for me.

teekay commented on 2012-01-31 22:04

Added. Thanks!

crabman commented on 2012-01-31 21:55

thanks for the PKGBUILD! swig is missing in the makedepends array.