ubuntuusers.de

dpkg-genchanges Fehler 2

Status: Gelöst | Ubuntu-Version: Ubuntu 13.04 (Raring Ringtail)
Antworten |

Surst Team-Icon

Lokalisierungsteam

Anmeldungsdatum:
8. Februar 2008

Beiträge: 392

Wohnort: Gießen

Ich versuche gerade ein Paket nach Anleitung hier zu bauen, komme aber mit folgender Fehlermeldung nicht weiter

1
2
3
4
dpkg-genchanges: Fehler: Dateienliste-Datei kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden
dpkg-buildpackage: Fehler: Fehler-Exitstatus von dpkg-genchanges war 2
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed

Ich weiß nicht genau, welche weiteren Informationen/Dateien ich bereitstellen sollte, einfach melden bitte, falls wer helfen kann/möchte ☺

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

Hallo,

welche Änderungen hast du vorgenommen? Bitte zeige den genauen Befehl, der den Fehler verursacht hat mit der vollständigen Ausgabe. Wenn möglich, wäre es auch gut, wenn du den gesamten Quellcode iregendwo hochladen könntest.

Surst Team-Icon

Lokalisierungsteam
(Themenstarter)

Anmeldungsdatum:
8. Februar 2008

Beiträge: 392

Wohnort: Gießen

Der Fehler tritt beim Ausführen von debuild auf, siehe Anhang. Meine Verzeichnisstruktur ist auch im Anhang sowie das build-Skript was ich nutze.

debuild.log (1.4 KiB)
Ausgabe von debuid
Download debuild.log
build.sh (5.1 KiB)
Build-Skript
Download build.sh
inhalt (428 Bytes)
Verzeichnisstruktur
Download inhalt

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi,

hier nochmal die Anlagen in Codeblöcken. Bitte bei so kurzen Ausgaben Codeblöcke verwenden:

build.sh

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
#!/bin/sh
#
# This script generates packages for the Virtual Magnifying Glass
#

##################################
# Constants
##################################

PRODUCT="reppu bin packager"
VERSION="20130617"
OS="linux"

TARGET_DIR="./reppu-$OS-$VERSION/"
TARGET_TAR="reppu-$OS-$VERSION.tar"
TARGET_ZIP="reppu-$VERSION.zip"

MANUALS_DIR="docs"
MANUALS="README-EN.rtf README-PT.rtf README-EN.pdf README-PT.pdf"

RESOURCES=""

SCRIPTS="install.sh uninstall.sh"

DEBIAN_USR_DIR=/home/daniel/Projects/dvdfill/build/usr

##################################
# Builds a binary tar package
##################################
BuildBinary ()
{
  # Goes to the root directory of the magnifier

  cd ..

  # Builds the software

  ./make.sh

  strip --strip-all reppu

  # Creates main directory

  mkdir $TARGET_DIR

  # Copies files to the directory

  cp $RESOURCES $TARGET_DIR

  cp $SCRIPTS $TARGET_DIR

  mkdir $TARGET_DIR/$MANUALS_DIR

  cd $MANUALS_DIR

  cp $MANUALS ../$TARGET_DIR/$MANUALS_DIR

  cd ..

  cp ./reppu $TARGET_DIR

  # Creates the archive

  tar -cvf $TARGET_TAR $TARGET_DIR

  bzip2 $TARGET_TAR

  # Clean up

  rm -rf $TARGET_DIR

  ./clean.sh

  cd build

  return
}


##################################
# Creates a source zip package
##################################
SourcePackage ()
{
  # Goes to the root directory of the magnifier

  cd ..

  # Clean up

  echo "Clean up"
  ./clean.sh
  rm -rf ../reppu-$VERSION/

  # We use bzr export to get rid of the heavy bzr files
  # copies all files to a new temporary directory

  echo "bzr export ../magnifier-$VERSION/"
  bzr export  ../reppu-$VERSION/

  # Creates the package

  echo "zip -r ../$TARGET_ZIP ../reppu-$VERSION/"
  zip -rv ../$TARGET_ZIP ../reppu-$VERSION/

  # Clean up

  echo "Clean up"
  rm -rf ../reppu-$VERSION/
  cd build

  return
}

##################################
# Set up the RPM build environment
##################################
CreateRPMEnvironment ()
{
  # Creates the directory structure

  mkdir $HOME/RPM
  mkdir $HOME/RPM/BUILD # This directory is utilized by RPM to build the package.
  mkdir $HOME/RPM/RPMS # Here you can find binary RPMs after you build them.
  mkdir $HOME/RPM/SOURCES # Place your compressed tar files and patches here.
  mkdir $HOME/RPM/SPECS # Place all your spec files here.
  mkdir $HOME/RPM/SRPMS # Here you can find source RPMs after you build them. 

  # rpmbuild environment file

  touch $HOME/.rpmmacros

  echo "%_topdir                /home/daniel/RPM/" >> $HOME/.rpmmacros
  echo "%_tmppath               /home/daniel/tmp" >> $HOME/.rpmmacros
  echo "" >> $HOME/.rpmmacros
  echo "%_signature             gpg" >> $HOME/.rpmmacros
  echo "%_gpg_name              Mandrakelinux" >> $HOME/.rpmmacros
  echo "%_gpg_path              ~/.gnupg" >> $HOME/.rpmmacros

  # Spec file

  cp reppu.spec $HOME/RPM/SPECS/

  # Zip file

  cp ../../$TARGET_ZIP $HOME/RPM/SOURCES/

  return
}

##################################
# Builds a binary and source RPM package
##################################
RPMPackage ()
{
  # Set up the RPM build environment
  CreateRPMEnvironment

  # now build it
  echo "rpmbuild -ba --clean $HOME/RPM/SPECS/reppu.spec"
  rpmbuild -ba --clean $HOME/RPM/SPECS/reppu.spec

  return
}

##################################
# Creates a Debian package
##################################
DebianPackage ()
{
  # Goes to the root directory of the magnifier

  cd ..

  # Builds the software

  ./make.sh

  strip --strip-all reppu

  # Returns to build dir

  cd build

  # Creates the control.tar.gz file

  tar -cvf control.tar control

  gzip control.tar

  # Creates the data.tar.gz file

  mkdir $DEBIAN_USR_DIR
  mkdir $DEBIAN_USR_DIR/bin
  mkdir $DEBIAN_USR_DIR/share
  mkdir $DEBIAN_USR_DIR/share/reppu

  cd ..

  cp ./reppu $DEBIAN_USR_DIR/bin/reppu

  cp $RESOURCES $DEBIAN_USR_DIR/share/reppu

  cd $MANUALS_DIR

  cp $MANUALS $DEBIAN_USR_DIR/share/reppu

  cd ..

  cd build

  tar -cvf data.tar $DEBIAN_USR_DIR

  gzip data.tar

  # Creates the package

  mkdir DEBIAN

  cp control DEBIAN/
  cp data.tar.gz DEBIAN/
  cp debian-binary DEBIAN/

  dpkg -b ./ magnifier_3.4-0_i386.deb

  # Clean up

  echo "Clean up"

  rm -rf $DEBIAN_USR_DIR

  rm -rf ./DEBIAN

  rm -rf data.tar.gz

  rm -rf control.tar.gz

  cd ..

  ./clean.sh

  cd build

  return
}


##################################
# Main section
##################################

echo "========================================================"
echo "    Virtual Magnifying Glass build script"
echo "========================================================"
echo ""
echo " Please select which package you would like to build:"
echo ""
echo " 1 > Linux Gtk2 binary tar.bz2 package"
echo " 2 > FreeBSD Gtk2 binary tar.bz2 package"
echo " 3 > Source .zip package"
echo " 4 > RPM package (source and binary)"
echo " 5 > Debian package"
echo " 0 > Exit"

read command

case $command in

  1) BuildBinary;;

  2) OS="freebsd"
     TARGET_DIR="./magnifier-$OS-$VERSION/"
     TARGET_TAR="magnifier-$OS-$VERSION.tar"

     BuildBinary;;

  3) SourcePackage;;

  4) RPMPackage;;

  5) DebianPackage;;

  0) exit 0;;

  *) echo "Invalid command"
     exit 0;;

esac

debuild log:

debuild
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: Quellpaket reppu
dpkg-buildpackage: Quellversion 20130618
dpkg-buildpackage: Quellen geändert durch Daniel Schury <Daniel.Schury@physik.uni-giessen.de>
 dpkg-source --before-build reppu-20130618
dpkg-buildpackage: Host-Architektur amd64
 fakeroot debian/rules clean
dh clean
dh: No compatibility level specified in debian/compat
dh: This package will soon FTBFS; time to fix it!
dh: No packages to build.
 dpkg-source -b reppu-20130618
dpkg-source: Warnung: kein Quellformat in debian/source/format angegeben, lesen Sie dpkg-source(1)
dpkg-source: Information: Quellformat »1.0« wird verwendet
dpkg-source: Information: reppu wird in reppu_20130618.tar.gz gebaut
dpkg-source: Warnung: fehlende Informationen für Ausgabefeld Standards-Version
dpkg-source: Information: reppu wird in reppu_20130618.dsc gebaut
 debian/rules build
dh build
dh: No compatibility level specified in debian/compat
dh: This package will soon FTBFS; time to fix it!
dh: No packages to build.
 fakeroot debian/rules binary
dh binary
dh: No compatibility level specified in debian/compat
dh: This package will soon FTBFS; time to fix it!
dh: No packages to build.
 dpkg-genchanges  >../reppu_20130618_amd64.changes
dpkg-genchanges: Fehler: Dateienliste-Datei kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden
dpkg-buildpackage: Fehler: Fehler-Exitstatus von dpkg-genchanges war 2

Verzeichnisstrukutr:

.:
bin
build.sh~
build.sh.~1~
changelog~
control
control~
copyright~
create_deb.sh
create_deb.sh~
debian
debuild.log
inhalt
reppu.1~
reppu.desktop~
share
version

./bin:
reppu

./debian:
changelog
control
copyright
rules

./share:
applications
man
pixmaps

./share/applications:
reppu.desktop

./share/man:
de
man1

./share/man/de:
man1

./share/man/de/man1:
reppu.1.gz

./share/man/man1:
reppu.1.gz

./share/pixmaps:
reppu.png

Surst Team-Icon

Lokalisierungsteam
(Themenstarter)

Anmeldungsdatum:
8. Februar 2008

Beiträge: 392

Wohnort: Gießen

Ok, Das ist auch das falsche build-Skript, wie ich sehe. Hier das richtige

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
echo "building binary"
cd ../
lazbuild reppu.lpr > /dev/null
cp reppu build/bin
echo "creating correct control file"
cd build
cp control debian/
sed -i s/all/$(uname -i)/g debian/control
echo "creating build directory"
#date +%Y%m%d > version
mkdir reppu-$(< version)
cp -R bin/ reppu-$(< version)/
cp -R debian/ reppu-$(< version)/
cp -R share/ reppu-$(< version)/
echo "creating debian package"
cd reppu-$(< version)/
tar -czf ../reppu-$(< ../version).tar.gz bin/ share/
debuild

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi Surst,

was steht in der control-Datei?

Gruss Lasall

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

Zumindest diese Zeile ist falsch:

sed -i s/all/$(uname -i)/g debian/control

Debian verwendet nicht die Architekturnamen, die uname ausspuckt. In deinem Fall nicht "x86_64" sondern "amd64". Du könntest stattdessen dpkg-architecture verwenden.

Wenns dann immer noch nicht funktioniert, zeige den Inhalt von debian/control und debian/rules.

Surst Team-Icon

Lokalisierungsteam
(Themenstarter)

Anmeldungsdatum:
8. Februar 2008

Beiträge: 392

Wohnort: Gießen

Super, das wars, danke dir. dpkg-architecture -qDEB_BUILD_ARCH spuckt z.B. das richtige aus ☺

Antworten |