Comments (18)
I'm trying to make the package myself but I have no experience so I stuck at the beginning and hope to get some assistance here.
At first, I added my custom feed to feeds.conf
:
...
src-link custom /opt/myfeed
Then I created /opt/myfeed/rar2fs/Makefile
and added the package to the repo:
./scripts/feeds update custom
./scripts/feeds install rar2fs
The feed and the package appeared in corresponding feeds
and package/feeds
directories.
But it looks like make package/rar2fs/compile
doesn't even start fetching the package's source code, however it builds the package's dependencies just fine (and all other packages I've tried). This is the output I get:
builder@1b9d5d40dc1f:/opt/entware/Entware-ng$ make package/rar2fs/compile
Collecting package info: done
make[1] package/rar2fs/compile
make[2] -C package/libs/toolchain compile
make[2] -C feeds/packages/utils/unrar compile
make[2] -C package/utils/fuse compile
make[2] -C /opt/myfeed/rar2fs compile
V=s
doesn't show any errors either. Sources are only get downloaded and extracted to build_dir
as a result of explicit make package/rar2fs/prepare
command. But even when source code is in the place, subsequent make package/rar2fs/compile
doesn't try to do something with it.
I'm attaching the Makefile (added .txt extension just to be able to attach it here). Of course it's far from being complete but for now I just want to make it start doing something with the package's sources.
So what can be a reason for such strange behavior?
from entware-ng.
This is normal behavior, after installing all packages from your feed, you have to mark it with [m]
from make menuconfig
. Some packages are marked to be compiled, some not. For more details, please refer OpenWrt Buildroot docs.
from entware-ng.
Thanks, it helped indeed. I've successfully built the package and been able to run it on my x86-64 NAS. However, it requires some manual tuning which I'd like to avoid. As stated in rar2fs wiki, it requires complete unrar source and libunrar.so during the build. I'm using the following code in the Makefile to reference both:
CONFIGURE_ARGS += \
--with-unrar=$(BUILD_DIR)/unrar-5.3.7/unrar \
--with-unrar-lib=$(BUILD_DIR)/unrar-5.3.7/unrar
But, as you can see, it relies on unrar package version and its PKG_BUILD_ROOT format. Is there a way to achieve the same in a more appropriate manner?
from entware-ng.
So what's performance of this binaries? I'm afraid it'll be painfully slow on MIPS or ARM routers.
from entware-ng.
Is there a way to achieve the same in a more appropriate manner?
Openwrt unrar package should be fixed. It is missing InstallDev section!
from entware-ng.
So what's performance of this binaries? I'm afraid it'll be painfully slow on MIPS or ARM routers.
[~] # dd if=/share/CACHEDEV1_DATA/unrar/file.mkv of=/dev/null
25226792+1 records in
25226792+1 records out
12916117931 bytes (13 GB) copied, 132.067 s, 97.8 MB/s
I'm running QNAP TS-253 Pro powered by Celeron J1900 with 2 WD Red's in RAID1. Average CPU load was about 10% during the test.
from entware-ng.
Openwrt unrar package should be fixed. It is missing InstallDev section!
It makes sense with the libunrar.so reference but what about requirement of having complete unrar source tree referenced by --with-unrar
? I don't know which files rar2fs actually uses from there.
from entware-ng.
Ok, so I've modified unrar Makefile adding the folowing:
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR)/opt/include/unrar
$(CP) $(PKG_BUILD_DIR)/*.hpp $(STAGING_DIR)/opt/include/unrar
$(INSTALL_DIR) $(STAGING_DIR)/opt/lib
$(CP) $(PKG_BUILD_DIR)/libunrar.so $(STAGING_DIR)/opt/lib
endef
It allowed me to to change CONFIGURE_ARGS
in the rar2fs Makefile to this:
CONFIGURE_ARGS += \
--with-unrar=$(STAGING_DIR)/opt/include/unrar
It works and definitely looks better but does it looks good by openwrt/entware standards? I'd like to omit --with-unrar
but rar2fs will only look for unrar subdir inside it's own directory in that case:
withval=
AC_ARG_WITH([unrar],
[AS_HELP_STRING([--with-unrar=PATH],
[search PATH to unrar source [PATH=./unrar]]
)],
[], [])
if test x"$withval" != x; then
if test x"$withval" != x"no"; then
if test x"$withval" != x"yes"; then
UNRAR_CPPFLAGS="-I"$with_unrar
fi
fi
else
with_unrar="./unrar"
UNRAR_CPPFLAGS="-I./unrar"
fi
And modifying configure script doesn't look like a right decision.
from entware-ng.
I've sent a pull request openwrt/packages#2060 in order to get Build/InstallDev
define added to unrar package.
from entware-ng.
Hi @kolyagora,
I've fixed unrar in the following commit: openwrt/packages@082314c
Now you should be able to build rar2fs without further issues.
I modified your rar2fs Makefile in order to get it working:
https://gist.github.com/Noltari/cb796028a7083d5d9b17
Regards,
Álvaro.
from entware-ng.
I've made a package and sent a PR to Openwrt: openwrt/packages#2133. I've got no response still and since I don't use Openwrt itself I'd like to get the package added to Entware-ng. Should I send a PR to this repo or maybe https://github.com/Entware-ng/rtndev will be a better place?
from entware-ng.
from entware-ng.
I see no obstacles to add it, I think we can do it in next few days.
@zyxmon?
from entware-ng.
Why not?
from entware-ng.
Done. Please, provide a feedback.
Entware/entware-ng-rtndev@5bf9907
from entware-ng.
Thanks! I've successfully built it for x86-64 target, will test later.
One question though: what is the reason for adding --with-libiconv-prefix=$(ICONV_PREFIX)
to CONFIGURE_ARGS
?
from entware-ng.
We've faced some troubles with different iconv
implementations before. They are very different in Glibc
and uClibc
, so we relying on full blown external libiconv
which is proven as working. Please, test this package with some non-ascii file names inside archives, it should work on UTF-8 systems.
from entware-ng.
I confirm it works well with Cyrillic file names inside archives.
from entware-ng.
Related Issues (20)
- getssl script for "lets-encrypt" gnu ca-cert requires updated "curl" HOT 1
- transmission inconsistent with default curl HOT 1
- Wrong interpreter compiled for libc (2.23-6) libpthread (2.23-6) and postfix (3.2.4-1) HOT 4
- Question: Is there a built-in mechanism to backup my entware-ng configuration and all installed packages? HOT 1
- ruby - gem HOT 2
- Package request: siproxd HOT 1
- conntrack-tools does not build HOT 1
- Package update request : mpd-full HOT 1
- mosquitto init.d support HOT 6
- ffi.h: no such file or directory HOT 1
- [REQ] 7z (in addition to 7za) HOT 1
- http://pkg.entware.net/binaries/armv7/libopenssl_1.0.2n-1_armv7soft.ipk HOT 4
- Not working on my Synology NAS HOT 1
- sorry,I am working hard on my English. entware : curl -V:lbcurl 7.57 libopenssl 1.0.2n,but I want libcurl 7.57 mtbedtls 2.6.0 HOT 1
- please update zerotier to new release,thanks.the link you gave is v1.2.4 , but in entware it is v1.1.14 HOT 4
- New package request : php7-mod-redis HOT 1
- Service [stunnel]: TLS server needs a certificate - Entware, Tomato HOT 1
- Missing nut-driver-blazer_ser HOT 1
- smstools3 HOT 5
- Package request: ewf-tools HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from entware-ng.