[Bug 715949] New: project configuration (prjconf) breaks when continuation character is used in Macros: section
https://bugzilla.novell.com/show_bug.cgi?id=715949 https://bugzilla.novell.com/show_bug.cgi?id=715949#c0 Summary: project configuration (prjconf) breaks when continuation character is used in Macros: section Classification: Internal Novell Products Product: openSUSE Build Service Version: 2.0 Platform: x86-64 OS/Version: SLED 11 Status: NEW Severity: Normal Priority: P5 - None Component: General AssignedTo: adrian@suse.com ReportedBy: Rene.vanPaassen@gmail.com QAContact: adrian@suse.com Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110621 SUSE/3.6.18-0.2.1 Firefox/3.6.18 Found peculiar behavior when adding macros to the prjconf Macros: section. When a macro is added with continuation characters (in my case): %desktop_database_post() \ if test -x %{_bindir}/update-desktop-database; then \ %if "x%1" != "x%%1" \ %{_bindir}/update-desktop-database --quiet "%1" || true \ %else \ %{_bindir}/update-desktop-database --quiet "%{_datadir}/applications" || true \ %endif \ fi I added this because it was missing from some platforms. The result is that on x86_64 builds only (for my project, home:repabuild, at least), the build service seems to define the %fedora_version macros on suse distros, and %suse_version macros on fedora distros. Big fun if 20+ packages all of a sudden cannot find their dependencies! Modifying prjconf, and putting the macro all on one line solves the problem. Reproducible: Always Steps to Reproduce: 1. Put a macro with multiple lines in with osc meta prjconf -e 2. Try to build a package that has suse_version / fedora_version switches 3. Observe failure 4. Put the macro all on one line 5. Happy building, low readability Actual Results: Building PyODE.spec for SLE_11_SP1/x86_64 Getting buildinfo from server and store to /data/repa/rpmbuild/home:repabuild/PyODE/.osc/_buildinfo-SLE_11_SP1-x86_64.xml Getting buildconfig from server and store to /data/repa/rpmbuild/home:repabuild/PyODE/.osc/_buildconfig-SLE_11_SP1-x86_64 buildinfo is broken... it says: buildinfo is broken... it says: unresolvable: nothing provides ode-devel, nothing provides Pyrex Expected Results: tud102004 finished "build PyODE.spec" at Mon Sep 5 11:06:09 UTC 2011. /var/tmp/build-root/usr/src/packages/SRPMS/PyODE-20100322-3.src.rpm /var/tmp/build-root/usr/src/packages/RPMS/x86_64/PyODE-20100322-3.x86_64.rpm More puzzles, this form of defining the macro: Macros: %desktop_database_post() \ if test -x %{_bindir}/update-desktop-database; then %if "x%1" != "x%%1" %{_bindir}/update-desktop-database --quiet "%1" || true %else %{_bindir}/update-desktop-database --quiet "%{_datadir}/applications" || true %endif fi i.e. with the continuation character after the definition, not in the "body" is OK, this form: %desktop_database_post() if test -x %{_bindir}/update-desktop-database; then \ %if "x%1" != "x%%1" %{_bindir}/update-desktop-database --quiet "%1" || true %else %{_bindir}/update-desktop-database --quiet "%{_datadir}/applications" || true %endif fi (continuation character in the body) is not. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com