VFS crashing with "panic: could not begin transaction: there is already an open transaction" is fixed in 0.5.2.
Search Criteria
Package Details: tmsu 0.5.2-1
Package Actions
| Package Base: | tmsu |
|---|---|
| Description: | An application that allows you to tag your files to organize them. |
| Upstream URL: | http://tmsu.org |
| Category: | multimedia |
| Licenses: | |
| Submitter: | CasualSuperman |
| Maintainer: | lowfatcomputing |
| Last Packager: | lowfatcomputing |
| Votes: | 14 |
| First Submitted: | 2012-02-07 05:44 |
| Last Updated: | 2015-03-14 19:42 |
Latest Comments
Comment by jrmrjnck
Comment by Schnouki
Updated PKGBUILD for 0.4.3: http://ix.io/87Q
Comment by oniony
New URL: https://github.com/oniony/TMSU/
Comment by oniony
Hi, TMSU has moved to GitHub. I've left the old Bitbucket project intact but it will no longer be updated.
Comment by oniony
@AndreasBWagner. I've forced a build and it seems to have worked fine. It could be the upstream go-fuse package was failing at the time.
https://codeship.io/projects/36664/builds/2449968
Comment by oniony
@AndreasBWagner, no I've not the 0.4 branch on x86_64 for a while. Default branch built successfully just two days ago, though (https://codeship.io/projects/36664). I'll hopefully have a look this evening: it could be something I've already fixed on default.
(Sorry didn't notice your message earlier.)
Comment by lowfatcomputing
@freebullets good catch, go-fuse and go-sqlite3 were missing from the makedepends array.
I have not added 'go' to the array because it is already a dependency of go-fuse and go-sqlite3.
I just noticed tmsu is apparently not building on x86_64. I will investigate this. If you are on x86_64 use https://aur.archlinux.org/packages/tmsu-bin/ for the time being.
@oniony have you tried building tmsu on x86_64 lately?
echo "package common; var Version = \"0.4.2\"" >src/tmsu/common/version.gen.go
go build -o bin/tmsu tmsu
go build github.com/mattn/go-sqlite3: no buildable Go source files in /usr/lib/go/src/pkg/github.com/mattn/go-sqlite3
# github.com/hanwen/go-fuse/fuse/nodefs
/usr/lib/go/site/src/github.com/hanwen/go-fuse/fuse/nodefs/dir.go:14: undefined: fuse.EntryOut
Makefile:30: recipe for target 'compile' failed
make: *** [compile] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Comment by jkennedy
This package is broken for me. First problem is go isn't listed as a compile dependency. Second problem is that the go dependencies aren't being installed. I haven't gotten further than that.
Comment by TrialnError
Ah, you're right. I missed the point with the build instruction, so I assumed this was also a -bin package. My bad.
But it's nice that it got updated :)
Comment by lowfatcomputing
I was using tmsu-bin but some people, such as free software activist types prefer source packages. Also, source packages will be optimized for, or run on architectures other than i686 such as ARM. For these reasons I would advocate keeping this package.
Anyways, I have updated the package and modernized it.
Comment by TrialnError
Hi
Looking at tmsu and tmsu-bin (which you both maintain)
In my opinion you should make a File Request which should merge this (tmsu) into tmsu-bin
As they're in broad lines identical and the -bin suffix is more appropiate. Having duplicates is not helpful (and the tmsu PKGBuild is in a bad shape since it's quite some time it got updated)
One note though, as it applies also for the tmsu PKGBuild.
$startdir is deprecated and shouldn't be used. (See man PKGBUILD)
A "replacement" would be $SRCDEST (see /etc/makepkg.conf) but at a whole the handling of the .install file is somewhat creepy, but I don't know a better way.
Comment by Dieter_be
tmsu 0.3.0 is out
Comment by d72
This builds and installs:
$ diff PKGBUILD PKGBUILD.new
5c5
< _extraversion=fc625091a134
---
> _extraversion=ca212545de5d
6a7
> GOPATH=/usr/lib/go/site
15,16c16,17
< source=("$pkgname-$pkgver::https://bitbucket.org/oniony/${pkgname}/downloads/tmsu-i686-${pkgver}.tgz")
< md5sums=('faf750360b1d6b98c6ed7a85a78f30ed')
---
> source=("$pkgname-$pkgver::hg+https://bitbucket.org/oniony/tmsu/commits/ca212545de5d")
> md5sums=('SKIP')
19c20
< cd "$srcdir/oniony-tmsu-$_extraversion/"
---
> cd "$srcdir/$pkgname-$pkgver/"
28c29
< cd "$srcdir/oniony-tmsu-$_extraversion/"
---
> cd "$srcdir/$pkgname-$pkgver/"
I've tested it as far as tagging a file, mounting the VFS and browsing it
Comment by d72
I'm getting the error about line 19 too, I tried changing the src directory to tmsu-0.2.1 and it gets further but fails with this error:
make: *** No targets specified and no makefile found. Stop.
Comment by orschiro
I got the following error. Installing tmsu-bin worked though:
==> Making package: tmsu 0.2.1-1 (Sun Aug 11 21:03:59 CEST 2013)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading tmsu-0.2.1...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
100 1055k 100 1055k 0 0 279k 0 0:00:03 0:00:03 --:--:-- 558k
==> Validating source files with md5sums...
tmsu-0.2.1 ... Passed
==> Extracting sources...
-> Extracting tmsu-0.2.1 with bsdtar
==> Starting build()...
/var/cache/pacman/pkg/tmsu8151/tmsu/PKGBUILD: line 19: cd: /var/cache/pacman/pkg/tmsu8151/tmsu/src/oniony-tmsu-fc625091a134/: No such file or directory
==> ERROR: A failure occurred in build().
Aborting...
Comment by lowfatcomputing
For those having issues with this source package try the binary package tmsu-bin: https://aur.archlinux.org/packages/tmsu-bin/
Comment by deimos
0.2.1 is available as of 2013-07-10 from here: https://bitbucket.org/oniony/tmsu/downloads/
Comment by mmq
setting GOPATH to /usr/lib/go/site in the PKGBUILD gets past the cannot find package errors, but then I'm stuck here:
go clean tmsu
abort: there is no Mercurial repository here (.hg not found)
echo "package common; var Version = \"0.2.0 ()\"" >src/tmsu/common/version.gen.go
go build -o tmsu tmsu
rm -f src/tmsu/common/version.gen.go
rm -Rf bin
rm -Rf tmsu-0.2.0
rm -f tmsu-x86_64-0.2.0.tgz
# tmsu/common
open src/tmsu/common/version.gen.go: No such file or directory
make: *** [compile] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Any ideas on this? (also, supposedly 0.2.1 is out, though i don't see a good link for the source)
Comment by nandushines
I have the same error as user:deimos. Any help?
go clean tmsu
rm -f src/tmsu/common/version.gen.go
rm -Rf bin
rm -Rf tmsu-0.2.0
rm -f tmsu-x86_64-0.2.0.tgz
abort: there is no Mercurial repository here (.hg not found)
echo "package common; var Version = \"0.2.0 ()\"" >src/tmsu/common/version.gen.go
go build -o tmsu tmsu
src/tmsu/vfs/fusevfs.go:22:2: cannot find package "github.com/hanwen/go-fuse/fuse" in any of:
/usr/lib/go/src/pkg/github.com/hanwen/go-fuse/fuse (from $GOROOT)
/tmp/packerbuild-1000/tmsu/tmsu/src/oniony-tmsu-fc625091a134/src/github.com/hanwen/go-fuse/fuse (from $GOPATH)
src/tmsu/storage/database/database.go:23:2: cannot find package "github.com/mattn/go-sqlite3" in any of:
/usr/lib/go/src/pkg/github.com/mattn/go-sqlite3 (from $GOROOT)
/tmp/packerbuild-1000/tmsu/tmsu/src/oniony-tmsu-fc625091a134/src/github.com/mattn/go-sqlite3 (from $GOPATH)
make: *** [compile] Error 1
==> ERROR: A failure occurred in build().
Aborting...
The build failed.
Comment by deimos
PKGBUILD for 0.2.0-4 was working, now I get the following error:
go clean tmsu
rm -f src/tmsu/common/version.gen.go
rm -Rf bin
rm -Rf tmsu-0.2.0
rm -f tmsu-x86_64-0.2.0.tgz
abort: there is no Mercurial repository here (.hg not found)
echo "package common; var Version = \"0.2.0 ()\"" >src/tmsu/common/version.gen.go
go build -o tmsu tmsu
src/tmsu/vfs/fusevfs.go:22:2: cannot find package "github.com/hanwen/go-fuse/fuse" in any of:
/usr/lib/go/src/pkg/github.com/hanwen/go-fuse/fuse (from $GOROOT)
/tmp/yaourt-tmp-deimos/aur-tmsu/src/oniony-tmsu-fc625091a134/src/github.com/hanwen/go-fuse/fuse (from $GOPATH)
src/tmsu/storage/database/database.go:23:2: cannot find package "github.com/mattn/go-sqlite3" in any of:
/usr/lib/go/src/pkg/github.com/mattn/go-sqlite3 (from $GOROOT)
/tmp/yaourt-tmp-deimos/aur-tmsu/src/oniony-tmsu-fc625091a134/src/github.com/mattn/go-sqlite3 (from $GOPATH)
make: *** [compile] Error 1
==> ERROR: A failure occurred in build().
Aborting...
Anonymous comment
@AndreasBWagner Installed again with $GOPATH set to /usr/lib/go and failed with the same error message...
Anonymous comment
@AndreasBWagner Still no luck. For some reason the sources for 'go-fuse' and 'go-sqlite3' are installed under /usr/lib/go/site/src instead of /usr/lib/go and that's why the build() constantly gets stuck in trying to find them under /usr/lib/go.
I will try again by uninstalling all the dependencies, setting my $GOPATH and installing again
Comment by lowfatcomputing
@yulan6248, it looks like adding both /usr/lib/go and /usr/lib/go/site and whatever is in your $GOPATH variable by default causes problems because there is redundancy. I have changed the line to 'make GOPATH="/usr/lib/go:$(pwd)"' for those that don't have their $GOPATH set.
Try it now.
Anonymous comment
I still get the issues similar to that in some of the previous posts.
abort: there is no Mercurial repository here
This happens first when the build() function tries to find go-fuse and go-sqlite packages. I tried with setting my $GOPATH to include /usr/lib/go and /usr/lib/go/site and those two problems went away, but now it stopped at another place
abort: there is no Mercurial repository here (.hg not found)
# tmsu/vfs
src/tmsu/vfs/fusevfs.go:34: undefined: fuse.DefaultFileSystem
src/tmsu/vfs/fusevfs.go:38: undefined: fuse.MountState
src/tmsu/vfs/fusevfs.go:43: undefined: fuse.NewPathNodeFs
src/tmsu/vfs/fusevfs.go:44: undefined: fuse.NewFileSystemConnector
src/tmsu/vfs/fusevfs.go:45: undefined: fuse.NewMountState
src/tmsu/vfs/fusevfs.go:94: undefined: fuse.File
src/tmsu/vfs/fusevfs.go:109: not enough arguments to return
src/tmsu/vfs/fusevfs.go:116: not enough arguments to return
src/tmsu/vfs/fusevfs.go:157: undefined: fuse.File
src/tmsu/vfs/fusevfs.go:170: not enough arguments to return
src/tmsu/vfs/fusevfs.go:170: too many errors
make: *** [compile] Error 2==> ERROR: A failure occurred in build().
Anonymous comment
I still get the issues similar to that in some of the previous posts.
abort: there is no Mercurial repository here
This happens first when the build() function tries to find go-fuse and go-sqlite packages. I tried with setting my $GOPATH to include /usr/lib/go and /usr/lib/go/site and those two problems went away, but now it stopped at another place
abort: there is no Mercurial repository here (.hg not found)
# tmsu/vfs
src/tmsu/vfs/fusevfs.go:34: undefined: fuse.DefaultFileSystem
src/tmsu/vfs/fusevfs.go:38: undefined: fuse.MountState
src/tmsu/vfs/fusevfs.go:43: undefined: fuse.NewPathNodeFs
src/tmsu/vfs/fusevfs.go:44: undefined: fuse.NewFileSystemConnector
src/tmsu/vfs/fusevfs.go:45: undefined: fuse.NewMountState
src/tmsu/vfs/fusevfs.go:94: undefined: fuse.File
src/tmsu/vfs/fusevfs.go:109: not enough arguments to return
src/tmsu/vfs/fusevfs.go:116: not enough arguments to return
src/tmsu/vfs/fusevfs.go:157: undefined: fuse.File
src/tmsu/vfs/fusevfs.go:170: not enough arguments to return
src/tmsu/vfs/fusevfs.go:170: too many errors
make: *** [compile] Error 2==> ERROR: A failure occurred in build().
Comment by lowfatcomputing
I have fixed the packages go-fuse and go-sqlite3 and added them as dependencies of tmsu. Building should work, but let us know if it doesn't.
Comment by applebloom
The package doesn't build, as tmsu needs go-fuse and go-sqlite3. I couldn't make go-fuse to build (it was hanging on some sort of test producing a zombie process), so instead of installing those I just put the following into this PKGBUILD:
GOPATH=$PWD go get github.com/hanwen/go-fuse/fuse
GOPATH=$PWD go get github.com/mattn/go-sqlite3
before make. GOPATH has to be set to $PWD here, because that's what the Makefile does.
Comment by deimos
I edited the PKGBUILD to
depends=('go' 'go-sqlite3' 'go-fuse' 'mercurial')
But it fails to build:
go clean tmsu
rm -f src/tmsu/common/version.gen.go
rm -Rf bin
rm -Rf tmsu-0.2.0
rm -f tmsu-x86_64-0.2.0.tgz
abort: there is no Mercurial repository here (.hg not found)
echo "package common; var Version = \"0.2.0 ()\"" >src/tmsu/common/version.gen.go
go build -o tmsu tmsu
src/tmsu/vfs/fusevfs.go:22:2: cannot find package "github.com/hanwen/go-fuse/fuse" in any of:
/usr/lib/go/src/pkg/github.com/hanwen/go-fuse/fuse (from $GOROOT)
/tmp/yaourt-tmp-deimos/aur-tmsu/src/oniony-tmsu-fc625091a134/src/github.com/hanwen/go-fuse/fuse (from $GOPATH)
src/tmsu/storage/database/database.go:23:2: cannot find package "github.com/mattn/go-sqlite3" in any of:
/usr/lib/go/src/pkg/github.com/mattn/go-sqlite3 (from $GOROOT)
/tmp/yaourt-tmp-deimos/aur-tmsu/src/oniony-tmsu-fc625091a134/src/github.com/mattn/go-sqlite3 (from $GOPATH)
make: *** [compile] Error 1
I am able to successfully build tmsu if I manually link to the correct locations of go-fuse and go-sqlite:
go clean tmsu
rm -f src/tmsu/common/version.gen.go
rm -Rf bin
rm -Rf tmsu-0.2.0
rm -f tmsu-x86_64-0.2.0.tgz
abort: there is no Mercurial repository here (.hg not found)
echo "package common; var Version = \"0.2.0 ()\"" >src/tmsu/common/version.gen.go
go build -o tmsu tmsu
mv tmsu bin
cp -R bin tmsu-0.2.0
cp README.md tmsu-0.2.0
cp COPYING tmsu-0.2.0
tar czf tmsu-x86_64-0.2.0.tgz tmsu-0.2.0
rm -Rf tmsu-0.2.0
go test tmsu/...
warning: building out-of-date packages:
github.com/mattn/go-sqlite3
github.com/hanwen/go-fuse/raw
github.com/hanwen/go-fuse/splice
github.com/hanwen/go-fuse/fuse
installing these packages with 'go test -i tmsu/...' will speed future tests.
? tmsu [no test files]
ok tmsu/cli 0.023s
ok tmsu/cli/commands 0.406s
? tmsu/common [no test files]
? tmsu/common/proc [no test files]
ok tmsu/fingerprint 0.018s
? tmsu/log [no test files]
ok tmsu/path 0.017s
? tmsu/storage [no test files]
? tmsu/storage/database [no test files]
? tmsu/vfs [no test files]
Comment by lowfatcomputing
The package will upgrade the database for you, provided you were not using tmsu from tip. Please "tmsu repair" and then check to make sure it works, if not you can downgrade and you have the backup of the database.
Also, I noticed the package occasionally fails to build. If this is the case try again. This is probably something for upstream to fix.
Apologies for the delay.
Comment by Dieter_be
0.2.0 is out
this pkgbuild is running behind quite a few versions..
Comment by orschiro
I fixed some issues with the PKGBUILD:
# Maintainer: Robert Wertman <robert.wertman+aur@gmail.com>
pkgname=tmsu
pkgver=0.1.0
pkgrel=1
pkgdesc="An application that allows you to tag your files to organize them."
arch=('any')
url="https://bitbucket.org/oniony/tmsu/"
license=('GPL' 'BSD')
md5sums=('24eb5ed29758a84519c36e322b9c9d3c')
_MachineType=`uname -m`
if [[ ${_MachineType} == i686 ]]
then
depends=('sqlite3' 'fuse')
else
depends=('lib32-sqlite3' 'fuse')
fi
source=(https://bitbucket.org/oniony/tmsu/downloads/$pkgname-i686-$pkgver.tgz)
package() {
cd "$srcdir/$pkgname-$pkgver"
mkdir -p $pkgdir/usr/share/licenses/$pkgname $pkgdir/usr/bin
#cp -r LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
cp -r bin/tmsu "$pkgdir/usr/bin/"
}
# vim:set ts=2 sw=2 et:
Comment by CasualSuperman
I think it's fixed. This is my first package, so if I did it wrong, I apologize.
Comment by Asclepius
lib32-sqlite3 can't be installed if pacman is configured to download only 32 bit packages. You should properly make it system agnostic.
Comment by CasualSuperman
Also done.
Anonymous comment
Please add fuse to the dependencies, since tmsu won't run if it can't find the fusermount binary
Comment by CasualSuperman
Done.
Comment by karol_007
http://www.oniony.com/tmsu/ returs a 404, maybe you can use https://bitbucket.org/oniony/tmsu/ as the project's url?