bin auf der suche nach der datei exit

tuxlover

tuxlover

Der den Tux knuddelt
hallo allerseist,

also da wollte ich gerade mal wieder ein neues program installieren und ausprobieren und schon klappt es nicht.

also ich habe das hier heruntegeladen: http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=Multimedia/recoverjpeg/

wenn ich nun die ganze sache mittels rpm -Uhv *rpm installieren will, kriege ich die mitteilung, dass exit benötigt wird. nun habe ich schon auf der suse 10.2 nach einer datei ausschau gehalten, die so heißt. null erfolg. auch die suche bei google, rpm.pbone und rpmseek hat nichts gebracht.
kann mir bitte jemand sagen wo in den weiten des internetz ich diese verdammte datei finde?
 
Vielleicht solltest Du die Fehlermeldung einfach mal posten. exit ist ein Shell-Builtin und damit nicht als explites File vorhanden.
 
hallo xanti,

ja das hat mich eben auch gewundert. normalerweise kann man ja mit exit die aktuelle shell verlassen.

die fehlermeldung:

failed dependencies:
recoverjepg requieres exit

so in etwa. einfach nur ne typische meldung vom rpm programm das irgeneine abhängigkeit nicht in ordnung sei, wie ich sie schon tausendmal gesehen habe.
 
kann sein. aber dann ist das ein fehler von den packetbastlern. weil ich nämlich mit kopieren aus der shell einfügen in yast danach gesucht habe.

wie dem auch sei ich habe mir jetzt mal den quelltext gezogen und werde mir dann selber ein rpm basteln. aber das mit exif werde ich nochmal ausprobieren.
 
guru als Repository

[EDIT]
Also... so kann man das natürlich auch machen...
  1. von tuxlover's Link die src-rpm runter laden (ganz unten)
  2. rpm -ivvU damit machen
    • man hat in /usr/src/packages/SOURCES/ ein tgz-File mit den Sourcen.
  3. auspacken und Dreisatz (mit checkinstall am besten)
    • Man hat in /usr/src/packages/RPMS/i368/ eine RPM, die man einfach installieren kann. Fertich.
[/EDIT]

Hallo,

trage mal in YaST sowohl Packman als auch Guru als Software-Quelle ein und suche dann über YaST nach dem Paket. IMO eine Möglichkeit, Abhängigkeiten aufzulösen und gleich mit einzubauen.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

kann sein. aber dann ist das ein fehler von den packetbastlern.
hm... ok. Da passiert in YaST auch nicht mehr als daß es die Abhängigkeit ansagt und nicht auflöst.... vergiß es... :(
 
Zuletzt bearbeitet:
warum denn so?!?

Bei SuSE bietet sich immer wieder das Programm "pin"[1] an
Danke, kannte ich noch nicht :)

Ich hab mich vorhin misverständlich ausgedrückt... mit "so kann man das natürlich auch machen" meinte ich nicht die Prozedur, sondern die src-rpm.

Kann mich mal jemand belehren (ernsthaft!), wieso man eine rpm baut, die einem eine tgz irgend wo in den Verzeichnisbaum klebt, in der die Sourcen sind, statt einfach die tgz zu verlinken?

Ich meine dann weiß man immerhin, wohin man sie downloadet.. ich hab das schon mal erlebt und kam deshalb damit klar. Durch "-ivvU" sieht man, wo die tgz-Datei landet, aber das ist doch echt von hinten durch die Brust ins Auge, oder?

Meine Frage, was man davon hat, ist durchaus ernst gemeint..
 
Weil das ein source-rpm ist.

Code:
rpm --rebuild <Paketname>.src.rpm
rpm -ivvU <Pfad zu und Paketname>.rpm

Ab rpm V.4 hat sich das Kommando geändert stell ich grad fest:
Code:
rpmbuild --rebuild <Paketname>.src.rpm
 
Zuletzt bearbeitet:
Immer noch unklar für mich

[edit]
habe noch dein Edit deines letzten Postings gelesen:
Code:
rpmbuild --rebuild <Paketname>.src.rpm
Das führt aber bei mir nicht zu einem benutzbaren Paket.
Code:
#nach rpmbuild --rebuild:
~> recoverjpeg
bash: recoverjpeg: command not found

#nach checkinstall & dessen rpm:
~> recoverjpeg
Usage: recoverjpeg [options] file|device
Options:
   -b blocksize   Block size in bytes (default: 512)
   -f format      Format string in printf syntax
   -h             This help message
   -i index       Initial picture index
   -m maxsize     Max jpeg file size in bytes (default: 6m)
   -q             Be quiet
   -r readsize    Size of disk reads in bytes (default: 128m)
   -v verbose     Replace progress bar by details

Laut manpage soll ja "rpmbuild --rebuild" das Paket tatsächlich installieren:
Code:
When  invoked  this  way,  rpmbuild installs the named source package, and
does a prep, compile and install.  In addition,  --rebuild  builds  a  new
binary  package.  When  the  build  has  completed, the build directory is
removed (as in --clean) and the the sources and spec file for the  package
are removed.
[/edit]

Weil das ein source-rpm ist.
Ja. Daß in einer Source-RPM Sourcen sind, finde auch ich nicht so super erstaunlich.

Aber es gibt auch welche, die anschließend die Sourcen installieren.

Von dieser Liste:
Code:
# find * | grep "src.rpm"
AntPhone/ant-phone-0.1.5-41.src.rpm
CSS/libdvdcss2-1.2.9-0.pm.0.nosrc.rpm
Grafik/recoverjpeg-1.1.1-2.guru.suse101.src.rpm
Multimedia/ABC/abc2prt/abc2prt-1.0.2-1.src.rpm
Multimedia/ABC/abcMIDI/abcMIDI-2006_01_17-1.src.rpm
Multimedia/ABC/tclabc/tclabc-0.18.10-1.src.rpm
Multimedia/mpc/mpc-0.11.2-0.pm.0.src.rpm
Multimedia/Streamtuner/streamtuner-0.99.99-1.suse.src.rpm
Multimedia/mp3splt/mp3splt-2.1-1.src.rpm
Multimedia/k3b_monkey/k3bmonkeyaudioplugin-1.0-0.pm.0.src.rpm
Netz/Chat/CenterICQ/centericq-4.21.0-1.src.rpm
Netz/Portknocker/knock-0.5-1.src.rpm
Systool/Wine/wine-0.9.9-SuSELinux92.src.rpm
Systool/sane/sane-1.0.16-0.pm.0.src.rpm
Systool/Cacti/cacti-0.8.6i-1.src.rpm
Systool/ISO-tools/bin2iso-1.9-1.b.src.rpm
Systool/bin2iso/cdemu-0.7-SuSE9_br.src.rpm
Systool/bin2iso/bin2iso-1.9-0.b.rf.src.rpm
haben sich z.B. bei weitem nicht alle so verhalten. Sogar eher selten, wenn man das sieht:
Code:
# ls -l
insgesamt 17951
drwxr-xr-x  2 root root     1648 2007-01-25 17:21 .
drwxr-xr-x  7 root root      168 2004-10-14 17:48 ..
-rw-rw-r--  1 root root   327669 2006-01-23 07:53 abcMIDI-2006_01_17.tar.gz
-rw-r--r--  1 root root   315666 2003-07-30 16:05 ant-phone-0.1.5.tar.bz2
-rw-r--r--  1 root root     9110 2003-08-17 15:49 ant-phone-codecleanup.diff
-rw-r--r--  1 root root       63 2003-08-18 10:21 ant-phone.desktop
-rw-r--r--  1 root root      140 2003-08-17 15:16 ant-phone-gettext_version.diff
-rw-r--r--  1 root root      289 2003-08-18 10:50 ant-phone-isdn_log_name.diff
-rw-r--r--  1 root root      379 2003-08-18 10:42 ant-phone-makefile.diff
-rw-r--r--  1 root root    35594 2000-03-29 22:11 bin2iso19b_linux.c
-rw-r--r--  1 root users 5115375 2005-05-28 14:25 bochs-2.2.tar.gz
-rw-r--r--  1 root root    23038 2005-01-05 15:36 cdemu-0.7.tar.bz2
-rw-r--r--  1 root users 1939915 2005-09-02 16:51 centericq-4.21.0.tar.gz
-rw-r--r--  1 root root   702418 2004-12-21 20:52 icecast-2.2.0.tar.gz
-rw-r--r--  1 root users 3189252 2004-12-11 17:52 k3b-0.11.18.tar.bz2
-rw-r--r--  1 root users 2738463 2004-03-21 23:55 k3b-i18n-0.11.tar.bz2
-rw-r--r--  1 root root   439377 2004-03-21 18:45 k3bmonkeyaudioplugin.tar.bz2
-rw-r--r--  1 root root    83990 2005-06-29 20:59 knock-0.5.tar.gz
-rw-r--r--  1 root root      303 2004-05-19 09:41 knockd.conf
-rw-r--r--  1 root root     1779 2004-04-15 11:51 knockd.init
-rw-r--r--  1 root root       12 2004-04-15 11:49 knockd.sysconfig
-rw-r--r--  1 root users  298574 2005-07-29 17:04 libmpcdec-1.2.tar.bz2
-rw-r--r--  1 root root      187 2003-09-09 17:23 logrotate.xntp
-rw-r--r--  1 root root     1976 2003-08-22 19:29 ntp1.bk.patch
-rw-r--r--  1 root root      332 2003-08-22 19:29 ntp2.bk.patch
-rw-r--r--  1 root root    15240 2003-08-22 19:29 ntp-4.1.1-noroot.patch
-rw-r--r--  1 root root     1792 2003-08-22 19:29 ntp-4.1.1.ntpdate_overflow.diff
-rw-r--r--  1 root root      347 2003-05-20 13:20 ntp-4.1.1.SuSE-Config.diff
-rw-r--r--  1 root root     4640 2003-08-21 21:08 ntp-4.1.1.SuSE-Config.tar.gz
-rw-r--r--  1 root root  2019495 2003-05-20 13:20 ntp-4.1.1.tar.gz
-rw-r--r--  1 root root    57318 2003-08-22 19:29 ntp-automake.diff
-rw-r--r--  1 root root      210 2003-08-22 19:29 ntp-codecleanup.diff
-rw-r--r--  1 root root   368171 2003-02-04 00:00 NTP-FAQ-3.4.tar.gz
-rw-r--r--  1 root root      672 2003-08-22 19:29 ntp-libcap.diff
-rw-r--r--  1 root root    57303 2003-09-03 18:27 ntp-no_caddr_t.diff
-rw-r--r--  1 root root      292 2003-09-04 14:52 ntp-segfault_on_invalid_device.diff
-rw-r--r--  1 root root     8079 2003-08-22 19:29 ntp-type_punning.diff
-rw-r--r--  1 root root    68911 2006-12-07 22:41 recoverjpeg-1.1.1.tar.gz
-rw-r--r--  1 root users   33386 2005-08-09 20:16 testtool-20030401_1.tar.bz2
-rw-r--r--  1 root root      466 2003-08-22 19:29 xntp-libobjs.diff
-rw-r--r--  1 root root      670 2003-08-29 18:28 xntp-posix_options.diff
-rw-rw-r--  1 root root   406125 2005-03-16 05:30 yum-2.2.1.tar.gz
Ich meine, wenn man eine RPM und SPEC baut, in der alle nötigen Sourcen sind, wieso löst man dann nicht deren Installation aus?

Ich kapiere einfach nicht, wozu man mit einer RPM durchsetzt, daß Sourcen unter /usr/src/packages/SOURCES landen, wenn man sowieso nicht weiß, ob hinterher eine RPM darus gebaut wird, von der der packet manager was weiß. Schließlich sind nicht mal die meisten Sourcen als RPM verfügbar. Und in denen wo nicht RPM sind, steht in der README fast immer "irgend wo auspacken, als root Dreisatz machen". Kaum ein Mensch sucht herunter geladene Sourcen in "/usr/scr/packages/SOURCES", sonder da, wo man Downloads speichert bzw. sammelt. Also ich zumindest...
 
Zuletzt bearbeitet:
Ich kapiere einfach nicht, wozu man mit einer RPM durchsetzt, daß Sourcen unter /usr/src/packages/SOURCES landen, wenn man sowieso nicht weiß, ob hinterher eine RPM darus gebaut wird, von der der packet manager was weiß. Schließlich sind nicht mal die meisten Sourcen als RPM verfügbar. Und in denen wo nicht RPM sind, steht in der README fast immer "irgend wo auspacken, als root Dreisatz machen".

1. die sourcen für das rpm sind für entwickler gedacht, die den quelltext eines programmes einsehen und verädnern wollen. ausserdem sind diese für packager die vielleicht fehler die beim rpm bau passiert sind beheben wollen. normalerweise installiert man die rpm-Dateien mit der endung src.rpm nicht, es sei denn man braucht sie, wie in meinem fall.

Kaum ein Mensch sucht herunter geladene Sourcen in "/usr/scr/packages/SOURCES", sonder da, wo man Downloads speichert bzw. sammelt. Also ich zumindest...

2. das mag sein, aber der pfad /usr/src/packages/SOURCES/ ist für den bau von rpm-paketen wichtig und wird von rpmbuild benötigt. standartmäßig werden nämlich hier nach den Quellpaketen für das zu schnürende paket gesucht. die sourcen sind nie als rpm verfügbar. das ist unsinn. beim bau eines paketes kann der packager selber angeben, ob er ein src.rpm generieren will oder nicht. da dies meist länger dauert und mehr speicherplatz in anspruch nimmt, machen die meisten packager davon nicht gebrauch.

gruß tuxlover
 
Zuletzt bearbeitet:
2. das mag sein, aber der pfad /usr/src/packages/SOURCES/ ist für den bau von rpm-paketen wichtig und wird von rpmbuild benötigt.
jep, gechekct.

Und hier ist mein dämlicher Fehler:

rpmbuild hat das Teil unter ../i586 hinterlassen und checkinstall in ../i386.

Sorry Leute, dämlicher als ich eben kann man glaube ich kaum da ran gehen. Ich hatte ja beides versucht ...

also, zurück zum Kern meiner Frage: Ich hatte mal gelesen, daß man in einem spec-file angibt, wenn man möchte, daß nachher noch eine Aktion ausgelöst werden soll. Die src-rpm, die sich komplett installieren lassen, führen also dann wohl genau so einen rebuild aus? Ich baue jetzt mal so ein Teil auseinander und sehe mir das an.

Was immer ich sonst so den ganzen Tag mache, rpms bauen bisher eher nicht. Eine solche Bildungslücke sollte ich wohl mal schleunigst schließen..
 
du kannst und solltest doch auch mit checkinstall eine i586 version bauen können. da müsste doch eigentlich ein dialog kommen, wo man das ändern kann.

als allgemeines handbuch empfehle ich dir http://rikers.org/rpmbook/

da findest du alles was du über rpm und den bau von rpm-paketen wissen kannst.
 
du kannst und solltest doch auch mit checkinstall eine i586 version bauen können. da müsste doch eigentlich ein dialog kommen, wo man das ändern kann.
Hallo,

ja kommt.. als 3. Schritt oder so, Punkt 7 -> Architecture... aber den habe ich nie geändert, weil ich dachte das ist sozusagen "vorerkannt", was nach configure und make damit möglich / sinnvoll ist.

Übrigens, wenn ich die unter i586 mit "rpmbuild" entstandene Version installieren will, kommt folgendes dabei heraus:
rpm -ivvU schrieb:
error: Failed dependencies:
exit is needed by ...
Ich habe also nichts gewonnen... während mein Weg mit Checkinstall zu einer funktionierenden Installation führt. Vermutlich muß man Dependencies ignorieren und schauen, ob's funktioniert? OK, das kann man aber dann aber gleich über YaST...

als allgemeines handbuch empfehle ich dir http://rikers.org/rpmbook/
Danke für den Link, das ist mal n bißchen Lesestoff :D
 
@tuxlover

warum schreibst du die Entwickler nicht an und machst sie auf ihren Fehler aufmerksam?

Dann hätten nämlich auch noch andere was davon....
 
Versionen

Mir ist noch was aufgefallen:

Wenn ich in i586-Version mit rpmbuild baue, entsteht eine rpm mit der Versionsnummer "recoverjpeg-1.1.1-2", während nach checkinstall - diesmal auch als i586 :) - "recoverjpeg-1.1.1-1" entsteht.

Mag es da sein, was immer dieses "exit" ist, daß aus den Sourcen mal eine Version gebaut wird, die es nicht braucht und mal eine, die es braucht?

Meine Kenntnisse reichen nicht dazu, das aufzulösen, aber ich hab schon Lust bekommen, mir mal anzuschauen, wo im Sourcecode dieses "exit" überhaupt auftaucht... (und nein, ich würde es nicht mit exit() verwechseln...)
 
@supersucker: danke habe den opensource gedanken schon verstanden. werde ich auf jeden fall machen.

@xanti: so habe jetzt ein neues rpm gebaut und das funktioniert. exif bzw. libexif war installiert und steht auch README der sources als benötigte dateien. so dass wohl wirklich hier der fehler liegt. gibts ne möglichkeit das neue rpm irgendwo hochzuladen und anderen zur verfügung zu stellen?

gruß tuxlover
 
exif bzw. libexif war installiert und steht auch README der sources als benötigte dateien.
Danke, ich hab's übrigens auch geschnallt :O

Tippfehler oder so, weil das "t" diagonal über dem "f" ist.... exif war wohl gemeint. Bei mir ist übrigens "libexif" drauf gewesen, aber "exif" nicht und siehe da.... ich kann das originale Guru-Paket installieren ohne Zicken und fehlende Abhängigkeiten, sobald auch Exif an Board ist. Also nicht mal die src-rpm, sondern das reguläre Paket geht bei mir jetzt.
 

Ähnliche Themen

Amanda und C Compiler

Zurück
Oben