LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 03-26-2009, 08:42 PM   #1
atanasoff
LQ Newbie
 
Registered: Dec 2008
Posts: 25

Rep: Reputation: 0
scr2pkg and sync-engine -- a python build -- FAILURE in NO DEST_DIR


I have been trying to build a python package from the SynCE project.
The instructions on how to do this are here:

http://www.synce.org/moin/SynceInstallation/Source

The lines of interest are:
$ tar zxf sync-engine-0.11.tar.gz
$ cd sync-engine-0.11/
$ python setup.py build
$ sudo python setup.py install
$ sudo synce-install-plugins.py
$ mkdir -p ~/.synce
$ cp -i config/config.xml ~/.synce
$ cd ..

I have tried:
src2pkg -C -VV -W -X -m="setup.py build" -i="setup.py install" -i="synce-install-plugins.py" sync-engine-0.13.tar.gz

or

src2pkg -C -VV -W -X -i="setup.py build install; synce-install-pluins.py" sync-engine-0.13.tar.gz

or

src2pkg -C -VV -W -X sync-engine-0.13.tar.gz

and always get:

Correcting source permissions - Done
Checking for patches - None found
Compiling sources - Using: './setup.py build'
Compiler Messages:
running build
running build_py
running build_scripts
Compiling has been - Successful!
FAILED
src2pkg FAILURE in NO DEST_DIR

I've already built the thing from the command line, so I know
it will compile on my system, Slackware 12.2

All the other SynCE source will build with src2pkg, but this python
script will not.

Any pointers on how to manage python builds?
Thanks,
 
Old 03-26-2009, 10:15 PM   #2
tuxdev
Senior Member
 
Registered: Jul 2005
Distribution: Slackware
Posts: 2,012

Rep: Reputation: 115Reputation: 115
AFAIK python installers don't have any kind of DESTDIR control. Use JAIL mode instead
 
Old 03-27-2009, 04:51 AM   #3
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,902

Rep: Reputation: 590Reputation: 590Reputation: 590Reputation: 590Reputation: 590Reputation: 590
First, tuxdev is right that python modules do not support DESTDIR so you must use JAIL. The current development version of src2pkg has already been changed to make JAIl the default when installing python stuff.
src2pkg automatically set these: -m="setup.py build" -i="setup.py install"
Again, the devel version has refined this to:
-m="/usr/bin/env python setup.py build" -i="/usr/bin/env python setup.py install"
for more reliability.
One other general note: The '-X' option is for use when you are using a src2pkg script -not when you are specifying the tarball name. What you were trying to do could have been done like this:
src2pkg -N sync-engine-0.13.tar.gz
src2pkg -C -VV -X
(It's not a good idea to use -W until you are sure the build is correct.

Okay, now more specifics: src2pkg can only track one command when it runs the fake_install function, so specifying '-i=??' twice won't work. But, by using a src2pkg script we can do just that, as you'll see in a minute.
The other problem with this build is that running the program requires the config.xml file in $HOME./synce/config.xml. So, we really need to create a wrapper for synce-engine which will create this file for the user when they first run sync-engine. This means we need to include that file also as part of the package.

The src2pkg script below should work -I don't have all the dependencies installed but this seems to work on my box:

Code:
#!/bin/bash
## src2pkg script for: 	sync-engine
## Auto-generated by src2pkg-1.9.8
## src2pkg - Copyright 2005-2009 Gilbert Ashley <amigo@ibilio.org>

SOURCE_NAME='sync-engine-0.11.tar.gz'
NAME='sync-engine'   # Use ALT_NAME to override guessed value
VERSION='0.11'   # Use ALT_VERSION to override guessed value
# ARCH=''
BUILD='1'
PRE_FIX='usr'
# Any extra options go here:
# EXTRA_CONFIGS=""

# this is not necessary with src2pkg >= 1.9.8
INSTALL_TYPE=JAIL

# Get the functions and configs
. /usr/libexec/src2pkg/FUNCTIONS ;

# Execute the 16 standard packaging steps:
pre_process
find_source
make_dirs
unpack_source
fix_source_perms
configure_source
compile_source
fake_install

# fake_install can only run one command at a time, so install
# the plugins by re-running fake_install with a new command:
INSTALL_LINE='/usr/bin/env python ./synce-install-plugins.py'
fake_install

# We need a wrapper which will copy the config file to the
# the users $HOME directory before running snc-engine
# First, place a copy of the config file in /etc
mkdir -p $PKG_DIR/etc
cp $SRC_DIR/config/config.xml $PKG_DIR/etc/sync-engine.conf.new

# Then rename the sync-engine and create a wrapper for it:
mv $PKG_DIR/usr/bin/sync-engine $PKG_DIR/usr/bin/sync-engine-bin
cat > $PKG_DIR/usr/bin/sync-engine <<EOF
#!/bin/sh
if [ ! -d \$HOME/.synce] ; then
	mkdir -p \$HOME/.synce
	cp /etc/sync-engine.conf \$HOME/.synce/config.xml
fi
exec /usr/bin/sync-engine-bin
EOF
chmod 755 $PKG_DIR/usr/bin/sync-engine

fix_pkg_perms
strip_bins
create_docs
compress_man_pages
make_description
make_doinst
make_package
post_process

## See the documentation for more help and examples. Below are some of
# the most common Extras and Options for easy cut-and-paste use.
# DOCLIST='' PATCHLIST='' INSTALL_TYPE=''
# CONFIG_COMMAND='' MAKE_COMMAND='' INSTALL_LINE='' 
# When editing src2pkg scripts to add custom code, use these variables
# to refer to the current directory, the sources or the package tree:
# $CWD (current directory), $SRC_DIR (sources), $PKG_DIR (package tree)
# Other commonly-used directories include: $DOC_DIR (document directory)
# $MAN_DIR (man-page directory) $DATA_DIR (shared-data directory)
Paste the above code into an empty file and save it as synce-engine.src2pkg
Then place it alongside the sources and run:
src2pkg -C -X -VV
(You may want to add -A to the options so you have a copy of the created doinst.sh and slack-desc in the CWD. This module doesn't provide any sort of document to create a description from, so you may want to edit the new.slack-desc and provide a better description)
Let me know if that works or if other tweaks are needed. Hopefully the comments inside the script are clear enough after what I wrote above.
Thanks for posting about this problem as I am constantly trying to improve src2pkg's handling of python modules and other 'non-standard' builds, so every example which doesn't work provides an opportunity for improvement.
Gilbert

Last edited by gnashley; 03-27-2009 at 04:58 AM.
 
Old 03-27-2009, 06:11 AM   #4
acummings
Member
 
Registered: Jul 2004
Distribution: Slackware
Posts: 615

Rep: Reputation: 50
Hi. For gnashley: if you see this, I had left you a short "visitor message" about something that happened while using src2pkg on kcd

Start a kcd thread if you need to or email me or etc. (if anything I did contributed to what I shared had happened).

Thanks again for such a great app.

--
Alan.
 
Old 03-27-2009, 08:33 AM   #5
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,902

Rep: Reputation: 590Reputation: 590Reputation: 590Reputation: 590Reputation: 590Reputation: 590
Alan, I've answered your message.
 
Old 03-27-2009, 05:39 PM   #6
atanasoff
LQ Newbie
 
Registered: Dec 2008
Posts: 25

Original Poster
Rep: Reputation: 0
I did get a package following your instructions, however I think it is missing some files, after just looking inside the built package. I have captured a large output file from my command line build:

python setup.py install

and will send it if you wish, but at least 7 python scripts were installed in /usr/bin.

I think there were some errors during compile, so here is output from:

src2pkg -C -X -VV

Running build script: synce-engine.src2pkg
Found source archive: sync-engine-0.13.tar.gz
Removing existing package build directory from previous build -
Removing existing source build directory from previous build -
Creating working directories:
PKG_DIR=/tmp/sync-engine-0.13-pkg-1
SRC_DIR=/tmp/sync-engine-0.13-src-1
Unpacking source archive -
sync-engine-0.13/
sync-engine-0.13/tests/
sync-engine-0.13/tests/airsync_event_exclusion_ex1.xml

.
. still extracting package though here:
.

Correcting source permissions - Done
Checking for patches - None found
Compiling sources - Using: './setup.py build'
Compiler Messages:
running build
running build_py
running build_scripts
Compiling has been - Successful!
Installing in jail root - Using: './setup.py install'
Traceback (most recent call last):
File "./setup.py", line 3, in <module>
from setuptools import setup, find_packages
File "/usr/lib/python2.5/site-packages/setuptools/__init__.py", line 2, in <mo
dule>
from setuptools.extension import Extension, Library
File "/usr/lib/python2.5/site-packages/setuptools/extension.py", line 2, in <m
odule>
from dist import _get_unpatched
File "/usr/lib/python2.5/site-packages/setuptools/dist.py", line 6, in <module
>
from setuptools.command.sdist import sdist
File "/usr/lib/python2.5/site-packages/setuptools/command/sdist.py", line 4, i
n <module>
import os, re, sys, pkg_resources
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 2553, in <modul
e>
working_set = WorkingSet()
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 384, in __init_
_
self.add_entry(entry)
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 399, in add_ent
ry
for dist in find_distributions(entry, True):
File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 1659, in find_o
n_path
for entry in os.listdir(path_item):
OSError: [Errno 2] No such file or directory: '/usr/lib/python2.5'
Notice - Running './setup.py install' has failed.
But, there seems to be a matching executable in the SRC_DIR.
Doing generic install -
Installing in jail root - Using: '/usr/bin/env python ./synce-install-plugins.py
'
Traceback (most recent call last):
File "./synce-install-plugins.py", line 8, in <module>
import SyncEngine.kernel
File "/tmp/sync-engine-0.13-src-1/SyncEngine/kernel.py", line 33, in <module>
import rrasyncmanager
File "/tmp/sync-engine-0.13-src-1/SyncEngine/rrasyncmanager.py", line 15, in <
module>
import gobject
ImportError: No module named gobject
Notice - Running '/usr/bin/env python ./synce-install-plugins.py' has failed.
But, there seems to be a matching executable in the SRC_DIR.
Doing generic install -
cp: cannot stat `/tmp/sync-engine-0.13-src-1/config/config.xml': No such file or
directory
Correcting package permissions - Done
No unstripped ELF binaries were found. Skipping...
No unstripped static archives found. Skipping...
No unstripped shared libraries found. Skipping...
Checking for standard documents - Done
Creating slack-desc - Creating slack-desc file in PKG_DIR
Searching for links in PKG_DIR - None found
Making installable package -

./
usr/
usr/bin/
usr/bin/sync-engine-bin
usr/bin/sync-engine
usr/doc/
usr/doc/sync-engine-0.13/
usr/doc/sync-engine-0.13/COPYING
usr/doc/sync-engine-0.13/CHANGELOG
etc/
install/
install/slack-desc
/usr/libexec/src2pkg/bin/tar-1.13: sync-engine-0.13-i486-1.tar is the archive; n ot dumped
TRANSL/

Gzipping sync-engine-0.13-i486-1.tar to sync-engine-0.13-i486-1.tar.gz
Renaming sync-engine-0.13-i486-1.tar.gz to sync-engine-0.13-i486-1.tgz
Moving sync-engine-0.13-i486-1.tgz to /home/rwwendel/Desktop/downloads/synce/syn c-engine/buildbox

Package Creation - Successful! - Package Location:

-------------

Anyway, all I see in /usr/bin are sync-engine and sync-engine-bin.
I su'd to root to build this just so you know.
 
Old 03-27-2009, 06:06 PM   #7
tuxdev
Senior Member
 
Registered: Jul 2005
Distribution: Slackware
Posts: 2,012

Rep: Reputation: 115Reputation: 115
It looks like you are running into a problem do to the incomplete translation feature in sentry/installwatch. Most installers only copy files, but this one is doing something more complicated. Try using REAL mode.
 
Old 03-28-2009, 04:06 AM   #8
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,902

Rep: Reputation: 590Reputation: 590Reputation: 590Reputation: 590Reputation: 590Reputation: 590
Yeah, -REAL mode looks like the only way to get that right -you need to build it as root make that work. funny, though, because it seemed to work here, even though I don't have all the depends installed -I mean the main 'setup.py install' worked properly -the plugin installation didn't work completely though because of the missing depends.
Oh here's a problem -you are running src2pkg-1.9.7 right? You need to change a couple of lines in a file to make REAL mode work for you there. As root, open up the file /usr/libexec/src2pkg/06-configure_source. Scroll down to lines 408-410:

Code:
		INSTALL_TYPE=JAIL
		MAKE_COMMAND="python ./setup.py build"
		INSTALL_LINE="python ./setup.py install"
Change them so they read like this:
Code:
		[[ $INSTALL_TYPE = "DESTDIR" ]] && INSTALL_TYPE=JAIL
		! [[ $MAKE_COMMAND ]] && MAKE_COMMAND="/usr/bin/env python ./setup.py build"
		! [[ $INSTALL_LINE ]] && INSTALL_LINE="/usr/bin/env python ./setup.py install"
That should make it possible to use the -REAL option. This change is already in there for the next release.

There's another way you can check to make sure you are getting all the file, using the 'tracklist' program included with src2pkg. To get a full, brief listing of the files installed, cd into the sources and run:
tracklist -b -o FILE-LIST python ./setup.py install
That will create the FILE-LIST file inside the sources. You can then use a similar command to run the second install command:
tracklist -b -o FILE-LIST2 python ./synce-install-pluins.py#

Sorry this has been a problem build for you, but I think the next release will handle this better.
 
Old 03-28-2009, 08:53 PM   #9
atanasoff
LQ Newbie
 
Registered: Dec 2008
Posts: 25

Original Poster
Rep: Reputation: 0
I'm showing src2pkg-1.9.6 in my system, so I removed that and installed src2pkg-1.9.7. Then src2pkg --setup per package installation notes. Then edited /usr/libexec/src2pkg/06-configure_source per instructions.

We edited you script to reflect -0.13 version
and made this script change:
INSTALL_TYPE=REAL

I ran:
src2pkg -C -X -VV

note: You script was very instructional but I don't think the file in question was ever in the source and an error was seen during the build process. Synce doc's are not always spot on.

and after 4-5 minutes got a package that reflects what is already on my system. src2pkg did grumble about some unusual file permissions but will check on that later.

Will INSTALL_TYPE=REAL be automatic in the future?

Also, I'm expecting that if I install this package and then remove it, it will clean my system of sync-engine-0.13 ???

Thanks for all of your coding wizardry.
src2pkg is a great program for non-techs like me.
 
Old 03-28-2009, 09:40 PM   #10
tuxdev
Senior Member
 
Registered: Jul 2005
Distribution: Slackware
Posts: 2,012

Rep: Reputation: 115Reputation: 115
Quote:
Will INSTALL_TYPE=REAL be automatic in the future?
Short answer is no. Though, it does makes sense for src2pkg to default to REAL mode if it is running as root.

In older versions of src2pkg REAL mode was the only mode available, but it requires root privileges. Doing *anything* as root is inherently dangerous, so the other two user privilege modes are preferred. But, as you've experienced, the other two modes have major weaknesses, so you sometimes have to use REAL mode anyway. DESTDIR requires the installer to respect the convention and JAIL requires that the installer doesn't look too carefully at the filesystem. Actually, my current project is to rewrite sentry to eliminate that weakness (and a few other related issues) in JAIL mode.

Quote:
Also, I'm expecting that if I install this package and then remove it, it will clean my system of sync-engine-0.13 ???
Most likely yes, but it is possible that src2pkg didn't catch all the files installed because it was a problem build. If you want to be absolutely sure, do a 'find' or recursive 'grep' of the filesystem excluding /home for files relating to sync-engine. It'll take a while, so if you decide to do that you'll want to run it overnight.

Last edited by tuxdev; 03-28-2009 at 09:42 PM.
 
Old 03-29-2009, 05:07 AM   #11
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,902

Rep: Reputation: 590Reputation: 590Reputation: 590Reputation: 590Reputation: 590Reputation: 590
I'm glad that worked for you finally.
About this: "src2pkg did grumble about some unusual file permissions", src2pkg now includes an extensive routine which examines all the files and directories included in the package, just before creating the final package. It notifies you of anything 'unusual' it finds. These are not always errors, but are provided as information -hopefully promptimg you to examine the files in question. The deal is that usually all directories in a package are set to chmod 755, all exectuables are set to chmod 755, and all other files are set to chmod 644. There are some important and notable exceptions to this which src2pkg will automatically set. For instance, if the package contains the directory var/run, the perms for it are set to 775. Not doing so could cause the program or other programs on your system to stop working correctly -this is mostly for program which runnas services or use pid files under var/run. Anyway, src2pkg will make sure that the perms for this and several other know exceptions are correct. Also, other common directories are set to 755 -like /usr/bin and things like that.
src2pkg used to just set all dirs to 755, but this is not always right, so now it is more discriminate. But it still can't guess about everything, so if you build a package which conatins dirs with permsissions which fall outside of these rules you will be notified.
The same is true of directory ownerships -usually all dirs belong to root, group root (chown root:root). But again, many 'services' install directories which belong to some other user or group, so src2pkg notifies you when it sees these things. Usually, they are correct, but if the Makefiles are doing something weird, you'll be able to see that right away and then can put lines in the src2pkg script which correct it if needed.

Now, some notes about DESTDIR, JAIL, REAL and SAFE:
As Tim mentioned, src2pkg used to only use what is now called REAL mode. This means that the files get installed right to your system -the same way that checkinstall works. This has the advantage of being the most reliable way of tracking the files and directories which get created. It also is the most reliable way of creating packag content because it does exactly what 'make install' -no more and no less. It has the disadvantage that you must be running src2pkg as root, and that the process may overwrite files which are alread on your system. This last disadvantage can be overcome by using the SAFE method. The SAFE method is just like REAL, except that it invokes the backup facility of libsentry which creates backups of any files, links or directories before they are overwritten, and then restores the originals before packaging is finished. Both of these methods were possible with early versions of src2pkg.

Since both the above methods are 100% invasive, I wrote in support for DESTDIR. Most people are familiar with using DESTDIR, it simply means that, for instance, when a file is suppoed to be install to /usr/bin, by setting DESTDIR, you can temporarily install the file into an alternate directory $DESTDIR/usr/bin. This is the way *most* SlackBuilds work. The JAIL method does somethin similar, but instead of relying on the Makefiles conatining support for DESTDIR, it uses an ineternal function of libsentry to create the temporary path. This sounds good because it allows you build packages while running as non-root user and keeps you from overwriting files on your system. Most people trust DESTDIR. The very first versions of src2pkg used only DESTDIR. But, when I started creating support for installwatch/libsentry, I ran a lot of tests and saw that DESTDIR doesn't always work completely. And of course, for many sources it will not work at all -the python module in this thread is a good example. But the worst is that many sources only *partiall* support DESTDIR. That means that when you run 'make DESTDIR=$PKG_DIR install' some of the files do get installed under $DESTDIR, but that others actually get installed to the real root filesystem *and you don't know it*. This is the worst case of all, because you think you are doing a safe and complete installation and creation of content in an isolated directory, when in fact files have gone to your root fs and are not included in the package.
The JAIL method would appear to provide the perfect solution to all the above problems, but unfortunately it doesn't always work as expected. And for a long time it suffered from some really weird problems -the same problems which checkinstall had. That is that building some packages would do really weird unexpected things, like including the gcc compiler or other system files in the package! I finally forked installwatch to libsentry and fixed these and other problems. But the JAIL method is still not entirely dependable. Sometimes it still fails. This usually happens when the installation uses 'if' statements to ask questions about your real filesystem. For instance, say you are packaging a service or daemon which is run during startup by the init scripts. The Makefile might have an if statement which checks to see what kind of system you have by looking to see if the file /etc/redhat-release or /etc/slackware-version exists, in order to decide which init scripts to install. Since the JAIL method prepends the JAIL prefix to *every* path, it will be looking for these files in the $PKG_DIR instead of on the real filesystem -this causes the installation to fail because none of those files are found in the $PKG_DIR.
The upshot is that *no* single method will always work except the REAL or SAFE method. But many, many people like being able to build packages as a normal user. Most people *wrongly* trust DESTIR. For the last couple of years, src2pkg has quietly used DESTDIR as the default method since people trust it and it is usually a bit more dependable than JAIL. But, src2pkg now includes code which *checks* all DESTDIR installations and warns you (rather loudly with yellow text), when the DESTDIR installation is broken and suggest that you re-build the package using the JAIL, REAL or SAFE methods.
Since long ago, Tim advocated making the JAIL method the default, and for awhile it was. For awhile I switched the default back and forth from JAIL to DESTDIR to see which was more dependable. The fact is that they both partially fail about the same percentage of the times. I finally settled on using DESTDIR simply because most people trust it, are used to using it and understand it. The code that I have now included, which checks for broken DESTDIR support, is meant to dispel this implicit trust of DESTIR. And it lists all files which were installed outside of the DESTDIR, so it provides concrete information which helps you to restore your system to its' original state. src2pkg automatically switches the default from DESTDIR to JAIL method for installations where it knows that DESTDIR will not work.

So, reviewing all the above, the conclusion is that the very best way to get complete packages, without any orphaned files or having your system files overwritten, is to use the SAFE method. If you are packaging programs which are not already installed on your system, the SAFE method is just as good. But, if you like the secure feeling which creating packages as a normal user gives, then the JAIL method is probably the best default to use. When the occasional package fails using the JAIL method, you can always try it using the DESTDIR method.

But, it should be pointed out that not all packages can be created as a normal user. Packages like those mentioned above, which install files or dirs which do not belong to root:root can not be correctly built as a normal user, because a normal user can not use chown to change files or directories to ownership/group which the user does not belong to. The method which src2pkg uses to allow packaging by normal users involves using the 'tar' command to change all ownership/groups to root:root as the package content is being compressed. While this is correct for *nearly* all cases, it is not *always* correct. Still, I found this method to be much less intrusive and dangerous than having it use 'fakeroot' or other such tools to allow users to create packages. Most users will have no trouble creating all their packages as a normal user. src2pkg does now alert you when it sees that 'chown' or 'install' will be used to change ownership or group to root.

Sorry I've used this thread to expound so much about the internals of src2pkg, but I thought it might be useful to some who are following this thread. I've gone into such detail because I decided it would be good to alert Drew Ames to this thread so he can put the information into the src2pkg wiki.

Suggestions (and code/text?) are always welcome to improve any of the above functionality or to simplify explaining it...
 
Old 03-29-2009, 10:41 AM   #12
atanasoff
LQ Newbie
 
Registered: Dec 2008
Posts: 25

Original Poster
Rep: Reputation: 0
Grumblings from src2pkg about permissions:
This post is quite long, and you may want to shorten it. I'm including
this for your developmental information:


Notice - Found files with unusual owner, group or permissions:
0644 root:root install/slack-desc
0755 root:root usr/bin/clean_partnerships.py
0755 root:root usr/bin/create_partnership.py
0755 root:root usr/bin/delete_partnership.py
0755 root:root usr/bin/sync-engine
0755 root:root usr/bin/configure_bindings.py
0755 root:root usr/bin/synce-install-plugins.py
0755 root:root usr/bin/list_partnerships.py
0644 root:root usr/doc/sync-engine-0.13/COPYING
0644 root:root usr/doc/sync-engine-0.13/CHANGELOG
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/plugins/__init__.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/plugins/__init__.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/plugins/synce-opensync-plugin-2x.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/plugins/synce-opensync-plugin-3x.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/plugins/synce-opensync-plugin-2x.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/plugins/synce-opensync-plugin-3x.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/not-zip-safe
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/top_level.txt
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/scripts/clean_partnerships.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/scripts/create_partnership.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/scripts/delete_partnership.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/scripts/sync-engine
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/scripts/configure_bindings.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/scripts/synce-install-plugins.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/scripts/list_partnerships.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/PKG-INFO
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/dependency_links.txt
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/EGG-INFO/SOURCES.txt
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/xml2util.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/rapicontext.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/rrasyncmanager.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/__init__.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/auth.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/constants.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/__init__.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/dtptserver.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/kernel.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/prefill.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/util.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/errors.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/characteristics.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/config.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/airsync.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formatapi.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/prefill.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzutils/dateutil.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzutils/__init__.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzutils/__init__.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzutils/tzone.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzutils/timespan.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzutils/tzone.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzutils/timespan.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzutils/recurrence.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzutils/dateutil.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzutils/recurrence.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/__init__.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/task-from-airsync.xsl
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzconv.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/contact-from-airsync.xsl
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/__init__.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/task-to-airsync.xsl
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/tzconv.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/contact-to-airsync.xsl
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/conversions.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/parser.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/event-to-airsync.xsl
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/event-from-airsync.xsl
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/parser.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats/conversions.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/synchandler.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/airsync.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formatapi.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/rrasyncmanager.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/constants.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/auth.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/wbxml/__init__.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/wbxml/__init__.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/wbxml/codec.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/wbxml/dtd.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/wbxml/converters.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/wbxml/codec.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/wbxml/converters.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/wbxml/dtd.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/pshipmgr.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/pshipmgr.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/synchandler.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/errors.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/xml2util.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/config.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/syncdb.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/taskconv.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/tzutils/__init__.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/tzutils/__init__.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/tzutils/tzone.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/tzutils/timespan.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/tzutils/tzone.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/tzutils/timespan.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/tzutils/recurrence.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/tzutils/recurrence.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/dateutil.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/eventconv.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/__init__.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/task-from-airsync.xsl
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/contact-from-airsync.xsl
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/__init__.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/task-to-airsync.xsl
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/taskconv.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/contactconv.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/contact-to-airsync.xsl
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/parser.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/contactconv.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/event-to-airsync.xsl
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/event-from-airsync.xsl
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/parser.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/tzdatabase.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/tzdatabase.py
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/commonconv.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/dateutil.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/eventconv.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/formats30/commonconv.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/dtptserver.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/syncdb.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/kernel.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/util.pyc
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/characteristics.pyc
0755 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/SyncEngine/rapicontext.py
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/share/doc/sync-engine/syncengine.conf.xml
0644 root:root usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/share/doc/sync-engine/org.synce.SyncEngine.service
Notice - These files and/or directories are listed for information only.
Corrections may not be needed, but you should check them to be sure.
NOTICE! Empty files were found in the package tree. These may
or may not be needed by the program. By default, src2pkg allows
empty files under /etc or /var but removes any others. Use the
option ALLOW_EMPTY_FILES=YES to allow all zero-length files.
List of removed files:
usr/usr/lib/python2.5/site-packages/sync_engine-0.13-py2.5.egg/plugins/__init__.py
Making installable package -

./
usr/
usr/bin/
usr/bin/clean_partnerships.py
 
Old 03-29-2009, 11:23 AM   #13
tuxdev
Senior Member
 
Registered: Jul 2005
Distribution: Slackware
Posts: 2,012

Rep: Reputation: 115Reputation: 115
I'm not sure why exactly just by looking at it, but it's complaining about root ownership. It's probably OK, though, but it is somewhat disconcerting.

You definitely want to enable ALLOW_EMPTY_FILES=YES. __init__.py is a special file to the python interpreter, and bad stuff might happen if it doesn't exist.
 
Old 03-29-2009, 12:01 PM   #14
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,902

Rep: Reputation: 590Reputation: 590Reputation: 590Reputation: 590Reputation: 590Reputation: 590
Yeah, those all seem to be alright, so I wouldn't worry about them -and as Tim says, I'd use ALLOW_EMPTY_FILES=YES to leave the emtpy file in the package.
All that warning output seems to have tickled a bug that I may have already fixed for the new release, but certainly bears a closer check -I'll have to build all the depends and try the package to make sure.
 
Old 03-30-2009, 05:21 PM   #15
atanasoff
LQ Newbie
 
Registered: Dec 2008
Posts: 25

Original Poster
Rep: Reputation: 0
I have a question about -REAL mode.
I just built a package from: python-tz-2006p-1.rf.src.rpm
(This is a possible dependency for sync-engine. Actually
there is a boat load of dependencies for the SynCE software suit.)
Anyway I got a package only by using -REAL mode. Never installed it,
but it looks like it is on my system anyway. Should -REAL mode install the
package without me telling it?
I just used this command to build the package:
src2pkg -C -VV -REAL python-tz-2006p-1.rf.src.rpm
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: How to help build a free software search engine and use it too. Welcome to Wiki LXer Syndicated Linux News 0 11-20-2008 03:50 PM
LXer: Google's App Engine : Powered by Python LXer Syndicated Linux News 0 04-08-2008 04:10 PM
Has anyone wanted to build a kick a$$ game engine for linux (only) checkmate3001 Linux - General 3 12-15-2007 11:13 AM
failure trying to build bioapi hedpe Linux - Software 2 09-10-2006 07:24 PM
Build failure for mkfontscale.c kira Linux - Software 1 04-06-2005 07:26 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:11 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration