Closed Bug 1035901 Opened 9 years ago Closed 6 years ago

"easy setup" keyserver can't build RPMs on CentOS

Categories

(Cloud Services :: Server: Firefox Accounts, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: mark, Assigned: rfkelly)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20140610 Firefox/24.0 PaleMoon/24.6.2 (Nightly/Aurora)
Build ID: 20140610122704

Steps to reproduce:

Following the build instructions in the hg repo for building and deploying a Sync "easy-setup" on CentOS 6.5.
0) setup prerequisites for building
1) keyserver build
2) keyserver build_rpms 


Actual results:

Build_rpms fails on a dependency:

Downloading/unpacking python-memcached==1.45 (from -r prod-reqs.txt (line 10))
  http://pypi.python.org/simple/python-memcached/1.45 uses an insecure transport scheme (http). Consider using https if pypi.python.org has it available
  http://pypi.python.org/simple/python-memcached/ uses an insecure transport scheme (http). Consider using https if pypi.python.org has it available
  Could not find a version that satisfies the requirement python-memcached==1.45 (from -r prod-reqs.txt (line 10)) (from versions: 1.31, 1.47, 1.48, 1.51, 1.52, 1.53)
  Some externally hosted files were ignored (use --allow-external to allow).
Cleaning up...
No distributions matching the version for python-memcached==1.45 (from -r prod-reqs.txt (line 10))
Storing debug log for failure in /root/.pip/pip.log


                                                                                               [fail]                                                                                               [fail]
make: *** [build_rpms] Error 1




Expected results:

I'd have expected deployable rpms to be built with all required dependencies to run the keyserver.

It seems memcached 1.45 is required but not available. No alternative available versions are accepted.
Extra note: building rpms when editing the version in the prod reqs makes the build fail because of "local uncommitted changes" further blocking the building of rpms.
Thanks for reporting this, I've updated the pinned dependency in http://hg.mozilla.org/services/server-key-exchange/rev/f302143349df so it should work again now.  Please re-open if you run into further trouble.
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Unfortunately I run into a different error now. Trying to build the RPMs now gives me a long laundry list of "file not found" and an abort. It seems because it byte-compiles server-core .py files to .pyc, but the next stage expects .pyo files to be present.

e.g.
byte-compiling /root/keyserver/deps/server-core/build/bdist.linux-x86_64/rpm/BUILDROOT/python26-services-2.16-1.x86_64/usr/lib/python2.6/site-packages/services/emailer.py to emailer.pyc

and later in the buildlog
error: File not found: /root/keyserver/deps/server-core/build/bdist.linux-x86_64/rpm/BUILDROOT/python26-services-2.16-1.x86_64/usr/lib/python2.6/site-packages/services/emailer.pyo
Since I don't have bug-edit privileges, I'm switching this back to unconfirmed instead of fixed.
Status: RESOLVED → UNCONFIRMED
Flags: needinfo?(rfkelly)
Resolution: FIXED → ---
Status: UNCONFIRMED → NEW
Ever confirmed: true
It looks like we deliberately adjust the list of files to include .pyo for server-core, because of some artifact of our build environment that generates them automatically.  I have patched the offending .spec file to make this conditional, so it should also work for environments that don't build the .pyo files.

I went ahead and committed the attached patch in server-core so you're not blocked on this, but am also pinging Tarek for review in case I did something silly here:

  http://hg.mozilla.org/services/server-core/rev/d771339e6bc9

I also copied some special build logic for scrypt from the server-storage repo:

  http://hg.mozilla.org/services/server-key-exchange/rev/c74625030603

I can now successfully run `make build_rpms` on my box.
Assignee: nobody → rfkelly
Attachment #8455918 - Flags: review?(tarek)
Flags: needinfo?(rfkelly)
Attachment #8455918 - Flags: review?(tarek) → review+
Yeah that looks right. 

This .pyo workaround has been bugging us for years - see my fix in Python http://bugs.python.org/issue1533164 - I guess this should go away in 2.7
I committed the fix in the two repos that appears to have the older workaround:

http://hg.mozilla.org/services/server-core/rev/d771339e6bc9
http://hg.mozilla.org/services/server-storage/rev/c4f34683b97c

Re-resolving this bug, hopefully it's actually fixed this time.  Thanks again for the report.
Status: NEW → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
Getting much further now, but still running into a build error. 
After scrypt is compiled, I now get the following, apparently failing on a missing readme? XD
It's possible I'm doing something wrong but just following the instructions that should be fairly simple

Console output:

Executing(%build): /bin/sh -e /tmp/pypi2rpm-root-EGjCtK/rpm-tmp.xTRIZd


RPM build errors:
/root/keyserver/bin/python setup.py --command-packages=pypi2rpm.command bdist_rpm2 --binary-only --tmppath /tmp/pypi2rpm-root-EGjCtK --dist-dir=/root/keyserver/rpms --name=python26-scrypt --python=python
Could not create RPM

WARNING:root:version has not been parsed: scrypt-0.5.1.macosx-10.6-intel
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)
warning: sdist: standard file not found: should have one of README, README.txt
+ umask 022
+ cd /tmp/pypi2rpm-root-J2oYgA/scrypt-0.6.1/build/bdist.linux-x86_64/rpm/BUILD
+ cd /tmp/pypi2rpm-root-J2oYgA/scrypt-0.6.1/build/bdist.linux-x86_64/rpm/BUILD
+ rm -rf scrypt-0.6.1
+ /bin/tar -xvvf -
+ /usr/bin/gzip -dc /tmp/pypi2rpm-root-J2oYgA/scrypt-0.6.1/build/bdist.linux-x86_64/rpm/SOURCES/scrypt-0.6.1.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd scrypt-0.6.1
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
+ umask 022
+ cd /tmp/pypi2rpm-root-J2oYgA/scrypt-0.6.1/build/bdist.linux-x86_64/rpm/BUILD
+ cd scrypt-0.6.1
+ env 'CFLAGS=-O2 -g' python setup.py build
Traceback (most recent call last):
  File "setup.py", line 104, in <module>
    long_description=open('README.rst').read(),
IOError: [Errno 2] No such file or directory: 'README.rst'
error: Bad exit status from /tmp/pypi2rpm-root-EGjCtK/rpm-tmp.xTRIZd (%build)
    Bad exit status from /tmp/pypi2rpm-root-EGjCtK/rpm-tmp.xTRIZd (%build)
error: command 'rpmbuild' failed with exit status 1

                                                                                               [fail]                                                                                               [fail]                                                                                               [fail]
make: *** [build_rpms] Error 1
Hmm, I thought I had removed "scrypt" from the dependency list so it wouldn't try to build this way, but it's still in there - perhaps I munged this during a merge.  I've made the change in:

  http://hg.mozilla.org/services/server-key-exchange/rev/4c2c2cdbaea9

Please try again, ensuring you `make build` before you `make build_rpms`.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Looks like that did it. 

Scrypt, by the way, is still built, but doesn't error the build process.

For verification, it now creates the following files successfully:

python26-beaker-1.5.4-1.noarch.rpm        python26-pastedeploy-1.3.4-1.noarch.rpm
python26-cef-0.5-1.noarch.rpm             python26-pastescript-1.7.3-1.noarch.rpm
python26-keyexchange-0.4-5.noarch.rpm     python26-routes-1.12.3-1.noarch.rpm
python26-mako-0.3.4-1.noarch.rpm          python26-scrypt-0.6.0-1.x86_64.rpm
python26-markupsafe-0.12-1.x86_64.rpm     python26-services-2.16-2.noarch.rpm
python26-memcached-1.53-1.noarch.rpm      python26-simplejson-2.1.1-1.x86_64.rpm
python26-metlog-cef-0.2-1.noarch.rpm      python26-sqlalchemy-0.6.6-1.noarch.rpm
python26-metlog-py-0.9.8-1.noarch.rpm     python26-webob-1.0-1.noarch.rpm
python26-mysql-python-1.2.3-1.x86_64.rpm  python26-webtest-1.4.3-1.noarch.rpm
python26-paste-1.7.5.1-1.noarch.rpm       python26-wsgiproxy-0.2.2-1.noarch.rpm

I have not yet attempted to install this, by the way, so I don't yet know if the generated packages are all OK, but I assume they are (if none are missing).
Great, thanks for sticking with this and helping us sort out the bitrot!
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
I'm afraid there's still some bitrotting going on here.
I didn't get around to actually trying to install the rpms until now because of other priorities, and it fails to install with yum.

The problem seems to be it relies on python26-* packages that were last (and are only) seen in EPEL for CentOS 5. Since CentOS 5 really is kind of obsolete by now, trying to install on CentOS 6 causes issues. it tries to pull in dependencies that don't exist and yum won't install it.

Error log in pastebin: http://pastebin.com/vib0t7hC
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I'm going to need Ops to weigh in here.  Bob, supposed we were ever to re-deploy the keyserver machines, would we still be deploying against the old CentOS 5 with python26?  Or do we need to update this for newer OS/python versions for our own use as well?

(I'm hesitant to fiddle with the build too much because this is maintenance-mode code, so if I break something for our internal deploys, we might not find out about it in a timely manner)
Flags: needinfo?(bobm)
(In reply to Ryan Kelly [:rfkelly] from comment #12)
> I'm going to need Ops to weigh in here.  Bob, supposed we were ever to
> re-deploy the keyserver machines, would we still be deploying against the
> old CentOS 5 with python26?  Or do we need to update this for newer
> OS/python versions for our own use as well?

We would only re-deploy these in a disaster recovery scenario, and with every effort to not use Centos 5.
Flags: needinfo?(bobm)
Mark, I think we also typically install all of the generated rpms in a single batch; in your case I think it would look something like:

  yum localinstall ./rpms/*.rpm

Does this make any difference?  I guess it will still fail out on the missing python26 package.
Ryan, I already tried that and it indeed just fails out on the missing python26 package(s). (using CentOS 6.5)
I agree with Bob's sentiment that every effort should be made to not have to use CentOS 5.x even if it's still supported until 2017, especially for an auth service.
Does it ship "python27" instead?  We can probably get away with an s/python26/python27/ in these scripts without risking too much breakage.
Actually, CentOS ships with python 2.6.6 installed as part of the base package, not 2.7.x

There are no python26, python27 or pythonxx packages. All python packages are just python-{name}.{arch} (e.g. python-virtualenv.noarch) as far as I know.
OK, so the dependencies listed in the .spec file that we don't build ourselves are:

  nginx, memcached, gunicorn, python26, python26-setuptools

You could try editing KeyExchange.spec to give these the right names for CentOS6, `hg commit` it so that the build will correctly pick them up, and see if that makes a difference.
If only it was that simple ;)

Changing the .spec to read the following which would be the CentOS 6 packages for the ones indicated:

Requires: nginx memcached python-gunicorn python python26-memcached python-setuptools python26-webob python26-paste python26-pastedeploy python26-pastescript python26-services >= 0.2 python26-mako python26-beaker python26-cef

This results in a build error when building rpms:

Processing files: python26-setuptools-5.4.1-1.noarch


RPM build errors:
/root/keyserver/bin/python setup.py --command-packages=pypi2rpm.command bdist_rpm2 --binary-only --tmppath /tmp/pypi2rpm-root-1rcDP0 --dist-dir=/root/keyserver/rpms --name=python26-setuptools --python=python
Could not create RPM

WARNING:root:version has not been parsed: setuptools-0.6b1-py2.3
WARNING:root:version has not been parsed: setuptools-0.6b2-py2.3
WARNING:root:version has not been parsed: setuptools-0.6b3-py2.3
WARNING:root:version has not been parsed: setuptools-0.6b4-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c1-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c10-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c10.win32-py2.3.exe
WARNING:root:version has not been parsed: setuptools-0.6c11-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c11.win32-py2.3.exe
WARNING:root:version has not been parsed: setuptools-0.6c2-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c3-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c4-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c4.win32-py2.3.exe
WARNING:root:version has not been parsed: setuptools-0.6c5-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c5.win32-py2.3.exe
WARNING:root:version has not been parsed: setuptools-0.6c6-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c6.win32-py2.3.exe
WARNING:root:version has not been parsed: setuptools-0.6c7-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c7.win32-py2.3.exe
WARNING:root:version has not been parsed: setuptools-0.6c8-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c8.win32-py2.3.exe
WARNING:root:version has not been parsed: setuptools-0.6c9-py2.3
WARNING:root:version has not been parsed: setuptools-0.6c9.win32-py2.3.exe
WARNING:root:version has not been parsed: setuptools-0.6b1-py2.4
WARNING:root:version has not been parsed: setuptools-0.6b2-py2.4
WARNING:root:version has not been parsed: setuptools-0.6b3-py2.4
WARNING:root:version has not been parsed: setuptools-0.6b4-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c1-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c10-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c10.win32-py2.4.exe
WARNING:root:version has not been parsed: setuptools-0.6c11-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c11.win32-py2.4.exe
WARNING:root:version has not been parsed: setuptools-0.6c2-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c3-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c4-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c4.win32-py2.4.exe
WARNING:root:version has not been parsed: setuptools-0.6c5-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c5.win32-py2.4.exe
WARNING:root:version has not been parsed: setuptools-0.6c6-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c6.win32-py2.4.exe
WARNING:root:version has not been parsed: setuptools-0.6c7-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c7.win32-py2.4.exe
WARNING:root:version has not been parsed: setuptools-0.6c8-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c8.win32-py2.4.exe
WARNING:root:version has not been parsed: setuptools-0.6c9-py2.4
WARNING:root:version has not been parsed: setuptools-0.6c9.win32-py2.4.exe
WARNING:root:version has not been parsed: setuptools-0.6c10-py2.5
WARNING:root:version has not been parsed: setuptools-0.6c10.win32-py2.5.exe
WARNING:root:version has not been parsed: setuptools-0.6c11-py2.5
WARNING:root:version has not been parsed: setuptools-0.6c11.win32-py2.5.exe
WARNING:root:version has not been parsed: setuptools-0.6c3-py2.5
WARNING:root:version has not been parsed: setuptools-0.6c4-py2.5
WARNING:root:version has not been parsed: setuptools-0.6c5-py2.5
WARNING:root:version has not been parsed: setuptools-0.6c5.win32-py2.5.exe
WARNING:root:version has not been parsed: setuptools-0.6c6-py2.5
WARNING:root:version has not been parsed: setuptools-0.6c6.win32-py2.5.exe
WARNING:root:version has not been parsed: setuptools-0.6c7-py2.5
WARNING:root:version has not been parsed: setuptools-0.6c7.win32-py2.5.exe
WARNING:root:version has not been parsed: setuptools-0.6c8-py2.5
WARNING:root:version has not been parsed: setuptools-0.6c8.win32-py2.5.exe
WARNING:root:version has not been parsed: setuptools-0.6c9-py2.5
WARNING:root:version has not been parsed: setuptools-0.6c9.win32-py2.5.exe
WARNING:root:version has not been parsed: setuptools-0.6c10-py2.6
WARNING:root:version has not been parsed: setuptools-0.6c10.win32-py2.6.exe
WARNING:root:version has not been parsed: setuptools-0.6c11-py2.6
WARNING:root:version has not been parsed: setuptools-0.6c11.win32-py2.6.exe
WARNING:root:version has not been parsed: setuptools-0.6c9-py2.6
WARNING:root:version has not been parsed: setuptools-0.6c11-py2.7
WARNING:root:version has not been parsed: setuptools-0.6c11.win32-py2.7.exe
WARNING:root:version has not been parsed: setuptools-0.9.8-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-0.9.8-py33-none-any.whl
WARNING:root:version has not been parsed: setuptools-1.1.6-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-1.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-1.3-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-1.3.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-1.3.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-1.4-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-1.4.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-1.4.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-2.0-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-2.1.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-2.0.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-2.0.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-2.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-2.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.3-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.4-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.4.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.4.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.4.3-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.4.4-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.5-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.5.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.5.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.6-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.7-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.7.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.8-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-3.8.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.0-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.0.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.0.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.3-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.4-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.4.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.4.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.5-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.5.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.6-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.7-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-5.8-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-6.0.1-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-6.0.2-py2.py3-none-any.whl
WARNING:root:version has not been parsed: setuptools-0.6c10-1.src.rpm
WARNING:root:version has not been parsed: setuptools-0.6c11-1.src.rpm
WARNING:root:version has not been parsed: setuptools-0.6c4-1.src.rpm
WARNING:root:version has not been parsed: setuptools-0.6c4.win32-py2.5.exe
WARNING:root:version has not been parsed: setuptools-0.6c5-1.src.rpm
WARNING:root:version has not been parsed: setuptools-0.6c6-1.src.rpm
WARNING:root:version has not been parsed: setuptools-0.6c7-1.src.rpm
WARNING:root:version has not been parsed: setuptools-0.6c8-1.src.rpm
WARNING:root:version has not been parsed: setuptools-0.6c9-1.src.rpm
WARNING:root:version has not been parsed:
+ umask 022
+ cd /tmp/pypi2rpm-root-h92lcc/setuptools-5.4.1/build/bdist.linux-x86_64/rpm/BUILD
+ cd /tmp/pypi2rpm-root-h92lcc/setuptools-5.4.1/build/bdist.linux-x86_64/rpm/BUILD
+ rm -rf setuptools-5.4.1
+ /usr/bin/gzip -dc /tmp/pypi2rpm-root-h92lcc/setuptools-5.4.1/build/bdist.linux-x86_64/rpm/SOURCES/setuptools-5.4.1.tar.gz
+ /bin/tar -xvvf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd setuptools-5.4.1
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
+ umask 022
+ cd /tmp/pypi2rpm-root-h92lcc/setuptools-5.4.1/build/bdist.linux-x86_64/rpm/BUILD
+ cd setuptools-5.4.1
+ python setup.py build
+ exit 0
+ umask 022
+ cd /tmp/pypi2rpm-root-h92lcc/setuptools-5.4.1/build/bdist.linux-x86_64/rpm/BUILD
+ cd setuptools-5.4.1
+ python setup.py install --root=/tmp/pypi2rpm-root-h92lcc/setuptools-5.4.1/build/bdist.linux-x86_64/rpm/BUILDROOT/python26-setuptools-5.4.1-1.x86_64 --record=INSTALLED_FILES
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip
+ /usr/lib/rpm/brp-strip-static-archive
+ /usr/lib/rpm/brp-strip-comment-note
+ cd /tmp/pypi2rpm-root-h92lcc/setuptools-5.4.1/build/bdist.linux-x86_64/rpm/BUILDROOT/python26-setuptools-5.4.1-1.x86_64
+ sed -e 's/^.//'
+ find . -type f
error: Two files on one line: /usr/lib/python2.6/site-packages/setuptools/script
error: File must begin with "/": (dev).tmpl
    Two files on one line: /usr/lib/python2.6/site-packages/setuptools/script
    File must begin with "/": (dev).tmpl
error: command 'rpmbuild' failed with exit status 1

                                                                                               [fail]                                                                                               [fail]                                                                                               [fail]
make: *** [build_rpms] Error 1
Component: Firefox Sync: Build → Server: Firefox Accounts
We're no longer using or maintaining this component.
Status: REOPENED → RESOLVED
Closed: 9 years ago6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.