Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 147687 - mono-fuse-0.4.0.ebuild (New package)
Summary: mono-fuse-0.4.0.ebuild (New package)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL:
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2006-09-15 06:32 UTC by Jurek Bartuszek (RETIRED)
Modified: 2006-10-22 03:38 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
mono-fuse-0.2.1.ebuild (New package) (mono-fuse-0.2.1.ebuild,1.52 KB, text/plain)
2006-09-15 06:35 UTC, Jurek Bartuszek (RETIRED)
Details
mono-fuse-0.3.0.ebuild (Version bump) (mono-fuse-0.3.0.ebuild,1.61 KB, text/plain)
2006-09-15 11:48 UTC, Jurek Bartuszek (RETIRED)
Details
mono-fuse-0.3.0.ebuild update (mono-fuse-0.3.0.ebuild,1.60 KB, text/plain)
2006-09-23 01:02 UTC, Jurek Bartuszek (RETIRED)
Details
mono-fuse-0.3.0.ebuild patch (ebuild.diff,531 bytes, patch)
2006-09-25 12:39 UTC, Jurek Bartuszek (RETIRED)
Details | Diff
mono-fuse.0.3.0.ebuild.patch (ebuild.patch,1.73 KB, patch)
2006-09-26 02:33 UTC, Jurek Bartuszek (RETIRED)
Details | Diff
mono-fuse-0.3.0.ebuild.patch (ebuild.patch,1.68 KB, patch)
2006-09-26 10:05 UTC, Jurek Bartuszek (RETIRED)
Details | Diff
mono-fuse-0.4.0.ebuild (mono-fuse-0.4.0.ebuild,801 bytes, text/plain)
2006-10-13 15:36 UTC, Jurek Bartuszek (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-15 06:32:53 UTC
That's an initial ebuild for mono-fuse, a C# binding for FUSE library. It depends on dev-lang/mono and sys-fs/fuse. Due to exceptions thrown and errors appearing I had to alter Makefile.am and move some work into the ebuild in order to succeed. If you know a better solution let me know.

I think dev-dotnet is a pretty obvious choice for this package.
Comment 1 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-15 06:35:11 UTC
Created attachment 97048 [details]
mono-fuse-0.2.1.ebuild (New package)
Comment 2 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-15 11:48:43 UTC
Created attachment 97073 [details]
mono-fuse-0.3.0.ebuild (Version bump)
Comment 3 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-23 01:02:02 UTC
Created attachment 97822 [details]
mono-fuse-0.3.0.ebuild update

Modified the ebuild a bit so that it uses 'inherit autotools' and 'eautoreconf' now.
Comment 4 Peter Johanson (RETIRED) gentoo-dev 2006-09-25 12:16:16 UTC
This looks mostly good. A couple things:

1) The DEPEND line doesn't need a \ for continuation... ebuilds are like bash... but not quite. (:

2) Can you post what error you get when trying to do just a regulae make during the src_compile step? It seems there's got to be a nicer, more maintainable solution than that.

3) If you continue lines inside any of the src_*, etc methods, make sure you indent for all further lines (last part of src_unpack has a problem).

4) Did you test on all 3 arches listed?

Otherwise, this mostly looks good, I can't actually test this right now though.
Comment 5 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-25 12:38:22 UTC
> 1) The DEPEND line doesn't need a \ for continuation... ebuilds are like
> bash... but not quite. (:
Yes, I'm aware of that. I must have done that involuntary.

> 2) Can you post what error you get when trying to do just a regulae make during
> the src_compile step? It seems there's got to be a nicer, more maintainable
> solution than that.
After removing src_compile and src_unpack I get this error:

make[3]: Entering directory `/var/tmp/portage/mono-fuse-0.3.0/work/mono-fuse-0.3.0/src/Mono.Fuse'
/usr/bin/gmcs  -d:TRACE -debug+ -out:../../lib/mono-fuse/Mono.Fuse.dll -target:library -r:Mono.Posix.dll ./MapAttribute.cs ./Mono.Fuse/FileSystem.cs
./Mono.Fuse/FileSystem.cs(45,18): warning CS0169: The private field `Mono.Fuse.FileSystemOperationContext.fuse' is never used
Compilation succeeded - 1 warning(s)
mono ./create-native-map.exe  \
--public-macro:FUSE_USE_VERSION=25  \
--impl-header:"<fuse.h>"            \
        --library=MonoFuseHelper            \
        --rename-member:st_atime=st_atime_  \
        --rename-member:st_mtime=st_mtime_  \
        --rename-member:st_ctime=st_ctime_  \
        ../../lib/mono-fuse/Mono.Fuse.dll ../../lib/map
mono ./create-native-map.exe  \
--public-macro:FUSE_USE_VERSION=25  \
--impl-header:"<fuse.h>"            \
        --library=MonoFuseHelper            \
        --rename-member:st_atime=st_atime_  \
        --rename-member:st_mtime=st_mtime_  \
        --rename-member:st_ctime=st_ctime_  \
        ../../lib/mono-fuse/Mono.Fuse.dll ../../lib/map
mono ./create-native-map.exe  \
--public-macro:FUSE_USE_VERSION=25  \
--impl-header:"<fuse.h>"            \
        --library=MonoFuseHelper            \
        --rename-member:st_atime=st_atime_  \
        --rename-member:st_mtime=st_mtime_  \
        --rename-member:st_ctime=st_ctime_  \
        ../../lib/mono-fuse/Mono.Fuse.dll ../../lib/map

Unhandled Exception: System.IO.IOException: Sharing violation on path ../../lib/map.h
  at System.IO.FileStream..ctor (System.String name, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000]
  at System.IO.FileStream..ctor (System.String name, FileMode mode, FileAccess access, FileShare share) [0x00000]
  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000]
  at System.IO.StreamWriter..ctor (System.String path, Boolean append) [0x00000]
  at (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool)
  at System.IO.File.CreateText (System.String path) [0x00000]
  at HeaderFileGenerator.CreateFile (System.String assembly_name, System.String file_prefix) [0x00000]
  at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_string_string (string,string)
  at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_string_string (string,string)
  at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_string_string (string,string)
  at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_string_string (string,string)
  at MakeMap.Run (.Configuration config) [0x00000]
  at MakeMap.Main (System.String[] args) [0x00000]
make[3]: *** [../../lib/map.c] B&#322;&#261;d 1
make[3]: *** Czekam na niezako&#324;czone zadania....

Unhandled Exception: System.IO.IOException: Sharing violation on path ../../lib/map.h
  at System.IO.FileStream..ctor (System.String name, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000]
  at System.IO.FileStream..ctor (System.String name, FileMode mode, FileAccess access, FileShare share) [0x00000]
  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000]
  at System.IO.StreamWriter..ctor (System.String path, Boolean append) [0x00000]
  at (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool)
  at System.IO.File.CreateText (System.String path) [0x00000]
  at HeaderFileGenerator.CreateFile (System.String assembly_name, System.String file_prefix) [0x00000]
  at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_string_string (string,string)
  at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_string_string (string,string)
  at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_string_string (string,string)
  at (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_string_string (string,string)
  at MakeMap.Run (.Configuration config) [0x00000]
  at MakeMap.Main (System.String[] args) [0x00000]
make[3]: *** [../../lib/map.h] B&#322;&#261;d 1
make[3]: Leaving directory `/var/tmp/portage/mono-fuse-0.3.0/work/mono-fuse-0.3.0/src/Mono.Fuse'
make[2]: *** [all-recursive] B&#322;&#261;d 1
make[2]: Leaving directory `/var/tmp/portage/mono-fuse-0.3.0/work/mono-fuse-0.3.0/src'
make[1]: *** [all-recursive] B&#322;&#261;d 1
make[1]: Leaving directory `/var/tmp/portage/mono-fuse-0.3.0/work/mono-fuse-0.3.0'
make: *** [all] B&#322;&#261;d 2

!!! ERROR: dev-dotnet/mono-fuse-0.3.0 failed.
Call stack:
  ebuild.sh, line 1546:   Called dyn_compile
  ebuild.sh, line 937:   Called src_compile
  ebuild.sh, line 608:   Called die

As you can see above, there are three attempts to run 'mono ./create-native-map.exe' and that's where the failure occurs. Therefore in my ebuild I perform this step manually.

> 3) If you continue lines inside any of the src_*, etc methods, make sure you
> indent for all further lines (last part of src_unpack has a problem).
Yeah, I'm aware of that one too. I've simply omitted it.

> 4) Did you test on all 3 arches listed?
Nope. That's why I'm posting a patch for this ebuild rightaway
Comment 6 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-25 12:39:53 UTC
Created attachment 98057 [details, diff]
mono-fuse-0.3.0.ebuild patch

The aforementioned patch.
Comment 7 Peter Johanson (RETIRED) gentoo-dev 2006-09-25 23:34:47 UTC
This is almost definitely a parallel build issue. Try using 'emake -j1' for the build part of this, that should hopefully resolve that issue for you.
Comment 8 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-26 02:33:51 UTC
Created attachment 98101 [details, diff]
mono-fuse.0.3.0.ebuild.patch

Of course you were right. MAKEOPTS="-j1" emake works. 

Besides that I introduced a pkg_setup() function where it is assured that the fuse module is modprobed before the compilation proceeds.
Comment 9 Peter Johanson (RETIRED) gentoo-dev 2006-09-26 08:25:33 UTC
1) You shouldn't override MAKEOPTS like that (users might have stuff other than -j# there). Using 'emake -j1 || die' will work as desired there.

2) You really shouldn't be loading modules in ebuilds, ever. Put a big einfo in pkg_postinst telling the user that they need to have the fuse kernel module built and loaded in order to use mono-fuse. That's sufficient.
Comment 10 Jurek Bartuszek (RETIRED) gentoo-dev 2006-09-26 10:05:26 UTC
Created attachment 98140 [details, diff]
mono-fuse-0.3.0.ebuild.patch

Followed your comment and updated the ebuild patch.
Comment 11 Radek Podgorny 2006-10-07 14:21:59 UTC
0.4.0 is available...

Tried to download it, build it and everything was fine (no patches needed). Haven't tried the ebuild, though...
Comment 12 Jurek Bartuszek (RETIRED) gentoo-dev 2006-10-13 15:36:14 UTC
Created attachment 99601 [details]
mono-fuse-0.4.0.ebuild

Version bump
Comment 13 Jurek Bartuszek (RETIRED) gentoo-dev 2006-10-22 03:38:02 UTC
Fixed in CVS.