Temat: rsync z iconv
Czy jest możliwość dostania takiej paczuszki dla ar71xx?
Byłbym wdzięczny.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → rsync z iconv
Zaloguj się lub zarejestruj by napisać odpowiedź
Czy jest możliwość dostania takiej paczuszki dla ar71xx?
Byłbym wdzięczny.
Czego mnie ma u mnie jest w testowym rc5: http://downloads.openwrt.org/snapshots/ … /packages/
rsync --iconv=UTF8,UTF8-MAC --progress /test /test2
rsync: --iconv=UTF8,UTF8-MAC: unknown option
rsync 3.0.8-2
libiconv i libiconv-full zainstalowane.
root@OpenWrt:~$ rsync
rsync version 3.0.8 protocol version 30
Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
no socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, no ACLs, no xattrs, !!!!!!!!no iconv!!!!!!!!!!, no symtimesNo to nie ma
A makefile nic o iconv czy utf8 nie mówi.
Coś to pomoże:
Added the --iconv option, which allows rsync to convert filenames from
make this feature available as long as your system has iconv_open().
If compilation fails, specify --disable-iconv to configure, and then
default, you can specify --enable-iconv=CONVERT_STRING with the default
value for the --iconv option that you wish to use. For example,
"--enable-iconv=." is a good choice. See the rsync manpage for an
explanation of the --iconv option's settings.
set that is used during an --iconv transfer to/from a daemon module. You
can also set your daemon to refuse "no-iconv" if you want to force the
client to use an --iconv transfer (requiring an rsync 3.x client).?
Cezary, mógłbyś skompilować taką paczkę? O ile to, co napisałem coś pomaga.
w rc5 ja masz. A inna nie wyjdzie z tego, bo to te same źródła.
Capabilities:
64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
no socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, no ACLs, no xattrs, no iconv, symtimesJak jest jak nie ma.
Testowałem http://downloads.openwrt.org/snapshots/ … ar71xx.ipk http://downloads.openwrt.org/snapshots/ … ar71xx.ipk http://downloads.openwrt.org/snapshots/ … ar71xx.ipk
A jakby tak dodać --enable-iconv do MAKEFILE w CONFIGURE_ARGS?
Napisałem że jak skompiluję to wyjdzie to samo co w rc5 jest. Makefile nie posiada aktualnie żadnej opcji związanej z iconv.
Jest postęp. Prawie 100%.
Capabilities:
64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
no socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, no ACLs, no xattrs, iconv, no symtimesJak? W Makefile od libiconv:
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/iconv.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcharset.{a,so*} $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libiconv.{a,so*} $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DATA) $(PKG_BUILD_DIR)/include/iconv.h $(1)/usr/include/
endefCzego do szczęścia potrzebuję? Tego patcha do libiconv. Nawet do tej samej wersji. Dodaje obsługę utf8mac.
https://trac.macports.org/attachment/ti … iconv.diff
Jest jakiś prosty sposób na jego zaaplikowanie? Dodać jakoś do Makefile?
Włożyć do katalogu patches.
No i patch szlag trafił.
./utf8mac.h:32:33: error: libkern/OSByteOrder.h: No such file or directoryz libkern to jest. NIe ma czegoś takiego w openwrt.
Czyli co? Game over?
Czyli szukaj innej łatki.
Znalazłem. http://www.opensource.apple.com/source/ … /utf8mac.h
Nic nie include'uje. Tak jak oryginalne pliki (utf8.h, itd.).
Zrobiłem patcha, libiconv jednak się kompiluje bez wsparcia dla utf8mac.
Mógłbyś zainstalować libiconv, libcharset i sprawdzić binarkę iconv (iconv --list), która wyjdzie po kompilacji? Niestety trzeba ją ręcznie przekopiować, bo nie jest w paczce. Może zauważysz coś ciekawego.
Musisz poprawić też pierwszy patch, 100-strip-charsets.patch, bo po prostu nie jest włączony utf8-mac.
Chyba działa. Zaktualizowałem patcha.
Jedyny problem, że libiconv-full muszę kompilować z oryginalnym Makefile, aby paczka zawierała libiconv.{a,so*}.
Jednak oryginalny Makefile nie kopiuje iconv.h tam, gdzie trzeba i rsync nie kompiluje się z opcją iconv. Przez to muszę zedytować Makefile na moją wersję.
No to dodaj żeby Ci kompilował iconv.h tam gdzie chcesz, w czym problem?
W tym, że nie wiem gdzie chcę to mieć. Nie rozumiem tej składni. Grunt, że działa.
Hmm, tam po prosty kopiowanie plików jest...
Nie wiem czym są zmienne $1, $PKG_{INSTALL,BUILD}_DIR, czym się różni INSTALL_DATA od CP, a w końcu gdzie rsync szuka iconv.h.
Oryginał:
$(INSTALL_DIR) $(1)/usr/lib/libiconv-full/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/iconv.h $(1)/usr/lib/libiconv-full/include/
$(INSTALL_DIR) $(1)/usr/lib/libiconv-full/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcharset.{a,so*} $(1)/usr/lib/libiconv-full/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libiconv.{a,so*} $(1)/usr/lib/libiconv-full/lib/W inne miejsce trzeba wrzucić iconv.h Ale czy zmienić drugą linijkę, czy dodać
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DATA) $(PKG_BUILD_DIR)/include/iconv.h $(1)/usr/include/to nie mam pojęcia.
$1 to samo co $PKG_INSTALL_DIR, katalog gdzie pliki z paczki będą instalowane. Zwykle jest to PKG_BUILD_DIR/ipkg-install, a sam PKG_BUILD_DIR to katalog w których jest dany pakiet rozpakowany i kompilowoany. INSTALL_DATA od CP w sumie niczym po prostu są dodane pewne domyślne opcje.
NB zwykłe echo $PKG_INSTALL_DIR byś zrobił i wiedział byś czym te zmienne są.
Gdzie szuka - pewnie w usr/include, jak każdy normalny pakiet.
Odkopałem, gdyż potrzebuję właśnie takiego rsynca z iconv (aczkolwiek mi zależy na kodowaniu utf8 i 1250 z windowsa) ![]()
Kompilowanie to dla mnie czarna magia w zw. z tym mam pytanie, czy to się da osiągnąć czy nie? Jeśli się da to będę walczył żeby pojąć te kompilacje i osiągnąć tego rsynca. Jeśli nie to chociaż będę wiedział, że ja nie robię błędów.
A może ktoś ma takie coś już skompilowane?
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → rsync z iconv
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc