Package Details: httpdirfs 1.2.7-1

Git Clone URL: https://aur.archlinux.org/httpdirfs.git (read-only, click to copy)
Package Base: httpdirfs
Description: A filesystem which allows you to mount HTTP directory listings
Upstream URL: https://github.com/fangfufu/httpdirfs
Licenses: GPL
Submitter: owentrigueros
Maintainer: owentrigueros
Last Packager: owentrigueros
Votes: 30
Popularity: 1.99
First Submitted: 2019-10-25 07:21 (UTC)
Last Updated: 2024-11-04 18:26 (UTC)

Sources (1)

Latest Comments

« First ‹ Previous 1 2 3 Next › Last »

owentrigueros commented on 2022-09-09 09:38 (UTC)

Hi @mkurz! About the arch = ('x86_64' 'aarch64'), it was my bad, I thought I was looking at PKGBUILD when reading those lines, makepkg --printsrcinfo writes one line per architecture.

About the httpdirfs-git: I did see such -git repos around and already got the feeling there is some convention calling them <something>-git. Does that actually mean a package depending on httpdirfs will automatically also look for a httpdirfs-git package or does the dependency to the -git deps must be defined explicit?

*-git packages point to a git repository, so that each time you build the package you pull the latest changes. Thus, httpdirfs points to a release, currently 1.2.3, and httpdirfs-git points to the last commit, currently 61d3ae4. There are not dependencies between them, they are two differents packages that provide httpdirfs, that is, you can't install both at the same time, because they are in conflict. In your case, using the -git version should work, as it already pulls the changes that make the package compatible with aarch64.

Owen

mkurz commented on 2022-09-05 21:54 (UTC)

Hi Owen!

arch should include both architectures in an array, arch = ('x86_64' 'aarch64')

Actually I did do that for the PKGBUILD file, however for the .SRCINFO it seems it shouldn't be arrays, but separate entries (at least that's what I see here: https://aur.archlinux.org/cgit/aur.git/tree/.SRCINFO?h=electron19-bin)

...pkgver and pkgrel...

I am aware of that ;) The patch I submitted was just meant to show a workaround for now, locally. I am new to Arch Linux and still figuring things out... So I just went ahead and build my own (local) package based on my patch, and for my own use case it's good enough ;) (Actually I start to love Arch ;)

About the httpdirfs-git: I did see such -git repos around and already got the feeling there is some convention calling them <something>-git. Does that actually mean a package depending on httpdirfs will automatically also look for a httpdirfs-git package or does the dependency to the -git deps must be defined explicit?

Thanks!

owentrigueros commented on 2022-09-03 09:50 (UTC)

Thanks for your efforts @mkurz! There are two problems with the patch:

  1. A minor one: some variables are not correctly set: arch should include both architectures in an array, arch = ('x86_64' 'aarch64'). Package version and release numbers are hardcoded, this should be changed in the variables pkgver and pkgrel, that still point to the previous version.

  2. A major one: I don't think it's a good practice to change the upstream repo to an unofficial one, but there is a solution: creating the httpdirfs-git package, which I have already done :), you can find it here: https://aur.archlinux.org/packages/httpdirfs-git

Let me know if it works in your M1 running Asahi Linux!

Owen

mkurz commented on 2022-09-02 09:37 (UTC)

In case you are running on arm / aarch64 (e.g. Apple Silicon M1 / Asahi Linux) and run into: fuse: missing mountpoint parameter That is because the current upstream httpdirfs release 1.2.3 is not compatible with arm / aarch64, see https://github.com/fangfufu/httpdirfs/issues/103. A fix has been merged already: https://github.com/fangfufu/httpdirfs/issues/104 For now, until a new upstream release arrives, I cherry-picked the commits from the pull request 104 on top of the upstream 1.2.3 tag (I made a fork: https://github.com/mkurz/httpdirfs/releases/tag/1.2.3.1). It worked! I can now use it on my Macbook Pro M1 running Asahi Linux.

Here is the patch for the PKGBUILD file to make use of the patch:

diff --git a/.SRCINFO b/.SRCINFO
index 5bfe3fc..50afd9f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -4,12 +4,13 @@ pkgbase = httpdirfs
    pkgrel = 2
    url = https://github.com/fangfufu/httpdirfs
    arch = x86_64
+   arch = aarch64
    license = GPL
    depends = gumbo-parser
    depends = fuse2
    depends = curl
    depends = expat
-   source = httpdirfs-1.2.3.tar.gz::https://github.com/fangfufu/httpdirfs/archive/1.2.3.tar.gz
-   md5sums = 32c2fb2e30e55b6e42ac6a54c638ba47
+   source = httpdirfs-1.2.3.1.tar.gz::https://github.com/mkurz/httpdirfs/archive/1.2.3.1.tar.gz
+   md5sums = 92068dbeca861aeb5c30fc446a7e22bb

 pkgname = httpdirfs
diff --git a/PKGBUILD b/PKGBUILD
index 427d1a7..1ef15f0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,19 +4,19 @@ pkgname=httpdirfs
 pkgver=1.2.3
 pkgrel=2
 pkgdesc="A filesystem which allows you to mount HTTP directory listings"
-arch=('x86_64')
+arch=('x86_64' 'aarch64')
 url="https://github.com/fangfufu/httpdirfs"
 license=('GPL')
 depends=('gumbo-parser' 'fuse2' 'curl' 'expat')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/fangfufu/$pkgname/archive/$pkgver.tar.gz")
-md5sums=("32c2fb2e30e55b6e42ac6a54c638ba47")
+source=("$pkgname-1.2.3.1.tar.gz::https://github.com/mkurz/$pkgname/archive/1.2.3.1.tar.gz")
+md5sums=("92068dbeca861aeb5c30fc446a7e22bb")

 build() {
-   cd "$pkgname-$pkgver"
+   cd "$pkgname-1.2.3.1"
    make
 }

 package() {
-   cd "$pkgname-$pkgver"
+   cd "$pkgname-1.2.3.1"
    make prefix=/usr DESTDIR="$pkgdir" install
 }

owentrigueros commented on 2022-07-30 10:01 (UTC)

Thanks @rafaelff for reporting them, they are fixed now!

rafaelff commented on 2022-07-28 12:29 (UTC)

namcap reports the following about the PKGBUILD:

PKGBUILD (httpdirfs) W: Non-unique source name (1.2.3.tar.gz). Use a unique filename.

and about the generated package:

httpdirfs E: ELF file ('usr/bin/httpdirfs') found in an 'any' package.
httpdirfs E: Dependency expat detected and not included (libraries ['usr/lib/libexpat.so.1'] needed in files ['usr/bin/httpdirfs'])
httpdirfs E: Dependency curl detected and not included (libraries ['usr/lib/libcurl.so.4'] needed in files ['usr/bin/httpdirfs'])

Please consider fixing the warning and the errors reported.

djmattyg007 commented on 2020-12-10 12:14 (UTC)

You can remove it now and just not bump the version number. The change will still be in git, and you're less likely to forget :)

owentrigueros commented on 2020-09-28 11:20 (UTC) (edited on 2020-09-28 11:21 (UTC) by owentrigueros)

@djmattyg007 True, I will remove it in the next release, I'm not going to make people recompile because of that :)

djmattyg007 commented on 2020-09-27 04:39 (UTC)

The prepare() function is now just a single 'cd' command, which means the prepare() function as a whole can be removed.

owentrigueros commented on 2020-07-10 05:51 (UTC)

@djmattyg007 Thank you! I've updated the package with your suggestions.