Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 12834 - emerge or vsftpd ebuild error. Empty dir: /usr/share/vsftp/empty
Summary: emerge or vsftpd ebuild error. Empty dir: /usr/share/vsftp/empty
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Donny Davies (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-28 06:18 UTC by roma1390
Modified: 2003-07-27 23:14 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description roma1390 2002-12-28 06:18:17 UTC
After emerge vsftp doesn't create /usr/share/vsftp/empty. Which is empty, and 
must be empty. 

# grep share/vsft /var/db/pkg/net-ftp/vsftpd-1.0.1-r1/CONTENTS
dir /usr/share/vsftpd
dir /usr/share/vsftpd/empty
# ls /usr/share/vsftpd
ls: /usr/share/vsftpd: No such file or directory
# ftp localhost
Connected to localhost.
500 OOPS: vsftpd: not found: directory given in 'tunable_secure_chroot_dir'
ftp>
# emerge -V
Portage 2.0.46-r4 (default-x86-1.4, gcc-3.2.1, glibc-2.3.1-r2)
#  emerge -p vsftpd

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R  ] net-ftp/vsftpd-1.0.1-r1

# emerge info
Portage 2.0.46-r4 (default-x86-1.4, gcc-3.2.1, glibc-2.3.1-r2)
=================================================================
System uname: 2.4.20 i586 AMD-K6(tm) 3D processor
USE="-3dfx 3dnow aalib -acl -afs -alsa apm -arts -avi -atlas berkdb -bonobo -
can
a -cdr -cjk crypt -cups -dga -directfb doc -dvd encode esd -fbcon -flash -
freewn
n -gb gd gdbm -ggi gif -gnome -gphoto2 -gpm gtk gtk2 gtkhtml -guile -icc -icc-
pgo -imap imlib innodb ipv6 java jikes jpeg -junit -kde -kerberos -lcms -ldap -
leim libg++ -libgda libwww -maildir mbox mikmod mmx motif -mozilla mpeg -mule 
mysql nas ncurses nls -oci8 odbc oggvorbis opengl -oss pam -pcmcia -pda pdflib 
perl pic plotutils png -postgres python qt qtmt quicktime readline -ruby samba 
sasl -scanner sdl slang -slp -snmp -socks5 spell -sse ssl -static -svga tcltk 
tcpd -tetex tiff truetype voodoo3 -wavelan wmf X xml xml2 xmms xv zlib x86"
ARCH="x86"
COMPILER="gcc3"
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-2 -O3 -pipe"
CXXFLAGS="-march=k6-2 -O3 -pipe"
ACCEPT_KEYWORDS="x86"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/conf
ig /usr/kde/3/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
MAKEOPTS="-j2"
JDK_HOME="/opt/blackdown-jdk-1.3.1"
JAVA_HOME="/opt/blackdown-jdk-1.3.1"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo"
Comment 1 SpanKY gentoo-dev 2002-12-28 19:31:27 UTC
could you re-emerge the package and see if the directories exist ?
Comment 2 roma1390 2002-12-29 03:10:18 UTC
# ls -l /usr/share/vsftpd/empty
ls: /usr/share/vsftpd/empty: No such file or directory
# mkdir -p /usr/share/vsftpd/empty
# ls -l /usr/share/vsftpd/empty
total 0
# emerge -p vsftpd

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R  ] net-ftp/vsftpd-1.0.1-r1

# emerge vsftpd
Calculating dependencies ...done!
>>> emerge (1 of 1) net-ftp/vsftpd-1.0.1-r1 to /
>>> md5 ;-) vsftpd-1.0.1.tar.gz
>>> Unpacking source...
>>> Unpacking vsftpd-1.0.1.tar.gz
patching file defs.h
patching file tunables.c
patching file vsftpd.8
patching file vsftpd.conf.5
>>> Source unpacked.
gcc -c main.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c utility.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c prelogin.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c ftpcmdio.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c postlogin.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c privsock.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c tunables.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c ftpdataio.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c secbuf.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c ls.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c postprivparent.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c logging.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c str.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c netstr.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c sysstr.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c strlist.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c dirchange.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c filestr.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c parseconf.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c secutil.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c ascii.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c oneprocess.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c twoprocess.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c privops.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c sysutil.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -c sysdeputil.c -march=k6-2 -O3 -pipe -idirafter dummyinc
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o 
tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o 
sysstr.o strlist.o dirchange.o filestr.o parseconf.o secutil.o ascii.o 
oneprocess.o twoprocess.o privops.o sysutil.o sysdeputil.o -Wl,-s 
`./vsf_findlibs.sh`

>>> Install vsftpd-1.0.1-r1 into /var/tmp/portage/vsftpd-1.0.1-r1/image/ 
category net-ftp
strip:
/var/tmp/portage/vsftpd-1.0.1-r1/image/usr/sbin/vsftpd
>>> Completed installing into /var/tmp/portage/vsftpd-1.0.1-r1/image/

>>> Merging net-ftp/vsftpd-1.0.1-r1 to /
--- /etc/
>>> /etc/ftpusers
--- /etc/pam.d/
>>> /etc/pam.d/vsftpd
--- /etc/xinetd.d/
>>> /etc/xinetd.d/vsftpd
--- /etc/vsftpd/
>>> /etc/vsftpd/vsftpd.conf.sample
--- /var/
--- /var/log/
--- /var/log/vsftpd/
--- /usr/
--- /usr/sbin/
>>> /usr/sbin/vsftpd
--- /usr/share/
--- /usr/share/doc/
--- /usr/share/doc/vsftpd-1.0.1-r1/
>>> /usr/share/doc/vsftpd-1.0.1-r1/FAQ.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/README.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/SIZE.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/KERNEL-2.4.0-WARNING.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/REWARD.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/Changelog.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/TODO.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/INSTALL.gz
--- /usr/share/doc/vsftpd-1.0.1-r1/security/
>>> /usr/share/doc/vsftpd-1.0.1-r1/security/OVERVIEW.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/security/IMPLEMENTATION.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/security/vsftpd.conf.sample.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/security/vsftpd.conf.dist.sample.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/security/DESIGN.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/security/TRUST.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/AUDIT.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/LICENSE.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/README.security.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/SPEED.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/BUGS.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/TUNING.gz
>>> /usr/share/doc/vsftpd-1.0.1-r1/BENCHMARKS.gz
--- /usr/share/man/
--- /usr/share/man/man5/
>>> /usr/share/man/man5/vsftpd.conf.5.gz
--- /usr/share/man/man8/
>>> /usr/share/man/man8/vsftpd.8.gz
--- /usr/share/vsftpd/
--- /usr/share/vsftpd/empty/
--- /home/
>>> /home/ftp/

>>> Safely unmerging already-installed instance...
--- !mtime obj /usr/share/man/man8/vsftpd.8.gz
--- !mtime obj /usr/share/man/man5/vsftpd.conf.5.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/security/vsftpd.conf.sample.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-
r1/security/vsftpd.conf.dist.sample.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/security/TRUST.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/security/OVERVIEW.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/security/IMPLEMENTATION.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/security/DESIGN.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/TUNING.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/TODO.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/SPEED.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/SIZE.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/REWARD.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/README.security.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/README.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/LICENSE.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/KERNEL-2.4.0-WARNING.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/INSTALL.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/FAQ.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/Changelog.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/BUGS.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/BENCHMARKS.gz
--- !mtime obj /usr/share/doc/vsftpd-1.0.1-r1/AUDIT.gz
--- !mtime obj /usr/sbin/vsftpd
--- cfgpro obj /etc/xinetd.d/vsftpd
--- cfgpro dir /etc/xinetd.d
--- cfgpro obj /etc/vsftpd/vsftpd.conf.sample
--- cfgpro dir /etc/vsftpd
--- cfgpro obj /etc/pam.d/vsftpd
--- cfgpro dir /etc/pam.d
--- cfgpro obj /etc/ftpusers
<<<        dir /usr/share/vsftpd/empty
<<<        dir /usr/share/vsftpd
<<<        dir /home/ftp
--- !empty dir /var/log/vsftpd
--- !empty dir /var/log
--- !empty dir /var
--- !empty dir /usr/share/man/man8
--- !empty dir /usr/share/man/man5
--- !empty dir /usr/share/man
--- !empty dir /usr/share/doc/vsftpd-1.0.1-r1/security
--- !empty dir /usr/share/doc/vsftpd-1.0.1-r1
--- !empty dir /usr/share/doc
--- !empty dir /usr/share
--- !empty dir /usr/sbin
--- !empty dir /usr
--- !empty dir /home
--- !empty dir /etc
>>> original instance of package unmerged safely.
>>> Regenerating /etc/ld.so.cache...
>>> net-ftp/vsftpd-1.0.1-r1 merged.
>>> Recording net-ftp/vsftpd in "world" favorites file...

 net-ftp/vsftpd
    selected: none
   protected: 1.0.1-r1
     omitted: none

>>> clean: No packages selected for removal.

>>> Regenerating /etc/ld.so.cache...
>>> Auto-cleaning packages ...

>>> No outdated packages were found on your system.


 * GNU info directory index is up-to-date.

# ls -l /usr/share/vsftpd/empty
ls: /usr/share/vsftpd/empty: No such file or directory


This is becouse /usr/share/vsftpd/empty is realy empty. If you can see .keep 
files a lot into gentoo file system. 
/home/.keep /var/.keep and ...
I think that is feature of emerge (portage) system. And may be this is 
incorect feature, becouse on file system is to many .keep files:
# find / -name .keep | wc
     70      70    1450
Create .keep file into /usr/share/vsftpd/empty is not good idea becouse:
(from man vsftp.conf)
       secure_chroot_dir
              This option should be the name of a directory which
              is   empty.  Also,  the  directory  should  not  be
              writable by the ftp user. This directory is used as
              a  secure  chroot()  jail  at times vsftpd does not
              require filesystem access.

              Default: /usr/share/vsftpd/empty


Rokas
Comment 3 Maurizio Disimino 2003-01-18 06:07:12 UTC
# grep -A 5 pkg_postinst /usr/portage/net-ftp/vsftpd/vsftpd-1.1.2.ebuild 
pkg_postinst() {
        # empty dirs...
        install -m0755 -o root -g root -d ${ROOT}/home/ftp
        install -m0755 -o root -g root -d ${ROOT}/usr/share/vsftpd/empty
        install -m0755 -o root -g root -d ${ROOT}/var/log/vsftpd
}

newer vsftpd ebuilds fix this issue ... 
`ACCEPT_KEYWORDS="~x86" emerge vsftpd`
Comment 4 Donny Davies (RETIRED) gentoo-dev 2003-01-21 23:24:36 UTC
yup this is fixed in the most recent ebuilds.
Comment 5 Eugene Koontz 2003-07-27 23:14:07 UTC
when I emerged -u vsftp, it still didn't make /usr/share/vsftpd/empty - i had to do it manually.

i have 1.2.0 - latest version available...