Erstellt vor 8 Jahren

Zuletzt geändert vor 5 Jahren

#1173 new addition

Open Package Management 0.1.8

Erstellt von: steve222 Verantwortlicher:
Priorität: normal Meilenstein: freetz-future
Komponente: packages Version: devel
Stichworte: opkg Beobachter:
Product Id: 7390 Firmware Version:

Beschreibung

Hiermit greife ich die Diskussion in http://www.ip-phone-forum.de/showthread.php?t=166751 wieder auf, in der versucht wurde, opkg und mini_fo in freetz zu integrieren. Damit soll ein Paket-Management mit hilfe eines transluzenten Dateisystems möglich werden. mini_fo ist bereits vorhanden, hier der Patch for opkg.

Anhänge (8)

opkg.patch (5.1 KB) - hinzugefügt von steve222 vor 8 Jahren.
Patch für die Integration von opkg 0.1.8
opkg.patch2 (5.5 KB) - hinzugefügt von steve222 vor 8 Jahren.
Updated patch mit Symlink für libcurl.so.4
opkg-v4.patch (5.6 KB) - hinzugefügt von mandy28 vor 6 Jahren.
opkg.patch-v3 (6.0 KB) - hinzugefügt von mandy28 vor 6 Jahren.
opkg-v5.patch (5.2 KB) - hinzugefügt von mandy28 vor 5 Jahren.
bumt to 0.2.0 / del make/Config.in
opkg_fullpatch.patch (3.0 KB) - hinzugefügt von MrTweek1987 vor 5 Jahren.
opkg-0.2.0-er.patch (3.2 KB) - hinzugefügt von er13 vor 5 Jahren.
compile-tested only
Auswahl_238.jpg (18.5 KB) - hinzugefügt von mandy28 vor 5 Jahren.

Alle Anhänge herunterladen als: .zip

Änderungshistorie (38)

Geändert vor 8 Jahren durch steve222

Patch für die Integration von opkg 0.1.8

comment:1 Geändert vor 8 Jahren durch oliver

Kennst du dich damit aus?
Kannst du die nötige Infrastruktur beschreiben? Eine Wiki-Seite mit einer Sammlung von Hinweisen wäre auch nicht schlecht.

Das Thema "dynamische Pakete" hätte ich schon gerne für Freetz-1.3 aufgegriffen.

comment:2 Geändert vor 8 Jahren durch steve222

Ich arbeite mich momentan in die Thematik ein. Dann kann ich in den nächsten Tagen mein gesammeltes Wissen im Wiki hinterlegen. Gibt es eine Seite bei der ich den dazugehörigen Link rein hängen kann?

comment:3 Antwort: Geändert vor 8 Jahren durch mandy28

Dazu müßte noch ein symlink für libcurl gesetzt werden

root@fritz:/# opkg
opkg: can't load library 'libcurl.so.4'
root@fritz:/# ldd /usr/bin/opkg
        libcurl.so.4 => not found
        libssl.so.0.9.8 => /lib/libssl.so.0.9.8 (0x2aabe000)
        libcrypto.so.0.9.8 => /lib/libcrypto.so.0.9.8 (0x2aafe000)
        libdl.so.0 => /lib/libdl.so.0 (0x2abf6000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2ac09000)
        libc.so.0 => /lib/libc.so.0 (0x2ac27000)
        ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
froot@fritz:/# find -name libcurl*
./rom/usr/lib/freetz/libcurl.so
./rom/usr/lib/freetz/libcurl.so.4
./rom/usr/lib/freetz/libcurl.so.4.2.0
./usr/lib/freetz/libcurl.so
./usr/lib/freetz/libcurl.so.4
./usr/lib/freetz/libcurl.so.4.2.0
root@fritz:/# ln -s /usr/lib/freetz/libcurl.so.4 /lib/libcurl.so.4
root@fritz:/# ldd /usr/bin/opkg
        libcurl.so.4 => /lib/libcurl.so.4 (0x2aabe000)
        libssl.so.0.9.8 => /lib/libssl.so.0.9.8 (0x2ab0b000)
        libcrypto.so.0.9.8 => /lib/libcrypto.so.0.9.8 (0x2ab4b000)
        libdl.so.0 => /lib/libdl.so.0 (0x2ac43000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2ac56000)
        libc.so.0 => /lib/libc.so.0 (0x2ac74000)
        ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
root@fritz:/# /usr/bin/opkg -?
/usr/bin/opkg: unrecognized option `-?'
/usr/bin/opkg: unknown sub-command (null)
opkg must have one sub-command argument
usage: opkg [options...] sub-command [arguments...]
where sub-command is one of:

ect ect ect

Zuletzt geändert vor 8 Jahren von mandy28 (vorher) (Diff)

comment:4 als Antwort auf: ↑ 3 Geändert vor 8 Jahren durch steve222

Replying to mandy28:
Hallo,
kommt der Link direkt mit in den files-ordner oder muss er beim build erstellt werden? Falls er im files-ordner plaziert wird, findet sich das update in opkg.patch2

Geändert vor 8 Jahren durch steve222

Updated patch mit Symlink für libcurl.so.4

comment:5 Antwort: Geändert vor 8 Jahren durch oliver

Ist der Symlink die einzige Änderung an dem Patch?

comment:6 als Antwort auf: ↑ 5 Geändert vor 8 Jahren durch steve222

Replying to oliver:

Ist der Symlink die einzige Änderung an dem Patch?

ja, ist die einzige änderung

comment:7 Antwort: Geändert vor 7 Jahren durch oliver

Hattest du schon Zeit dich weiter einzuarbeiten?

Die Wiki-Seite sieht schon mal sehr vielversprechend aus…

comment:8 als Antwort auf: ↑ 7 Geändert vor 7 Jahren durch steve222

Replying to oliver:

Hattest du schon Zeit dich weiter einzuarbeiten?

Die Wiki-Seite sieht schon mal sehr vielversprechend aus…

Hallo, momentan habe ich nicht gerade viel Zeit, habe aber weiter daran gearbeitet, ich werd die Wiki-Seite demnächst aktualisieren

comment:9 Geändert vor 7 Jahren durch mandy28

Problem mit opkg

checking if openssl is available... checking for OPENSSL... no
no
configure: error: OpenSSL not found

ERROR: Build failed.
make: *** [source/target-mipsel_uClibc-0.9.29/opkg-0.1.8/.configured] Fehler 1

Mit und ohne patch2

comment:10 Geändert vor 7 Jahren durch oliver

Da fehlt $(PKG)_CONFIGURE_OPTIONS += --disable-openssl in opkg.mk. Aber da es noch keine Pakete gibt wirst du mit opkg nicht viel anfangen können…

comment:11 Geändert vor 7 Jahren durch mandy28

stimmt Problem behoben
der patch2 haut übrigens so auch nicht hin mit libcurl

/usr/bin/opkg: '/lib/libcurl.so.4' is not an ELF file
/usr/bin/opkg: '/lib/libcurl.so.4' is not an ELF file
        libcurl.so.4 => not found
        libssl.so.0.9.8 => /lib/libssl.so.0.9.8 (0x2aabe000)
        libcrypto.so.0.9.8 => /lib/libcrypto.so.0.9.8 (0x2aafe000)
        libdl.so.0 => /lib/libdl.so.0 (0x2abf6000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2ac09000)
        libc.so.0 => /lib/libc.so.0 (0x2ac27000)
        ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)

Soll auch nur zur Info dienen für steve

comment:12 Geändert vor 7 Jahren durch ralf

Wenn /lib/libcurl.so.4 kein ELF file ist, was dann?

comment:13 Geändert vor 7 Jahren durch cinereous

Ich tippe auf nen toten symlink vllt.

Geändert vor 6 Jahren durch mandy28

Geändert vor 6 Jahren durch mandy28

comment:16 Geändert vor 6 Jahren durch mandy28

@cuma
sollte eigentlich nur die libcurl Sache rein sorry
wurde abgeändert und um die andere Sache kümmer ich mich , versprochen

bitte den link löschen in comment14
Danke

Zuletzt geändert vor 6 Jahren von mandy28 (vorher) (Diff)

comment:17 Geändert vor 6 Jahren durch cuma

Auf Wunsch von mandy28 hab ich von mir und make die Kommentare gelöscht in denn die URLs waren

Geändert vor 5 Jahren durch mandy28

bumt to 0.2.0 / del make/Config.in

comment:18 Geändert vor 5 Jahren durch mandy28

opkg-v5.patch​


opkg-0.2.0
==========

- No changes

opkg-0.2.0-rc2
==============

- Remove libopkg/config.h from the distribution archive, it's generated by
configure and doesn't belong in there

opkg-0.2.0-rc1
==============

- Added basic regression test suite

- Added man pages for opkg-cl and opkg-key

- Added the `overlay_root` config option

- Added the `--prefer-arch-to-version` option

- Added the `--force-postinstall` option

- Added the `list-changed-conffiles` command

- Added the `opkg_compare_versions` function to libopkg

- Allow external gunzip binary to be used to perform decompression if the
OPKG_USE_VFORK environment variable is set

- Do not read /etc/opkg/*.conf if -f option is specified

- Detect and handle circular dependencies

- Replaced GPLv3+ licensed sha256 implementation with GPLv2+ implementation

- Use `ln -snf` rather than `ln -sf` in update-alternatives

- Many other bugfixes, improvements and cleanups...

comment:19 Geändert vor 5 Jahren durch cuma

Baut nicht

...
checking for mips-linux-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.20... yes
checking for CURL... no
configure: error: Package requirements (libcurl) were not met:

No package 'libcurl' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables CURL_CFLAGS
and CURL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

ERROR: Build failed.
make: *** [source/target-mips_gcc-4.6.4_uClibc-0.9.32.1/opkg-0.2.0/.configured] Fehler 1

comment:20 Geändert vor 5 Jahren durch MrTweek1987

opkg_fullpatch.patch

  • Ein cgi und Startup-Script wurde hinzugefügt…
  • eine doppelte sowie eine Fehlerhafte Configure-anweisung wurde entfernt…:
configure: error: `PKG_CONFIG_PATH' has changed since the previous run:
configure:   former value:  `/opt/freetz/trunk/toolchain/build/mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc/bin/../lib/pkgconfig'
configure:   current value: `/opt/freetz/trunk/toolchain/build/mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc/lib/pkgconfig'
configure: error: in `/opt/freetz/trunk/source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/opkg-0.2.0':
configure: error: changes in the environment can compromise the build
configure: error: run `make distclean' and/or `rm /opt/freetz/trunk/source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/config.cache' and start over
  • Fehlende Abhängigkeit (WGET) wird jetzt mit ausgewählt

Kann das mal jemand bauen und schauen ob das jetzt sauber durchläuft?
Bei mir wird opkg auch nach 3 mal "make clean" und "rm .config" gebaut…

Zuletzt geändert vor 5 Jahren von MrTweek1987 (vorher) (Diff)

Geändert vor 5 Jahren durch MrTweek1987

comment:21 Geändert vor 5 Jahren durch er13

Alles vom Lesen her, da gerade unter Windows unterwegs.

  • In .mk fehlt $(PKG)_DEPENDS_ON += curl
  • $(PKG)_CONFIGURE_PRE_CMDS += autoreconf -v --install --force ; ist überflüssig
  • $(PKG)_CONFIG_PATH-Zeile ist ebenso überflüssig (für diejenigen mit dem Fehler "error: `PKG_CONFIG_PATH' has changed since the previous run" - es sollte reichen, PKG_CONFIG_PATH-Zeile aus config.cache zu löschen)
  • Alle $(MAKE)s sollten durch $(SUBMAKE)s ersetzt werden
  • rc.opkg: die modreg file-Zeile gehört in "load", start/stop/restart/status sind überflüssig und gehören entfernt
  • $(PKG)_SOURCE_SHA1:=bcdc7f3d6fe31109ce26bc1c7f4b7109fb0bd8c1 fehlt

Was ist der Unterschied zu ipkg, braucht man beides?

comment:22 Antwort: Geändert vor 5 Jahren durch MrTweek1987

opkg braucht ebenfalls libcrypto aus openssl… Mhmmm opkg ist eigentlich der Nachfolger von ipkg, ich selbst habe ipkg nur so gebaut. Also es ist eigentlich egal, ob man ipkg oder opkg nimmt, ich tendiere eher zu ipkg, beide können ipks und debs lesen. opkg macht es nochj problematischer wegen seinen abhängigkeiten (curl und openssl). Openssl baut aber nicht… was das nächste problem darstellt. beide machen für unsere zwecke das gleiche. also wer hier weiter machen will, der kann das tun. Ich habe das noch schnell übernommen was du geschrieben hast und werde deine "hinweise" dann bei ipkg anwenden und dann sollte wenigstens 1 Packet-Manager fertig sein (ist er ja eigentlich schon…)

für das vorhaben HIER muss openssl funktionieren…

Zuletzt geändert vor 5 Jahren von MrTweek1987 (vorher) (Diff)

Geändert vor 5 Jahren durch er13

compile-tested only

comment:23 als Antwort auf: ↑ 22 Geändert vor 5 Jahren durch mandy28

Replying to MrTweek1987:

Ein cgi und Startup-Script wurde hinzugefügt…

cgi seh ich keine leider

opkg braucht ebenfalls libcrypto aus openssl… Mhmmm opkg ist eigentlich der Nachfolger von ipkg, ich selbst habe ipkg nur so gebaut. Also es ist eigentlich egal, ob man ipkg oder opkg nimmt, ich tendiere eher zu ipkg, beide können ipks und debs lesen. opkg macht es nochj problematischer wegen seinen abhängigkeiten (curl und openssl).

Na dann bau doch mal einen ipkg patch als alternative

Openssl baut aber nicht

openssl wird im aktuellem trunk ohne Probleme gabaut

test@freetz:~/freetz-devel2.5$ make
mkdir -p packages/target-mips_gcc-4.6.4_uClibc-0.9.32.1/openssl-0.9.8y/root/usr/bin/; cp source/target-mips_gcc-4.6.4_uClibc-0.9.32.1/openssl-0.9.8y/apps/openssl packages/target-mips_gcc-4.6.4_uClibc-0.9.32.1/openssl-0.9.8y/root/usr/bin/openssl; /home/test/freetz-devel2.5/toolchain/build/mips_gcc-4.6.4_uClibc-0.9.32.1/mips-linux-uclibc/bin/mips-linux-uclibc-strip --remove-section={.comment,.note,.pdr} packages/target-mips_gcc-4.6.4_uClibc-0.9.32.1/openssl-0.9.8y/root/usr/bin/openssl;
STEP 1: UNPACK (SKIPPED)

Zuletzt geändert vor 5 Jahren von mandy28 (vorher) (Diff)

comment:24 Antwort: Geändert vor 5 Jahren durch MrTweek1987

Schau mal im Webinterface unter Freetz, da hast du ein Eintrag ipkg, für opkg hast du dort ein opkg

Das openssl, was bei dir baut, ist das 0.98, das problem bezieht sich bei mir auf 1.0.1

Zuletzt geändert vor 5 Jahren von MrTweek1987 (vorher) (Diff)

comment:25 als Antwort auf: ↑ 24 Geändert vor 5 Jahren durch mandy28

Replying to MrTweek1987:

Schau mal im Webinterface unter Freetz, da hast du ein Eintrag ipkg, für opkg hast du dort ein opkg

meinte eigentlich das ich in Deinem patch nichts von einer cgi sehen kann

hat jemand zufällig eine Quelle für die ipkg sourcen ?

Zuletzt geändert vor 5 Jahren von mandy28 (vorher) (Diff)

comment:26 Geändert vor 5 Jahren durch MrTweek1987

die gehen bei mir, aber sei vorsichtig, *ipkg will versuchen, den ulibc zu updaten :) … wenn er das tut, haste arge probleme :)

src owrtbb http://downloads.openwrt.org/snapshots/trunk/ar7/packages

oder selberbauen mit

make precompile

und dann ipkg-build sagen, er soll das ganze verschachteln

Zuletzt geändert vor 5 Jahren von MrTweek1987 (vorher) (Diff)

Geändert vor 5 Jahren durch mandy28

comment:27 Geändert vor 5 Jahren durch mandy28

also wiegsagt von opkg nix zu sehen , siehe screen
Kann ja auch nicht ohne cgi , und in deinem patch wird keine gebaut

comment:28 Geändert vor 5 Jahren durch MrTweek1987

Das package war so gebaut, dass Freetz, das Def an sich registriert. (default.mod) so wie bei, freetz lädt alles was unter default.mod liegt unter Freetz.

hast du den patch von mir benutzt, oder den patch von er13? Denn er13 hat das def unter default.opkg gelegt, wo es falsch ist, das def gehört unter default.MOD <.< deshalb funktioniert das nicht'''

Zuletzt geändert vor 5 Jahren von MrTweek1987 (vorher) (Diff)

comment:29 Geändert vor 5 Jahren durch er13

@MrTweek1987: erste und allerletzte Warnung, pass auf, was du sagst. Noch ein Ausrutscher wie der vor dem Diff und du bist für immer gebant.

mandy28 verwendet höchstwahrscheinlich deinen Patch und findet nix, weil opkg sich a) unter mod befindet und nicht - wie man es erwarten würde - unter opkg, b) dort erst nach "rc.opkg start" auftaucht. er13 hat es genau dahin gelegt, wo es hingehört - unter opkg - und die Zeile in rc.mod auch so angepasst (modreg file opkg), dass man es im web-if unter opkg findet.

Bevor du irgendwas behauptest, verifiziere es, sonst wirkt es wie geballte Inkompetenz (was es höchstwahrscheinlich auch ist)…

Zuletzt geändert vor 5 Jahren von er13 (vorher) (Diff)

comment:30 Geändert vor 5 Jahren durch mandy28

so siehts aus
und die Rechte fehlen hier wohl

-rwxrwxrwx    1 root     root          8955 Oct 30 09:41 rc.net
-rw-r--r--    1 root     root           232 Oct 29 21:03 rc.opkg
-rwxrwxrwx    1 root     root          6533 Aug 18  2009 rc.ptest.sh
-rwxr-xr-x    1 root     root          1576 Sep 25 10:55 rc.swap
Zuletzt geändert vor 5 Jahren von mandy28 (vorher) (Diff)

comment:31 Geändert vor 5 Jahren durch MrTweek1987

@MandyW28 Der Patch ist kaputt das hatte ich jedoch schon behoben, hab es nicht geschafft ihn noch rechtzeitig hochzuladen. daher hast Du das mit den Berechtigungen. fiel mir auch erst heute morgen auf, als ich den nochmal eincheckte, weil ich mich wunderte warum das bei dir nicht auftaucht.

@Er13: Es wird nicht mehr vorkommen :|

comment:32 Geändert vor 5 Jahren durch cuma

Worin ist der Vorteil die Packages als Xpkg zu packen, nicht als tar? Und wie werden die Script geladen usw? Es gäbe noch Ticket #2145, die ""Dynamic packages" können das schon einigermaßen. Nur die Sache mit den Libs ist dort auch noch nicht gelöst, genau so wie das installieren in ein Image, das nciht mit external für das entsprechende Packeg gebaut wurde (fehlende Links → evtl PATH erweitern).
Ich denke das hier bringt nichts

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.