SCST-project / scst

SCST is a SCSI target software stack that allows to export any block device or file via iSCSI, FC or RDMA (SRP).
http://scst.sourceforge.net
93 stars 34 forks source link

rpm build failed in scstadmin (scst 3.8) #216

Open MJAsadi72 opened 9 months ago

MJAsadi72 commented 9 months ago

Hi Gleb,

I compiled scst 3.8 on my machine and got this error while creating rpm for scstadmin.

# make -C scstadmin rpm 
make: Entering directory `/root/scst/scstadmin'
name=scstadmin &&                   \
rpmtopdir=/usr/src/packages &&                  \
make dist-gzip &&                       \
for d in BUILD RPMS SOURCES SPECS SRPMS; do         \
  mkdir -p ${rpmtopdir}/$d;                 \
done &&                             \
cp ${name}-1.0.0.tar.bz2 ${rpmtopdir}/SOURCES &&        \
sed "s/@rpm_version@/1.0.0/g"               \
    <${name}.spec.in >${name}.spec &&           \
MAKE="make"                         \
rpmbuild --define="%_topdir ${rpmtopdir}" -ba ${name}.spec &&   \
rm -f ${name}-1.0.0.tar.bz2
make[1]: Entering directory `/root/scst/scstadmin'
name=scstadmin &&                   \
mkdir ${name}-1.0.0 &&                  \
{ ../scripts/list-source-files | tar -T- -cf- |         \
  tar -C ${name}-1.0.0 -xf-; } &&               \
rm -f ${name}-1.0.0.tar.bz2 &&              \
tar -cjf ${name}-1.0.0.tar.bz2 ${name}-1.0.0 && \
rm -rf ${name}-1.0.0
make[1]: Leaving directory `/root/scst/scstadmin'
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.MgM8vZ
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd /usr/src/packages/BUILD
+ rm -rf scstadmin-1.0.0
+ /usr/bin/bzip2 -dc /usr/src/packages/SOURCES/scstadmin-1.0.0.tar.bz2
+ /usr/bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd scstadmin-1.0.0
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.4cGQ8r
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd scstadmin-1.0.0
+ export PREFIX=/usr DESTDIR=/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64 MANDIR=/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/share/man
+ PREFIX=/usr
+ DESTDIR=/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64
+ MANDIR=/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/share/man
+ make
rm: cannot remove ‘scstadmin’: Is a directory
make[1]: Entering directory `/usr/src/packages/BUILD/scstadmin-1.0.0'
cd scstadmin && make all
make[2]: Entering directory `/usr/src/packages/BUILD/scstadmin-1.0.0/scstadmin'
Checking if your kit is complete...
Looks good
Writing Makefile for SCST_SCST
make -C scst-1.0.0
make[3]: Entering directory `/usr/src/packages/BUILD/scstadmin-1.0.0/scstadmin/scst-1.0.0'
cp lib/SCST/SCST.pm blib/lib/SCST/SCST.pm
Manifying blib/man3/SCST::SCST.3pm
make[3]: Leaving directory `/usr/src/packages/BUILD/scstadmin-1.0.0/scstadmin/scst-1.0.0'
make[2]: Leaving directory `/usr/src/packages/BUILD/scstadmin-1.0.0/scstadmin'
make[1]: Leaving directory `/usr/src/packages/BUILD/scstadmin-1.0.0'
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.hXjaSV
+ umask 022
+ cd /usr/src/packages/BUILD
+ '[' /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64 '!=' / ']'
+ rm -rf /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64
++ dirname /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64
+ mkdir -p /usr/src/packages/BUILDROOT
+ mkdir /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64
+ cd scstadmin-1.0.0
+ export PREFIX=/usr DESTDIR=/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64 MANDIR=/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/share/man
+ PREFIX=/usr
+ DESTDIR=/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64
+ MANDIR=/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/share/man
+ make install_vendor
rm: cannot remove ‘scstadmin’: Is a directory
ln: failed to create symbolic link ‘scstadmin/scstadmin.sysfs’: File exists
make[1]: Entering directory `/usr/src/packages/BUILD/scstadmin-1.0.0'
cd scstadmin && make install_vendor
make[2]: Entering directory `/usr/src/packages/BUILD/scstadmin-1.0.0/scstadmin'
Writing Makefile for SCST_SCST
make -C scst-1.0.0
make[3]: Entering directory `/usr/src/packages/BUILD/scstadmin-1.0.0/scstadmin/scst-1.0.0'
Skip blib/lib/SCST/SCST.pm (unchanged)
Manifying blib/man3/SCST::SCST.3pm
make[3]: Leaving directory `/usr/src/packages/BUILD/scstadmin-1.0.0/scstadmin/scst-1.0.0'
make -C scst-1.0.0 install_vendor DESTDIR=/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64
make[3]: Entering directory `/usr/src/packages/BUILD/scstadmin-1.0.0/scstadmin/scst-1.0.0'
Manifying blib/man3/SCST::SCST.3pm
Installing /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/share/perl5/vendor_perl/SCST/SCST.pm
Installing /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/share/man/man3/SCST::SCST.3pm
Appending installation info to /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/lib64/perl5/perllocal.pod
make[3]: Leaving directory `/usr/src/packages/BUILD/scstadmin-1.0.0/scstadmin/scst-1.0.0'
install -d /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/sbin
install -m 755 scstadmin /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/sbin
regex="s|%INSTALLSITELIB%|$(make -sC scst-1.0.0 print-INSTALLSITELIB | grep -v ^make)|"; echo "${regex}"; sed -i "${regex}" /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/sbin/scstadmin
s|%INSTALLSITELIB%|/usr/share/perl5|
make[2]: Leaving directory `/usr/src/packages/BUILD/scstadmin-1.0.0/scstadmin'
for m in scstadmin/man*/*.[1-9]; do             \
  if [ -e $m ]; then                        \
    d=/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/share/man/$(basename $(dirname $m));         \
    if install -d $d; then                  \
      install -m 644 $m $d;                 \
    fi                              \
  fi                                \
done
# Remove the files that are obsolete since SCST-SCST has been
# renamed into SCST_SCST.
rm -rf "/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64$(/usr/bin/perl -V:sitearch | sed "s|.*='||;s|'.*||")/auto/SCST-SCST"
# Install the files that have just been built.
install -d /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/etc/init.d
tmp=/tmp/scst-initd-$$ && init.d/scst >$tmp &&               \
  install -m 755 $tmp /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/etc/init.d/scst &&             \
  rm -f $tmp
if [ ! -e  /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/etc/default/scst ]; then        \
  mkdir -p /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/etc/default;            \
  install -m 755 default/scst /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/etc/default; \
fi
for s in iscsi-scst qla2x00t; do            \
  { if [ -n "/usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64" ]; then chr="chroot /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64"; else chr=""; fi; if type systemctl >/dev/null 2>&1; then $chr systemctl disable "$s.service"; elif type chkconfig >/dev/null 2>&1; then $chr chkconfig --del "$s"; elif type update-rc.d >/dev/null 2>&1; then $chr update-rc.d -f "$s" remove; elif type rc-update >/dev/null 2>&1; then $chr rc-update del "$s"; elif type /usr/lib/lsb/remove_initd >/dev/null 2>&1; then $chr /usr/lib/lsb/remove_initd "$s"; fi; rm -f /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/etc/init.d/$s; } >/dev/null 2>&1;        \
done

If you want SCST to start automatically at boot time, run the following command:
chroot /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64 systemctl enable scst.service

make[1]: Leaving directory `/usr/src/packages/BUILD/scstadmin-1.0.0'
+ set -x
+ test -n /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64 -a -d /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/lib64/perl5/vendor_perl/auto
+ find /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/lib64/perl5/vendor_perl/auto -name .packlist -print0
+ xargs -0 -r rm
+ '[' x86_64 == noarch ']'
+ rm -f /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64/usr/lib64/perl5/perllocal.pod
+ set +x
Processing files: scstadmin-1.0.0-1.x86_64
Provides: config(scstadmin) = 1.0.0-1 perl(SCST::SCST) = 1.0.0 scstadmin = 1.0.0-1 scstadmin(x86-64) = 1.0.0-1
Requires(interp): /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(pre): /bin/sh
Requires: /bin/sh /usr/bin/perl perl >= 0:5.005 perl(Carp) perl(Cwd) perl(Data::Dumper) perl(Fcntl) perl(File::Basename) perl(File::Spec) perl(Getopt::Long) perl(IO::Dir) perl(IO::File) perl(IO::Handle) perl(POSIX) perl(SCST::SCST) >= 1.0.0 perl(constant) perl(strict) perl(vars) perl(warnings)
Checking for unpackaged file(s): /usr/lib/rpm/check-files /usr/src/packages/BUILDROOT/scstadmin-1.0.0-1.x86_64
error: Installed (but unpackaged) file(s) found:
   /usr/share/man/man1/scstadmin.1.gz
   /usr/share/man/man5/scst.5.gz
   /usr/share/man/man5/scst.conf.5.gz

RPM build errors:
    Installed (but unpackaged) file(s) found:
   /usr/share/man/man1/scstadmin.1.gz
   /usr/share/man/man5/scst.5.gz
   /usr/share/man/man5/scst.conf.5.gz
make: *** [rpm] Error 1
make: Leaving directory `/root/scst/scstadmin'