From c27fc15e317e148c81b2774b2b70f695c5b05cc0 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Wed, 21 Jun 2006 07:54:37 +0000 Subject: [PATCH 01/62] auto-import sextractor-2.4.4-2.fc5 on branch devel from sextractor-2.4.4-2.fc5.src.rpm --- .cvsignore | 1 + sextractor.spec | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 51 insertions(+) create mode 100644 sextractor.spec diff --git a/.cvsignore b/.cvsignore index e69de29..ecaa8e2 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +sextractor-2.4.4.tar.gz diff --git a/sextractor.spec b/sextractor.spec new file mode 100644 index 0000000..120aac2 --- /dev/null +++ b/sextractor.spec @@ -0,0 +1,49 @@ +Name: sextractor +Version: 2.4.4 +Release: 2%{?dist} +Summary: Extract catalogs of sources from astronomical images + +Group: Applications/Engineering +License: GPL +URL: http://terapix.iap.fr/soft/%{name} +Source0: ftp://ftp.iap.fr/pub/from_users/bertin/sextractor/%{name}-%{version}.tar.gz +Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%description +SExtractor is a program that builds a catalogue of objects from an +astronomical image. Although it is particularly oriented towards +reduction of large scale galaxy-survey data, it performs rather +well on moderately crowded star fields. + +%prep +%setup -q +%{__chmod} -x src/fits/fitsconv.c + +%build +%configure +%{__make} %{?_smp_mflags} + +%install +%{__make} DESTDIR=%{buildroot} install +%{__mkdir_p} %{buildroot}%{_datadir}/%{name} +%{__install} -m 644 -p config/*.conv %{buildroot}%{_datadir}/%{name} +%{__install} -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} + + +%clean +%{__rm} -fr %{buildroot} + +%files +%defattr(-,root,root) +%doc AUTHORS BUGS COPYING HISTORY README THANKS doc/README.DOC doc/sextractor.pdf config/default.sex config/default.param +%{_bindir}/* +%{_mandir}/man1/* +%{_mandir}/manx/* +%{_datadir}/%{name}/* + +%changelog +* Tue Jun 20 2006 Sergio Pascual 2.4.4-2 +- Fixed executable permission in src/fits/fitsconv.c +- default.sex and default.param moved to docs +* Mon Jun 19 2006 Sergio Pascual 2.4.4-1 +- Initial spec file. diff --git a/sources b/sources index e69de29..272f36d 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +9f1389ae9229c65f0a6a0b264deb314f sextractor-2.4.4.tar.gz From b1d40c41b0bea6a593b227f159566412cc93a372 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Wed, 19 Jul 2006 16:26:07 +0000 Subject: [PATCH 02/62] - New upstream version 2.5.0 Tue Jun 20 2006 Sergio Pascual 2.4.4-2 - Fixed executable permission in src/fits/fitsconv.c - default.sex and default.param moved to docs Mon Jun 19 2006 Sergio Pascual 2.4.4-1 - Initial spec file. --- .cvsignore | 2 +- sextractor.spec | 6 ++++-- sources | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index ecaa8e2..8484e9c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -sextractor-2.4.4.tar.gz +sextractor-2.5.0.tar.gz diff --git a/sextractor.spec b/sextractor.spec index 120aac2..7d3cb56 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor -Version: 2.4.4 -Release: 2%{?dist} +Version: 2.5.0 +Release: 1%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -42,6 +42,8 @@ well on moderately crowded star fields. %{_datadir}/%{name}/* %changelog +* Wed Jul 19 2006 Sergio Pascual 2.5.0-1 +- New upstream version 2.5.0 * Tue Jun 20 2006 Sergio Pascual 2.4.4-2 - Fixed executable permission in src/fits/fitsconv.c - default.sex and default.param moved to docs diff --git a/sources b/sources index 272f36d..e310657 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9f1389ae9229c65f0a6a0b264deb314f sextractor-2.4.4.tar.gz +3dede44685b582ad5ee03f5b69423530 sextractor-2.5.0.tar.gz From 035a5499f5ba2743e8be1e30ed25bfd0cf277872 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Fri, 21 Jul 2006 17:21:03 +0000 Subject: [PATCH 03/62] - fitsconv.c has correct permissions - changed optimization from -O2 to -O1 (bug #199700) - additional define allows VOTable output Wed Jul 19 2006 Sergio Pascual 2.5.0-1 - New upstream version 2.5.0 Tue Jun 20 2006 Sergio Pascual 2.4.4-2 - Fixed executable permission in src/fits/fitsconv.c - default.sex and default.param moved to docs Mon Jun 19 2006 Sergio Pascual 2.4.4-1 - Initial spec file. --- sextractor.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sextractor.spec b/sextractor.spec index 7d3cb56..43318c1 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.5.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -17,10 +17,11 @@ well on moderately crowded star fields. %prep %setup -q -%{__chmod} -x src/fits/fitsconv.c %build -%configure +%configure CFLAGS="${CFLAGS} -funroll-loops -fomit-frame-pointer -O1" \ + CPPFLAGS="-DXSL_URL=\\\"file://%{_datadir}/%{name}/%{name}.xsl\\\"" + %{__make} %{?_smp_mflags} %install @@ -42,6 +43,10 @@ well on moderately crowded star fields. %{_datadir}/%{name}/* %changelog +* Fri Jul 21 2006 Sergio Pascual 2.5.0-2 +- fitsconv.c has correct permissions +- changed optimization from -O2 to -O1 (bug #199700) +- additional define allows VOTable output * Wed Jul 19 2006 Sergio Pascual 2.5.0-1 - New upstream version 2.5.0 * Tue Jun 20 2006 Sergio Pascual 2.4.4-2 From 85651344c56b2db35224c7fe78794bf49336fa5b Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Mon, 24 Jul 2006 11:40:47 +0000 Subject: [PATCH 04/62] - Reverting optimization to -O2, it breaks debug infos Fri Jul 21 2006 Sergio Pascual 2.5.0-2 - fitsconv.c has correct permissions - changed optimization from -O2 to -O1 (bug #199700) - additional define allows VOTable output Wed Jul 19 2006 Sergio Pascual 2.5.0-1 - New upstream version 2.5.0 Tue Jun 20 2006 Sergio Pascual 2.4.4-2 - Fixed executable permission in src/fits/fitsconv.c - default.sex and default.param moved to docs Mon Jun 19 2006 Sergio Pascual 2.4.4-1 - Initial spec file. --- sextractor.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sextractor.spec b/sextractor.spec index 43318c1..32e68e7 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.5.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -19,8 +19,7 @@ well on moderately crowded star fields. %setup -q %build -%configure CFLAGS="${CFLAGS} -funroll-loops -fomit-frame-pointer -O1" \ - CPPFLAGS="-DXSL_URL=\\\"file://%{_datadir}/%{name}/%{name}.xsl\\\"" +%configure CPPFLAGS="-DXSL_URL=\\\"file://%{_datadir}/%{name}/%{name}.xsl\\\"" %{__make} %{?_smp_mflags} @@ -43,6 +42,8 @@ well on moderately crowded star fields. %{_datadir}/%{name}/* %changelog +* Mon Jul 24 2006 Sergio Pascual 2.5.0-3 +- Reverting optimization to -O2, it breaks debug infos * Fri Jul 21 2006 Sergio Pascual 2.5.0-2 - fitsconv.c has correct permissions - changed optimization from -O2 to -O1 (bug #199700) From 41fdf43a39ab76283202fb56a2907221dc7a4bab Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Wed, 26 Jul 2006 16:20:29 +0000 Subject: [PATCH 05/62] - Patch to resolve pointer aliasing problems (bug #199700) - Removed -DXSL_URL flag, as the file sextractor.xsl does not exist yet Mon Jul 24 2006 Sergio Pascual 2.5.0-3 - Reverting optimization to -O2, it breaks debug infos Fri Jul 21 2006 Sergio Pascual 2.5.0-2 - fitsconv.c has correct permissions - changed optimization from -O2 to -O1 (bug #199700) - additional define allows VOTable output Wed Jul 19 2006 Sergio Pascual 2.5.0-1 - New upstream version 2.5.0 Tue Jun 20 2006 Sergio Pascual 2.4.4-2 - Fixed executable permission in src/fits/fitsconv.c - default.sex and default.param moved to docs Mon Jun 19 2006 Sergio Pascual 2.4.4-1 - Initial spec file. --- sextractor-pointer-alias.patch | 1473 ++++++++++++++++++++++++++++++++ sextractor.spec | 9 +- 2 files changed, 1480 insertions(+), 2 deletions(-) create mode 100644 sextractor-pointer-alias.patch diff --git a/sextractor-pointer-alias.patch b/sextractor-pointer-alias.patch new file mode 100644 index 0000000..8d703b7 --- /dev/null +++ b/sextractor-pointer-alias.patch @@ -0,0 +1,1473 @@ +diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c +--- sextractor-2.5.0.old/src/analyse.c 2006-06-29 19:58:03.000000000 +0200 ++++ sextractor-2.5.0/src/analyse.c 2006-07-25 23:26:51.000000000 +0200 +@@ -41,7 +41,7 @@ + #include "som.h" + #include "winpos.h" + +-static obj2struct *obj2 = &outobj2; ++/* static obj2struct *obj2 = &outobj2; */ + + /********************************* analyse ***********************************/ + void analyse(picstruct *field, picstruct *dfield, int objnb, +@@ -403,11 +403,11 @@ + obj = &objlist->obj[n]; + + /* Current FITS extension */ +- obj2->ext_number = thecat.currext; ++ outobj2.ext_number = thecat.currext; + + /* Source position */ +- obj2->sposx = (float)(obj2->posx = obj->mx+1.0); /* That's standard FITS */ +- obj2->sposy = (float)(obj2->posy = obj->my+1.0); ++ outobj2.sposx = (float)(outobj2.posx = obj->mx+1.0); /* That's standard FITS */ ++ outobj2.sposy = (float)(outobj2.posy = obj->my+1.0); + + /* Integer coordinates */ + ix=(int)(obj->mx+0.49999); +@@ -415,11 +415,11 @@ + + /* Association */ + if (prefs.assoc_flag) +- obj2->assoc_number = do_assoc(field, obj2->sposx, obj2->sposy); ++ outobj2.assoc_number = do_assoc(field, outobj2.sposx, outobj2.sposy); + + if (prefs.assoc_flag && prefs.assocselec_type!=ASSOCSELEC_ALL) + selecflag = (prefs.assocselec_type==ASSOCSELEC_MATCHED)? +- obj2->assoc_number:!obj2->assoc_number; ++ outobj2.assoc_number:!outobj2.assoc_number; + else + selecflag = 1; + +@@ -450,9 +450,9 @@ + pmx2+=temp; + pmy2-=temp; + +- obj2->poserr_a = (float)sqrt(pmx2); +- obj2->poserr_b = (float)sqrt(pmy2); +- obj2->poserr_theta = theta*180.0/PI; ++ outobj2.poserr_a = (float)sqrt(pmx2); ++ outobj2.poserr_b = (float)sqrt(pmy2); ++ outobj2.poserr_theta = theta*180.0/PI; + } + + if (FLAG(obj2.poserr_cxx)) +@@ -462,32 +462,32 @@ + xm2 = obj->poserr_mx2; + ym2 = obj->poserr_my2; + xym = obj->poserr_mxy; +- obj2->poserr_cxx = (float)(ym2/(temp=xm2*ym2-xym*xym)); +- obj2->poserr_cyy = (float)(xm2/temp); +- obj2->poserr_cxy = (float)(-2*xym/temp); ++ outobj2.poserr_cxx = (float)(ym2/(temp=xm2*ym2-xym*xym)); ++ outobj2.poserr_cyy = (float)(xm2/temp); ++ outobj2.poserr_cxy = (float)(-2*xym/temp); + } + + /* ---- Aspect ratio */ + + if (FLAG(obj2.elong)) +- obj2->elong = obj->a/obj->b; ++ outobj2.elong = obj->a/obj->b; + + if (FLAG(obj2.ellip)) +- obj2->ellip = 1-obj->b/obj->a; ++ outobj2.ellip = 1-obj->b/obj->a; + + if (FLAG(obj2.polar)) +- obj2->polar = (obj->a*obj->a - obj->b*obj->b) ++ outobj2.polar = (obj->a*obj->a - obj->b*obj->b) + / (obj->a*obj->a + obj->b*obj->b); + + /*------------------------------- Photometry -------------------------------*/ + + /*-- Convert the father of photom. error estimates from variance to RMS */ +- obj2->flux_iso = obj->flux; +- obj2->fluxerr_iso = sqrt(obj->fluxerr); ++ outobj2.flux_iso = obj->flux; ++ outobj2.fluxerr_iso = sqrt(obj->fluxerr); + if (FLAG(obj.flux_prof)) + { +- obj2->flux_prof = obj->flux_prof; +- obj2->fluxerr_prof = sqrt(obj->fluxerr_prof); ++ outobj2.flux_prof = obj->flux_prof; ++ outobj2.fluxerr_prof = sqrt(obj->fluxerr_prof); + } + + if (FLAG(obj2.flux_isocor)) +@@ -526,14 +526,14 @@ + + if (FLAG(obj2.flux_auto)) + sexellips(check->pix, check->width, check->height, +- obj->mx, obj->my, obj->a*obj2->kronfactor, +- obj->b*obj2->kronfactor, obj->theta, ++ obj->mx, obj->my, obj->a*outobj2.kronfactor, ++ obj->b*outobj2.kronfactor, obj->theta, + check->overlay, obj->flag&OBJ_CROWDED); + + if (FLAG(obj2.flux_petro)) + sexellips(check->pix, check->width, check->height, +- obj->mx, obj->my, obj->a*obj2->petrofactor, +- obj->b*obj2->petrofactor, obj->theta, ++ obj->mx, obj->my, obj->a*outobj2.petrofactor, ++ obj->b*outobj2.petrofactor, obj->theta, + check->overlay, obj->flag&OBJ_CROWDED); + } + +@@ -555,7 +555,7 @@ + input[++j] = log10(obj->iso[i]? obj->iso[i]/fac2: 0.01); + input[++j] = log10(fwhm); + neurresp(input, &output); +- obj2->sprob = (float)output; ++ outobj2.sprob = (float)output; + } + + /*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/ +@@ -604,8 +604,8 @@ + som_phot(thesom, obj->bkg, field->backsig, + (float)prefs.gain, obj->mx-ix, obj->my-iy, + FLAG(obj2.vector_somfit)?outobj2.vector_somfit:NULL, -1.0); +- obj2->stderr_somfit = thesom->stderror; +- obj2->flux_somfit = thesom->amp; ++ outobj2.stderr_somfit = thesom->stderror; ++ outobj2.flux_somfit = thesom->amp; + outobj2.fluxerr_somfit = thesom->sigamp; + } + +@@ -628,7 +628,7 @@ + double_psf_fit(ppsf, field, wfield, obj, thepsf, dfield, dwfield); + else + psf_fit(thepsf, field, wfield, obj); +- obj2->npsf = thepsfit->npsf; ++ outobj2.npsf = thepsfit->npsf; + if (prefs.psfdisplay_type == PSFDISPLAY_SPLIT) + { + nsub = thepsfit->npsf; +@@ -639,18 +639,18 @@ + for (j=0; jnpsf; j++) + { + if (FLAG(obj2.x_psf) && jx_psf[j] = thepsfit->x[j]; ++ outobj2.x_psf[j] = thepsfit->x[j]; + if (FLAG(obj2.y_psf) && jy_psf[j] = thepsfit->y[j]; ++ outobj2.y_psf[j] = thepsfit->y[j]; + if (FLAG(obj2.flux_psf) && jflux_psf[j] = thepsfit->flux[j]; ++ outobj2.flux_psf[j] = thepsfit->flux[j]; + if (FLAG(obj2.magerr_psf) && jmagerr_psf[j] = obj2->fluxerr_psf[j]>0.0? +- 1.086*obj2->fluxerr_psf[j]/thepsfit->flux[j] : 99.0; ++ outobj2.magerr_psf[j] = outobj2.fluxerr_psf[j]>0.0? ++ 1.086*outobj2.fluxerr_psf[j]/thepsfit->flux[j] : 99.0; + if (FLAG(obj2.fluxerr_psf) && jfluxerr_psf[j] = obj2->fluxerr_psf[j]; ++ outobj2.fluxerr_psf[j] = outobj2.fluxerr_psf[j]; + if (FLAG(obj2.mag_psf) && jmag_psf[j] = thepsfit->flux[j]>0.0? ++ outobj2.mag_psf[j] = thepsfit->flux[j]>0.0? + prefs.mag_zeropoint -2.5*log10(thepsfit->flux[j]) : 99.0; + } + } +@@ -670,20 +670,20 @@ + if (prefs.psf_flag && prefs.psfdisplay_type == PSFDISPLAY_SPLIT) + { + if (FLAG(obj2.x_psf)) +- obj2->x_psf[0] = thepsfit->x[j]; ++ outobj2.x_psf[0] = thepsfit->x[j]; + if (FLAG(obj2.y_psf)) +- obj2->y_psf[0] = thepsfit->y[j]; ++ outobj2.y_psf[0] = thepsfit->y[j]; + if (FLAG(obj2.flux_psf)) +- obj2->flux_psf[0] = thepsfit->flux[j]>0.0? thepsfit->flux[j]:0.0; /*?*/ ++ outobj2.flux_psf[0] = thepsfit->flux[j]>0.0? thepsfit->flux[j]:0.0; /*?*/ + if (FLAG(obj2.mag_psf)) +- obj2->mag_psf[0] = thepsfit->flux[j]>0.0? ++ outobj2.mag_psf[0] = thepsfit->flux[j]>0.0? + prefs.mag_zeropoint -2.5*log10(thepsfit->flux[j]) : 99.0; + if (FLAG(obj2.magerr_psf)) +- obj2->magerr_psf[0]= +- (thepsfit->flux[j]>0.0 && obj2->fluxerr_psf[j]>0.0) ? /*?*/ +- 1.086*obj2->fluxerr_psf[j]/thepsfit->flux[j] : 99.0; ++ outobj2.magerr_psf[0]= ++ (thepsfit->flux[j]>0.0 && outobj2.fluxerr_psf[j]>0.0) ? /*?*/ ++ 1.086*outobj2.fluxerr_psf[j]/thepsfit->flux[j] : 99.0; + if (FLAG(obj2.fluxerr_psf)) +- obj2->fluxerr_psf[0]= obj2->fluxerr_psf[j]; ++ outobj2.fluxerr_psf[0]= outobj2.fluxerr_psf[j]; + if (j) + obj->number = ++thecat.ntotal; + } +@@ -714,7 +714,7 @@ + { + if (prefs.somfit_flag && (check=prefs.check[CHECK_MAPSOM])) + blankcheck(check, obj->blank, obj->subw, obj->subh, +- obj->subx, obj->suby, (PIXTYPE)*(obj2->vector_somfit)); ++ obj->subx, obj->suby, (PIXTYPE)*(outobj2.vector_somfit)); + + } + blankimage(field, obj->blank, obj->subw, obj->subh, +diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c +--- sextractor-2.5.0.old/src/astrom.c 2006-07-13 19:13:09.000000000 +0200 ++++ sextractor-2.5.0/src/astrom.c 2006-07-25 23:27:21.000000000 +0200 +@@ -29,7 +29,7 @@ + #include "astrom.h" + #include "wcs/tnx.h" + +-static obj2struct *obj2 = &outobj2; ++/* static obj2struct *obj2 = &outobj2; */ + + /****************************** initastrom **********************************/ + /* +@@ -169,32 +169,32 @@ + { + if (as->wcs_flag) + { +- wcspos = compute_wcs(field, obj2->posx, obj2->posy); +- obj2->alphas = obj2->mxw = wcspos[0]; +- obj2->deltas = obj2->myw = wcspos[1]; ++ wcspos = compute_wcs(field, outobj2.posx, outobj2.posy); ++ outobj2.alphas = outobj2.mxw = wcspos[0]; ++ outobj2.deltas = outobj2.myw = wcspos[1]; + if (FLAG(obj2.alpha2000)) + { + if (fabs(as->equinox-2000.0)>0.003) + precess(as->equinox, wcspos[0], wcspos[1], +- 2000.0, &obj2->alpha2000, &obj2->delta2000); ++ 2000.0, &outobj2.alpha2000, &outobj2.delta2000); + else + { +- obj2->alpha2000 = obj2->mxw; +- obj2->delta2000 = obj2->myw; ++ outobj2.alpha2000 = outobj2.mxw; ++ outobj2.delta2000 = outobj2.myw; + } + if (FLAG(obj2.alpha1950)) +- j2b(as->equinox, obj2->alpha2000, obj2->delta2000, +- &obj2->alpha1950, &obj2->delta1950); ++ j2b(as->equinox, outobj2.alpha2000, outobj2.delta2000, ++ &outobj2.alpha1950, &outobj2.delta1950); + } + } + else + { + double dx,dy; + +- dx = obj2->posx - as->crpix[0]; +- dy = obj2->posy - as->crpix[1]; +- obj2->mxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */ +- obj2->myw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */ ++ dx = outobj2.posx - as->crpix[0]; ++ dy = outobj2.posy - as->crpix[1]; ++ outobj2.mxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */ ++ outobj2.myw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */ + } + } + +@@ -204,21 +204,21 @@ + if (as->wcs_flag) + { + wcspos = compute_wcs(field, (double)obj->peakx, (double)obj->peaky); +- obj2->peakalphas = obj2->peakxw = wcspos[0]; +- obj2->peakdeltas = obj2->peakyw = wcspos[1]; ++ outobj2.peakalphas = outobj2.peakxw = wcspos[0]; ++ outobj2.peakdeltas = outobj2.peakyw = wcspos[1]; + if (FLAG(obj2.peakalpha2000)) + { + if (fabs(as->equinox-2000.0)>0.003) + precess(as->equinox, wcspos[0], wcspos[1], +- 2000.0, &obj2->peakalpha2000, &obj2->peakdelta2000); ++ 2000.0, &outobj2.peakalpha2000, &outobj2.peakdelta2000); + else + { +- obj2->peakalpha2000 = obj2->peakxw; +- obj2->peakdelta2000 = obj2->peakyw; ++ outobj2.peakalpha2000 = outobj2.peakxw; ++ outobj2.peakdelta2000 = outobj2.peakyw; + } + if (FLAG(obj2.peakalpha1950)) +- j2b(as->equinox, obj2->peakalpha2000, obj2->peakdelta2000, +- &obj2->peakalpha1950, &obj2->peakdelta1950); ++ j2b(as->equinox, outobj2.peakalpha2000, outobj2.peakdelta2000, ++ &outobj2.peakalpha1950, &outobj2.peakdelta1950); + } + } + else +@@ -227,8 +227,8 @@ + + dx = obj->peakx - as->crpix[0]; + dy = obj->peaky - as->crpix[1]; +- obj2->peakxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */ +- obj2->peakyw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */ ++ outobj2.peakxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */ ++ outobj2.peakyw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */ + } + } + +@@ -237,32 +237,32 @@ + { + if (as->wcs_flag) + { +- wcspos = compute_wcs(field, obj2->winpos_x, obj2->winpos_y); +- obj2->winpos_alphas = obj2->winpos_xw = wcspos[0]; +- obj2->winpos_deltas = obj2->winpos_yw = wcspos[1]; ++ wcspos = compute_wcs(field, outobj2.winpos_x, outobj2.winpos_y); ++ outobj2.winpos_alphas = outobj2.winpos_xw = wcspos[0]; ++ outobj2.winpos_deltas = outobj2.winpos_yw = wcspos[1]; + if (FLAG(obj2.winpos_alpha2000)) + { + if (fabs(as->equinox-2000.0)>0.003) + precess(as->equinox, wcspos[0], wcspos[1], +- 2000.0, &obj2->winpos_alpha2000, &obj2->winpos_delta2000); ++ 2000.0, &outobj2.winpos_alpha2000, &outobj2.winpos_delta2000); + else + { +- obj2->winpos_alpha2000 = obj2->winpos_xw; +- obj2->winpos_delta2000 = obj2->winpos_yw; ++ outobj2.winpos_alpha2000 = outobj2.winpos_xw; ++ outobj2.winpos_delta2000 = outobj2.winpos_yw; + } + if (FLAG(obj2.winpos_alpha1950)) +- j2b(as->equinox, obj2->winpos_alpha2000, obj2->winpos_delta2000, +- &obj2->winpos_alpha1950, &obj2->winpos_delta1950); ++ j2b(as->equinox, outobj2.winpos_alpha2000, outobj2.winpos_delta2000, ++ &outobj2.winpos_alpha1950, &outobj2.winpos_delta1950); + } + } + else + { + double dx,dy; + +- dx = obj2->winpos_x - as->crpix[0]; +- dy = obj2->winpos_y - as->crpix[1]; +- obj2->winpos_xw = as->crval[0]+ lm[0]*dx + lm[1]*dy;/* CDELT included! */ +- obj2->winpos_yw = as->crval[1]+ lm[2]*dx + lm[3]*dy;/* CDELT included! */ ++ dx = outobj2.winpos_x - as->crpix[0]; ++ dy = outobj2.winpos_y - as->crpix[1]; ++ outobj2.winpos_xw = as->crval[0]+ lm[0]*dx + lm[1]*dy;/* CDELT included! */ ++ outobj2.winpos_yw = as->crval[1]+ lm[2]*dx + lm[3]*dy;/* CDELT included! */ + } + } + +@@ -271,11 +271,11 @@ + { + double dx,dy; + +- dx = obj2->posx - 0.5; +- dy = obj2->posy - 0.5; +- obj2->mamaposx = (as->crval[1]+lm[2]*dx+lm[3]*dy) ++ dx = outobj2.posx - 0.5; ++ dy = outobj2.posy - 0.5; ++ outobj2.mamaposx = (as->crval[1]+lm[2]*dx+lm[3]*dy) + *(MAMA_CORFLEX+1.0); /* CDELT included! */ +- obj2->mamaposy = (as->crval[0]+lm[0]*dx+lm[1]*dy); /* CDELT included! */ ++ outobj2.mamaposy = (as->crval[0]+lm[0]*dx+lm[1]*dy); /* CDELT included! */ + } + + /* Express shape parameters in WORLD frame */ +@@ -291,12 +291,12 @@ + astrom_winerrparam(field, obj); + + if (FLAG(obj2.npixw)) +- obj2->npixw = obj->npix*as->pixscale*as->pixscale; ++ outobj2.npixw = obj->npix*as->pixscale*as->pixscale; + if (FLAG(obj2.fdnpixw)) +- obj2->fdnpixw = obj->fdnpix*as->pixscale*as->pixscale; ++ outobj2.fdnpixw = obj->fdnpix*as->pixscale*as->pixscale; + + if (FLAG(obj2.fwhmw)) +- obj2->fwhmw = obj->fwhm*as->pixscale; ++ outobj2.fwhmw = obj->fwhm*as->pixscale; + + return; + } +@@ -417,15 +417,15 @@ + dx2 = obj->mx2; + dy2 = obj->my2; + dxy = obj->mxy; +- obj2->mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; +- obj2->my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; +- obj2->mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; ++ outobj2.mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; ++ outobj2.my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; ++ outobj2.mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; + temp=xm2-ym2; + if (FLAG(obj2.thetaw)) + { +- obj2->thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG); ++ outobj2.thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG); + if (as->wcs_flag && FLAG(obj2.thetas)) +- obj2->thetas = obj2->thetaw + (obj2->thetaw>0.0?-90:90.0); ++ outobj2.thetas = outobj2.thetaw + (outobj2.thetaw>0.0?-90:90.0); + + /*-- Compute position angles in J2000 or B1950 reference frame */ + if (as->wcs_flag) +@@ -434,23 +434,23 @@ + + if (FLAG(obj2.theta2000)) + { +- da = as->ap2000 - obj2->alpha2000; ++ da = as->ap2000 - outobj2.alpha2000; + dd = (sin(as->dp2000*DEG) +- -sin(obj2->delta2000*DEG)*sin(obj2->deltas*DEG)) +- /(cos(obj2->delta2000*DEG)*cos(obj2->deltas*DEG)); ++ -sin(outobj2.delta2000*DEG)*sin(outobj2.deltas*DEG)) ++ /(cos(outobj2.delta2000*DEG)*cos(outobj2.deltas*DEG)); + dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; +- obj2->theta2000 = obj2->thetas ++ outobj2.theta2000 = outobj2.thetas + + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); + } + + if (FLAG(obj2.theta1950)) + { +- da = as->ap1950 - obj2->alpha1950; ++ da = as->ap1950 - outobj2.alpha1950; + dd = (sin(as->dp1950*DEG) +- -sin(obj2->delta1950*DEG)*sin(obj2->deltas*DEG)) +- /(cos(obj2->delta1950*DEG)*cos(obj2->deltas*DEG)); ++ -sin(outobj2.delta1950*DEG)*sin(outobj2.deltas*DEG)) ++ /(cos(outobj2.delta1950*DEG)*cos(outobj2.deltas*DEG)); + dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; +- obj2->theta1950 = obj2->thetas ++ outobj2.theta1950 = outobj2.thetas + + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); + } + } +@@ -460,9 +460,9 @@ + { + temp = sqrt(0.25*temp*temp+xym*xym); + pm2 = 0.5*(xm2+ym2); +- obj2->aw = (float)sqrt(pm2+temp); +- obj2->bw = (float)sqrt(pm2-temp); +- obj2->polarw = temp / pm2; ++ outobj2.aw = (float)sqrt(pm2+temp); ++ outobj2.bw = (float)sqrt(pm2-temp); ++ outobj2.polarw = temp / pm2; + } + + if (FLAG(obj2.cxxw)) +@@ -473,9 +473,9 @@ + temp = 1e-6; + xym *= 0.99999; + } +- obj2->cxxw = (float)(ym2/temp); +- obj2->cyyw = (float)(xm2/temp); +- obj2->cxyw = (float)(-2*xym/temp); ++ outobj2.cxxw = (float)(ym2/temp); ++ outobj2.cyyw = (float)(xm2/temp); ++ outobj2.cxyw = (float)(-2*xym/temp); + } + + return; +@@ -510,19 +510,19 @@ + lm3 = lm[lat+naxis*lat]; + + /* All WORLD params based on 2nd order moments have to pass through here */ +- dx2 = obj2->win_mx2; +- dy2 = obj2->win_my2; +- dxy = obj2->win_mxy; +- obj2->win_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; +- obj2->win_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; +- obj2->win_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; ++ dx2 = outobj2.win_mx2; ++ dy2 = outobj2.win_my2; ++ dxy = outobj2.win_mxy; ++ outobj2.win_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; ++ outobj2.win_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; ++ outobj2.win_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; + temp=xm2-ym2; + if (FLAG(obj2.win_thetaw)) + { +- obj2->win_thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0*xym,temp)/DEG); ++ outobj2.win_thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0*xym,temp)/DEG); + if (as->wcs_flag && FLAG(obj2.win_thetas)) +- obj2->win_thetas = obj2->win_thetaw + +- (obj2->win_thetaw>0.0?-90:90.0); ++ outobj2.win_thetas = outobj2.win_thetaw + ++ (outobj2.win_thetaw>0.0?-90:90.0); + + /*-- Compute position angles in J2000 or B1950 reference frame */ + if (as->wcs_flag) +@@ -531,23 +531,23 @@ + + if (FLAG(obj2.win_theta2000)) + { +- da = as->ap2000 - obj2->winpos_alpha2000; ++ da = as->ap2000 - outobj2.winpos_alpha2000; + dd = (sin(as->dp2000*DEG) +- -sin(obj2->winpos_delta2000*DEG)*sin(obj2->winpos_deltas*DEG)) +- /(cos(obj2->winpos_delta2000*DEG)*cos(obj2->winpos_deltas*DEG)); ++ -sin(outobj2.winpos_delta2000*DEG)*sin(outobj2.winpos_deltas*DEG)) ++ /(cos(outobj2.winpos_delta2000*DEG)*cos(outobj2.winpos_deltas*DEG)); + dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; +- obj2->win_theta2000 = obj2->win_thetas ++ outobj2.win_theta2000 = outobj2.win_thetas + + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); + } + + if (FLAG(obj2.win_theta1950)) + { +- da = as->ap1950 - obj2->winpos_alpha1950; ++ da = as->ap1950 - outobj2.winpos_alpha1950; + dd = (sin(as->dp1950*DEG) +- -sin(obj2->winpos_delta1950*DEG)*sin(obj2->winpos_deltas*DEG)) +- /(cos(obj2->winpos_delta1950*DEG)*cos(obj2->winpos_deltas*DEG)); ++ -sin(outobj2.winpos_delta1950*DEG)*sin(outobj2.winpos_deltas*DEG)) ++ /(cos(outobj2.winpos_delta1950*DEG)*cos(outobj2.winpos_deltas*DEG)); + dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; +- obj2->win_theta1950 = obj2->win_thetas ++ outobj2.win_theta1950 = outobj2.win_thetas + + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); + } + } +@@ -557,9 +557,9 @@ + { + temp = sqrt(0.25*temp*temp+xym*xym); + pm2 = 0.5*(xm2+ym2); +- obj2->win_aw = (float)sqrt(pm2+temp); +- obj2->win_bw = (float)sqrt(pm2-temp); +- obj2->win_polarw = temp / pm2; ++ outobj2.win_aw = (float)sqrt(pm2+temp); ++ outobj2.win_bw = (float)sqrt(pm2-temp); ++ outobj2.win_polarw = temp / pm2; + } + + if (FLAG(obj2.win_cxxw)) +@@ -570,9 +570,9 @@ + temp = 1e-6; + xym *= 0.99999; + } +- obj2->win_cxxw = (float)(ym2/temp); +- obj2->win_cyyw = (float)(xm2/temp); +- obj2->win_cxyw = (float)(-2*xym/temp); ++ outobj2.win_cxxw = (float)(ym2/temp); ++ outobj2.win_cyyw = (float)(xm2/temp); ++ outobj2.win_cxyw = (float)(-2*xym/temp); + } + + return; +@@ -610,16 +610,16 @@ + dx2 = obj->poserr_mx2; + dy2 = obj->poserr_my2; + dxy = obj->poserr_mxy; +- obj2->poserr_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; +- obj2->poserr_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; +- obj2->poserr_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; ++ outobj2.poserr_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; ++ outobj2.poserr_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; ++ outobj2.poserr_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; + temp=xm2-ym2; + if (FLAG(obj2.poserr_thetaw)) + { +- obj2->poserr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG); ++ outobj2.poserr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG); + if (as->wcs_flag && FLAG(obj2.poserr_thetas)) +- obj2->poserr_thetas = obj2->poserr_thetaw +- + (obj2->poserr_thetaw>0.0? -90:90.0); ++ outobj2.poserr_thetas = outobj2.poserr_thetaw ++ + (outobj2.poserr_thetaw>0.0? -90:90.0); + + /*-- Compute position angles in J2000 or B1950 reference frame */ + if (as->wcs_flag) +@@ -628,23 +628,23 @@ + + if (FLAG(obj2.poserr_theta2000)) + { +- da = as->ap2000 - obj2->alpha2000; ++ da = as->ap2000 - outobj2.alpha2000; + dd = (sin(as->dp2000*DEG) +- -sin(obj2->delta2000*DEG)*sin(obj2->deltas*DEG)) +- /(cos(obj2->delta2000*DEG)*cos(obj2->deltas*DEG)); ++ -sin(outobj2.delta2000*DEG)*sin(outobj2.deltas*DEG)) ++ /(cos(outobj2.delta2000*DEG)*cos(outobj2.deltas*DEG)); + dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; +- obj2->poserr_theta2000 = obj2->poserr_thetas ++ outobj2.poserr_theta2000 = outobj2.poserr_thetas + + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); + } + + if (FLAG(obj2.poserr_theta1950)) + { +- da = as->ap1950 - obj2->alpha1950; ++ da = as->ap1950 - outobj2.alpha1950; + dd = (sin(as->dp1950*DEG) +- -sin(obj2->delta1950*DEG)*sin(obj2->deltas*DEG)) +- /(cos(obj2->delta1950*DEG)*cos(obj2->deltas*DEG)); ++ -sin(outobj2.delta1950*DEG)*sin(outobj2.deltas*DEG)) ++ /(cos(outobj2.delta1950*DEG)*cos(outobj2.deltas*DEG)); + dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; +- obj2->poserr_theta1950 = obj2->poserr_thetas ++ outobj2.poserr_theta1950 = outobj2.poserr_thetas + + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); + } + } +@@ -654,8 +654,8 @@ + { + temp = sqrt(0.25*temp*temp+xym*xym); + pm2 = 0.5*(xm2+ym2); +- obj2->poserr_aw = (float)sqrt(pm2+temp); +- obj2->poserr_bw = (float)sqrt(pm2-temp); ++ outobj2.poserr_aw = (float)sqrt(pm2+temp); ++ outobj2.poserr_bw = (float)sqrt(pm2-temp); + } + + if (FLAG(obj2.poserr_cxxw)) +@@ -666,9 +666,9 @@ + temp = 1e-6; + xym *= 0.99999; + } +- obj2->poserr_cxxw = (float)(ym2/temp); +- obj2->poserr_cyyw = (float)(xm2/temp); +- obj2->poserr_cxyw = (float)(-2*xym/temp); ++ outobj2.poserr_cxxw = (float)(ym2/temp); ++ outobj2.poserr_cyyw = (float)(xm2/temp); ++ outobj2.poserr_cxyw = (float)(-2*xym/temp); + } + + return; +@@ -703,19 +703,19 @@ + lm3 = lm[lat+naxis*lat]; + + /* All WORLD params based on 2nd order moments have to pass through here */ +- dx2 = obj2->winposerr_mx2; +- dy2 = obj2->winposerr_my2; +- dxy = obj2->winposerr_mxy; +- obj2->winposerr_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; +- obj2->winposerr_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; +- obj2->winposerr_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; ++ dx2 = outobj2.winposerr_mx2; ++ dy2 = outobj2.winposerr_my2; ++ dxy = outobj2.winposerr_mxy; ++ outobj2.winposerr_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; ++ outobj2.winposerr_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; ++ outobj2.winposerr_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; + temp=xm2-ym2; + if (FLAG(obj2.winposerr_thetaw)) + { +- obj2->winposerr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG); ++ outobj2.winposerr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG); + if (as->wcs_flag && FLAG(obj2.winposerr_thetas)) +- obj2->winposerr_thetas = obj2->winposerr_thetaw +- + (obj2->winposerr_thetaw>0.0? -90:90.0); ++ outobj2.winposerr_thetas = outobj2.winposerr_thetaw ++ + (outobj2.winposerr_thetaw>0.0? -90:90.0); + + /*-- Compute position angles in J2000 or B1950 reference frame */ + if (as->wcs_flag) +@@ -724,23 +724,23 @@ + + if (FLAG(obj2.winposerr_theta2000)) + { +- da = as->ap2000 - obj2->winpos_alpha2000; ++ da = as->ap2000 - outobj2.winpos_alpha2000; + dd = (sin(as->dp2000*DEG) +- -sin(obj2->winpos_delta2000*DEG)*sin(obj2->winpos_deltas*DEG)) +- /(cos(obj2->winpos_delta2000*DEG)*cos(obj2->winpos_deltas*DEG)); ++ -sin(outobj2.winpos_delta2000*DEG)*sin(outobj2.winpos_deltas*DEG)) ++ /(cos(outobj2.winpos_delta2000*DEG)*cos(outobj2.winpos_deltas*DEG)); + dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; +- obj2->winposerr_theta2000 = obj2->winposerr_thetas ++ outobj2.winposerr_theta2000 = outobj2.winposerr_thetas + + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); + } + + if (FLAG(obj2.winposerr_theta1950)) + { +- da = as->ap1950 - obj2->winpos_alpha1950; ++ da = as->ap1950 - outobj2.winpos_alpha1950; + dd = (sin(as->dp1950*DEG) +- -sin(obj2->winpos_delta1950*DEG)*sin(obj2->winpos_deltas*DEG)) +- /(cos(obj2->winpos_delta1950*DEG)*cos(obj2->winpos_deltas*DEG)); ++ -sin(outobj2.winpos_delta1950*DEG)*sin(outobj2.winpos_deltas*DEG)) ++ /(cos(outobj2.winpos_delta1950*DEG)*cos(outobj2.winpos_deltas*DEG)); + dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; +- obj2->winposerr_theta1950 = obj2->winposerr_thetas ++ outobj2.winposerr_theta1950 = outobj2.winposerr_thetas + + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); + } + } +@@ -750,8 +750,8 @@ + { + temp = sqrt(0.25*temp*temp+xym*xym); + pm2 = 0.5*(xm2+ym2); +- obj2->winposerr_aw = (float)sqrt(pm2+temp); +- obj2->winposerr_bw = (float)sqrt(pm2-temp); ++ outobj2.winposerr_aw = (float)sqrt(pm2+temp); ++ outobj2.winposerr_bw = (float)sqrt(pm2-temp); + } + + if (FLAG(obj2.winposerr_cxxw)) +@@ -762,9 +762,9 @@ + temp = 1e-6; + xym *= 0.99999; + } +- obj2->winposerr_cxxw = (float)(ym2/temp); +- obj2->winposerr_cyyw = (float)(xm2/temp); +- obj2->winposerr_cxyw = (float)(-2*xym/temp); ++ outobj2.winposerr_cxxw = (float)(ym2/temp); ++ outobj2.winposerr_cyyw = (float)(xm2/temp); ++ outobj2.winposerr_cxyw = (float)(-2*xym/temp); + } + + return; +diff -ur sextractor-2.5.0.old/src/fits/fitsmisc.c sextractor-2.5.0/src/fits/fitsmisc.c +--- sextractor-2.5.0.old/src/fits/fitsmisc.c 2006-07-14 19:21:00.000000000 +0200 ++++ sextractor-2.5.0/src/fits/fitsmisc.c 2006-07-25 23:32:17.000000000 +0200 +@@ -114,48 +114,63 @@ + void swapbytes(void *ptr, int nb, int n) + { + char *cp; ++ char t; + int j; + +- cp = (char *)ptr; ++ cp = (char *)ptr; + +- if (nb&4) +- { +- for (j=n; j--; cp+=4) +- { +- cp[0] ^= (cp[3]^=(cp[0]^=cp[3])); +- cp[1] ^= (cp[2]^=(cp[1]^=cp[2])); +- } +- return; +- } +- +- if (nb&2) +- { +- for (j=n; j--; cp+=2) +- cp[0] ^= (cp[1]^=(cp[0]^=cp[1])); +- return; +- } ++ if (nb == 4) ++ { ++ for (j=n; j--; cp+=4) ++ { ++ t = cp[0]; ++ cp[0] = cp[3]; ++ cp[3] = t; ++ t = cp[1]; ++ cp[1] = cp[2]; ++ cp[2] = t; ++ } ++ } ++ else if (nb == 2) ++ { ++ for (j=n; j--; cp+=2) ++ { ++ t = cp[0]; ++ cp[0] = cp[1]; ++ cp[1] = t; ++ } ++ } ++ else if (nb == 8) ++ { ++ for (j=n; j--; cp+=8) ++ { ++ t = cp[0]; ++ cp[0] = cp[7]; ++ cp[7] = t; ++ t = cp[1]; ++ cp[1] = cp[6]; ++ cp[6] = t; ++ t = cp[2]; ++ cp[2] = cp[5]; ++ cp[5] = t; ++ t = cp[3]; ++ cp[3] = cp[4]; ++ cp[4] = t; ++ } ++ } ++ else if (nb == 1) ++ { ++ /* noop */ ++ } + +- if (nb&1) +- return; +- +- if (nb&8) +- { +- for (j=n; j--; cp+=8) +- { +- cp[0] ^= (cp[7]^=(cp[0]^=cp[7])); +- cp[1] ^= (cp[6]^=(cp[1]^=cp[6])); +- cp[2] ^= (cp[5]^=(cp[2]^=cp[5])); +- cp[3] ^= (cp[4]^=(cp[3]^=cp[4])); +- } +- return; +- } +- +- error(EXIT_FAILURE, "*Internal Error*: Unknown size in ", "swapbytes()"); ++ else ++ error(EXIT_FAILURE, "*Internal Error*: Unknown size in ", "swapbytes()"); + + return; + } + + ++ + /****** wstrncmp *************************************************************** + PROTO int wstrncmp(char *cs, char *ct, int n) + PURPOSE simple wildcard strcmp. +diff -ur sextractor-2.5.0.old/src/growth.c sextractor-2.5.0/src/growth.c +--- sextractor-2.5.0.old/src/growth.c 2005-10-24 13:48:52.000000000 +0200 ++++ sextractor-2.5.0/src/growth.c 2006-07-25 23:27:35.000000000 +0200 +@@ -32,7 +32,7 @@ + + static double *growth; + static int ngrowth; +-static obj2struct *obj2 = &outobj2; ++/* static obj2struct *obj2 = &outobj2; */ + + /******************************** initgrowth *********************************/ + /* +@@ -45,7 +45,7 @@ + /* Quick (and dirty) fix to allow FLUX_RADIUS support */ + if (FLAG(obj2.flux_radius) && !prefs.flux_radiussize) + { +- QCALLOC(obj2->flux_radius, float, 1); ++ QCALLOC(outobj2.flux_radius, float, 1); + } + + return; +@@ -60,7 +60,7 @@ + { + free(growth); + if (FLAG(obj2.flux_radius) && !prefs.flux_radiussize) +- free(obj2->flux_radius); ++ free(outobj2.flux_radius); + + return; + } +@@ -284,8 +284,8 @@ + { + n = prefs.flux_growthsize; + if (FLAG(obj2.flux_growthstep)) +- obj2->flux_growthstep = rlim/n; +- fgrowth = obj2->flux_growth; ++ outobj2.flux_growthstep = rlim/n; ++ fgrowth = outobj2.flux_growth; + step2 = (double)GROWTH_NSTEP/n; + j = 1; + for (i=n; i--; j++) +@@ -305,8 +305,8 @@ + { + n = prefs.mag_growthsize; + if (FLAG(obj2.mag_growthstep)) +- obj2->mag_growthstep = rlim/n; +- fgrowth = obj2->mag_growth; ++ outobj2.mag_growthstep = rlim/n; ++ fgrowth = outobj2.mag_growth; + step2 = (double)GROWTH_NSTEP/n; + j = 1; + for (i=n; i--; j++) +@@ -328,10 +328,10 @@ + n = ngrowth-1; + for (j=0; jflux_auto; ++ tv = prefs.flux_frac[j]*outobj2.flux_auto; + growtht = growth-1; + for (i=0; iflux_radius[j] = step ++ outobj2.flux_radius[j] = step + *(i? ((dg=*growtht - *(growtht-1)) != 0.0 ? + i + (tv - *(growtht-1))/dg + : i) +@@ -343,10 +343,10 @@ + if (FLAG(obj2.hl_radius)) + { + n = ngrowth-1; +- tv = 0.5*obj2->flux_auto; ++ tv = 0.5*outobj2.flux_auto; + growtht = growth-1; + for (i=0; ihl_radius = step*(i? ((dg=*growtht - *(growtht-1)) != 0.0 ? ++ outobj2.hl_radius = step*(i? ((dg=*growtht - *(growtht-1)) != 0.0 ? + i + (tv - *(growtht-1))/dg + : i) + : (*growth !=0.0 ?tv/(*growth) : 0.0)); +diff -ur sextractor-2.5.0.old/src/pc.c sextractor-2.5.0/src/pc.c +--- sextractor-2.5.0.old/src/pc.c 2005-10-24 13:48:52.000000000 +0200 ++++ sextractor-2.5.0/src/pc.c 2006-07-25 23:27:45.000000000 +0200 +@@ -32,7 +32,7 @@ + #include "poly.h" + #include "psf.h" + +-static obj2struct *obj2 = &outobj2; ++/* static obj2struct *obj2 = &outobj2; */ + + /****** pc_end *************************************************************** + PROTO void pc_end(pcstruct *pc) +@@ -361,22 +361,22 @@ + + /*-- Copy the derived physical quantities to output parameters */ + /*-- (subject to changes) */ +- obj2->flux_galfit = fscale; +- obj2->gdposang = fparam[1]; +- if (obj2->gdposang>90.0) +- obj2->gdposang -= 180.0; +- else if (obj2->gdposang<-90.0) +- obj2->gdposang += 180.0; +- obj2->gdscale = fparam[2]; +- obj2->gdaspect = fparam[3]; +- ellip = (1.0 - obj2->gdaspect)/(1.0 + obj2->gdaspect); +- obj2->gde1 = (float)(ellip*cos(2*obj2->gdposang*PI/180.0)); +- obj2->gde2 = (float)(ellip*sin(2*obj2->gdposang*PI/180.0)); ++ outobj2.flux_galfit = fscale; ++ outobj2.gdposang = fparam[1]; ++ if (outobj2.gdposang>90.0) ++ outobj2.gdposang -= 180.0; ++ else if (outobj2.gdposang<-90.0) ++ outobj2.gdposang += 180.0; ++ outobj2.gdscale = fparam[2]; ++ outobj2.gdaspect = fparam[3]; ++ ellip = (1.0 - outobj2.gdaspect)/(1.0 + outobj2.gdaspect); ++ outobj2.gde1 = (float)(ellip*cos(2*outobj2.gdposang*PI/180.0)); ++ outobj2.gde2 = (float)(ellip*sin(2*outobj2.gdposang*PI/180.0)); + /*---- Copy the best-fitting PCs to the VECTOR_PC output vector */ + if (FLAG(obj2.vector_pc)) + { + solt = sol; +- ppix = obj2->vector_pc; ++ ppix = outobj2.vector_pc; + for (c=prefs.pc_vectorsize>npc?npc:prefs.pc_vectorsize; c--;) + *(ppix++) = *(solt++); + } +@@ -397,9 +397,9 @@ + xym += val**(mxyt++); + } + +- obj2->mx2_pc = xm2; +- obj2->my2_pc = ym2; +- obj2->mxy_pc = xym; ++ outobj2.mx2_pc = xm2; ++ outobj2.my2_pc = ym2; ++ outobj2.mxy_pc = xym; + + if (FLAG(obj2.a_pc)) + { +@@ -421,9 +421,9 @@ + pmx2 += temp; + pmy2 -= temp; + +- obj2->a_pc = (float)sqrt(pmx2); +- obj2->b_pc = (float)sqrt(pmy2); +- obj2->theta_pc = (float)(theta*180.0/PI); ++ outobj2.a_pc = (float)sqrt(pmx2); ++ outobj2.b_pc = (float)sqrt(pmy2); ++ outobj2.theta_pc = (float)(theta*180.0/PI); + } + + /* CHECK-Images */ +diff -ur sextractor-2.5.0.old/src/photom.c sextractor-2.5.0/src/photom.c +--- sextractor-2.5.0.old/src/photom.c 2005-10-24 13:48:52.000000000 +0200 ++++ sextractor-2.5.0/src/photom.c 2006-07-25 23:27:55.000000000 +0200 +@@ -27,7 +27,7 @@ + #include "photom.h" + #include "plist.h" + +-static obj2struct *obj2 = &outobj2; ++/* static obj2struct *obj2 = &outobj2; */ + + /***************************** computeaperflux********************************/ + /* +@@ -184,13 +184,13 @@ + } + + if (iflux_aper[i] = tv; ++ outobj2.flux_aper[i] = tv; + if (ifluxerr_aper[i] = sqrt(sigtv); ++ outobj2.fluxerr_aper[i] = sqrt(sigtv); + if (imag_aper[i] = tv>0.0? -2.5*log10(tv) + prefs.mag_zeropoint : 99.0; ++ outobj2.mag_aper[i] = tv>0.0? -2.5*log10(tv) + prefs.mag_zeropoint : 99.0; + if (imagerr_aper[i] = tv>0.0? 1.086*sqrt(sigtv)/tv:99.0; ++ outobj2.magerr_aper[i] = tv>0.0? 1.086*sqrt(sigtv)/tv:99.0; + + return; + } +@@ -346,12 +346,12 @@ + /*-- Go further only if some pixels are available !! */ + if (areanum && areaden && munum && muden) + { +- obj2->petrofactor = prefs.petroparam[0]*kmea; +- if (obj2->petrofactor < prefs.petroparam[1]) +- obj2->petrofactor = prefs.petroparam[1]; ++ outobj2.petrofactor = prefs.petroparam[0]*kmea; ++ if (outobj2.petrofactor < prefs.petroparam[1]) ++ outobj2.petrofactor = prefs.petroparam[1]; + } + else +- obj2->petrofactor = prefs.petroparam[1]; ++ outobj2.petrofactor = prefs.petroparam[1]; + + /*-- Flag if the Petrosian photometry can be strongly affected by neighhours */ + if ((float)areab/area > CROWD_THRESHOLD) +@@ -360,16 +360,16 @@ + /*-- Second step: integrate within the ellipse */ + /*-- Clip boundaries in x and y (bis) */ + /*-- We first check that the derived ellipse is large enough... */ +- if (obj2->petrofactor*sqrt(obj->a*obj->b)>prefs.autoaper[1]/2.0) ++ if (outobj2.petrofactor*sqrt(obj->a*obj->b)>prefs.autoaper[1]/2.0) + { + cx2 = obj->cxx; + cy2 = obj->cyy; + cxy = obj->cxy; + dxlim = cx2 - cxy*cxy/(4.0*cy2); +- dxlim = dxlim>0.0 ? obj2->petrofactor/sqrt(dxlim) : 0.0; ++ dxlim = dxlim>0.0 ? outobj2.petrofactor/sqrt(dxlim) : 0.0; + dylim = cy2 - cxy*cxy/(4.0*cx2); +- dylim = dylim > 0.0 ? obj2->petrofactor/sqrt(dylim) : 0.0; +- klim2 = obj2->petrofactor*obj2->petrofactor; ++ dylim = dylim > 0.0 ? outobj2.petrofactor/sqrt(dylim) : 0.0; ++ klim2 = outobj2.petrofactor*outobj2.petrofactor; + } + else + /*---- ...if not, use the circular aperture provided by the user */ +@@ -378,7 +378,7 @@ + cxy = 0.0; + dxlim = dylim = prefs.autoaper[1]/2.0; + klim2 = dxlim*dxlim; +- obj2->petrofactor = 0.0; ++ outobj2.petrofactor = 0.0; + } + + if ((xmin = RINT(mx-dxlim)) < 0) +@@ -479,19 +479,19 @@ + tv = sigtv = 0.0; + + +- obj2->flux_petro = tv; +- obj2->fluxerr_petro = sqrt(sigtv); ++ outobj2.flux_petro = tv; ++ outobj2.fluxerr_petro = sqrt(sigtv); + + if (FLAG(obj2.mag_petro)) +- obj2->mag_petro = obj2->flux_petro>0.0? +- -2.5*log10(obj2->flux_petro) + prefs.mag_zeropoint ++ outobj2.mag_petro = outobj2.flux_petro>0.0? ++ -2.5*log10(outobj2.flux_petro) + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.magerr_petro)) +- obj2->magerr_petro = obj2->flux_petro>0.0? +- 1.086*obj2->fluxerr_petro/obj2->flux_petro ++ outobj2.magerr_petro = outobj2.flux_petro>0.0? ++ 1.086*outobj2.fluxerr_petro/outobj2.flux_petro + :99.0; + if (tv<=0.0) +- obj2->petrofactor = 0.0; ++ outobj2.petrofactor = 0.0; + + return; + } +@@ -617,12 +617,12 @@ + /*-- Go further only if some pixels are available !! */ + if (r1>0.0 && v1>0.0) + { +- obj2->kronfactor = prefs.autoparam[0]*r1/v1; +- if (obj2->kronfactor < prefs.autoparam[1]) +- obj2->kronfactor = prefs.autoparam[1]; ++ outobj2.kronfactor = prefs.autoparam[0]*r1/v1; ++ if (outobj2.kronfactor < prefs.autoparam[1]) ++ outobj2.kronfactor = prefs.autoparam[1]; + } + else +- obj2->kronfactor = prefs.autoparam[1]; ++ outobj2.kronfactor = prefs.autoparam[1]; + + /*-- Flag if the Kron photometry can be strongly affected by neighhours */ + if ((float)areab/area > CROWD_THRESHOLD) +@@ -631,16 +631,16 @@ + /*-- Second step: integrate within the ellipse */ + /*-- Clip boundaries in x and y (bis) */ + /*-- We first check that the derived ellipse is large enough... */ +- if (obj2->kronfactor*sqrt(obj->a*obj->b)>prefs.autoaper[1]/2.0) ++ if (outobj2.kronfactor*sqrt(obj->a*obj->b)>prefs.autoaper[1]/2.0) + { + cx2 = obj->cxx; + cy2 = obj->cyy; + cxy = obj->cxy; + dxlim = cx2 - cxy*cxy/(4.0*cy2); +- dxlim = dxlim>0.0 ? obj2->kronfactor/sqrt(dxlim) : 0.0; ++ dxlim = dxlim>0.0 ? outobj2.kronfactor/sqrt(dxlim) : 0.0; + dylim = cy2 - cxy*cxy/(4.0*cx2); +- dylim = dylim > 0.0 ? obj2->kronfactor/sqrt(dylim) : 0.0; +- klim2 = obj2->kronfactor*obj2->kronfactor; ++ dylim = dylim > 0.0 ? outobj2.kronfactor/sqrt(dylim) : 0.0; ++ klim2 = outobj2.kronfactor*outobj2.kronfactor; + } + else + /*---- ...if not, use the circular aperture provided by the user */ +@@ -649,7 +649,7 @@ + cxy = 0.0; + dxlim = dylim = prefs.autoaper[1]/2.0; + klim2 = dxlim*dxlim; +- obj2->kronfactor = 0.0; ++ outobj2.kronfactor = 0.0; + } + + if ((xmin = RINT(mx-dxlim)) < 0) +@@ -750,19 +750,19 @@ + tv = sigtv = 0.0; + + +- obj2->flux_auto = tv; +- obj2->fluxerr_auto = sqrt(sigtv); ++ outobj2.flux_auto = tv; ++ outobj2.fluxerr_auto = sqrt(sigtv); + + if (FLAG(obj2.mag_auto)) +- obj2->mag_auto = obj2->flux_auto>0.0? +- -2.5*log10(obj2->flux_auto) + prefs.mag_zeropoint ++ outobj2.mag_auto = outobj2.flux_auto>0.0? ++ -2.5*log10(outobj2.flux_auto) + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.magerr_auto)) +- obj2->magerr_auto = obj2->flux_auto>0.0? +- 1.086*obj2->fluxerr_auto/obj2->flux_auto ++ outobj2.magerr_auto = outobj2.flux_auto>0.0? ++ 1.086*outobj2.fluxerr_auto/outobj2.flux_auto + :99.0; + if (tv<=0.0) +- obj2->kronfactor = 0.0; ++ outobj2.kronfactor = 0.0; + + return; + } +@@ -782,7 +782,7 @@ + ati = 1.0; + else if (ati<0.0) + ati = 0.0; +- obj2->flux_isocor = obj->flux/(1.0-0.196099*ati-0.751208*ati*ati); ++ outobj2.flux_isocor = obj->flux/(1.0-0.196099*ati-0.751208*ati*ati); + if (FLAG(obj2.fluxerr_isocor)) + { + if (obj->flux>0.0) +@@ -792,10 +792,10 @@ + sigtv = obj->fluxerr/(obj->flux*obj->flux); + dati = obj->fdnpix?ati*sqrt(sigtv+1.0/obj->fdnpix): 0.0; + dati = 0.196099*dati + 0.751208*2*ati*dati; +- obj2->fluxerr_isocor = sqrt(sigtv+dati*dati)*obj->flux; ++ outobj2.fluxerr_isocor = sqrt(sigtv+dati*dati)*obj->flux; + } + else +- obj2->fluxerr_isocor = sqrt(obj->fluxerr); ++ outobj2.fluxerr_isocor = sqrt(obj->fluxerr); + } + + return; +@@ -811,22 +811,22 @@ + { + /* Mag. isophotal */ + if (FLAG(obj2.mag_iso)) +- obj2->mag_iso = obj2->flux_iso>0.0? +- -2.5*log10(obj2->flux_iso) + prefs.mag_zeropoint ++ outobj2.mag_iso = outobj2.flux_iso>0.0? ++ -2.5*log10(outobj2.flux_iso) + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.magerr_iso)) +- obj2->magerr_iso = obj2->flux_iso>0.0? +- 1.086*obj2->fluxerr_iso/obj2->flux_iso ++ outobj2.magerr_iso = outobj2.flux_iso>0.0? ++ 1.086*outobj2.fluxerr_iso/outobj2.flux_iso + :99.0; + + /* Mag. isophotal corrected */ + if (FLAG(obj2.mag_isocor)) +- obj2->mag_isocor = obj2->flux_isocor>0.0? +- -2.5*log10(obj2->flux_isocor) + prefs.mag_zeropoint ++ outobj2.mag_isocor = outobj2.flux_isocor>0.0? ++ -2.5*log10(outobj2.flux_isocor) + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.magerr_isocor)) +- obj2->magerr_isocor = obj2->flux_isocor>0.0? +- 1.086*obj2->fluxerr_isocor/obj2->flux_isocor ++ outobj2.magerr_isocor = outobj2.flux_isocor>0.0? ++ 1.086*outobj2.fluxerr_isocor/outobj2.flux_isocor + :99.0; + + /* Choose the ``best'' flux according to the local crowding */ +@@ -835,63 +835,63 @@ + { + if (obj->flag&OBJ_CROWDED) + { +- obj2->flux_best = obj2->flux_isocor; +- obj2->fluxerr_best = obj2->fluxerr_isocor; ++ outobj2.flux_best = outobj2.flux_isocor; ++ outobj2.fluxerr_best = outobj2.fluxerr_isocor; + } + else + { +- obj2->flux_best = obj2->flux_auto; +- obj2->fluxerr_best = obj2->fluxerr_auto; ++ outobj2.flux_best = outobj2.flux_auto; ++ outobj2.fluxerr_best = outobj2.fluxerr_auto; + } + } + + /* Mag. Best */ + if (FLAG(obj2.mag_best)) +- obj2->mag_best = obj2->flux_best>0.0? +- -2.5*log10(obj2->flux_best) + prefs.mag_zeropoint ++ outobj2.mag_best = outobj2.flux_best>0.0? ++ -2.5*log10(outobj2.flux_best) + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.magerr_best)) +- obj2->magerr_best = obj2->flux_best>0.0? +- 1.086*obj2->fluxerr_best/obj2->flux_best ++ outobj2.magerr_best = outobj2.flux_best>0.0? ++ 1.086*outobj2.fluxerr_best/outobj2.flux_best + :99.0; + + /* Mag. SOM-fit */ + if (FLAG(obj2.mag_somfit)) +- obj2->mag_somfit = obj2->flux_somfit>0.0? +- -2.5*log10(obj2->flux_somfit) + prefs.mag_zeropoint ++ outobj2.mag_somfit = outobj2.flux_somfit>0.0? ++ -2.5*log10(outobj2.flux_somfit) + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.magerr_somfit)) +- obj2->magerr_somfit = obj2->flux_somfit>0.0? +- 1.086*obj2->fluxerr_somfit/obj2->flux_somfit ++ outobj2.magerr_somfit = outobj2.flux_somfit>0.0? ++ 1.086*outobj2.fluxerr_somfit/outobj2.flux_somfit + :99.0; + + /* Mag. PROFILE */ + if (FLAG(obj2.mag_prof)) +- obj2->mag_prof = obj2->flux_prof>0.0? +- -2.5*log10(obj2->flux_prof) + prefs.mag_zeropoint ++ outobj2.mag_prof = outobj2.flux_prof>0.0? ++ -2.5*log10(outobj2.flux_prof) + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.magerr_prof)) +- obj2->magerr_prof = obj2->flux_prof>0.0? +- 1.086*obj2->fluxerr_prof/obj2->flux_prof ++ outobj2.magerr_prof = outobj2.flux_prof>0.0? ++ 1.086*outobj2.fluxerr_prof/outobj2.flux_prof + :99.0; + + /* Mag. WINdowed */ + if (FLAG(obj2.mag_win)) +- obj2->mag_win = obj2->flux_win>0.0? +- -2.5*log10(obj2->flux_win) + prefs.mag_zeropoint ++ outobj2.mag_win = outobj2.flux_win>0.0? ++ -2.5*log10(outobj2.flux_win) + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.magerr_win)) +- obj2->magerr_win = obj2->flux_win>0.0? +- 1.086*obj2->fluxerr_win/obj2->flux_win ++ outobj2.magerr_win = outobj2.flux_win>0.0? ++ 1.086*outobj2.fluxerr_win/outobj2.flux_win + :99.0; + /* Mag. GALFIT */ + if (FLAG(obj2.mag_galfit)) +- obj2->mag_galfit = obj2->flux_galfit>0.0? +- -2.5*log10(obj2->flux_galfit) + prefs.mag_zeropoint ++ outobj2.mag_galfit = outobj2.flux_galfit>0.0? ++ -2.5*log10(outobj2.flux_galfit) + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.magerr_galfit)) +- obj2->magerr_galfit = obj2->flux_galfit>0.0? +- 1.086*obj2->fluxerr_galfit/obj2->flux_galfit ++ outobj2.magerr_galfit = outobj2.flux_galfit>0.0? ++ 1.086*outobj2.fluxerr_galfit/outobj2.flux_galfit + :99.0; + + /* SB units */ +@@ -902,7 +902,7 @@ + : 99.0; + + if (FLAG(obj2.threshmu)) +- obj2->threshmu = obj->thresh > 0.0 ? ++ outobj2.threshmu = obj->thresh > 0.0 ? + -2.5*log10((obj->thresh) + / (field->pixscale * field->pixscale)) + prefs.mag_zeropoint + : 99.0; +diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c +--- sextractor-2.5.0.old/src/psf.c 2006-07-14 20:22:44.000000000 +0200 ++++ sextractor-2.5.0/src/psf.c 2006-07-25 23:36:58.000000000 +0200 +@@ -309,7 +309,7 @@ + objstruct *obj) + { + checkstruct *check; +- static obj2struct *obj2 = &outobj2; ++ /* static obj2struct *obj2 = &outobj2; */ + static double x2[PSF_NPSFMAX],y2[PSF_NPSFMAX],xy[PSF_NPSFMAX], + deltax[PSF_NPSFMAX], + deltay[PSF_NPSFMAX],flux[PSF_NPSFMAX], +@@ -349,8 +349,8 @@ + thepsfit->npsf = 0; + for (j=0; jx[j] = obj2->posx; +- thepsfit->y[j] = obj2->posy; ++ thepsfit->x[j] = outobj2.posx; ++ thepsfit->y[j] = outobj2.posy; + thepsfit->flux[j] = 0.0; + } + +@@ -377,7 +377,7 @@ + if (prefs.psf_flag==1) + if (prefs.dpsf_flag!=1) + if(!FLAG(obj2.fluxerr_psf)) +- QMALLOC(obj2->fluxerr_psf, float, prefs.psf_npsfmax); ++ QMALLOC(outobj2.fluxerr_psf, float, prefs.psf_npsfmax); + + QMALLOC(weighth, PIXTYPE, npix); + QMALLOC(weight, double, npix); +@@ -556,7 +556,7 @@ + deltaxb[j] = deltax[j]; + deltayb[j] = deltay[j]; + fluxb[j] = flux[j]; +- obj2->fluxerr_psf[j]=fluxerr; ++ outobj2.fluxerr_psf[j]=fluxerr; + } + } + } +@@ -579,7 +579,7 @@ + + if (FLAG(obj2.poserrmx2_psf)) + { +- compute_poserr(j,var,sol,obj2,x2,y2,xy); ++ compute_poserr(j,var,sol,&outobj2,x2,y2,xy); + } + else + var += 3*PSF_NA+3; +@@ -604,7 +604,7 @@ + chi2 += pix*pix; + if (chi2>1E29) chi2=1E28; + } +- obj2->chi2_psf = obj->sigbkg>0.? ++ outobj2.chi2_psf = obj->sigbkg>0.? + chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; + + } +@@ -623,7 +623,7 @@ + chi2 += pix*pix; + if (chi2>1E29) chi2=1E28; + } +- obj2->chi2_psf = flux[j]>0? ++ outobj2.chi2_psf = flux[j]>0? + chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; + + } +@@ -755,7 +755,7 @@ + ival,npsfmax; + double *pvar; + +- static obj2struct *obj2 = &outobj2; ++ /* static obj2struct *obj2 = &outobj2; */ + checkdata = NULL; /* To avoid gcc -Wall warnings */ + pdx = pdy =dx = dy = 0.0; + ppixstep = 1.0/ppsf->pixstep; +@@ -773,13 +773,13 @@ + ppsfit->niter = 0; + ppsfit->npsf = 0; + if(!FLAG(obj2.fluxerr_psf)) +- QMALLOC(obj2->fluxerr_psf, float, npsfmax); ++ QMALLOC(outobj2.fluxerr_psf, float, npsfmax); + for (j=0; jx[j] = 999999.0; + ppsfit->y[j] = 999999.0; + ppsfit->flux[j] = 0.0; +- obj2->fluxerr_psf[j] = 0.0; ++ outobj2.fluxerr_psf[j] = 0.0; + pdeltax[j]= pdeltay[j]=psol[j]= pwmat[j]=pflux[j]=0.0; + + } +@@ -923,7 +923,7 @@ + { + svdvar(pvmat, pwmat, j, pcovmat); + pvar = pcovmat; +- obj2->fluxerr_psf[k]= sqrt(*pvar)>0.0 && sqrt(*pvar)<99? ++ outobj2.fluxerr_psf[k]= sqrt(*pvar)>0.0 && sqrt(*pvar)<99? + sqrt(*pvar):99; + } + } +@@ -940,7 +940,7 @@ + chi2 += ppix*ppix; + if (chi2>1E29) chi2=1E28; + } +- obj2->chi2_psf = obj->sigbkg>0.? ++ outobj2.chi2_psf = obj->sigbkg>0.? + chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; + + } +@@ -960,7 +960,7 @@ + chi2 += ppix*ppix; + if (chi2>1E29) chi2=1E28; + } +- obj2->chi2_psf = pflux[j]>0? ++ outobj2.chi2_psf = pflux[j]>0? + chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; + + } +@@ -1192,11 +1192,11 @@ + covab = *(++var); + varb = *(var += PSF_NA); + var += PSF_NA+1; +- obj2->poserrmx2_psf = (vara*x2[j]*x2[j]+varb*xy[j]*xy[j] ++ outobj2.poserrmx2_psf = (vara*x2[j]*x2[j]+varb*xy[j]*xy[j] + +2*covab*x2[j]*xy[j])/(sol[0]*sol[0]); +- obj2->poserrmy2_psf = (varb*y2[j]*y2[j]+vara*xy[j]*xy[j] ++ outobj2.poserrmy2_psf = (varb*y2[j]*y2[j]+vara*xy[j]*xy[j] + +2*covab*y2[j]*xy[j])/(sol[0]*sol[0]); +- obj2->poserrmxy_psf = (vara*x2[j]*xy[j]+varb*y2[j]*xy[j] ++ outobj2.poserrmxy_psf = (vara*x2[j]*xy[j]+varb*y2[j]*xy[j] + +covab*(x2[j]*y2[j]+xy[j]*xy[j])) + /(sol[0]*sol[0]); + +@@ -1205,19 +1205,19 @@ + { + double pmx2,pmy2,temp,theta; + +- if (fabs(temp=obj2->poserrmx2_psf-obj2->poserrmy2_psf) > 0.0) +- theta = atan2(2.0 * obj2->poserrmxy_psf,temp) / 2.0; ++ if (fabs(temp=outobj2.poserrmx2_psf-outobj2.poserrmy2_psf) > 0.0) ++ theta = atan2(2.0 * outobj2.poserrmxy_psf,temp) / 2.0; + else + theta = PI/4.0; + +- temp = sqrt(0.25*temp*temp+obj2->poserrmxy_psf*obj2->poserrmxy_psf); +- pmy2 = pmx2 = 0.5*(obj2->poserrmx2_psf+obj2->poserrmy2_psf); ++ temp = sqrt(0.25*temp*temp+outobj2.poserrmxy_psf*outobj2.poserrmxy_psf); ++ pmy2 = pmx2 = 0.5*(outobj2.poserrmx2_psf+outobj2.poserrmy2_psf); + pmx2+=temp; + pmy2-=temp; + +- obj2->poserra_psf = (float)sqrt(pmx2); +- obj2->poserrb_psf = (float)sqrt(pmy2); +- obj2->poserrtheta_psf = theta*180.0/PI; ++ outobj2.poserra_psf = (float)sqrt(pmx2); ++ outobj2.poserrb_psf = (float)sqrt(pmy2); ++ outobj2.poserrtheta_psf = theta*180.0/PI; + } + + /*------ ...Or ellipse parameters */ +@@ -1225,12 +1225,12 @@ + { + double xm2,ym2, xym, temp; + +- xm2 = obj2->poserrmx2_psf; +- ym2 = obj2->poserrmy2_psf; +- xym = obj2->poserrmxy_psf; +- obj2->poserrcxx_psf = (float)(ym2/(temp=xm2*ym2-xym*xym)); +- obj2->poserrcyy_psf = (float)(xm2/temp); +- obj2->poserrcxy_psf = (float)(-2*xym/temp); ++ xm2 = outobj2.poserrmx2_psf; ++ ym2 = outobj2.poserrmy2_psf; ++ xym = outobj2.poserrmxy_psf; ++ outobj2.poserrcxx_psf = (float)(ym2/(temp=xm2*ym2-xym*xym)); ++ outobj2.poserrcyy_psf = (float)(xm2/temp); ++ outobj2.poserrcxy_psf = (float)(-2*xym/temp); + } + return; + } diff --git a/sextractor.spec b/sextractor.spec index 32e68e7..0c72a43 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,12 +1,13 @@ Name: sextractor Version: 2.5.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering License: GPL URL: http://terapix.iap.fr/soft/%{name} Source0: ftp://ftp.iap.fr/pub/from_users/bertin/sextractor/%{name}-%{version}.tar.gz +Patch0: sextractor-pointer-alias.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description @@ -17,9 +18,10 @@ well on moderately crowded star fields. %prep %setup -q +%patch0 -p1 %build -%configure CPPFLAGS="-DXSL_URL=\\\"file://%{_datadir}/%{name}/%{name}.xsl\\\"" +%configure %{__make} %{?_smp_mflags} @@ -42,6 +44,9 @@ well on moderately crowded star fields. %{_datadir}/%{name}/* %changelog +* Wed Jul 26 2006 Sergio Pascual 2.5.0-4 +- Patch to resolve pointer aliasing problems (bug #199700) +- Removed -DXSL_URL flag, as the file sextractor.xsl does not exist yet * Mon Jul 24 2006 Sergio Pascual 2.5.0-3 - Reverting optimization to -O2, it breaks debug infos * Fri Jul 21 2006 Sergio Pascual 2.5.0-2 From d19afa76cf555e527024686d947e14f42d6d062b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 27 Aug 2006 21:08:22 +0000 Subject: [PATCH 06/62] http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild --- needs.rebuild | 1 + 1 file changed, 1 insertion(+) create mode 100644 needs.rebuild diff --git a/needs.rebuild b/needs.rebuild new file mode 100644 index 0000000..815fd29 --- /dev/null +++ b/needs.rebuild @@ -0,0 +1 @@ +http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild From 4dca145ef4fda83979559142a49b30df3866d987 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Tue, 29 Aug 2006 00:12:16 +0000 Subject: [PATCH 07/62] Successful rebuild for FE6 --- needs.rebuild | 1 - 1 file changed, 1 deletion(-) delete mode 100644 needs.rebuild diff --git a/needs.rebuild b/needs.rebuild deleted file mode 100644 index 815fd29..0000000 --- a/needs.rebuild +++ /dev/null @@ -1 +0,0 @@ -http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild From db54122e220c22efd74e834d70058476ba1b0326 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Mon, 11 Sep 2006 22:33:21 +0000 Subject: [PATCH 08/62] - Rebuilt for FC6. Wed Jul 26 2006 Sergio Pascual 2.5.0-4 - Patch to resolve pointer aliasing problems (bug #199700) - Removed -DXSL_URL flag, as the file sextractor.xsl does not exist yet Mon Jul 24 2006 Sergio Pascual 2.5.0-3 - Reverting optimization to -O2, it breaks debug infos Fri Jul 21 2006 Sergio Pascual 2.5.0-2 - fitsconv.c has correct permissions - changed optimization from -O2 to -O1 (bug #199700) - additional define allows VOTable output Wed Jul 19 2006 Sergio Pascual 2.5.0-1 - New upstream version 2.5.0 Tue Jun 20 2006 Sergio Pascual 2.4.4-2 - Fixed executable permission in src/fits/fitsconv.c - default.sex and default.param moved to docs Mon Jun 19 2006 Sergio Pascual 2.4.4-1 - Initial spec file. --- sextractor.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 0c72a43..465299f 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.5.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -44,6 +44,8 @@ well on moderately crowded star fields. %{_datadir}/%{name}/* %changelog +* Tue Sep 12 2006 Sergio Pascual 2.5.0-5 +- Rebuilt for FC6. * Wed Jul 26 2006 Sergio Pascual 2.5.0-4 - Patch to resolve pointer aliasing problems (bug #199700) - Removed -DXSL_URL flag, as the file sextractor.xsl does not exist yet From 4923854ede78513fb66320e5a44f41c6b6ea4fb6 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Mon, 20 Aug 2007 15:14:10 +0000 Subject: [PATCH 09/62] Modified License tag --- sextractor.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sextractor.spec b/sextractor.spec index 465299f..9c155e8 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -4,11 +4,11 @@ Release: 5%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering -License: GPL +License: GPLv2 URL: http://terapix.iap.fr/soft/%{name} Source0: ftp://ftp.iap.fr/pub/from_users/bertin/sextractor/%{name}-%{version}.tar.gz Patch0: sextractor-pointer-alias.patch -Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %description SExtractor is a program that builds a catalogue of objects from an @@ -26,6 +26,7 @@ well on moderately crowded star fields. %{__make} %{?_smp_mflags} %install +%{__rm} -fr %{buildroot} %{__make} DESTDIR=%{buildroot} install %{__mkdir_p} %{buildroot}%{_datadir}/%{name} %{__install} -m 644 -p config/*.conv %{buildroot}%{_datadir}/%{name} From 70b4b7bdf895605ef2b9dd4163191988d872dcb8 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Mon, 27 Aug 2007 13:54:14 +0000 Subject: [PATCH 10/62] - Rebuild for Fedora 8 to get the build-id Tue Sep 12 2006 Sergio Pascual 2.5.0-5 - Rebuilt for FC6. Wed Jul 26 2006 Sergio Pascual 2.5.0-4 - Patch to resolve pointer aliasing problems (bug #199700) - Removed -DXSL_URL flag, as the file sextractor.xsl does not exist yet Mon Jul 24 2006 Sergio Pascual 2.5.0-3 - Reverting optimization to -O2, it breaks debug infos Fri Jul 21 2006 Sergio Pascual 2.5.0-2 - fitsconv.c has correct permissions - changed optimization from -O2 to -O1 (bug #199700) - additional define allows VOTable output Wed Jul 19 2006 Sergio Pascual 2.5.0-1 - New upstream version 2.5.0 Tue Jun 20 2006 Sergio Pascual 2.4.4-2 - Fixed executable permission in src/fits/fitsconv.c - default.sex and default.param moved to docs Mon Jun 19 2006 Sergio Pascual 2.4.4-1 - Initial spec file. --- sextractor.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 9c155e8..6e95247 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.5.0 -Release: 5%{?dist} +Release: 5%{?dist}.1 Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -45,6 +45,8 @@ well on moderately crowded star fields. %{_datadir}/%{name}/* %changelog +* Mon Aug 27 2007 Sergio Pascual 2.5.0-5.1 +- Rebuild for Fedora 8 to get the build-id * Tue Sep 12 2006 Sergio Pascual 2.5.0-5 - Rebuilt for FC6. * Wed Jul 26 2006 Sergio Pascual 2.5.0-4 From 04e63de1a410cf062c2b3b38ee2e46bc269185cc Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 19 Feb 2008 23:41:12 +0000 Subject: [PATCH 11/62] - Autorebuild for GCC 4.3 --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 6e95247..95f8da0 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.5.0 -Release: 5%{?dist}.1 +Release: 6%{?dist}.1 Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -45,6 +45,9 @@ well on moderately crowded star fields. %{_datadir}/%{name}/* %changelog +* Tue Feb 19 2008 Fedora Release Engineering - 2.5.0-6.1 +- Autorebuild for GCC 4.3 + * Mon Aug 27 2007 Sergio Pascual 2.5.0-5.1 - Rebuild for Fedora 8 to get the build-id * Tue Sep 12 2006 Sergio Pascual 2.5.0-5 From 0ffc9f3b377ab2502a24a8c697ee3883d82761d9 Mon Sep 17 00:00:00 2001 From: Michael Schwendt Date: Mon, 1 Dec 2008 17:16:47 +0000 Subject: [PATCH 12/62] - Include unowned directory. --- sextractor.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sextractor.spec b/sextractor.spec index 95f8da0..217067d 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.5.0 -Release: 6%{?dist}.1 +Release: 7%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -42,9 +42,12 @@ well on moderately crowded star fields. %{_bindir}/* %{_mandir}/man1/* %{_mandir}/manx/* -%{_datadir}/%{name}/* +%{_datadir}/%{name}/ %changelog +* Mon Dec 1 2008 Michael Schwendt - 2.5.0-7 +- Include unowned directory. + * Tue Feb 19 2008 Fedora Release Engineering - 2.5.0-6.1 - Autorebuild for GCC 4.3 From 93e6d63618e54ebbad6b014656c3497b4fb49784 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Thu, 26 Feb 2009 00:42:23 +0000 Subject: [PATCH 13/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 217067d..4acb2aa 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.5.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -45,6 +45,9 @@ well on moderately crowded star fields. %{_datadir}/%{name}/ %changelog +* Wed Feb 25 2009 Fedora Release Engineering - 2.5.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Mon Dec 1 2008 Michael Schwendt - 2.5.0-7 - Include unowned directory. From dcddbcffd7e75d9f95d8dea4d77f7b9fc0b2d931 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Mon, 27 Jul 2009 04:13:48 +0000 Subject: [PATCH 14/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 4acb2aa..5285818 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.5.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -45,6 +45,9 @@ well on moderately crowded star fields. %{_datadir}/%{name}/ %changelog +* Sun Jul 26 2009 Fedora Release Engineering - 2.5.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Wed Feb 25 2009 Fedora Release Engineering - 2.5.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild From b0ecc06220694413a08812326065af507e2fcff8 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 23:15:30 +0000 Subject: [PATCH 15/62] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index f627a18..0f7daef 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: sextractor -# $Id$ +# $Id: Makefile,v 1.1 2006/06/21 07:53:56 sergiopr Exp $ NAME := sextractor SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From a397cc84d73fd8721bf70d897b78c55dbca9e193 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Wed, 23 Dec 2009 14:51:28 +0000 Subject: [PATCH 16/62] - New upstream source --- .cvsignore | 2 +- sextractor-cflags.patch | 29 + sextractor-pointer-alias.patch | 1421 ++++++++++++++++++++++---------- sextractor.spec | 40 +- sources | 2 +- 5 files changed, 1047 insertions(+), 447 deletions(-) create mode 100644 sextractor-cflags.patch diff --git a/.cvsignore b/.cvsignore index 8484e9c..0257ea4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -sextractor-2.5.0.tar.gz +sextractor-2.8.6.tar.gz diff --git a/sextractor-cflags.patch b/sextractor-cflags.patch new file mode 100644 index 0000000..155c99e --- /dev/null +++ b/sextractor-cflags.patch @@ -0,0 +1,29 @@ +diff -ur sextractor-2.8.6/configure sextractor-2.8.6.new/configure +--- sextractor-2.8.6/configure 2009-04-09 15:30:14.000000000 +0200 ++++ sextractor-2.8.6.new/configure 2009-08-26 16:39:05.000000000 +0200 +@@ -2487,10 +2487,10 @@ + cclist="cc gcc" + + # Backup and reset the input CFLAGS and LDFLAGS +-mycflags="$CFLAGS" +-CFLAGS="" +-myldflags="$LDFLAGS" +-LDFLAGS="" ++#mycflags="$CFLAGS" ++#CFLAGS="" ++#myldflags="$LDFLAGS" ++#LDFLAGS="" + + # Provide special option for the Linux Intel C compiler + { echo "$as_me:$LINENO: checking for Linux Intel C compiler mode" >&5 +@@ -4358,8 +4358,8 @@ + rm -f conftest.* + fi + if test -n "$prog_cc_optim_flags"; then +- CFLAGS="$CFLAGS $prog_cc_optim_flags" +- LDFLAGS="$LDFLAGS $prog_ld_optim_flags" ++ prog_cc_optim_flags="" ++ prog_ld_optim_flags="" + else + prog_cc_optim_flags="" + prog_ld_optim_flags="" diff --git a/sextractor-pointer-alias.patch b/sextractor-pointer-alias.patch index 8d703b7..7a3900d 100644 --- a/sextractor-pointer-alias.patch +++ b/sextractor-pointer-alias.patch @@ -1,16 +1,15 @@ -diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c ---- sextractor-2.5.0.old/src/analyse.c 2006-06-29 19:58:03.000000000 +0200 -+++ sextractor-2.5.0/src/analyse.c 2006-07-25 23:26:51.000000000 +0200 -@@ -41,7 +41,7 @@ +diff -ur sextractor-2.8.6/src/analyse.c sextractor-2.8.6.new/src/analyse.c +--- sextractor-2.8.6/src/analyse.c 2009-01-29 14:51:59.000000000 +0100 ++++ sextractor-2.8.6.new/src/analyse.c 2009-05-24 00:07:07.000000000 +0200 +@@ -42,7 +42,6 @@ #include "som.h" #include "winpos.h" -static obj2struct *obj2 = &outobj2; -+/* static obj2struct *obj2 = &outobj2; */ + extern profitstruct *theprofit; /********************************* analyse ***********************************/ - void analyse(picstruct *field, picstruct *dfield, int objnb, -@@ -403,11 +403,11 @@ +@@ -392,11 +391,11 @@ obj = &objlist->obj[n]; /* Current FITS extension */ @@ -25,7 +24,7 @@ diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c /* Integer coordinates */ ix=(int)(obj->mx+0.49999); -@@ -415,11 +415,11 @@ +@@ -404,11 +403,11 @@ /* Association */ if (prefs.assoc_flag) @@ -39,7 +38,7 @@ diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c else selecflag = 1; -@@ -450,9 +450,9 @@ +@@ -439,9 +438,9 @@ pmx2+=temp; pmy2-=temp; @@ -52,7 +51,7 @@ diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c } if (FLAG(obj2.poserr_cxx)) -@@ -462,32 +462,32 @@ +@@ -451,28 +450,28 @@ xm2 = obj->poserr_mx2; ym2 = obj->poserr_my2; xym = obj->poserr_mxy; @@ -86,16 +85,10 @@ diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c - obj2->fluxerr_iso = sqrt(obj->fluxerr); + outobj2.flux_iso = obj->flux; + outobj2.fluxerr_iso = sqrt(obj->fluxerr); - if (FLAG(obj.flux_prof)) - { -- obj2->flux_prof = obj->flux_prof; -- obj2->fluxerr_prof = sqrt(obj->fluxerr_prof); -+ outobj2.flux_prof = obj->flux_prof; -+ outobj2.fluxerr_prof = sqrt(obj->fluxerr_prof); - } if (FLAG(obj2.flux_isocor)) -@@ -526,14 +526,14 @@ + computeisocorflux(field, obj); +@@ -510,14 +509,14 @@ if (FLAG(obj2.flux_auto)) sexellips(check->pix, check->width, check->height, @@ -114,7 +107,7 @@ diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c check->overlay, obj->flag&OBJ_CROWDED); } -@@ -555,7 +555,7 @@ +@@ -539,7 +538,7 @@ input[++j] = log10(obj->iso[i]? obj->iso[i]/fac2: 0.01); input[++j] = log10(fwhm); neurresp(input, &output); @@ -123,9 +116,9 @@ diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c } /*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/ -@@ -604,8 +604,8 @@ +@@ -588,8 +587,8 @@ som_phot(thesom, obj->bkg, field->backsig, - (float)prefs.gain, obj->mx-ix, obj->my-iy, + (float)field->gain, obj->mx-ix, obj->my-iy, FLAG(obj2.vector_somfit)?outobj2.vector_somfit:NULL, -1.0); - obj2->stderr_somfit = thesom->stderror; - obj2->flux_somfit = thesom->amp; @@ -134,7 +127,7 @@ diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c outobj2.fluxerr_somfit = thesom->sigamp; } -@@ -628,7 +628,7 @@ +@@ -609,7 +608,7 @@ double_psf_fit(ppsf, field, wfield, obj, thepsf, dfield, dwfield); else psf_fit(thepsf, field, wfield, obj); @@ -143,7 +136,7 @@ diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c if (prefs.psfdisplay_type == PSFDISPLAY_SPLIT) { nsub = thepsfit->npsf; -@@ -639,18 +639,18 @@ +@@ -620,18 +619,18 @@ for (j=0; jnpsf; j++) { if (FLAG(obj2.x_psf) && jflux[j]) : 99.0; } } -@@ -670,20 +670,20 @@ +@@ -639,7 +638,7 @@ + /*----------------------------- Profile fitting -----------------------------*/ + nsub = 1; + if (prefs.prof_flag) +- profit_fit(theprofit, field, wfield, obj, obj2); ++ profit_fit(theprofit, field, wfield, obj, &outobj2); + + /*--- Express everything in magnitude units */ + computemags(field, obj); +@@ -659,20 +658,20 @@ if (prefs.psf_flag && prefs.psfdisplay_type == PSFDISPLAY_SPLIT) { if (FLAG(obj2.x_psf)) @@ -198,7 +200,7 @@ diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c if (j) obj->number = ++thecat.ntotal; } -@@ -714,7 +714,7 @@ +@@ -722,7 +721,7 @@ { if (prefs.somfit_flag && (check=prefs.check[CHECK_MAPSOM])) blankcheck(check, obj->blank, obj->subw, obj->subh, @@ -207,181 +209,261 @@ diff -ur sextractor-2.5.0.old/src/analyse.c sextractor-2.5.0/src/analyse.c } blankimage(field, obj->blank, obj->subw, obj->subh, -diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c ---- sextractor-2.5.0.old/src/astrom.c 2006-07-13 19:13:09.000000000 +0200 -+++ sextractor-2.5.0/src/astrom.c 2006-07-25 23:27:21.000000000 +0200 -@@ -29,7 +29,7 @@ - #include "astrom.h" +Only in sextractor-2.8.6.new/src: analyse.o +diff -ur sextractor-2.8.6/src/astrom.c sextractor-2.8.6.new/src/astrom.c +--- sextractor-2.8.6/src/astrom.c 2009-01-29 14:52:00.000000000 +0100 ++++ sextractor-2.8.6.new/src/astrom.c 2009-05-24 00:07:27.000000000 +0200 +@@ -30,7 +30,6 @@ + #include "fitswcs.h" #include "wcs/tnx.h" -static obj2struct *obj2 = &outobj2; -+/* static obj2struct *obj2 = &outobj2; */ /****************************** initastrom **********************************/ /* -@@ -169,32 +169,32 @@ +@@ -99,46 +98,46 @@ + /* If working with WCS, compute WORLD coordinates and local matrix */ + if (FLAG(obj2.mxw)) { - if (as->wcs_flag) +- rawpos[0] = obj2->posx; +- rawpos[1] = obj2->posy; ++ rawpos[0] = outobj2.posx; ++ rawpos[1] = outobj2.posy; + raw_to_wcs(wcs, rawpos, wcspos); +- obj2->mxw = wcspos[0]; +- obj2->myw = wcspos[1]; ++ outobj2.mxw = wcspos[0]; ++ outobj2.myw = wcspos[1]; + if (lng != lat) { -- wcspos = compute_wcs(field, obj2->posx, obj2->posy); -- obj2->alphas = obj2->mxw = wcspos[0]; -- obj2->deltas = obj2->myw = wcspos[1]; -+ wcspos = compute_wcs(field, outobj2.posx, outobj2.posy); -+ outobj2.alphas = outobj2.mxw = wcspos[0]; -+ outobj2.deltas = outobj2.myw = wcspos[1]; +- obj2->alphas = lngmxw : obj2->myw; +- obj2->deltas = lngmyw : obj2->mxw; ++ outobj2.alphas = lngequinox-2000.0)>0.003) - precess(as->equinox, wcspos[0], wcspos[1], + if (fabs(wcs->equinox-2000.0)>0.003) + precess(wcs->equinox, wcspos[lngalpha2000, &obj2->delta2000); + 2000.0, &outobj2.alpha2000, &outobj2.delta2000); else { -- obj2->alpha2000 = obj2->mxw; -- obj2->delta2000 = obj2->myw; -+ outobj2.alpha2000 = outobj2.mxw; -+ outobj2.delta2000 = outobj2.myw; +- obj2->alpha2000 = lngmxw : obj2->myw; +- obj2->delta2000 = lngmyw : obj2->mxw; ++ outobj2.alpha2000 = lngap2000 - obj2->alpha2000; ++ da = wcs->ap2000 - outobj2.alpha2000; + dd = (sin(wcs->dp2000*DEG) +- -sin(obj2->delta2000*DEG)*sin(obj2->deltas*DEG)) +- /(cos(obj2->delta2000*DEG)*cos(obj2->deltas*DEG)); ++ -sin(outobj2.delta2000*DEG)*sin(outobj2.deltas*DEG)) ++ /(cos(outobj2.delta2000*DEG)*cos(outobj2.deltas*DEG)); + dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; +- obj2->dtheta2000 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); ++ outobj2.dtheta2000 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); } if (FLAG(obj2.alpha1950)) -- j2b(as->equinox, obj2->alpha2000, obj2->delta2000, + { +- j2b(wcs->equinox, obj2->alpha2000, obj2->delta2000, - &obj2->alpha1950, &obj2->delta1950); -+ j2b(as->equinox, outobj2.alpha2000, outobj2.delta2000, ++ j2b(wcs->equinox, outobj2.alpha2000, outobj2.delta2000, + &outobj2.alpha1950, &outobj2.delta1950); + if (FLAG(obj2.dtheta1950)) + { +- da = wcs->ap1950 - obj2->alpha1950; ++ da = wcs->ap1950 - outobj2.alpha1950; + dd = (sin(wcs->dp1950*DEG) +- -sin(obj2->delta1950*DEG)*sin(obj2->deltas*DEG)) +- /(cos(obj2->delta1950*DEG)*cos(obj2->deltas*DEG)); ++ -sin(outobj2.delta1950*DEG)*sin(outobj2.deltas*DEG)) ++ /(cos(outobj2.delta1950*DEG)*cos(outobj2.deltas*DEG)); + dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; +- obj2->dtheta1950 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); ++ outobj2.dtheta1950 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); + } + } } - } - else +@@ -151,25 +150,25 @@ + rawpos[0] = obj->peakx; + rawpos[1] = obj->peaky; + raw_to_wcs(wcs, rawpos, wcspos); +- obj2->peakxw = wcspos[0]; +- obj2->peakyw = wcspos[1]; ++ outobj2.peakxw = wcspos[0]; ++ outobj2.peakyw = wcspos[1]; + if (lng != lat) { - double dx,dy; - -- dx = obj2->posx - as->crpix[0]; -- dy = obj2->posy - as->crpix[1]; -- obj2->mxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */ -- obj2->myw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */ -+ dx = outobj2.posx - as->crpix[0]; -+ dy = outobj2.posy - as->crpix[1]; -+ outobj2.mxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */ -+ outobj2.myw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */ - } - } - -@@ -204,21 +204,21 @@ - if (as->wcs_flag) - { - wcspos = compute_wcs(field, (double)obj->peakx, (double)obj->peaky); -- obj2->peakalphas = obj2->peakxw = wcspos[0]; -- obj2->peakdeltas = obj2->peakyw = wcspos[1]; -+ outobj2.peakalphas = outobj2.peakxw = wcspos[0]; -+ outobj2.peakdeltas = outobj2.peakyw = wcspos[1]; +- obj2->peakalphas = lngpeakxw : obj2->peakyw; +- obj2->peakdeltas = lngpeakyw : obj2->peakxw; ++ outobj2.peakalphas = lngequinox-2000.0)>0.003) - precess(as->equinox, wcspos[0], wcspos[1], + if (fabs(wcs->equinox-2000.0)>0.003) + precess(wcs->equinox, wcspos[lngpeakalpha2000, &obj2->peakdelta2000); + 2000.0, &outobj2.peakalpha2000, &outobj2.peakdelta2000); else { -- obj2->peakalpha2000 = obj2->peakxw; -- obj2->peakdelta2000 = obj2->peakyw; -+ outobj2.peakalpha2000 = outobj2.peakxw; -+ outobj2.peakdelta2000 = outobj2.peakyw; +- obj2->peakalpha2000 = lngpeakxw : obj2->peakyw; +- obj2->peakdelta2000 = lngpeakyw : obj2->peakxw; ++ outobj2.peakalpha2000 = lngequinox, obj2->peakalpha2000, obj2->peakdelta2000, +- j2b(wcs->equinox, obj2->peakalpha2000, obj2->peakdelta2000, - &obj2->peakalpha1950, &obj2->peakdelta1950); -+ j2b(as->equinox, outobj2.peakalpha2000, outobj2.peakdelta2000, ++ j2b(wcs->equinox, outobj2.peakalpha2000, outobj2.peakdelta2000, + &outobj2.peakalpha1950, &outobj2.peakdelta1950); } } - else -@@ -227,8 +227,8 @@ - - dx = obj->peakx - as->crpix[0]; - dy = obj->peaky - as->crpix[1]; -- obj2->peakxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */ -- obj2->peakyw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */ -+ outobj2.peakxw = as->crval[0]+ lm[0]*dx + lm[1]*dy; /* CDELT included! */ -+ outobj2.peakyw = as->crval[1]+ lm[2]*dx + lm[3]*dy; /* CDELT included! */ - } } - -@@ -237,32 +237,32 @@ +@@ -177,28 +176,28 @@ + /* Idem for Windowed positions */ + if (FLAG(obj2.winpos_xw)) { - if (as->wcs_flag) +- rawpos[0] = obj2->winpos_x; +- rawpos[1] = obj2->winpos_y; ++ rawpos[0] = outobj2.winpos_x; ++ rawpos[1] = outobj2.winpos_y; + raw_to_wcs(wcs, rawpos, wcspos); +- obj2->winpos_xw = wcspos[0]; +- obj2->winpos_yw = wcspos[1]; ++ outobj2.winpos_xw = wcspos[0]; ++ outobj2.winpos_yw = wcspos[1]; + if (lng != lat) { -- wcspos = compute_wcs(field, obj2->winpos_x, obj2->winpos_y); -- obj2->winpos_alphas = obj2->winpos_xw = wcspos[0]; -- obj2->winpos_deltas = obj2->winpos_yw = wcspos[1]; -+ wcspos = compute_wcs(field, outobj2.winpos_x, outobj2.winpos_y); -+ outobj2.winpos_alphas = outobj2.winpos_xw = wcspos[0]; -+ outobj2.winpos_deltas = outobj2.winpos_yw = wcspos[1]; +- obj2->winpos_alphas = lngwinpos_xw : obj2->winpos_yw; +- obj2->winpos_deltas = lngwinpos_yw : obj2->winpos_xw; ++ outobj2.winpos_alphas = lngequinox-2000.0)>0.003) - precess(as->equinox, wcspos[0], wcspos[1], + if (fabs(wcs->equinox-2000.0)>0.003) + precess(wcs->equinox, wcspos[0], wcspos[1], - 2000.0, &obj2->winpos_alpha2000, &obj2->winpos_delta2000); + 2000.0, &outobj2.winpos_alpha2000, &outobj2.winpos_delta2000); else { -- obj2->winpos_alpha2000 = obj2->winpos_xw; -- obj2->winpos_delta2000 = obj2->winpos_yw; -+ outobj2.winpos_alpha2000 = outobj2.winpos_xw; -+ outobj2.winpos_delta2000 = outobj2.winpos_yw; +- obj2->winpos_alpha2000 = lngwinpos_xw : obj2->winpos_yw; +- obj2->winpos_delta2000 = lngwinpos_yw : obj2->winpos_xw; ++ outobj2.winpos_alpha2000 = lngequinox, obj2->winpos_alpha2000, obj2->winpos_delta2000, +- j2b(wcs->equinox, obj2->winpos_alpha2000, obj2->winpos_delta2000, - &obj2->winpos_alpha1950, &obj2->winpos_delta1950); -+ j2b(as->equinox, outobj2.winpos_alpha2000, outobj2.winpos_delta2000, ++ j2b(wcs->equinox, outobj2.winpos_alpha2000, outobj2.winpos_delta2000, + &outobj2.winpos_alpha1950, &outobj2.winpos_delta1950); } } - else + } +@@ -206,28 +205,28 @@ + /* Idem for Model-fitted positions */ + if (FLAG(obj2.xw_prof)) + { +- rawpos[0] = obj2->x_prof; +- rawpos[1] = obj2->y_prof; ++ rawpos[0] = outobj2.x_prof; ++ rawpos[1] = outobj2.y_prof; + raw_to_wcs(wcs, rawpos, wcspos); +- obj2->xw_prof = wcspos[0]; +- obj2->yw_prof = wcspos[1]; ++ outobj2.xw_prof = wcspos[0]; ++ outobj2.yw_prof = wcspos[1]; + if (lng != lat) { - double dx,dy; - -- dx = obj2->winpos_x - as->crpix[0]; -- dy = obj2->winpos_y - as->crpix[1]; -- obj2->winpos_xw = as->crval[0]+ lm[0]*dx + lm[1]*dy;/* CDELT included! */ -- obj2->winpos_yw = as->crval[1]+ lm[2]*dx + lm[3]*dy;/* CDELT included! */ -+ dx = outobj2.winpos_x - as->crpix[0]; -+ dy = outobj2.winpos_y - as->crpix[1]; -+ outobj2.winpos_xw = as->crval[0]+ lm[0]*dx + lm[1]*dy;/* CDELT included! */ -+ outobj2.winpos_yw = as->crval[1]+ lm[2]*dx + lm[3]*dy;/* CDELT included! */ +- obj2->alphas_prof = lngxw_prof : obj2->yw_prof; +- obj2->deltas_prof = lngyw_prof : obj2->xw_prof; ++ outobj2.alphas_prof = lngequinox-2000.0)>0.003) + precess(wcs->equinox, wcspos[0], wcspos[1], +- 2000.0, &obj2->alpha2000_prof, &obj2->delta2000_prof); ++ 2000.0, &outobj2.alpha2000_prof, &outobj2.delta2000_prof); + else + { +- obj2->alpha2000_prof = lngxw_prof : obj2->yw_prof; +- obj2->delta2000_prof = lngyw_prof : obj2->xw_prof; ++ outobj2.alpha2000_prof = lngequinox, obj2->alpha2000_prof, obj2->delta2000_prof, +- &obj2->alpha1950_prof, &obj2->delta1950_prof); ++ j2b(wcs->equinox, outobj2.alpha2000_prof, outobj2.delta2000_prof, ++ &outobj2.alpha1950_prof, &outobj2.delta1950_prof); + } } } - -@@ -271,11 +271,11 @@ +@@ -235,11 +234,11 @@ + /* Custom coordinate system for the MAMA machine */ + if (FLAG(obj2.mamaposx)) { - double dx,dy; +- rawpos[0] = obj2->posx - 0.5; +- rawpos[1] = obj2->posy - 0.5; ++ rawpos[0] = outobj2.posx - 0.5; ++ rawpos[1] = outobj2.posy - 0.5; + raw_to_wcs(wcs, rawpos, wcspos); +- obj2->mamaposx = wcspos[1]*(MAMA_CORFLEX+1.0); +- obj2->mamaposy = wcspos[0]*(MAMA_CORFLEX+1.0); ++ outobj2.mamaposx = wcspos[1]*(MAMA_CORFLEX+1.0); ++ outobj2.mamaposy = wcspos[0]*(MAMA_CORFLEX+1.0); + } -- dx = obj2->posx - 0.5; -- dy = obj2->posy - 0.5; -- obj2->mamaposx = (as->crval[1]+lm[2]*dx+lm[3]*dy) -+ dx = outobj2.posx - 0.5; -+ dy = outobj2.posy - 0.5; -+ outobj2.mamaposx = (as->crval[1]+lm[2]*dx+lm[3]*dy) - *(MAMA_CORFLEX+1.0); /* CDELT included! */ -- obj2->mamaposy = (as->crval[0]+lm[0]*dx+lm[1]*dy); /* CDELT included! */ -+ outobj2.mamaposy = (as->crval[0]+lm[0]*dx+lm[1]*dy); /* CDELT included! */ + if (FLAG(obj2.mx2w) +@@ -252,9 +251,9 @@ + || FLAG(obj2.fdnpixw) + || FLAG(obj2.fwhmw)))) + { +- rawpos[0] = obj2->posx; +- rawpos[1] = obj2->posy; +- pixscale2 = wcs_jacobian(wcs, rawpos, obj2->jacob); ++ rawpos[0] = outobj2.posx; ++ rawpos[1] = outobj2.posy; ++ pixscale2 = wcs_jacobian(wcs, rawpos, outobj2.jacob); } /* Express shape parameters in WORLD frame */ -@@ -291,12 +291,12 @@ - astrom_winerrparam(field, obj); +@@ -274,14 +273,14 @@ + astrom_proferrparam(field, obj); if (FLAG(obj2.npixw)) -- obj2->npixw = obj->npix*as->pixscale*as->pixscale; -+ outobj2.npixw = obj->npix*as->pixscale*as->pixscale; +- obj2->npixw = obj->npix * (prefs.pixel_scale? ++ outobj2.npixw = obj->npix * (prefs.pixel_scale? + field->pixscale/3600.0*field->pixscale/3600.0 : pixscale2); if (FLAG(obj2.fdnpixw)) -- obj2->fdnpixw = obj->fdnpix*as->pixscale*as->pixscale; -+ outobj2.fdnpixw = obj->fdnpix*as->pixscale*as->pixscale; +- obj2->fdnpixw = obj->fdnpix * (prefs.pixel_scale? ++ outobj2.fdnpixw = obj->fdnpix * (prefs.pixel_scale? + field->pixscale/3600.0*field->pixscale/3600.0 : pixscale2); if (FLAG(obj2.fwhmw)) -- obj2->fwhmw = obj->fwhm*as->pixscale; -+ outobj2.fwhmw = obj->fwhm*as->pixscale; +- obj2->fwhmw = obj->fwhm * (prefs.pixel_scale? ++ outobj2.fwhmw = obj->fwhm * (prefs.pixel_scale? + field->pixscale/3600.0 : sqrt(pixscale2)); return; - } -@@ -417,15 +417,15 @@ +@@ -307,36 +306,36 @@ + lng = 0; + lat = 1; + } +- lm0 = obj2->jacob[lng+naxis*lng]; +- lm1 = obj2->jacob[lat+naxis*lng]; +- lm2 = obj2->jacob[lng+naxis*lat]; +- lm3 = obj2->jacob[lat+naxis*lat]; ++ lm0 = outobj2.jacob[lng+naxis*lng]; ++ lm1 = outobj2.jacob[lat+naxis*lng]; ++ lm2 = outobj2.jacob[lng+naxis*lat]; ++ lm3 = outobj2.jacob[lat+naxis*lat]; + + + /* All WORLD params based on 2nd order moments have to pass through here */ dx2 = obj->mx2; dy2 = obj->my2; dxy = obj->mxy; @@ -394,47 +476,30 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c temp=xm2-ym2; if (FLAG(obj2.thetaw)) { -- obj2->thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG); -+ outobj2.thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG); - if (as->wcs_flag && FLAG(obj2.thetas)) -- obj2->thetas = obj2->thetaw + (obj2->thetaw>0.0?-90:90.0); -+ outobj2.thetas = outobj2.thetaw + (outobj2.thetaw>0.0?-90:90.0); +- obj2->thetaw = fmod_m90_p90((temp == 0.0)? ++ outobj2.thetaw = fmod_m90_p90((temp == 0.0)? + (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG)); /*-- Compute position angles in J2000 or B1950 reference frame */ - if (as->wcs_flag) -@@ -434,23 +434,23 @@ - + if (wcs->lng != wcs->lat) + { + if (FLAG(obj2.thetas)) +- obj2->thetas = fmod_m90_p90(lngthetaw>0.0?90:-90.0) - obj2->thetaw) +- : obj2->thetaw); ++ outobj2.thetas = fmod_m90_p90(lng0.0?90:-90.0) - outobj2.thetaw) ++ : outobj2.thetaw); if (FLAG(obj2.theta2000)) - { -- da = as->ap2000 - obj2->alpha2000; -+ da = as->ap2000 - outobj2.alpha2000; - dd = (sin(as->dp2000*DEG) -- -sin(obj2->delta2000*DEG)*sin(obj2->deltas*DEG)) -- /(cos(obj2->delta2000*DEG)*cos(obj2->deltas*DEG)); -+ -sin(outobj2.delta2000*DEG)*sin(outobj2.deltas*DEG)) -+ /(cos(outobj2.delta2000*DEG)*cos(outobj2.deltas*DEG)); - dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; -- obj2->theta2000 = obj2->thetas -+ outobj2.theta2000 = outobj2.thetas - + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); - } - +- obj2->theta2000 = fmod_m90_p90(obj2->thetas + obj2->dtheta2000); ++ outobj2.theta2000 = fmod_m90_p90(outobj2.thetas + outobj2.dtheta2000); if (FLAG(obj2.theta1950)) - { -- da = as->ap1950 - obj2->alpha1950; -+ da = as->ap1950 - outobj2.alpha1950; - dd = (sin(as->dp1950*DEG) -- -sin(obj2->delta1950*DEG)*sin(obj2->deltas*DEG)) -- /(cos(obj2->delta1950*DEG)*cos(obj2->deltas*DEG)); -+ -sin(outobj2.delta1950*DEG)*sin(outobj2.deltas*DEG)) -+ /(cos(outobj2.delta1950*DEG)*cos(outobj2.deltas*DEG)); - dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; -- obj2->theta1950 = obj2->thetas -+ outobj2.theta1950 = outobj2.thetas - + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); - } +- obj2->theta1950 = fmod_m90_p90(obj2->thetas + obj2->dtheta1950); ++ outobj2.theta1950 = fmod_m90_p90(outobj2.thetas + outobj2.dtheta1950); } -@@ -460,9 +460,9 @@ + } + +@@ -344,9 +343,9 @@ { temp = sqrt(0.25*temp*temp+xym*xym); pm2 = 0.5*(xm2+ym2); @@ -447,7 +512,7 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c } if (FLAG(obj2.cxxw)) -@@ -473,9 +473,9 @@ +@@ -357,9 +356,9 @@ temp = 1e-6; xym *= 0.99999; } @@ -460,8 +525,18 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c } return; -@@ -510,19 +510,19 @@ - lm3 = lm[lat+naxis*lat]; +@@ -385,35 +384,35 @@ + lng = 0; + lat = 1; + } +- lm0 = obj2->jacob[lng+naxis*lng]; +- lm1 = obj2->jacob[lat+naxis*lng]; +- lm2 = obj2->jacob[lng+naxis*lat]; +- lm3 = obj2->jacob[lat+naxis*lat]; ++ lm0 = outobj2.jacob[lng+naxis*lng]; ++ lm1 = outobj2.jacob[lat+naxis*lng]; ++ lm2 = outobj2.jacob[lng+naxis*lat]; ++ lm3 = outobj2.jacob[lat+naxis*lat]; /* All WORLD params based on 2nd order moments have to pass through here */ - dx2 = obj2->win_mx2; @@ -479,49 +554,30 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c temp=xm2-ym2; if (FLAG(obj2.win_thetaw)) { -- obj2->win_thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0*xym,temp)/DEG); -+ outobj2.win_thetaw = (temp == 0.0)? (45.0) : (0.5*atan2(2.0*xym,temp)/DEG); - if (as->wcs_flag && FLAG(obj2.win_thetas)) -- obj2->win_thetas = obj2->win_thetaw + -- (obj2->win_thetaw>0.0?-90:90.0); -+ outobj2.win_thetas = outobj2.win_thetaw + -+ (outobj2.win_thetaw>0.0?-90:90.0); +- obj2->win_thetaw = fmod_m90_p90((temp == 0.0)? ++ outobj2.win_thetaw = fmod_m90_p90((temp == 0.0)? + (45.0) : (0.5*atan2(2.0*xym,temp)/DEG)); /*-- Compute position angles in J2000 or B1950 reference frame */ - if (as->wcs_flag) -@@ -531,23 +531,23 @@ - + if (wcs->lng != wcs->lat) + { + if (FLAG(obj2.win_thetas)) +- obj2->win_thetas = fmod_m90_p90(lngwin_thetaw>0.0?90:-90.0) - obj2->win_thetaw) +- : obj2->win_thetaw); ++ outobj2.win_thetas = fmod_m90_p90(lng0.0?90:-90.0) - outobj2.win_thetaw) ++ : outobj2.win_thetaw); if (FLAG(obj2.win_theta2000)) - { -- da = as->ap2000 - obj2->winpos_alpha2000; -+ da = as->ap2000 - outobj2.winpos_alpha2000; - dd = (sin(as->dp2000*DEG) -- -sin(obj2->winpos_delta2000*DEG)*sin(obj2->winpos_deltas*DEG)) -- /(cos(obj2->winpos_delta2000*DEG)*cos(obj2->winpos_deltas*DEG)); -+ -sin(outobj2.winpos_delta2000*DEG)*sin(outobj2.winpos_deltas*DEG)) -+ /(cos(outobj2.winpos_delta2000*DEG)*cos(outobj2.winpos_deltas*DEG)); - dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; -- obj2->win_theta2000 = obj2->win_thetas -+ outobj2.win_theta2000 = outobj2.win_thetas - + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); - } - +- obj2->win_theta2000 = fmod_m90_p90(obj2->win_thetas + obj2->dtheta2000); ++ outobj2.win_theta2000 = fmod_m90_p90(outobj2.win_thetas + outobj2.dtheta2000); if (FLAG(obj2.win_theta1950)) - { -- da = as->ap1950 - obj2->winpos_alpha1950; -+ da = as->ap1950 - outobj2.winpos_alpha1950; - dd = (sin(as->dp1950*DEG) -- -sin(obj2->winpos_delta1950*DEG)*sin(obj2->winpos_deltas*DEG)) -- /(cos(obj2->winpos_delta1950*DEG)*cos(obj2->winpos_deltas*DEG)); -+ -sin(outobj2.winpos_delta1950*DEG)*sin(outobj2.winpos_deltas*DEG)) -+ /(cos(outobj2.winpos_delta1950*DEG)*cos(outobj2.winpos_deltas*DEG)); - dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; -- obj2->win_theta1950 = obj2->win_thetas -+ outobj2.win_theta1950 = outobj2.win_thetas - + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); - } +- obj2->win_theta1950 = fmod_m90_p90(obj2->win_thetas + obj2->dtheta1950); ++ outobj2.win_theta1950 = fmod_m90_p90(outobj2.win_thetas + outobj2.dtheta1950); } -@@ -557,9 +557,9 @@ + } + +@@ -421,9 +420,9 @@ { temp = sqrt(0.25*temp*temp+xym*xym); pm2 = 0.5*(xm2+ym2); @@ -534,7 +590,7 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c } if (FLAG(obj2.win_cxxw)) -@@ -570,9 +570,9 @@ +@@ -434,9 +433,9 @@ temp = 1e-6; xym *= 0.99999; } @@ -547,7 +603,20 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c } return; -@@ -610,16 +610,16 @@ +@@ -462,37 +461,37 @@ + lng = 0; + lat = 1; + } +- lm0 = obj2->jacob[lng+naxis*lng]; +- lm1 = obj2->jacob[lat+naxis*lng]; +- lm2 = obj2->jacob[lng+naxis*lat]; +- lm3 = obj2->jacob[lat+naxis*lat]; ++ lm0 = outobj2.jacob[lng+naxis*lng]; ++ lm1 = outobj2.jacob[lat+naxis*lng]; ++ lm2 = outobj2.jacob[lng+naxis*lat]; ++ lm3 = outobj2.jacob[lat+naxis*lat]; + + /* All WORLD params based on 2nd order moments have to pass through here */ dx2 = obj->poserr_mx2; dy2 = obj->poserr_my2; dxy = obj->poserr_mxy; @@ -560,49 +629,34 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c temp=xm2-ym2; if (FLAG(obj2.poserr_thetaw)) { -- obj2->poserr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG); -+ outobj2.poserr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG); - if (as->wcs_flag && FLAG(obj2.poserr_thetas)) -- obj2->poserr_thetas = obj2->poserr_thetaw -- + (obj2->poserr_thetaw>0.0? -90:90.0); -+ outobj2.poserr_thetas = outobj2.poserr_thetaw -+ + (outobj2.poserr_thetaw>0.0? -90:90.0); +- obj2->poserr_thetaw = fmod_m90_p90((temp==0.0)? ++ outobj2.poserr_thetaw = fmod_m90_p90((temp==0.0)? + (45.0):(0.5*atan2(2.0*xym,temp)/DEG)); /*-- Compute position angles in J2000 or B1950 reference frame */ - if (as->wcs_flag) -@@ -628,23 +628,23 @@ - + if (wcs->lng != wcs->lat) + { + if (FLAG(obj2.poserr_thetas)) +- obj2->poserr_thetas = fmod_m90_p90(lngposerr_thetaw>0.0?90:-90.0) - obj2->poserr_thetaw) +- : obj2->poserr_thetaw); ++ outobj2.poserr_thetas = fmod_m90_p90(lng0.0?90:-90.0) - outobj2.poserr_thetaw) ++ : outobj2.poserr_thetaw); if (FLAG(obj2.poserr_theta2000)) - { -- da = as->ap2000 - obj2->alpha2000; -+ da = as->ap2000 - outobj2.alpha2000; - dd = (sin(as->dp2000*DEG) -- -sin(obj2->delta2000*DEG)*sin(obj2->deltas*DEG)) -- /(cos(obj2->delta2000*DEG)*cos(obj2->deltas*DEG)); -+ -sin(outobj2.delta2000*DEG)*sin(outobj2.deltas*DEG)) -+ /(cos(outobj2.delta2000*DEG)*cos(outobj2.deltas*DEG)); - dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; -- obj2->poserr_theta2000 = obj2->poserr_thetas -+ outobj2.poserr_theta2000 = outobj2.poserr_thetas - + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); - } - +- obj2->poserr_theta2000 = fmod_m90_p90(obj2->poserr_thetas +- + obj2->dtheta2000); ++ outobj2.poserr_theta2000 = fmod_m90_p90(outobj2.poserr_thetas ++ + outobj2.dtheta2000); if (FLAG(obj2.poserr_theta1950)) - { -- da = as->ap1950 - obj2->alpha1950; -+ da = as->ap1950 - outobj2.alpha1950; - dd = (sin(as->dp1950*DEG) -- -sin(obj2->delta1950*DEG)*sin(obj2->deltas*DEG)) -- /(cos(obj2->delta1950*DEG)*cos(obj2->deltas*DEG)); -+ -sin(outobj2.delta1950*DEG)*sin(outobj2.deltas*DEG)) -+ /(cos(outobj2.delta1950*DEG)*cos(outobj2.deltas*DEG)); - dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; -- obj2->poserr_theta1950 = obj2->poserr_thetas -+ outobj2.poserr_theta1950 = outobj2.poserr_thetas - + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); - } +- obj2->poserr_theta1950 = fmod_m90_p90(obj2->poserr_thetas +- + obj2->dtheta1950); ++ outobj2.poserr_theta1950 = fmod_m90_p90(outobj2.poserr_thetas ++ + outobj2.dtheta1950); } -@@ -654,8 +654,8 @@ + } + +@@ -500,8 +499,8 @@ { temp = sqrt(0.25*temp*temp+xym*xym); pm2 = 0.5*(xm2+ym2); @@ -613,7 +667,7 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c } if (FLAG(obj2.poserr_cxxw)) -@@ -666,9 +666,9 @@ +@@ -512,9 +511,9 @@ temp = 1e-6; xym *= 0.99999; } @@ -626,8 +680,18 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c } return; -@@ -703,19 +703,19 @@ - lm3 = lm[lat+naxis*lat]; +@@ -540,37 +539,37 @@ + lng = 0; + lat = 1; + } +- lm0 = obj2->jacob[lng+naxis*lng]; +- lm1 = obj2->jacob[lat+naxis*lng]; +- lm2 = obj2->jacob[lng+naxis*lat]; +- lm3 = obj2->jacob[lat+naxis*lat]; ++ lm0 = outobj2.jacob[lng+naxis*lng]; ++ lm1 = outobj2.jacob[lat+naxis*lng]; ++ lm2 = outobj2.jacob[lng+naxis*lat]; ++ lm3 = outobj2.jacob[lat+naxis*lat]; /* All WORLD params based on 2nd order moments have to pass through here */ - dx2 = obj2->winposerr_mx2; @@ -645,49 +709,34 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c temp=xm2-ym2; if (FLAG(obj2.winposerr_thetaw)) { -- obj2->winposerr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG); -+ outobj2.winposerr_thetaw = (temp==0.0)? (45.0):(0.5*atan2(2.0*xym,temp)/DEG); - if (as->wcs_flag && FLAG(obj2.winposerr_thetas)) -- obj2->winposerr_thetas = obj2->winposerr_thetaw -- + (obj2->winposerr_thetaw>0.0? -90:90.0); -+ outobj2.winposerr_thetas = outobj2.winposerr_thetaw -+ + (outobj2.winposerr_thetaw>0.0? -90:90.0); +- obj2->winposerr_thetaw = (fmod_m90_p90(temp==0.0)? ++ outobj2.winposerr_thetaw = (fmod_m90_p90(temp==0.0)? + (45.0):(0.5*atan2(2.0*xym,temp)/DEG)); /*-- Compute position angles in J2000 or B1950 reference frame */ - if (as->wcs_flag) -@@ -724,23 +724,23 @@ - + if (wcs->lng != wcs->lat) + { + if (FLAG(obj2.winposerr_thetas)) +- obj2->winposerr_thetas = fmod_m90_p90(lngwinposerr_thetaw>0.0?90:-90.0) - obj2->winposerr_thetaw) +- : obj2->winposerr_thetaw); ++ outobj2.winposerr_thetas = fmod_m90_p90(lng0.0?90:-90.0) - outobj2.winposerr_thetaw) ++ : outobj2.winposerr_thetaw); if (FLAG(obj2.winposerr_theta2000)) - { -- da = as->ap2000 - obj2->winpos_alpha2000; -+ da = as->ap2000 - outobj2.winpos_alpha2000; - dd = (sin(as->dp2000*DEG) -- -sin(obj2->winpos_delta2000*DEG)*sin(obj2->winpos_deltas*DEG)) -- /(cos(obj2->winpos_delta2000*DEG)*cos(obj2->winpos_deltas*DEG)); -+ -sin(outobj2.winpos_delta2000*DEG)*sin(outobj2.winpos_deltas*DEG)) -+ /(cos(outobj2.winpos_delta2000*DEG)*cos(outobj2.winpos_deltas*DEG)); - dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; -- obj2->winposerr_theta2000 = obj2->winposerr_thetas -+ outobj2.winposerr_theta2000 = outobj2.winposerr_thetas - + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); - } - +- obj2->winposerr_theta2000 = fmod_m90_p90(obj2->winposerr_thetas +- + obj2->dtheta2000); ++ outobj2.winposerr_theta2000 = fmod_m90_p90(outobj2.winposerr_thetas ++ + outobj2.dtheta2000); if (FLAG(obj2.winposerr_theta1950)) - { -- da = as->ap1950 - obj2->winpos_alpha1950; -+ da = as->ap1950 - outobj2.winpos_alpha1950; - dd = (sin(as->dp1950*DEG) -- -sin(obj2->winpos_delta1950*DEG)*sin(obj2->winpos_deltas*DEG)) -- /(cos(obj2->winpos_delta1950*DEG)*cos(obj2->winpos_deltas*DEG)); -+ -sin(outobj2.winpos_delta1950*DEG)*sin(outobj2.winpos_deltas*DEG)) -+ /(cos(outobj2.winpos_delta1950*DEG)*cos(outobj2.winpos_deltas*DEG)); - dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; -- obj2->winposerr_theta1950 = obj2->winposerr_thetas -+ outobj2.winposerr_theta1950 = outobj2.winposerr_thetas - + (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); - } +- obj2->winposerr_theta1950 = fmod_m90_p90(obj2->winposerr_thetas +- + obj2->dtheta1950); ++ outobj2.winposerr_theta1950 = fmod_m90_p90(outobj2.winposerr_thetas ++ + outobj2.dtheta1950); } -@@ -750,8 +750,8 @@ + } + +@@ -578,8 +577,8 @@ { temp = sqrt(0.25*temp*temp+xym*xym); pm2 = 0.5*(xm2+ym2); @@ -698,7 +747,7 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c } if (FLAG(obj2.winposerr_cxxw)) -@@ -762,9 +762,9 @@ +@@ -590,9 +589,9 @@ temp = 1e-6; xym *= 0.99999; } @@ -711,115 +760,367 @@ diff -ur sextractor-2.5.0.old/src/astrom.c sextractor-2.5.0/src/astrom.c } return; -diff -ur sextractor-2.5.0.old/src/fits/fitsmisc.c sextractor-2.5.0/src/fits/fitsmisc.c ---- sextractor-2.5.0.old/src/fits/fitsmisc.c 2006-07-14 19:21:00.000000000 +0200 -+++ sextractor-2.5.0/src/fits/fitsmisc.c 2006-07-25 23:32:17.000000000 +0200 -@@ -114,48 +114,63 @@ - void swapbytes(void *ptr, int nb, int n) - { - char *cp; -+ char t; - int j; +@@ -618,37 +617,37 @@ + lng = 0; + lat = 1; + } +- lm0 = obj2->jacob[lng+naxis*lng]; +- lm1 = obj2->jacob[lat+naxis*lng]; +- lm2 = obj2->jacob[lng+naxis*lat]; +- lm3 = obj2->jacob[lat+naxis*lat]; ++ lm0 = outobj2.jacob[lng+naxis*lng]; ++ lm1 = outobj2.jacob[lat+naxis*lng]; ++ lm2 = outobj2.jacob[lng+naxis*lat]; ++ lm3 = outobj2.jacob[lat+naxis*lat]; -- cp = (char *)ptr; -+ cp = (char *)ptr; + /* All WORLD params based on 2nd order moments have to pass through here */ +- dx2 = obj2->poserrmx2_prof; +- dy2 = obj2->poserrmy2_prof; +- dxy = obj2->poserrmxy_prof; +- obj2->poserrmx2w_prof = xm2 = lm0*lm0*dx2+lm1*lm1*dy2+lm0*lm1*dxy; +- obj2->poserrmy2w_prof = ym2 = lm2*lm2*dx2+lm3*lm3*dy2+lm2*lm3*dxy; +- obj2->poserrmxyw_prof = xym = lm0*lm2*dx2+lm1*lm3*dy2+(lm0*lm3+lm1*lm2)*dxy; ++ dx2 = outobj2.poserrmx2_prof; ++ dy2 = outobj2.poserrmy2_prof; ++ dxy = outobj2.poserrmxy_prof; ++ outobj2.poserrmx2w_prof = xm2 = lm0*lm0*dx2+lm1*lm1*dy2+lm0*lm1*dxy; ++ outobj2.poserrmy2w_prof = ym2 = lm2*lm2*dx2+lm3*lm3*dy2+lm2*lm3*dxy; ++ outobj2.poserrmxyw_prof = xym = lm0*lm2*dx2+lm1*lm3*dy2+(lm0*lm3+lm1*lm2)*dxy; + temp=xm2-ym2; + if (FLAG(obj2.poserrthetaw_prof)) + { +- obj2->poserrthetaw_prof = (fmod_m90_p90(temp==0.0)? ++ outobj2.poserrthetaw_prof = (fmod_m90_p90(temp==0.0)? + (45.0):(0.5*atan2(2.0*xym,temp)/DEG)); -- if (nb&4) -- { -- for (j=n; j--; cp+=4) -- { -- cp[0] ^= (cp[3]^=(cp[0]^=cp[3])); -- cp[1] ^= (cp[2]^=(cp[1]^=cp[2])); -- } -- return; -- } -- -- if (nb&2) -- { -- for (j=n; j--; cp+=2) -- cp[0] ^= (cp[1]^=(cp[0]^=cp[1])); -- return; -- } -+ if (nb == 4) -+ { -+ for (j=n; j--; cp+=4) -+ { -+ t = cp[0]; -+ cp[0] = cp[3]; -+ cp[3] = t; -+ t = cp[1]; -+ cp[1] = cp[2]; -+ cp[2] = t; -+ } -+ } -+ else if (nb == 2) -+ { -+ for (j=n; j--; cp+=2) -+ { -+ t = cp[0]; -+ cp[0] = cp[1]; -+ cp[1] = t; -+ } -+ } -+ else if (nb == 8) -+ { -+ for (j=n; j--; cp+=8) -+ { -+ t = cp[0]; -+ cp[0] = cp[7]; -+ cp[7] = t; -+ t = cp[1]; -+ cp[1] = cp[6]; -+ cp[6] = t; -+ t = cp[2]; -+ cp[2] = cp[5]; -+ cp[5] = t; -+ t = cp[3]; -+ cp[3] = cp[4]; -+ cp[4] = t; -+ } -+ } -+ else if (nb == 1) -+ { -+ /* noop */ -+ } + /*-- Compute position angles in J2000 or B1950 reference frame */ + if (wcs->lng != wcs->lat) + { + if (FLAG(obj2.poserrthetas_prof)) +- obj2->poserrthetas_prof = fmod_m90_p90(lngposerrthetaw_prof>0.0?90:-90.0)-obj2->poserrthetaw_prof) +- : obj2->poserrthetaw_prof); ++ outobj2.poserrthetas_prof = fmod_m90_p90(lng0.0?90:-90.0)-outobj2.poserrthetaw_prof) ++ : outobj2.poserrthetaw_prof); + if (FLAG(obj2.poserrtheta2000_prof)) +- obj2->poserrtheta2000_prof = fmod_m90_p90(obj2->poserrthetas_prof +- + obj2->dtheta2000); ++ outobj2.poserrtheta2000_prof = fmod_m90_p90(outobj2.poserrthetas_prof ++ + outobj2.dtheta2000); + if (FLAG(obj2.poserrtheta1950_prof)) +- obj2->poserrtheta1950_prof = fmod_m90_p90(obj2->poserrthetas_prof +- + obj2->dtheta1950); ++ outobj2.poserrtheta1950_prof = fmod_m90_p90(outobj2.poserrthetas_prof ++ + outobj2.dtheta1950); + } + } -- if (nb&1) -- return; -- -- if (nb&8) -- { -- for (j=n; j--; cp+=8) -- { -- cp[0] ^= (cp[7]^=(cp[0]^=cp[7])); -- cp[1] ^= (cp[6]^=(cp[1]^=cp[6])); -- cp[2] ^= (cp[5]^=(cp[2]^=cp[5])); -- cp[3] ^= (cp[4]^=(cp[3]^=cp[4])); -- } -- return; -- } -- -- error(EXIT_FAILURE, "*Internal Error*: Unknown size in ", "swapbytes()"); -+ else -+ error(EXIT_FAILURE, "*Internal Error*: Unknown size in ", "swapbytes()"); +@@ -656,8 +655,8 @@ + { + temp = sqrt(0.25*temp*temp+xym*xym); + pm2 = 0.5*(xm2+ym2); +- obj2->poserraw_prof = (float)sqrt(pm2+temp); +- obj2->poserrbw_prof = (float)sqrt(pm2-temp); ++ outobj2.poserraw_prof = (float)sqrt(pm2+temp); ++ outobj2.poserrbw_prof = (float)sqrt(pm2-temp); + } + + if (FLAG(obj2.poserrcxxw_prof)) +@@ -668,9 +667,9 @@ + temp = 1e-6; + xym *= 0.99999; + } +- obj2->poserrcxxw_prof = (float)(ym2/temp); +- obj2->poserrcyyw_prof = (float)(xm2/temp); +- obj2->poserrcxyw_prof = (float)(-2*xym/temp); ++ outobj2.poserrcxxw_prof = (float)(ym2/temp); ++ outobj2.poserrcyyw_prof = (float)(xm2/temp); ++ outobj2.poserrcxyw_prof = (float)(-2*xym/temp); + } return; - } +@@ -696,178 +695,178 @@ + lng = 0; + lat = 1; + } +- lm0 = obj2->jacob[lng+naxis*lng]; +- lm1 = obj2->jacob[lat+naxis*lng]; +- lm2 = obj2->jacob[lng+naxis*lat]; +- lm3 = obj2->jacob[lat+naxis*lat]; ++ lm0 = outobj2.jacob[lng+naxis*lng]; ++ lm1 = outobj2.jacob[lat+naxis*lng]; ++ lm2 = outobj2.jacob[lng+naxis*lat]; ++ lm3 = outobj2.jacob[lat+naxis*lat]; + /* Spheroid World coordinates */ +- obj2->prof_spheroid_thetaerrw=obj2->prof_spheroid_thetaerr; /* quick & dirty*/ ++ outobj2.prof_spheroid_thetaerrw=outobj2.prof_spheroid_thetaerr; /* quick & dirty*/ + if (FLAG(obj2.prof_spheroid_reffw)) + { +- ct = cos(obj2->prof_spheroid_theta*DEG); +- st = sin(obj2->prof_spheroid_theta*DEG); +- dx2 = obj2->prof_spheroid_reff*obj2->prof_spheroid_reff * (ct*ct +- + st*st * obj2->prof_spheroid_aspect*obj2->prof_spheroid_aspect); +- dy2 = obj2->prof_spheroid_reff*obj2->prof_spheroid_reff * (st*st +- + ct*ct * obj2->prof_spheroid_aspect*obj2->prof_spheroid_aspect); +- dxy = ct*st * obj2->prof_spheroid_reff*obj2->prof_spheroid_reff +- *(1.0 - obj2->prof_spheroid_aspect*obj2->prof_spheroid_aspect); ++ ct = cos(outobj2.prof_spheroid_theta*DEG); ++ st = sin(outobj2.prof_spheroid_theta*DEG); ++ dx2 = outobj2.prof_spheroid_reff*outobj2.prof_spheroid_reff * (ct*ct ++ + st*st * outobj2.prof_spheroid_aspect*outobj2.prof_spheroid_aspect); ++ dy2 = outobj2.prof_spheroid_reff*outobj2.prof_spheroid_reff * (st*st ++ + ct*ct * outobj2.prof_spheroid_aspect*outobj2.prof_spheroid_aspect); ++ dxy = ct*st * outobj2.prof_spheroid_reff*outobj2.prof_spheroid_reff ++ *(1.0 - outobj2.prof_spheroid_aspect*outobj2.prof_spheroid_aspect); + xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; + ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; + xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; + temp=xm2-ym2; + if (FLAG(obj2.prof_spheroid_thetaw)) + { +- obj2->prof_spheroid_thetaw = fmod_m90_p90((temp == 0.0)? ++ outobj2.prof_spheroid_thetaw = fmod_m90_p90((temp == 0.0)? + (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG)); -+ - /****** wstrncmp *************************************************************** - PROTO int wstrncmp(char *cs, char *ct, int n) - PURPOSE simple wildcard strcmp. -diff -ur sextractor-2.5.0.old/src/growth.c sextractor-2.5.0/src/growth.c ---- sextractor-2.5.0.old/src/growth.c 2005-10-24 13:48:52.000000000 +0200 -+++ sextractor-2.5.0/src/growth.c 2006-07-25 23:27:35.000000000 +0200 + if (wcs->lng != wcs->lat) + { + if (FLAG(obj2.prof_spheroid_thetas)) +- obj2->prof_spheroid_thetas = fmod_m90_p90(lngprof_spheroid_thetaw>0.0?90:-90.0) +- - obj2->prof_spheroid_thetaw) +- : obj2->prof_spheroid_thetaw); ++ outobj2.prof_spheroid_thetas = fmod_m90_p90(lng0.0?90:-90.0) ++ - outobj2.prof_spheroid_thetaw) ++ : outobj2.prof_spheroid_thetaw); + if (FLAG(obj2.prof_spheroid_theta2000)) +- obj2->prof_spheroid_theta2000=fmod_m90_p90(obj2->prof_spheroid_thetas +- + obj2->dtheta2000); ++ outobj2.prof_spheroid_theta2000=fmod_m90_p90(outobj2.prof_spheroid_thetas ++ + outobj2.dtheta2000); + if (FLAG(obj2.prof_spheroid_theta1950)) +- obj2->prof_spheroid_theta1950=fmod_m90_p90(obj2->prof_spheroid_thetas +- + obj2->dtheta1950); ++ outobj2.prof_spheroid_theta1950=fmod_m90_p90(outobj2.prof_spheroid_thetas ++ + outobj2.dtheta1950); + } + } + temp = sqrt(0.25*temp*temp+xym*xym); + pm2 = 0.5*(xm2+ym2); +- obj2->prof_spheroid_reffw = sqrt(pm2+temp); +- obj2->prof_spheroid_refferrw = obj2->prof_spheroid_reff > 0.0? +- obj2->prof_spheroid_refferr/obj2->prof_spheroid_reff +- *obj2->prof_spheroid_reffw ++ outobj2.prof_spheroid_reffw = sqrt(pm2+temp); ++ outobj2.prof_spheroid_refferrw = outobj2.prof_spheroid_reff > 0.0? ++ outobj2.prof_spheroid_refferr/outobj2.prof_spheroid_reff ++ *outobj2.prof_spheroid_reffw + : 0.0; +- obj2->prof_spheroid_aspectw = obj2->prof_spheroid_reffw>0.0? +- sqrt(pm2-temp) / obj2->prof_spheroid_reffw +- : obj2->prof_spheroid_aspect; +- obj2->prof_spheroid_aspecterrw = obj2->prof_spheroid_aspect > 0.0? +- obj2->prof_spheroid_aspecterr/obj2->prof_spheroid_aspect +- *obj2->prof_spheroid_aspectw ++ outobj2.prof_spheroid_aspectw = outobj2.prof_spheroid_reffw>0.0? ++ sqrt(pm2-temp) / outobj2.prof_spheroid_reffw ++ : outobj2.prof_spheroid_aspect; ++ outobj2.prof_spheroid_aspecterrw = outobj2.prof_spheroid_aspect > 0.0? ++ outobj2.prof_spheroid_aspecterr/outobj2.prof_spheroid_aspect ++ *outobj2.prof_spheroid_aspectw + : 0.0; + } + + /* Disk World coordinates */ +- obj2->prof_disk_thetaerrw = obj2->prof_disk_thetaerr; /* quick & dirty*/ ++ outobj2.prof_disk_thetaerrw = outobj2.prof_disk_thetaerr; /* quick & dirty*/ + if (FLAG(obj2.prof_disk_scalew)) + { +- ct = cos(obj2->prof_disk_theta*DEG); +- st = sin(obj2->prof_disk_theta*DEG); +- dx2 = obj2->prof_disk_scale*obj2->prof_disk_scale * (ct*ct +- + st*st * obj2->prof_disk_aspect*obj2->prof_disk_aspect); +- dy2 = obj2->prof_disk_scale*obj2->prof_disk_scale * (st*st +- + ct*ct * obj2->prof_disk_aspect*obj2->prof_disk_aspect); +- dxy = ct*st * obj2->prof_disk_scale*obj2->prof_disk_scale +- *(1.0 - obj2->prof_disk_aspect*obj2->prof_disk_aspect); ++ ct = cos(outobj2.prof_disk_theta*DEG); ++ st = sin(outobj2.prof_disk_theta*DEG); ++ dx2 = outobj2.prof_disk_scale*outobj2.prof_disk_scale * (ct*ct ++ + st*st * outobj2.prof_disk_aspect*outobj2.prof_disk_aspect); ++ dy2 = outobj2.prof_disk_scale*outobj2.prof_disk_scale * (st*st ++ + ct*ct * outobj2.prof_disk_aspect*outobj2.prof_disk_aspect); ++ dxy = ct*st * outobj2.prof_disk_scale*outobj2.prof_disk_scale ++ *(1.0 - outobj2.prof_disk_aspect*outobj2.prof_disk_aspect); + xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; + ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; + xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; + temp=xm2-ym2; + if (FLAG(obj2.prof_disk_thetaw)) + { +- obj2->prof_disk_thetaw = fmod_m90_p90((temp == 0.0)? ++ outobj2.prof_disk_thetaw = fmod_m90_p90((temp == 0.0)? + (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG)); + + /*---- Compute position angles in J2000 or B1950 reference frame */ + if (wcs->lng != wcs->lat) + { + if (FLAG(obj2.prof_disk_thetas)) +- obj2->prof_disk_thetas = fmod_m90_p90(lngprof_disk_thetaw>0.0?90:-90.0) +- - obj2->prof_disk_thetaw) +- : obj2->prof_disk_thetaw); ++ outobj2.prof_disk_thetas = fmod_m90_p90(lng0.0?90:-90.0) ++ - outobj2.prof_disk_thetaw) ++ : outobj2.prof_disk_thetaw); + if (FLAG(obj2.prof_disk_theta2000)) +- obj2->prof_disk_theta2000 = fmod_m90_p90(obj2->prof_disk_thetas +- + obj2->dtheta2000); ++ outobj2.prof_disk_theta2000 = fmod_m90_p90(outobj2.prof_disk_thetas ++ + outobj2.dtheta2000); + if (FLAG(obj2.prof_disk_theta1950)) +- obj2->prof_disk_theta1950 = fmod_m90_p90(obj2->prof_disk_thetas +- + obj2->dtheta1950); ++ outobj2.prof_disk_theta1950 = fmod_m90_p90(outobj2.prof_disk_thetas ++ + outobj2.dtheta1950); + } + } + temp = sqrt(0.25*temp*temp+xym*xym); + pm2 = 0.5*(xm2+ym2); +- obj2->prof_disk_scalew = sqrt(pm2+temp); +- obj2->prof_disk_scaleerrw = obj2->prof_disk_scale > 0.0? +- obj2->prof_disk_scaleerr/obj2->prof_disk_scale*obj2->prof_disk_scalew ++ outobj2.prof_disk_scalew = sqrt(pm2+temp); ++ outobj2.prof_disk_scaleerrw = outobj2.prof_disk_scale > 0.0? ++ outobj2.prof_disk_scaleerr/outobj2.prof_disk_scale*outobj2.prof_disk_scalew + : 0.0; +- obj2->prof_disk_aspectw = obj2->prof_disk_scalew>0.0? +- sqrt(pm2-temp) / obj2->prof_disk_scalew +- : obj2->prof_disk_aspect; +- obj2->prof_disk_aspecterrw = obj2->prof_disk_aspect > 0.0? +- obj2->prof_disk_aspecterr/obj2->prof_disk_aspect*obj2->prof_disk_aspectw ++ outobj2.prof_disk_aspectw = outobj2.prof_disk_scalew>0.0? ++ sqrt(pm2-temp) / outobj2.prof_disk_scalew ++ : outobj2.prof_disk_aspect; ++ outobj2.prof_disk_aspecterrw = outobj2.prof_disk_aspect > 0.0? ++ outobj2.prof_disk_aspecterr/outobj2.prof_disk_aspect*outobj2.prof_disk_aspectw + : 0.0; + /*-- Arms World coordinates */ + if (FLAG(obj2.prof_arms_scalew)) + { +- obj2->prof_arms_scalew = (obj2->prof_disk_scale > 0.0) ? +- obj2->prof_arms_scale*obj2->prof_disk_scalew/obj2->prof_disk_scale ++ outobj2.prof_arms_scalew = (outobj2.prof_disk_scale > 0.0) ? ++ outobj2.prof_arms_scale*outobj2.prof_disk_scalew/outobj2.prof_disk_scale + : 0.0; +- obj2->prof_arms_scaleerrw = (obj2->prof_arms_scale > 0.0) ? +- obj2->prof_arms_scaleerr/obj2->prof_arms_scale*obj2->prof_arms_scalew ++ outobj2.prof_arms_scaleerrw = (outobj2.prof_arms_scale > 0.0) ? ++ outobj2.prof_arms_scaleerr/outobj2.prof_arms_scale*outobj2.prof_arms_scalew + : 0.0; +- obj2->prof_arms_startw = (obj2->prof_disk_scale > 0.0) ? +- obj2->prof_arms_start*obj2->prof_disk_scalew/obj2->prof_disk_scale ++ outobj2.prof_arms_startw = (outobj2.prof_disk_scale > 0.0) ? ++ outobj2.prof_arms_start*outobj2.prof_disk_scalew/outobj2.prof_disk_scale + : 0.0; +- obj2->prof_arms_starterrw = (obj2->prof_arms_start > 0.0) ? +- obj2->prof_arms_starterr/obj2->prof_arms_start*obj2->prof_arms_startw ++ outobj2.prof_arms_starterrw = (outobj2.prof_arms_start > 0.0) ? ++ outobj2.prof_arms_starterr/outobj2.prof_arms_start*outobj2.prof_arms_startw + : 0.0; + } + } + + /* Bar World coordinates */ +- obj2->prof_bar_thetaerrw = obj2->prof_bar_thetaerr; ++ outobj2.prof_bar_thetaerrw = outobj2.prof_bar_thetaerr; + if (FLAG(obj2.prof_bar_lengthw)) + { +- ct = cos(obj2->prof_bar_theta*DEG); +- st = sin(obj2->prof_bar_theta*DEG); +- dx2 = obj2->prof_bar_length*obj2->prof_bar_length * (ct*ct +- + st*st * obj2->prof_bar_aspect*obj2->prof_bar_aspect); +- dy2 = obj2->prof_bar_length*obj2->prof_bar_length * (st*st +- + ct*ct * obj2->prof_bar_aspect*obj2->prof_bar_aspect); +- dxy = ct*st * obj2->prof_bar_length*obj2->prof_bar_length +- *(1.0 - obj2->prof_bar_aspect*obj2->prof_bar_aspect); ++ ct = cos(outobj2.prof_bar_theta*DEG); ++ st = sin(outobj2.prof_bar_theta*DEG); ++ dx2 = outobj2.prof_bar_length*outobj2.prof_bar_length * (ct*ct ++ + st*st * outobj2.prof_bar_aspect*outobj2.prof_bar_aspect); ++ dy2 = outobj2.prof_bar_length*outobj2.prof_bar_length * (st*st ++ + ct*ct * outobj2.prof_bar_aspect*outobj2.prof_bar_aspect); ++ dxy = ct*st * outobj2.prof_bar_length*outobj2.prof_bar_length ++ *(1.0 - outobj2.prof_bar_aspect*outobj2.prof_bar_aspect); + xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; + ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; + xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; + temp=xm2-ym2; + if (FLAG(obj2.prof_bar_thetaw)) + { +- obj2->prof_bar_thetaw = fmod_m90_p90((temp == 0.0)? ++ outobj2.prof_bar_thetaw = fmod_m90_p90((temp == 0.0)? + (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG)); + + /*---- Compute position angles in J2000 or B1950 reference frame */ + if (wcs->lng != wcs->lat) + { + if (FLAG(obj2.prof_bar_thetas)) +- obj2->prof_bar_thetas = fmod_m90_p90(lngprof_bar_thetaw>0.0?90:-90.0) +- - obj2->prof_bar_thetaw) +- : obj2->prof_bar_thetaw); ++ outobj2.prof_bar_thetas = fmod_m90_p90(lng0.0?90:-90.0) ++ - outobj2.prof_bar_thetaw) ++ : outobj2.prof_bar_thetaw); + if (FLAG(obj2.prof_bar_theta2000)) +- obj2->prof_bar_theta2000 = fmod_m90_p90(obj2->prof_bar_thetas +- + obj2->dtheta2000); ++ outobj2.prof_bar_theta2000 = fmod_m90_p90(outobj2.prof_bar_thetas ++ + outobj2.dtheta2000); + if (FLAG(obj2.prof_bar_theta1950)) +- obj2->prof_bar_theta1950 = fmod_m90_p90(obj2->prof_bar_thetas +- + obj2->dtheta1950); ++ outobj2.prof_bar_theta1950 = fmod_m90_p90(outobj2.prof_bar_thetas ++ + outobj2.dtheta1950); + } + } + temp = sqrt(0.25*temp*temp+xym*xym); + pm2 = 0.5*(xm2+ym2); +- obj2->prof_bar_lengthw = sqrt(pm2+temp); +- obj2->prof_bar_lengtherrw = obj2->prof_bar_length > 0.0? +- obj2->prof_bar_lengtherr/obj2->prof_bar_length*obj2->prof_bar_lengthw ++ outobj2.prof_bar_lengthw = sqrt(pm2+temp); ++ outobj2.prof_bar_lengtherrw = outobj2.prof_bar_length > 0.0? ++ outobj2.prof_bar_lengtherr/outobj2.prof_bar_length*outobj2.prof_bar_lengthw + : 0.0; +- obj2->prof_bar_aspectw = obj2->prof_bar_lengthw>0.0? +- sqrt(pm2-temp) / obj2->prof_bar_lengthw +- : obj2->prof_bar_aspect; +- obj2->prof_bar_aspecterrw = obj2->prof_bar_aspect > 0.0? +- obj2->prof_bar_aspecterr/obj2->prof_bar_aspect*obj2->prof_bar_aspectw ++ outobj2.prof_bar_aspectw = outobj2.prof_bar_lengthw>0.0? ++ sqrt(pm2-temp) / outobj2.prof_bar_lengthw ++ : outobj2.prof_bar_aspect; ++ outobj2.prof_bar_aspecterrw = outobj2.prof_bar_aspect > 0.0? ++ outobj2.prof_bar_aspecterr/outobj2.prof_bar_aspect*outobj2.prof_bar_aspectw + : 0.0; + } + +Only in sextractor-2.8.6.new/src: astrom.o +diff -ur sextractor-2.8.6/src/growth.c sextractor-2.8.6.new/src/growth.c +--- sextractor-2.8.6/src/growth.c 2009-01-29 14:52:00.000000000 +0100 ++++ sextractor-2.8.6.new/src/growth.c 2009-05-24 00:07:56.000000000 +0200 @@ -32,7 +32,7 @@ static double *growth; static int ngrowth; -static obj2struct *obj2 = &outobj2; -+/* static obj2struct *obj2 = &outobj2; */ ++ /******************************** initgrowth *********************************/ /* @@ -889,19 +1190,19 @@ diff -ur sextractor-2.5.0.old/src/growth.c sextractor-2.5.0/src/growth.c i + (tv - *(growtht-1))/dg : i) : (*growth !=0.0 ?tv/(*growth) : 0.0)); -diff -ur sextractor-2.5.0.old/src/pc.c sextractor-2.5.0/src/pc.c ---- sextractor-2.5.0.old/src/pc.c 2005-10-24 13:48:52.000000000 +0200 -+++ sextractor-2.5.0/src/pc.c 2006-07-25 23:27:45.000000000 +0200 -@@ -32,7 +32,7 @@ - #include "poly.h" +Only in sextractor-2.8.6.new/src: growth.o +diff -ur sextractor-2.8.6/src/pc.c sextractor-2.8.6.new/src/pc.c +--- sextractor-2.8.6/src/pc.c 2009-01-29 14:52:00.000000000 +0100 ++++ sextractor-2.8.6.new/src/pc.c 2009-05-24 00:08:06.000000000 +0200 +@@ -32,7 +32,6 @@ + #include "wcs/poly.h" #include "psf.h" -static obj2struct *obj2 = &outobj2; -+/* static obj2struct *obj2 = &outobj2; */ /****** pc_end *************************************************************** PROTO void pc_end(pcstruct *pc) -@@ -361,22 +361,22 @@ +@@ -361,22 +360,22 @@ /*-- Copy the derived physical quantities to output parameters */ /*-- (subject to changes) */ @@ -936,7 +1237,7 @@ diff -ur sextractor-2.5.0.old/src/pc.c sextractor-2.5.0/src/pc.c for (c=prefs.pc_vectorsize>npc?npc:prefs.pc_vectorsize; c--;) *(ppix++) = *(solt++); } -@@ -397,9 +397,9 @@ +@@ -397,9 +396,9 @@ xym += val**(mxyt++); } @@ -949,7 +1250,7 @@ diff -ur sextractor-2.5.0.old/src/pc.c sextractor-2.5.0/src/pc.c if (FLAG(obj2.a_pc)) { -@@ -421,9 +421,9 @@ +@@ -421,9 +420,9 @@ pmx2 += temp; pmy2 -= temp; @@ -962,15 +1263,16 @@ diff -ur sextractor-2.5.0.old/src/pc.c sextractor-2.5.0/src/pc.c } /* CHECK-Images */ -diff -ur sextractor-2.5.0.old/src/photom.c sextractor-2.5.0/src/photom.c ---- sextractor-2.5.0.old/src/photom.c 2005-10-24 13:48:52.000000000 +0200 -+++ sextractor-2.5.0/src/photom.c 2006-07-25 23:27:55.000000000 +0200 +Only in sextractor-2.8.6.new/src: pc.o +diff -ur sextractor-2.8.6/src/photom.c sextractor-2.8.6.new/src/photom.c +--- sextractor-2.8.6/src/photom.c 2009-01-29 14:51:59.000000000 +0100 ++++ sextractor-2.8.6.new/src/photom.c 2009-05-24 00:08:35.000000000 +0200 @@ -27,7 +27,7 @@ #include "photom.h" #include "plist.h" -static obj2struct *obj2 = &outobj2; -+/* static obj2struct *obj2 = &outobj2; */ ++ /***************************** computeaperflux********************************/ /* @@ -1193,7 +1495,7 @@ diff -ur sextractor-2.5.0.old/src/photom.c sextractor-2.5.0/src/photom.c :99.0; /* Choose the ``best'' flux according to the local crowding */ -@@ -835,63 +835,63 @@ +@@ -835,107 +835,107 @@ { if (obj->flag&OBJ_CROWDED) { @@ -1239,7 +1541,7 @@ diff -ur sextractor-2.5.0.old/src/photom.c sextractor-2.5.0/src/photom.c + 1.086*outobj2.fluxerr_somfit/outobj2.flux_somfit :99.0; - /* Mag. PROFILE */ + /* Mag. models */ if (FLAG(obj2.mag_prof)) - obj2->mag_prof = obj2->flux_prof>0.0? - -2.5*log10(obj2->flux_prof) + prefs.mag_zeropoint @@ -1253,6 +1555,70 @@ diff -ur sextractor-2.5.0.old/src/photom.c sextractor-2.5.0/src/photom.c + 1.086*outobj2.fluxerr_prof/outobj2.flux_prof :99.0; + if (FLAG(obj2.prof_spheroid_mag)) +- obj2->prof_spheroid_mag = obj2->prof_spheroid_flux>0.0? +- -2.5*log10(obj2->prof_spheroid_flux) ++ outobj2.prof_spheroid_mag = outobj2.prof_spheroid_flux>0.0? ++ -2.5*log10(outobj2.prof_spheroid_flux) + + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.prof_spheroid_magerr)) +- obj2->prof_spheroid_magerr = obj2->prof_spheroid_flux>0.0? +- 1.086*obj2->prof_spheroid_fluxerr +- / obj2->prof_spheroid_flux ++ outobj2.prof_spheroid_magerr = outobj2.prof_spheroid_flux>0.0? ++ 1.086*outobj2.prof_spheroid_fluxerr ++ / outobj2.prof_spheroid_flux + :99.0; + + if (FLAG(obj2.prof_disk_mag)) +- obj2->prof_disk_mag = obj2->prof_disk_flux>0.0? +- -2.5*log10(obj2->prof_disk_flux) ++ outobj2.prof_disk_mag = outobj2.prof_disk_flux>0.0? ++ -2.5*log10(outobj2.prof_disk_flux) + + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.prof_disk_magerr)) +- obj2->prof_disk_magerr = obj2->prof_disk_flux>0.0? +- 1.086*obj2->prof_disk_fluxerr +- / obj2->prof_disk_flux ++ outobj2.prof_disk_magerr = outobj2.prof_disk_flux>0.0? ++ 1.086*outobj2.prof_disk_fluxerr ++ / outobj2.prof_disk_flux + :99.0; + + if (FLAG(obj2.prof_bar_mag)) +- obj2->prof_bar_mag = obj2->prof_bar_flux>0.0? +- -2.5*log10(obj2->prof_bar_flux) ++ outobj2.prof_bar_mag = outobj2.prof_bar_flux>0.0? ++ -2.5*log10(outobj2.prof_bar_flux) + + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.prof_bar_magerr)) +- obj2->prof_bar_magerr = obj2->prof_bar_flux>0.0? +- 1.086*obj2->prof_bar_fluxerr +- /obj2->prof_bar_flux ++ outobj2.prof_bar_magerr = outobj2.prof_bar_flux>0.0? ++ 1.086*outobj2.prof_bar_fluxerr ++ /outobj2.prof_bar_flux + :99.0; + + if (FLAG(obj2.prof_arms_mag)) +- obj2->prof_arms_mag = obj2->prof_arms_flux>0.0? +- -2.5*log10(obj2->prof_arms_flux) ++ outobj2.prof_arms_mag = outobj2.prof_arms_flux>0.0? ++ -2.5*log10(outobj2.prof_arms_flux) + + prefs.mag_zeropoint + :99.0; + if (FLAG(obj2.prof_arms_magerr)) +- obj2->prof_arms_magerr = obj2->prof_arms_flux>0.0? +- 1.086*obj2->prof_arms_fluxerr +- /obj2->prof_arms_flux ++ outobj2.prof_arms_magerr = outobj2.prof_arms_flux>0.0? ++ 1.086*outobj2.prof_arms_fluxerr ++ /outobj2.prof_arms_flux + :99.0; + /* Mag. WINdowed */ if (FLAG(obj2.mag_win)) - obj2->mag_win = obj2->flux_win>0.0? @@ -1281,7 +1647,7 @@ diff -ur sextractor-2.5.0.old/src/photom.c sextractor-2.5.0/src/photom.c :99.0; /* SB units */ -@@ -902,7 +902,7 @@ +@@ -946,7 +946,7 @@ : 99.0; if (FLAG(obj2.threshmu)) @@ -1290,19 +1656,20 @@ diff -ur sextractor-2.5.0.old/src/photom.c sextractor-2.5.0/src/photom.c -2.5*log10((obj->thresh) / (field->pixscale * field->pixscale)) + prefs.mag_zeropoint : 99.0; -diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c ---- sextractor-2.5.0.old/src/psf.c 2006-07-14 20:22:44.000000000 +0200 -+++ sextractor-2.5.0/src/psf.c 2006-07-25 23:36:58.000000000 +0200 -@@ -309,7 +309,7 @@ +Only in sextractor-2.8.6.new/src: photom.o +diff -ur sextractor-2.8.6/src/psf.c sextractor-2.8.6.new/src/psf.c +--- sextractor-2.8.6/src/psf.c 2009-01-29 14:52:00.000000000 +0100 ++++ sextractor-2.8.6.new/src/psf.c 2009-05-24 00:10:31.000000000 +0200 +@@ -312,7 +312,7 @@ objstruct *obj) { checkstruct *check; - static obj2struct *obj2 = &outobj2; -+ /* static obj2struct *obj2 = &outobj2; */ ++ static double x2[PSF_NPSFMAX],y2[PSF_NPSFMAX],xy[PSF_NPSFMAX], deltax[PSF_NPSFMAX], deltay[PSF_NPSFMAX],flux[PSF_NPSFMAX], -@@ -349,8 +349,8 @@ +@@ -352,8 +352,8 @@ thepsfit->npsf = 0; for (j=0; jflux[j] = 0.0; } -@@ -377,7 +377,7 @@ +@@ -380,7 +380,7 @@ if (prefs.psf_flag==1) if (prefs.dpsf_flag!=1) if(!FLAG(obj2.fluxerr_psf)) @@ -1322,7 +1689,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c QMALLOC(weighth, PIXTYPE, npix); QMALLOC(weight, double, npix); -@@ -556,7 +556,7 @@ +@@ -559,7 +559,7 @@ deltaxb[j] = deltax[j]; deltayb[j] = deltay[j]; fluxb[j] = flux[j]; @@ -1331,7 +1698,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c } } } -@@ -579,7 +579,7 @@ +@@ -582,7 +582,7 @@ if (FLAG(obj2.poserrmx2_psf)) { @@ -1340,7 +1707,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c } else var += 3*PSF_NA+3; -@@ -604,7 +604,7 @@ +@@ -607,7 +607,7 @@ chi2 += pix*pix; if (chi2>1E29) chi2=1E28; } @@ -1349,7 +1716,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; } -@@ -623,7 +623,7 @@ +@@ -626,7 +626,7 @@ chi2 += pix*pix; if (chi2>1E29) chi2=1E28; } @@ -1358,16 +1725,16 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; } -@@ -755,7 +755,7 @@ +@@ -758,7 +758,7 @@ ival,npsfmax; double *pvar; - static obj2struct *obj2 = &outobj2; -+ /* static obj2struct *obj2 = &outobj2; */ ++ checkdata = NULL; /* To avoid gcc -Wall warnings */ pdx = pdy =dx = dy = 0.0; ppixstep = 1.0/ppsf->pixstep; -@@ -773,13 +773,13 @@ +@@ -776,13 +776,13 @@ ppsfit->niter = 0; ppsfit->npsf = 0; if(!FLAG(obj2.fluxerr_psf)) @@ -1383,7 +1750,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c pdeltax[j]= pdeltay[j]=psol[j]= pwmat[j]=pflux[j]=0.0; } -@@ -923,7 +923,7 @@ +@@ -926,7 +926,7 @@ { svdvar(pvmat, pwmat, j, pcovmat); pvar = pcovmat; @@ -1392,7 +1759,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c sqrt(*pvar):99; } } -@@ -940,7 +940,7 @@ +@@ -943,7 +943,7 @@ chi2 += ppix*ppix; if (chi2>1E29) chi2=1E28; } @@ -1401,7 +1768,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; } -@@ -960,7 +960,7 @@ +@@ -963,7 +963,7 @@ chi2 += ppix*ppix; if (chi2>1E29) chi2=1E28; } @@ -1410,7 +1777,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; } -@@ -1192,11 +1192,11 @@ +@@ -1195,11 +1195,11 @@ covab = *(++var); varb = *(var += PSF_NA); var += PSF_NA+1; @@ -1425,7 +1792,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c +covab*(x2[j]*y2[j]+xy[j]*xy[j])) /(sol[0]*sol[0]); -@@ -1205,19 +1205,19 @@ +@@ -1208,19 +1208,19 @@ { double pmx2,pmy2,temp,theta; @@ -1452,7 +1819,7 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c } /*------ ...Or ellipse parameters */ -@@ -1225,12 +1225,12 @@ +@@ -1228,12 +1228,12 @@ { double xm2,ym2, xym, temp; @@ -1471,3 +1838,197 @@ diff -ur sextractor-2.5.0.old/src/psf.c sextractor-2.5.0/src/psf.c } return; } +Only in sextractor-2.8.6.new/src: psf.o +diff -ur sextractor-2.8.6/src/winpos.c sextractor-2.8.6.new/src/winpos.c +--- sextractor-2.8.6/src/winpos.c 2009-01-29 14:52:00.000000000 +0100 ++++ sextractor-2.8.6.new/src/winpos.c 2009-05-24 00:10:49.000000000 +0200 +@@ -26,7 +26,7 @@ + #include "prefs.h" + #include "winpos.h" + +-static obj2struct *obj2 = &outobj2; ++ + + /****** compute_winpos ******************************************************** + PROTO void compute_winpos(picstruct *field, picstruct *wfield, +@@ -71,7 +71,7 @@ + momentflag = FLAG(obj2.win_mx2) | FLAG(obj2.winposerr_mx2); + var = backnoise2 = field->backsig*field->backsig; + gain = field->gain; +- sig = obj2->hl_radius*2.0/2.35; /* From half-FWHM to sigma */ ++ sig = outobj2.hl_radius*2.0/2.35; /* From half-FWHM to sigma */ + twosig2 = 2.0*sig*sig; + + /* Integration radius */ +@@ -99,8 +99,8 @@ + offsetx = 0.5*(scalex-1.0); + offsety = 0.5*(scaley-1.0); + /* Use isophotal centroid as a first guess */ +- mx = obj2->posx - 1.0; +- my = obj2->posy - 1.0; ++ mx = outobj2.posx - 1.0; ++ my = outobj2.posy - 1.0; + + for (i=0; iwinpos_x = mx + 1.0; /* The dreaded 1.0 FITS offset */ +- obj2->winpos_y = my + 1.0; /* The dreaded 1.0 FITS offset */ +- obj2->winpos_niter = i+1; ++ outobj2.winpos_x = mx + 1.0; /* The dreaded 1.0 FITS offset */ ++ outobj2.winpos_y = my + 1.0; /* The dreaded 1.0 FITS offset */ ++ outobj2.winpos_niter = i+1; + + /* WINdowed flux */ + if (FLAG(obj2.flux_win)) + { +- obj2->flux_win = tv; +- obj2->fluxerr_win = sqrt(esum); ++ outobj2.flux_win = tv; ++ outobj2.fluxerr_win = sqrt(esum); + } + temp2=mx2*my2-mxy*mxy; +- obj2->win_flag = (tv <= 0.0)*4 + (mx2 < 0.0 || my2 < 0.0)*2 ++ outobj2.win_flag = (tv <= 0.0)*4 + (mx2 < 0.0 || my2 < 0.0)*2 + + (temp2<0.0); +- if (obj2->win_flag) ++ if (outobj2.win_flag) + { + /*--- Negative values: revert to isophotal estimates */ + if (errflag) + { +- obj2->winposerr_mx2 = obj->poserr_mx2; +- obj2->winposerr_my2 = obj->poserr_my2; +- obj2->winposerr_mxy = obj->poserr_mxy; ++ outobj2.winposerr_mx2 = obj->poserr_mx2; ++ outobj2.winposerr_my2 = obj->poserr_my2; ++ outobj2.winposerr_mxy = obj->poserr_mxy; + if (FLAG(obj2.winposerr_a)) + { +- obj2->winposerr_a = obj2->poserr_a; +- obj2->winposerr_b = obj2->poserr_b; +- obj2->winposerr_theta = obj2->poserr_theta; ++ outobj2.winposerr_a = outobj2.poserr_a; ++ outobj2.winposerr_b = outobj2.poserr_b; ++ outobj2.winposerr_theta = outobj2.poserr_theta; + } + if (FLAG(obj2.winposerr_cxx)) + { +- obj2->winposerr_cxx = obj2->poserr_cxx; +- obj2->winposerr_cyy = obj2->poserr_cyy; +- obj2->winposerr_cxy = obj2->poserr_cxy; ++ outobj2.winposerr_cxx = outobj2.poserr_cxx; ++ outobj2.winposerr_cyy = outobj2.poserr_cyy; ++ outobj2.winposerr_cxy = outobj2.poserr_cxy; + } + } + if (momentflag) + { +- obj2->win_mx2 = obj->mx2; +- obj2->win_my2 = obj->my2; +- obj2->win_mxy = obj->mxy; ++ outobj2.win_mx2 = obj->mx2; ++ outobj2.win_my2 = obj->my2; ++ outobj2.win_mxy = obj->mxy; + if (FLAG(obj2.win_cxx)) + { +- obj2->win_cxx = obj->cxx; +- obj2->win_cyy = obj->cyy; +- obj2->win_cxy = obj->cxy; ++ outobj2.win_cxx = obj->cxx; ++ outobj2.win_cyy = obj->cyy; ++ outobj2.win_cxy = obj->cxy; + } + if (FLAG(obj2.win_a)) + { +- obj2->win_a = obj->a; +- obj2->win_b = obj->b; +- obj2->win_polar = obj2->polar; +- obj2->win_theta = obj->theta; ++ outobj2.win_a = obj->a; ++ outobj2.win_b = obj->b; ++ outobj2.win_polar = outobj2.polar; ++ outobj2.win_theta = obj->theta; + } + } + } +@@ -311,9 +311,9 @@ + emy2 += esum; + } + +- obj2->winposerr_mx2 = emx2; +- obj2->winposerr_my2 = emy2; +- obj2->winposerr_mxy = emxy; ++ outobj2.winposerr_mx2 = emx2; ++ outobj2.winposerr_my2 = emy2; ++ outobj2.winposerr_mxy = emxy; + /*---- Error ellipse parameters */ + if (FLAG(obj2.winposerr_a)) + { +@@ -329,18 +329,18 @@ + pmx2+=temp; + pmy2-=temp; + +- obj2->winposerr_a = (float)sqrt(pmx2); +- obj2->winposerr_b = (float)sqrt(pmy2); +- obj2->winposerr_theta = theta*180.0/PI; ++ outobj2.winposerr_a = (float)sqrt(pmx2); ++ outobj2.winposerr_b = (float)sqrt(pmy2); ++ outobj2.winposerr_theta = theta*180.0/PI; + } + + if (FLAG(obj2.winposerr_cxx)) + { + double temp; + +- obj2->winposerr_cxx = (float)(emy2/(temp=emx2*emy2-emxy*emxy)); +- obj2->winposerr_cyy = (float)(emx2/temp); +- obj2->winposerr_cxy = (float)(-2*emxy/temp); ++ outobj2.winposerr_cxx = (float)(emy2/(temp=emx2*emy2-emxy*emxy)); ++ outobj2.winposerr_cyy = (float)(emx2/temp); ++ outobj2.winposerr_cxy = (float)(-2*emxy/temp); + } + } + +@@ -353,15 +353,15 @@ + my2 += 0.0833333; + temp2 = mx2*my2-mxy*mxy; + } +- obj2->win_mx2 = mx2; +- obj2->win_my2 = my2; +- obj2->win_mxy = mxy; ++ outobj2.win_mx2 = mx2; ++ outobj2.win_my2 = my2; ++ outobj2.win_mxy = mxy; + + if (FLAG(obj2.win_cxx)) + { +- obj2->win_cxx = (float)(my2/temp2); +- obj2->win_cyy = (float)(mx2/temp2); +- obj2->win_cxy = (float)(-2*mxy/temp2); ++ outobj2.win_cxx = (float)(my2/temp2); ++ outobj2.win_cyy = (float)(mx2/temp2); ++ outobj2.win_cxy = (float)(-2*mxy/temp2); + } + + if (FLAG(obj2.win_a)) +@@ -373,11 +373,11 @@ + + temp = sqrt(0.25*temp*temp+mxy*mxy); + pmx2 = 0.5*(mx2+my2); +- obj2->win_a = (float)sqrt(pmx2 + temp); +- obj2->win_b = (float)sqrt(pmx2 - temp); ++ outobj2.win_a = (float)sqrt(pmx2 + temp); ++ outobj2.win_b = (float)sqrt(pmx2 - temp); + if (FLAG(obj2.win_polar)) +- obj2->win_polar = temp / pmx2; +- obj2->win_theta = theta*180.0/PI; ++ outobj2.win_polar = temp / pmx2; ++ outobj2.win_theta = theta*180.0/PI; + } + } + } +Only in sextractor-2.8.6.new/src: winpos.o diff --git a/sextractor.spec b/sextractor.spec index 5285818..b208d86 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,14 +1,16 @@ Name: sextractor -Version: 2.5.0 -Release: 9%{?dist} +Version: 2.8.6 +Release: 1%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering -License: GPLv2 -URL: http://terapix.iap.fr/soft/%{name} +License: CeCILL +URL: http://astromatic.iap.fr/software/%{name} Source0: ftp://ftp.iap.fr/pub/from_users/bertin/sextractor/%{name}-%{version}.tar.gz -Patch0: sextractor-pointer-alias.patch +Patch0: sextractor-cflags.patch Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +BuildRequires: fftw-devel >= 3.1 +BuildRequires: atlas-devel >= 3.6.0 %description SExtractor is a program that builds a catalogue of objects from an @@ -22,29 +24,30 @@ well on moderately crowded star fields. %build %configure - -%{__make} %{?_smp_mflags} +make %{?_smp_mflags} %install -%{__rm} -fr %{buildroot} -%{__make} DESTDIR=%{buildroot} install -%{__mkdir_p} %{buildroot}%{_datadir}/%{name} -%{__install} -m 644 -p config/*.conv %{buildroot}%{_datadir}/%{name} -%{__install} -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} - +rm -rf %{buildroot} +make DESTDIR=%{buildroot} install +mkdir -p %{buildroot}%{_datadir}/%{name} +install -m 644 -p config/*.conv %{buildroot}%{_datadir}/%{name} +install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %clean -%{__rm} -fr %{buildroot} +rm -rf %{buildroot} %files %defattr(-,root,root) -%doc AUTHORS BUGS COPYING HISTORY README THANKS doc/README.DOC doc/sextractor.pdf config/default.sex config/default.param +%doc AUTHORS BUGS COPYRIGHT HISTORY README THANKS doc/README.DOC doc/sextractor.pdf config/default.sex config/default.param %{_bindir}/* %{_mandir}/man1/* %{_mandir}/manx/* %{_datadir}/%{name}/ %changelog +* Wed Aug 26 2009 Sergio Pascual - 2.8.6-1 +- New upstream source + * Sun Jul 26 2009 Fedora Release Engineering - 2.5.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild @@ -59,21 +62,28 @@ well on moderately crowded star fields. * Mon Aug 27 2007 Sergio Pascual 2.5.0-5.1 - Rebuild for Fedora 8 to get the build-id + * Tue Sep 12 2006 Sergio Pascual 2.5.0-5 - Rebuilt for FC6. + * Wed Jul 26 2006 Sergio Pascual 2.5.0-4 - Patch to resolve pointer aliasing problems (bug #199700) - Removed -DXSL_URL flag, as the file sextractor.xsl does not exist yet + * Mon Jul 24 2006 Sergio Pascual 2.5.0-3 - Reverting optimization to -O2, it breaks debug infos + * Fri Jul 21 2006 Sergio Pascual 2.5.0-2 - fitsconv.c has correct permissions - changed optimization from -O2 to -O1 (bug #199700) - additional define allows VOTable output + * Wed Jul 19 2006 Sergio Pascual 2.5.0-1 - New upstream version 2.5.0 + * Tue Jun 20 2006 Sergio Pascual 2.4.4-2 - Fixed executable permission in src/fits/fitsconv.c - default.sex and default.param moved to docs + * Mon Jun 19 2006 Sergio Pascual 2.4.4-1 - Initial spec file. diff --git a/sources b/sources index e310657..397434c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3dede44685b582ad5ee03f5b69423530 sextractor-2.5.0.tar.gz +6c2fc529cd89bdd11b1fbafc0866131c sextractor-2.8.6.tar.gz From 79760836add7dc72d53a1e7ae1baa164d90a9a66 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 12:40:38 +0000 Subject: [PATCH 17/62] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- 2 files changed, 21 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 0f7daef..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: sextractor -# $Id: Makefile,v 1.1 2006/06/21 07:53:56 sergiopr Exp $ -NAME := sextractor -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) From 89d5f26410814ba026c11ce2d25f2a1e7fdd4be6 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 9 Feb 2011 07:24:17 -0600 Subject: [PATCH 18/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index b208d86..0987822 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.8.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -45,6 +45,9 @@ rm -rf %{buildroot} %{_datadir}/%{name}/ %changelog +* Wed Feb 09 2011 Fedora Release Engineering - 2.8.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Wed Aug 26 2009 Sergio Pascual - 2.8.6-1 - New upstream source From 31bc66fae5ce8b5b3ba5f95d614ee3a067342922 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 13 Jan 2012 21:51:53 -0600 Subject: [PATCH 19/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 0987822..7146af8 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.8.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -45,6 +45,9 @@ rm -rf %{buildroot} %{_datadir}/%{name}/ %changelog +* Sat Jan 14 2012 Fedora Release Engineering - 2.8.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Wed Feb 09 2011 Fedora Release Engineering - 2.8.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 70af936ccc40f4efc79f9cdf7eb5b39df82e7026 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 21 Jul 2012 14:27:17 -0500 Subject: [PATCH 20/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 7146af8..8e8af6e 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.8.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -45,6 +45,9 @@ rm -rf %{buildroot} %{_datadir}/%{name}/ %changelog +* Sat Jul 21 2012 Fedora Release Engineering - 2.8.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Sat Jan 14 2012 Fedora Release Engineering - 2.8.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild From f19bb7a189ea42a98b52d407fc9a430a9f69f794 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 14 Feb 2013 17:49:35 -0600 Subject: [PATCH 21/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 8e8af6e..531dbb3 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.8.6 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -45,6 +45,9 @@ rm -rf %{buildroot} %{_datadir}/%{name}/ %changelog +* Thu Feb 14 2013 Fedora Release Engineering - 2.8.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Sat Jul 21 2012 Fedora Release Engineering - 2.8.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild From 10c3120bb97fc2fdf2d49d689a6a67ba7c365870 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sun, 4 Aug 2013 09:14:15 -0500 Subject: [PATCH 22/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 531dbb3..fd1f77f 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.8.6 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -45,6 +45,9 @@ rm -rf %{buildroot} %{_datadir}/%{name}/ %changelog +* Sun Aug 04 2013 Fedora Release Engineering - 2.8.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Thu Feb 14 2013 Fedora Release Engineering - 2.8.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild From 2ee11c982e94c676f05126cdc06206133ec80bdd Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Wed, 2 Oct 2013 19:33:19 +0200 Subject: [PATCH 23/62] Hack to build with monolithic ATLAS - Cleanup of the specfile --- sextractor.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sextractor.spec b/sextractor.spec index fd1f77f..6cf6649 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -8,7 +8,6 @@ License: CeCILL URL: http://astromatic.iap.fr/software/%{name} Source0: ftp://ftp.iap.fr/pub/from_users/bertin/sextractor/%{name}-%{version}.tar.gz Patch0: sextractor-cflags.patch -Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: fftw-devel >= 3.1 BuildRequires: atlas-devel >= 3.6.0 @@ -21,23 +20,22 @@ well on moderately crowded star fields. %prep %setup -q %patch0 -p1 +%if 0%{?fedora} >= 21 +# New atlas libs +sed -i -e '/LIBS*=.*atlas/s,=.*,="-L%{_libdir}/atlas -lsatlas",' configure +%endif %build %configure make %{?_smp_mflags} %install -rm -rf %{buildroot} make DESTDIR=%{buildroot} install mkdir -p %{buildroot}%{_datadir}/%{name} install -m 644 -p config/*.conv %{buildroot}%{_datadir}/%{name} install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} -%clean -rm -rf %{buildroot} - %files -%defattr(-,root,root) %doc AUTHORS BUGS COPYRIGHT HISTORY README THANKS doc/README.DOC doc/sextractor.pdf config/default.sex config/default.param %{_bindir}/* %{_mandir}/man1/* @@ -45,6 +43,10 @@ rm -rf %{buildroot} %{_datadir}/%{name}/ %changelog +* Wed Oct 02 2013 Sergio Pascual - 2.8.6-7 +- Hack to build with monolithic ATLAS +- Cleanup of the specfile + * Sun Aug 04 2013 Fedora Release Engineering - 2.8.6-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild From eff213b0f6b647e5bdc150574ca787230be91f0f Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Wed, 2 Oct 2013 19:37:02 +0200 Subject: [PATCH 24/62] Update the release to 7 --- sextractor.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 6cf6649..298f393 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.8.6 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering From 5ba504f2176f3033475cc4b840922b12268102f8 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Thu, 5 Dec 2013 10:40:00 +0100 Subject: [PATCH 25/62] Fix format-security error (bz #1037322) --- sextractor-format-sec.patch | 12 ++++++++++++ sextractor.spec | 7 ++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 sextractor-format-sec.patch diff --git a/sextractor-format-sec.patch b/sextractor-format-sec.patch new file mode 100644 index 0000000..0496758 --- /dev/null +++ b/sextractor-format-sec.patch @@ -0,0 +1,12 @@ +diff -ur sextractor-2.8.6/src/fits/fitskey.c sextractor-2.8.6.format/src/fits/fitskey.c +--- sextractor-2.8.6/src/fits/fitskey.c 2009-01-29 14:51:59.000000000 +0100 ++++ sextractor-2.8.6.format/src/fits/fitskey.c 2013-12-05 10:32:54.873268916 +0100 +@@ -946,7 +946,7 @@ + if (kflag) + free(keys); + if (o_type == SHOW_SKYCAT) +- fprintf(stream, skycattail); ++ fprintf(stream, "%s", skycattail); + return; + } + diff --git a/sextractor.spec b/sextractor.spec index 298f393..9888150 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.8.6 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -8,6 +8,7 @@ License: CeCILL URL: http://astromatic.iap.fr/software/%{name} Source0: ftp://ftp.iap.fr/pub/from_users/bertin/sextractor/%{name}-%{version}.tar.gz Patch0: sextractor-cflags.patch +Patch1: sextractor-format-sec.patch BuildRequires: fftw-devel >= 3.1 BuildRequires: atlas-devel >= 3.6.0 @@ -20,6 +21,7 @@ well on moderately crowded star fields. %prep %setup -q %patch0 -p1 +%patch1 -p1 %if 0%{?fedora} >= 21 # New atlas libs sed -i -e '/LIBS*=.*atlas/s,=.*,="-L%{_libdir}/atlas -lsatlas",' configure @@ -43,6 +45,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Thu Dec 05 2013 Sergio Pascual - 2.8.6-8 +- Fix format-security error (bz #1037322) + * Wed Oct 02 2013 Sergio Pascual - 2.8.6-7 - Hack to build with monolithic ATLAS - Cleanup of the specfile From 1af5de64d55293c3499b926d94676a9cc4648626 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Wed, 26 Mar 2014 18:44:59 +0100 Subject: [PATCH 26/62] New upstream release (2.19.5) --- .gitignore | 1 + sextractor-format-sec.patch | 75 +++++++++++++++++++++++++++++++------ sextractor.spec | 13 ++++--- sources | 2 +- 4 files changed, 73 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 0257ea4..f5532b4 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ sextractor-2.8.6.tar.gz +/sextractor-2.19.5.tar.gz diff --git a/sextractor-format-sec.patch b/sextractor-format-sec.patch index 0496758..99dcead 100644 --- a/sextractor-format-sec.patch +++ b/sextractor-format-sec.patch @@ -1,12 +1,65 @@ -diff -ur sextractor-2.8.6/src/fits/fitskey.c sextractor-2.8.6.format/src/fits/fitskey.c ---- sextractor-2.8.6/src/fits/fitskey.c 2009-01-29 14:51:59.000000000 +0100 -+++ sextractor-2.8.6.format/src/fits/fitskey.c 2013-12-05 10:32:54.873268916 +0100 -@@ -946,7 +946,7 @@ - if (kflag) - free(keys); - if (o_type == SHOW_SKYCAT) -- fprintf(stream, skycattail); -+ fprintf(stream, "%s", skycattail); - return; - } +diff -ur sextractor-2.19.5/src/catout.c sextractor-2.19.5.prep/src/catout.c +--- sextractor-2.19.5/src/catout.c 2013-09-12 14:35:37.000000000 +0200 ++++ sextractor-2.19.5.prep/src/catout.c 2014-03-26 18:25:06.390874672 +0100 +@@ -999,7 +999,7 @@ + break; + case ASCII_SKYCAT: +- fprintf(ascfile, skycattail); ++ fprintf(ascfile, "%s", skycattail); + if (!prefs.pipe_flag) + fclose(ascfile); + break; +diff -ur sextractor-2.19.5/src/xml.c sextractor-2.19.5.prep/src/xml.c +--- sextractor-2.19.5/src/xml.c 2013-04-27 15:22:23.000000000 +0200 ++++ sextractor-2.19.5.prep/src/xml.c 2014-03-26 18:29:36.122059320 +0100 +@@ -696,7 +696,7 @@ + name, ucd); + break; + case P_STRING: +- sprintf(value, (char *)key[i].ptr); ++ sprintf(value, "%s", (char *)key[i].ptr); + fprintf(file, " \n", + name, ucd, *value? value: " "); +@@ -705,13 +705,13 @@ + n = *(key[i].nlistptr); + if (n) + { +- sprintf(value, ((char **)key[i].ptr)[0]); ++ sprintf(value, "%s", ((char **)key[i].ptr)[0]); + fprintf(file, " \n"); +@@ -722,7 +722,7 @@ + name, ucd); + break; + case P_KEY: +- sprintf(value, key[i].keylist[*((int *)key[i].ptr)]); ++ sprintf(value, "%s", key[i].keylist[*((int *)key[i].ptr)]); + fprintf(file, " \n", + name, ucd, value); +@@ -731,13 +731,13 @@ + n = *(key[i].nlistptr); + if (n) + { +- sprintf(value, key[i].keylist[((int *)key[i].ptr)[0]]); ++ sprintf(value, "%s", key[i].keylist[((int *)key[i].ptr)[0]]); + fprintf(file, " \n"); diff --git a/sextractor.spec b/sextractor.spec index 9888150..76e1ac9 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,14 +1,13 @@ Name: sextractor -Version: 2.8.6 -Release: 8%{?dist} +Version: 2.19.5 +Release: 1%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering License: CeCILL URL: http://astromatic.iap.fr/software/%{name} -Source0: ftp://ftp.iap.fr/pub/from_users/bertin/sextractor/%{name}-%{version}.tar.gz -Patch0: sextractor-cflags.patch -Patch1: sextractor-format-sec.patch +Source0: http://www.astromatic.net/download/sextractor/%{name}-%{version}.tar.gz +Patch0: sextractor-format-sec.patch BuildRequires: fftw-devel >= 3.1 BuildRequires: atlas-devel >= 3.6.0 @@ -21,7 +20,6 @@ well on moderately crowded star fields. %prep %setup -q %patch0 -p1 -%patch1 -p1 %if 0%{?fedora} >= 21 # New atlas libs sed -i -e '/LIBS*=.*atlas/s,=.*,="-L%{_libdir}/atlas -lsatlas",' configure @@ -45,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Wed Mar 26 2014 Sergio Pascual - 2.19.5-1 +- New upstream release (2.19.5) + * Thu Dec 05 2013 Sergio Pascual - 2.8.6-8 - Fix format-security error (bz #1037322) diff --git a/sources b/sources index 397434c..c021c4f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6c2fc529cd89bdd11b1fbafc0866131c sextractor-2.8.6.tar.gz +2115556b5d30571306608b7c023a318f sextractor-2.19.5.tar.gz From 4c56d96fcbef3d9653230cc0ee52ae744cb571ae Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Fri, 4 Apr 2014 00:19:17 +0200 Subject: [PATCH 27/62] License is GPLv3+ --- sextractor.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sextractor.spec b/sextractor.spec index 76e1ac9..9ac9fdd 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,10 +1,10 @@ Name: sextractor Version: 2.19.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering -License: CeCILL +License: GPLv3+ URL: http://astromatic.iap.fr/software/%{name} Source0: http://www.astromatic.net/download/sextractor/%{name}-%{version}.tar.gz Patch0: sextractor-format-sec.patch @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Fri Apr 04 2014 Sergio Pascual - 2.19.5-2 +- License is GPLv3+ + * Wed Mar 26 2014 Sergio Pascual - 2.19.5-1 - New upstream release (2.19.5) From b70d1a32fa0e1e05b3c090e02de7fe8ee3876cde Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sun, 8 Jun 2014 01:12:12 -0500 Subject: [PATCH 28/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 9ac9fdd..38b0059 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sun Jun 08 2014 Fedora Release Engineering - 2.19.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Fri Apr 04 2014 Sergio Pascual - 2.19.5-2 - License is GPLv3+ From 58d174b58732b07b7a366c3bc48c426565994d93 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 18 Aug 2014 02:05:33 +0000 Subject: [PATCH 29/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 38b0059..3e9d839 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Mon Aug 18 2014 Fedora Release Engineering - 2.19.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Sun Jun 08 2014 Fedora Release Engineering - 2.19.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From ac81dd392247cb4353476022cc453c6b66580cd2 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 19 Jun 2015 00:41:46 +0000 Subject: [PATCH 30/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 3e9d839..aa78c53 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Fri Jun 19 2015 Fedora Release Engineering - 2.19.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Mon Aug 18 2014 Fedora Release Engineering - 2.19.5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 6516fb008fe8a7a9db89ac7f5896dae346c5b287 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 4 Feb 2016 23:53:55 +0000 Subject: [PATCH 31/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index aa78c53..d0010f9 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Thu Feb 04 2016 Fedora Release Engineering - 2.19.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Fri Jun 19 2015 Fedora Release Engineering - 2.19.5-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From 897efd6b4c5cec85a23aa7edde7923b86dbf4e88 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 11 Feb 2017 13:20:43 +0000 Subject: [PATCH 32/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index d0010f9..108d151 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sat Feb 11 2017 Fedora Release Engineering - 2.19.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Thu Feb 04 2016 Fedora Release Engineering - 2.19.5-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From d841a92a1b70164dd87e0a23cd150146a6624e0c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 18:29:09 +0000 Subject: [PATCH 33/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 108d151..6f77fd9 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 2.19.5-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Sat Feb 11 2017 Fedora Release Engineering - 2.19.5-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From 61541f1f52b62db9945f8c53e355737e99c7a99a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 08:22:11 +0000 Subject: [PATCH 34/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 6f77fd9..4fa72b1 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 2.19.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Thu Jul 27 2017 Fedora Release Engineering - 2.19.5-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 5fdad07f9bb6acf87154daf566d50fb66dca2dfb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 9 Feb 2018 16:33:57 +0000 Subject: [PATCH 35/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 4fa72b1..5daa90b 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Fri Feb 09 2018 Fedora Release Engineering - 2.19.5-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Thu Aug 03 2017 Fedora Release Engineering - 2.19.5-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 7b0d552bf49c9ff6e3d14011d7fa064dbd9b3f9d Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 9 Jul 2018 19:06:51 +0200 Subject: [PATCH 36/62] add BuildRequires: gcc Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- sextractor.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/sextractor.spec b/sextractor.spec index 5daa90b..a8b150c 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -8,6 +8,7 @@ License: GPLv3+ URL: http://astromatic.iap.fr/software/%{name} Source0: http://www.astromatic.net/download/sextractor/%{name}-%{version}.tar.gz Patch0: sextractor-format-sec.patch +BuildRequires: gcc BuildRequires: fftw-devel >= 3.1 BuildRequires: atlas-devel >= 3.6.0 From 168d1aa5b886b26449d6b2dab3c9b9067e0f4023 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 14 Jul 2018 06:00:50 +0000 Subject: [PATCH 37/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index a8b150c..23127d6 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Extract catalogs of sources from astronomical images Group: Applications/Engineering @@ -44,6 +44,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sat Jul 14 2018 Fedora Release Engineering - 2.19.5-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Fri Feb 09 2018 Fedora Release Engineering - 2.19.5-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 47a860bf377888757bcbdefba039cf53bc3d64ea Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:18:25 +0100 Subject: [PATCH 38/62] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- sextractor.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 23127d6..9502dab 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -3,7 +3,6 @@ Version: 2.19.5 Release: 11%{?dist} Summary: Extract catalogs of sources from astronomical images -Group: Applications/Engineering License: GPLv3+ URL: http://astromatic.iap.fr/software/%{name} Source0: http://www.astromatic.net/download/sextractor/%{name}-%{version}.tar.gz From 4f5eb3c5a0e6e6109f6185d5d29fe19c69afd2b2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 2 Feb 2019 15:15:28 +0000 Subject: [PATCH 39/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 9502dab..76b1845 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sat Feb 02 2019 Fedora Release Engineering - 2.19.5-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Sat Jul 14 2018 Fedora Release Engineering - 2.19.5-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 0e45262bc000d4088d8ae6f2fc698c6689fc62f0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jul 2019 23:08:26 +0000 Subject: [PATCH 40/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 76b1845..4f6e4d9 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Fri Jul 26 2019 Fedora Release Engineering - 2.19.5-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Sat Feb 02 2019 Fedora Release Engineering - 2.19.5-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From 7b279210696d0bf30d007b0f7b3786f47ceaf4a7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 30 Jan 2020 23:18:21 +0000 Subject: [PATCH 41/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 4f6e4d9..6cb3ed8 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.19.5 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -43,6 +43,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Thu Jan 30 2020 Fedora Release Engineering - 2.19.5-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Fri Jul 26 2019 Fedora Release Engineering - 2.19.5-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 95a845e295ebbb5dc000dcf583d894ce5ee2e583 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Sat, 29 Feb 2020 02:25:58 +0100 Subject: [PATCH 42/62] New upstream release (2.25.0) Built with openblas (bz#1619130) Enable legacy_common_support (-fcommon) temporarely --- .gitignore | 1 + sextractor-cflags.patch | 29 - sextractor-pointer-alias.patch | 2034 -------------------------------- sextractor.spec | 31 +- sources | 2 +- 5 files changed, 22 insertions(+), 2075 deletions(-) delete mode 100644 sextractor-cflags.patch delete mode 100644 sextractor-pointer-alias.patch diff --git a/.gitignore b/.gitignore index f5532b4..4615c77 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ sextractor-2.8.6.tar.gz /sextractor-2.19.5.tar.gz +/sextractor-2.25.0.tar.gz diff --git a/sextractor-cflags.patch b/sextractor-cflags.patch deleted file mode 100644 index 155c99e..0000000 --- a/sextractor-cflags.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -ur sextractor-2.8.6/configure sextractor-2.8.6.new/configure ---- sextractor-2.8.6/configure 2009-04-09 15:30:14.000000000 +0200 -+++ sextractor-2.8.6.new/configure 2009-08-26 16:39:05.000000000 +0200 -@@ -2487,10 +2487,10 @@ - cclist="cc gcc" - - # Backup and reset the input CFLAGS and LDFLAGS --mycflags="$CFLAGS" --CFLAGS="" --myldflags="$LDFLAGS" --LDFLAGS="" -+#mycflags="$CFLAGS" -+#CFLAGS="" -+#myldflags="$LDFLAGS" -+#LDFLAGS="" - - # Provide special option for the Linux Intel C compiler - { echo "$as_me:$LINENO: checking for Linux Intel C compiler mode" >&5 -@@ -4358,8 +4358,8 @@ - rm -f conftest.* - fi - if test -n "$prog_cc_optim_flags"; then -- CFLAGS="$CFLAGS $prog_cc_optim_flags" -- LDFLAGS="$LDFLAGS $prog_ld_optim_flags" -+ prog_cc_optim_flags="" -+ prog_ld_optim_flags="" - else - prog_cc_optim_flags="" - prog_ld_optim_flags="" diff --git a/sextractor-pointer-alias.patch b/sextractor-pointer-alias.patch deleted file mode 100644 index 7a3900d..0000000 --- a/sextractor-pointer-alias.patch +++ /dev/null @@ -1,2034 +0,0 @@ -diff -ur sextractor-2.8.6/src/analyse.c sextractor-2.8.6.new/src/analyse.c ---- sextractor-2.8.6/src/analyse.c 2009-01-29 14:51:59.000000000 +0100 -+++ sextractor-2.8.6.new/src/analyse.c 2009-05-24 00:07:07.000000000 +0200 -@@ -42,7 +42,6 @@ - #include "som.h" - #include "winpos.h" - --static obj2struct *obj2 = &outobj2; - extern profitstruct *theprofit; - - /********************************* analyse ***********************************/ -@@ -392,11 +391,11 @@ - obj = &objlist->obj[n]; - - /* Current FITS extension */ -- obj2->ext_number = thecat.currext; -+ outobj2.ext_number = thecat.currext; - - /* Source position */ -- obj2->sposx = (float)(obj2->posx = obj->mx+1.0); /* That's standard FITS */ -- obj2->sposy = (float)(obj2->posy = obj->my+1.0); -+ outobj2.sposx = (float)(outobj2.posx = obj->mx+1.0); /* That's standard FITS */ -+ outobj2.sposy = (float)(outobj2.posy = obj->my+1.0); - - /* Integer coordinates */ - ix=(int)(obj->mx+0.49999); -@@ -404,11 +403,11 @@ - - /* Association */ - if (prefs.assoc_flag) -- obj2->assoc_number = do_assoc(field, obj2->sposx, obj2->sposy); -+ outobj2.assoc_number = do_assoc(field, outobj2.sposx, outobj2.sposy); - - if (prefs.assoc_flag && prefs.assocselec_type!=ASSOCSELEC_ALL) - selecflag = (prefs.assocselec_type==ASSOCSELEC_MATCHED)? -- obj2->assoc_number:!obj2->assoc_number; -+ outobj2.assoc_number:!outobj2.assoc_number; - else - selecflag = 1; - -@@ -439,9 +438,9 @@ - pmx2+=temp; - pmy2-=temp; - -- obj2->poserr_a = (float)sqrt(pmx2); -- obj2->poserr_b = (float)sqrt(pmy2); -- obj2->poserr_theta = theta*180.0/PI; -+ outobj2.poserr_a = (float)sqrt(pmx2); -+ outobj2.poserr_b = (float)sqrt(pmy2); -+ outobj2.poserr_theta = theta*180.0/PI; - } - - if (FLAG(obj2.poserr_cxx)) -@@ -451,28 +450,28 @@ - xm2 = obj->poserr_mx2; - ym2 = obj->poserr_my2; - xym = obj->poserr_mxy; -- obj2->poserr_cxx = (float)(ym2/(temp=xm2*ym2-xym*xym)); -- obj2->poserr_cyy = (float)(xm2/temp); -- obj2->poserr_cxy = (float)(-2*xym/temp); -+ outobj2.poserr_cxx = (float)(ym2/(temp=xm2*ym2-xym*xym)); -+ outobj2.poserr_cyy = (float)(xm2/temp); -+ outobj2.poserr_cxy = (float)(-2*xym/temp); - } - - /* ---- Aspect ratio */ - - if (FLAG(obj2.elong)) -- obj2->elong = obj->a/obj->b; -+ outobj2.elong = obj->a/obj->b; - - if (FLAG(obj2.ellip)) -- obj2->ellip = 1-obj->b/obj->a; -+ outobj2.ellip = 1-obj->b/obj->a; - - if (FLAG(obj2.polar)) -- obj2->polar = (obj->a*obj->a - obj->b*obj->b) -+ outobj2.polar = (obj->a*obj->a - obj->b*obj->b) - / (obj->a*obj->a + obj->b*obj->b); - - /*------------------------------- Photometry -------------------------------*/ - - /*-- Convert the father of photom. error estimates from variance to RMS */ -- obj2->flux_iso = obj->flux; -- obj2->fluxerr_iso = sqrt(obj->fluxerr); -+ outobj2.flux_iso = obj->flux; -+ outobj2.fluxerr_iso = sqrt(obj->fluxerr); - - if (FLAG(obj2.flux_isocor)) - computeisocorflux(field, obj); -@@ -510,14 +509,14 @@ - - if (FLAG(obj2.flux_auto)) - sexellips(check->pix, check->width, check->height, -- obj->mx, obj->my, obj->a*obj2->kronfactor, -- obj->b*obj2->kronfactor, obj->theta, -+ obj->mx, obj->my, obj->a*outobj2.kronfactor, -+ obj->b*outobj2.kronfactor, obj->theta, - check->overlay, obj->flag&OBJ_CROWDED); - - if (FLAG(obj2.flux_petro)) - sexellips(check->pix, check->width, check->height, -- obj->mx, obj->my, obj->a*obj2->petrofactor, -- obj->b*obj2->petrofactor, obj->theta, -+ obj->mx, obj->my, obj->a*outobj2.petrofactor, -+ obj->b*outobj2.petrofactor, obj->theta, - check->overlay, obj->flag&OBJ_CROWDED); - } - -@@ -539,7 +538,7 @@ - input[++j] = log10(obj->iso[i]? obj->iso[i]/fac2: 0.01); - input[++j] = log10(fwhm); - neurresp(input, &output); -- obj2->sprob = (float)output; -+ outobj2.sprob = (float)output; - } - - /*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/ -@@ -588,8 +587,8 @@ - som_phot(thesom, obj->bkg, field->backsig, - (float)field->gain, obj->mx-ix, obj->my-iy, - FLAG(obj2.vector_somfit)?outobj2.vector_somfit:NULL, -1.0); -- obj2->stderr_somfit = thesom->stderror; -- obj2->flux_somfit = thesom->amp; -+ outobj2.stderr_somfit = thesom->stderror; -+ outobj2.flux_somfit = thesom->amp; - outobj2.fluxerr_somfit = thesom->sigamp; - } - -@@ -609,7 +608,7 @@ - double_psf_fit(ppsf, field, wfield, obj, thepsf, dfield, dwfield); - else - psf_fit(thepsf, field, wfield, obj); -- obj2->npsf = thepsfit->npsf; -+ outobj2.npsf = thepsfit->npsf; - if (prefs.psfdisplay_type == PSFDISPLAY_SPLIT) - { - nsub = thepsfit->npsf; -@@ -620,18 +619,18 @@ - for (j=0; jnpsf; j++) - { - if (FLAG(obj2.x_psf) && jx_psf[j] = thepsfit->x[j]; -+ outobj2.x_psf[j] = thepsfit->x[j]; - if (FLAG(obj2.y_psf) && jy_psf[j] = thepsfit->y[j]; -+ outobj2.y_psf[j] = thepsfit->y[j]; - if (FLAG(obj2.flux_psf) && jflux_psf[j] = thepsfit->flux[j]; -+ outobj2.flux_psf[j] = thepsfit->flux[j]; - if (FLAG(obj2.magerr_psf) && jmagerr_psf[j] = obj2->fluxerr_psf[j]>0.0? -- 1.086*obj2->fluxerr_psf[j]/thepsfit->flux[j] : 99.0; -+ outobj2.magerr_psf[j] = outobj2.fluxerr_psf[j]>0.0? -+ 1.086*outobj2.fluxerr_psf[j]/thepsfit->flux[j] : 99.0; - if (FLAG(obj2.fluxerr_psf) && jfluxerr_psf[j] = obj2->fluxerr_psf[j]; -+ outobj2.fluxerr_psf[j] = outobj2.fluxerr_psf[j]; - if (FLAG(obj2.mag_psf) && jmag_psf[j] = thepsfit->flux[j]>0.0? -+ outobj2.mag_psf[j] = thepsfit->flux[j]>0.0? - prefs.mag_zeropoint -2.5*log10(thepsfit->flux[j]) : 99.0; - } - } -@@ -639,7 +638,7 @@ - /*----------------------------- Profile fitting -----------------------------*/ - nsub = 1; - if (prefs.prof_flag) -- profit_fit(theprofit, field, wfield, obj, obj2); -+ profit_fit(theprofit, field, wfield, obj, &outobj2); - - /*--- Express everything in magnitude units */ - computemags(field, obj); -@@ -659,20 +658,20 @@ - if (prefs.psf_flag && prefs.psfdisplay_type == PSFDISPLAY_SPLIT) - { - if (FLAG(obj2.x_psf)) -- obj2->x_psf[0] = thepsfit->x[j]; -+ outobj2.x_psf[0] = thepsfit->x[j]; - if (FLAG(obj2.y_psf)) -- obj2->y_psf[0] = thepsfit->y[j]; -+ outobj2.y_psf[0] = thepsfit->y[j]; - if (FLAG(obj2.flux_psf)) -- obj2->flux_psf[0] = thepsfit->flux[j]>0.0? thepsfit->flux[j]:0.0; /*?*/ -+ outobj2.flux_psf[0] = thepsfit->flux[j]>0.0? thepsfit->flux[j]:0.0; /*?*/ - if (FLAG(obj2.mag_psf)) -- obj2->mag_psf[0] = thepsfit->flux[j]>0.0? -+ outobj2.mag_psf[0] = thepsfit->flux[j]>0.0? - prefs.mag_zeropoint -2.5*log10(thepsfit->flux[j]) : 99.0; - if (FLAG(obj2.magerr_psf)) -- obj2->magerr_psf[0]= -- (thepsfit->flux[j]>0.0 && obj2->fluxerr_psf[j]>0.0) ? /*?*/ -- 1.086*obj2->fluxerr_psf[j]/thepsfit->flux[j] : 99.0; -+ outobj2.magerr_psf[0]= -+ (thepsfit->flux[j]>0.0 && outobj2.fluxerr_psf[j]>0.0) ? /*?*/ -+ 1.086*outobj2.fluxerr_psf[j]/thepsfit->flux[j] : 99.0; - if (FLAG(obj2.fluxerr_psf)) -- obj2->fluxerr_psf[0]= obj2->fluxerr_psf[j]; -+ outobj2.fluxerr_psf[0]= outobj2.fluxerr_psf[j]; - if (j) - obj->number = ++thecat.ntotal; - } -@@ -722,7 +721,7 @@ - { - if (prefs.somfit_flag && (check=prefs.check[CHECK_MAPSOM])) - blankcheck(check, obj->blank, obj->subw, obj->subh, -- obj->subx, obj->suby, (PIXTYPE)*(obj2->vector_somfit)); -+ obj->subx, obj->suby, (PIXTYPE)*(outobj2.vector_somfit)); - - } - blankimage(field, obj->blank, obj->subw, obj->subh, -Only in sextractor-2.8.6.new/src: analyse.o -diff -ur sextractor-2.8.6/src/astrom.c sextractor-2.8.6.new/src/astrom.c ---- sextractor-2.8.6/src/astrom.c 2009-01-29 14:52:00.000000000 +0100 -+++ sextractor-2.8.6.new/src/astrom.c 2009-05-24 00:07:27.000000000 +0200 -@@ -30,7 +30,6 @@ - #include "fitswcs.h" - #include "wcs/tnx.h" - --static obj2struct *obj2 = &outobj2; - - /****************************** initastrom **********************************/ - /* -@@ -99,46 +98,46 @@ - /* If working with WCS, compute WORLD coordinates and local matrix */ - if (FLAG(obj2.mxw)) - { -- rawpos[0] = obj2->posx; -- rawpos[1] = obj2->posy; -+ rawpos[0] = outobj2.posx; -+ rawpos[1] = outobj2.posy; - raw_to_wcs(wcs, rawpos, wcspos); -- obj2->mxw = wcspos[0]; -- obj2->myw = wcspos[1]; -+ outobj2.mxw = wcspos[0]; -+ outobj2.myw = wcspos[1]; - if (lng != lat) - { -- obj2->alphas = lngmxw : obj2->myw; -- obj2->deltas = lngmyw : obj2->mxw; -+ outobj2.alphas = lngequinox-2000.0)>0.003) - precess(wcs->equinox, wcspos[lngalpha2000, &obj2->delta2000); -+ 2000.0, &outobj2.alpha2000, &outobj2.delta2000); - else - { -- obj2->alpha2000 = lngmxw : obj2->myw; -- obj2->delta2000 = lngmyw : obj2->mxw; -+ outobj2.alpha2000 = lngap2000 - obj2->alpha2000; -+ da = wcs->ap2000 - outobj2.alpha2000; - dd = (sin(wcs->dp2000*DEG) -- -sin(obj2->delta2000*DEG)*sin(obj2->deltas*DEG)) -- /(cos(obj2->delta2000*DEG)*cos(obj2->deltas*DEG)); -+ -sin(outobj2.delta2000*DEG)*sin(outobj2.deltas*DEG)) -+ /(cos(outobj2.delta2000*DEG)*cos(outobj2.deltas*DEG)); - dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; -- obj2->dtheta2000 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); -+ outobj2.dtheta2000 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); - } - if (FLAG(obj2.alpha1950)) - { -- j2b(wcs->equinox, obj2->alpha2000, obj2->delta2000, -- &obj2->alpha1950, &obj2->delta1950); -+ j2b(wcs->equinox, outobj2.alpha2000, outobj2.delta2000, -+ &outobj2.alpha1950, &outobj2.delta1950); - if (FLAG(obj2.dtheta1950)) - { -- da = wcs->ap1950 - obj2->alpha1950; -+ da = wcs->ap1950 - outobj2.alpha1950; - dd = (sin(wcs->dp1950*DEG) -- -sin(obj2->delta1950*DEG)*sin(obj2->deltas*DEG)) -- /(cos(obj2->delta1950*DEG)*cos(obj2->deltas*DEG)); -+ -sin(outobj2.delta1950*DEG)*sin(outobj2.deltas*DEG)) -+ /(cos(outobj2.delta1950*DEG)*cos(outobj2.deltas*DEG)); - dd = dd<1.0? (dd>-1.0?acos(dd)/DEG:180.0) : 0.0; -- obj2->dtheta1950 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); -+ outobj2.dtheta1950 = (((da>0.0 && da<180.0) || da<-180.0)?-dd:dd); - } - } - } -@@ -151,25 +150,25 @@ - rawpos[0] = obj->peakx; - rawpos[1] = obj->peaky; - raw_to_wcs(wcs, rawpos, wcspos); -- obj2->peakxw = wcspos[0]; -- obj2->peakyw = wcspos[1]; -+ outobj2.peakxw = wcspos[0]; -+ outobj2.peakyw = wcspos[1]; - if (lng != lat) - { -- obj2->peakalphas = lngpeakxw : obj2->peakyw; -- obj2->peakdeltas = lngpeakyw : obj2->peakxw; -+ outobj2.peakalphas = lngequinox-2000.0)>0.003) - precess(wcs->equinox, wcspos[lngpeakalpha2000, &obj2->peakdelta2000); -+ 2000.0, &outobj2.peakalpha2000, &outobj2.peakdelta2000); - else - { -- obj2->peakalpha2000 = lngpeakxw : obj2->peakyw; -- obj2->peakdelta2000 = lngpeakyw : obj2->peakxw; -+ outobj2.peakalpha2000 = lngequinox, obj2->peakalpha2000, obj2->peakdelta2000, -- &obj2->peakalpha1950, &obj2->peakdelta1950); -+ j2b(wcs->equinox, outobj2.peakalpha2000, outobj2.peakdelta2000, -+ &outobj2.peakalpha1950, &outobj2.peakdelta1950); - } - } - } -@@ -177,28 +176,28 @@ - /* Idem for Windowed positions */ - if (FLAG(obj2.winpos_xw)) - { -- rawpos[0] = obj2->winpos_x; -- rawpos[1] = obj2->winpos_y; -+ rawpos[0] = outobj2.winpos_x; -+ rawpos[1] = outobj2.winpos_y; - raw_to_wcs(wcs, rawpos, wcspos); -- obj2->winpos_xw = wcspos[0]; -- obj2->winpos_yw = wcspos[1]; -+ outobj2.winpos_xw = wcspos[0]; -+ outobj2.winpos_yw = wcspos[1]; - if (lng != lat) - { -- obj2->winpos_alphas = lngwinpos_xw : obj2->winpos_yw; -- obj2->winpos_deltas = lngwinpos_yw : obj2->winpos_xw; -+ outobj2.winpos_alphas = lngequinox-2000.0)>0.003) - precess(wcs->equinox, wcspos[0], wcspos[1], -- 2000.0, &obj2->winpos_alpha2000, &obj2->winpos_delta2000); -+ 2000.0, &outobj2.winpos_alpha2000, &outobj2.winpos_delta2000); - else - { -- obj2->winpos_alpha2000 = lngwinpos_xw : obj2->winpos_yw; -- obj2->winpos_delta2000 = lngwinpos_yw : obj2->winpos_xw; -+ outobj2.winpos_alpha2000 = lngequinox, obj2->winpos_alpha2000, obj2->winpos_delta2000, -- &obj2->winpos_alpha1950, &obj2->winpos_delta1950); -+ j2b(wcs->equinox, outobj2.winpos_alpha2000, outobj2.winpos_delta2000, -+ &outobj2.winpos_alpha1950, &outobj2.winpos_delta1950); - } - } - } -@@ -206,28 +205,28 @@ - /* Idem for Model-fitted positions */ - if (FLAG(obj2.xw_prof)) - { -- rawpos[0] = obj2->x_prof; -- rawpos[1] = obj2->y_prof; -+ rawpos[0] = outobj2.x_prof; -+ rawpos[1] = outobj2.y_prof; - raw_to_wcs(wcs, rawpos, wcspos); -- obj2->xw_prof = wcspos[0]; -- obj2->yw_prof = wcspos[1]; -+ outobj2.xw_prof = wcspos[0]; -+ outobj2.yw_prof = wcspos[1]; - if (lng != lat) - { -- obj2->alphas_prof = lngxw_prof : obj2->yw_prof; -- obj2->deltas_prof = lngyw_prof : obj2->xw_prof; -+ outobj2.alphas_prof = lngequinox-2000.0)>0.003) - precess(wcs->equinox, wcspos[0], wcspos[1], -- 2000.0, &obj2->alpha2000_prof, &obj2->delta2000_prof); -+ 2000.0, &outobj2.alpha2000_prof, &outobj2.delta2000_prof); - else - { -- obj2->alpha2000_prof = lngxw_prof : obj2->yw_prof; -- obj2->delta2000_prof = lngyw_prof : obj2->xw_prof; -+ outobj2.alpha2000_prof = lngequinox, obj2->alpha2000_prof, obj2->delta2000_prof, -- &obj2->alpha1950_prof, &obj2->delta1950_prof); -+ j2b(wcs->equinox, outobj2.alpha2000_prof, outobj2.delta2000_prof, -+ &outobj2.alpha1950_prof, &outobj2.delta1950_prof); - } - } - } -@@ -235,11 +234,11 @@ - /* Custom coordinate system for the MAMA machine */ - if (FLAG(obj2.mamaposx)) - { -- rawpos[0] = obj2->posx - 0.5; -- rawpos[1] = obj2->posy - 0.5; -+ rawpos[0] = outobj2.posx - 0.5; -+ rawpos[1] = outobj2.posy - 0.5; - raw_to_wcs(wcs, rawpos, wcspos); -- obj2->mamaposx = wcspos[1]*(MAMA_CORFLEX+1.0); -- obj2->mamaposy = wcspos[0]*(MAMA_CORFLEX+1.0); -+ outobj2.mamaposx = wcspos[1]*(MAMA_CORFLEX+1.0); -+ outobj2.mamaposy = wcspos[0]*(MAMA_CORFLEX+1.0); - } - - if (FLAG(obj2.mx2w) -@@ -252,9 +251,9 @@ - || FLAG(obj2.fdnpixw) - || FLAG(obj2.fwhmw)))) - { -- rawpos[0] = obj2->posx; -- rawpos[1] = obj2->posy; -- pixscale2 = wcs_jacobian(wcs, rawpos, obj2->jacob); -+ rawpos[0] = outobj2.posx; -+ rawpos[1] = outobj2.posy; -+ pixscale2 = wcs_jacobian(wcs, rawpos, outobj2.jacob); - } - - /* Express shape parameters in WORLD frame */ -@@ -274,14 +273,14 @@ - astrom_proferrparam(field, obj); - - if (FLAG(obj2.npixw)) -- obj2->npixw = obj->npix * (prefs.pixel_scale? -+ outobj2.npixw = obj->npix * (prefs.pixel_scale? - field->pixscale/3600.0*field->pixscale/3600.0 : pixscale2); - if (FLAG(obj2.fdnpixw)) -- obj2->fdnpixw = obj->fdnpix * (prefs.pixel_scale? -+ outobj2.fdnpixw = obj->fdnpix * (prefs.pixel_scale? - field->pixscale/3600.0*field->pixscale/3600.0 : pixscale2); - - if (FLAG(obj2.fwhmw)) -- obj2->fwhmw = obj->fwhm * (prefs.pixel_scale? -+ outobj2.fwhmw = obj->fwhm * (prefs.pixel_scale? - field->pixscale/3600.0 : sqrt(pixscale2)); - - return; -@@ -307,36 +306,36 @@ - lng = 0; - lat = 1; - } -- lm0 = obj2->jacob[lng+naxis*lng]; -- lm1 = obj2->jacob[lat+naxis*lng]; -- lm2 = obj2->jacob[lng+naxis*lat]; -- lm3 = obj2->jacob[lat+naxis*lat]; -+ lm0 = outobj2.jacob[lng+naxis*lng]; -+ lm1 = outobj2.jacob[lat+naxis*lng]; -+ lm2 = outobj2.jacob[lng+naxis*lat]; -+ lm3 = outobj2.jacob[lat+naxis*lat]; - - - /* All WORLD params based on 2nd order moments have to pass through here */ - dx2 = obj->mx2; - dy2 = obj->my2; - dxy = obj->mxy; -- obj2->mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; -- obj2->my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; -- obj2->mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; -+ outobj2.mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; -+ outobj2.my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; -+ outobj2.mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; - temp=xm2-ym2; - if (FLAG(obj2.thetaw)) - { -- obj2->thetaw = fmod_m90_p90((temp == 0.0)? -+ outobj2.thetaw = fmod_m90_p90((temp == 0.0)? - (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG)); - - /*-- Compute position angles in J2000 or B1950 reference frame */ - if (wcs->lng != wcs->lat) - { - if (FLAG(obj2.thetas)) -- obj2->thetas = fmod_m90_p90(lngthetaw>0.0?90:-90.0) - obj2->thetaw) -- : obj2->thetaw); -+ outobj2.thetas = fmod_m90_p90(lng0.0?90:-90.0) - outobj2.thetaw) -+ : outobj2.thetaw); - if (FLAG(obj2.theta2000)) -- obj2->theta2000 = fmod_m90_p90(obj2->thetas + obj2->dtheta2000); -+ outobj2.theta2000 = fmod_m90_p90(outobj2.thetas + outobj2.dtheta2000); - if (FLAG(obj2.theta1950)) -- obj2->theta1950 = fmod_m90_p90(obj2->thetas + obj2->dtheta1950); -+ outobj2.theta1950 = fmod_m90_p90(outobj2.thetas + outobj2.dtheta1950); - } - } - -@@ -344,9 +343,9 @@ - { - temp = sqrt(0.25*temp*temp+xym*xym); - pm2 = 0.5*(xm2+ym2); -- obj2->aw = (float)sqrt(pm2+temp); -- obj2->bw = (float)sqrt(pm2-temp); -- obj2->polarw = temp / pm2; -+ outobj2.aw = (float)sqrt(pm2+temp); -+ outobj2.bw = (float)sqrt(pm2-temp); -+ outobj2.polarw = temp / pm2; - } - - if (FLAG(obj2.cxxw)) -@@ -357,9 +356,9 @@ - temp = 1e-6; - xym *= 0.99999; - } -- obj2->cxxw = (float)(ym2/temp); -- obj2->cyyw = (float)(xm2/temp); -- obj2->cxyw = (float)(-2*xym/temp); -+ outobj2.cxxw = (float)(ym2/temp); -+ outobj2.cyyw = (float)(xm2/temp); -+ outobj2.cxyw = (float)(-2*xym/temp); - } - - return; -@@ -385,35 +384,35 @@ - lng = 0; - lat = 1; - } -- lm0 = obj2->jacob[lng+naxis*lng]; -- lm1 = obj2->jacob[lat+naxis*lng]; -- lm2 = obj2->jacob[lng+naxis*lat]; -- lm3 = obj2->jacob[lat+naxis*lat]; -+ lm0 = outobj2.jacob[lng+naxis*lng]; -+ lm1 = outobj2.jacob[lat+naxis*lng]; -+ lm2 = outobj2.jacob[lng+naxis*lat]; -+ lm3 = outobj2.jacob[lat+naxis*lat]; - - /* All WORLD params based on 2nd order moments have to pass through here */ -- dx2 = obj2->win_mx2; -- dy2 = obj2->win_my2; -- dxy = obj2->win_mxy; -- obj2->win_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; -- obj2->win_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; -- obj2->win_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; -+ dx2 = outobj2.win_mx2; -+ dy2 = outobj2.win_my2; -+ dxy = outobj2.win_mxy; -+ outobj2.win_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; -+ outobj2.win_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; -+ outobj2.win_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; - temp=xm2-ym2; - if (FLAG(obj2.win_thetaw)) - { -- obj2->win_thetaw = fmod_m90_p90((temp == 0.0)? -+ outobj2.win_thetaw = fmod_m90_p90((temp == 0.0)? - (45.0) : (0.5*atan2(2.0*xym,temp)/DEG)); - - /*-- Compute position angles in J2000 or B1950 reference frame */ - if (wcs->lng != wcs->lat) - { - if (FLAG(obj2.win_thetas)) -- obj2->win_thetas = fmod_m90_p90(lngwin_thetaw>0.0?90:-90.0) - obj2->win_thetaw) -- : obj2->win_thetaw); -+ outobj2.win_thetas = fmod_m90_p90(lng0.0?90:-90.0) - outobj2.win_thetaw) -+ : outobj2.win_thetaw); - if (FLAG(obj2.win_theta2000)) -- obj2->win_theta2000 = fmod_m90_p90(obj2->win_thetas + obj2->dtheta2000); -+ outobj2.win_theta2000 = fmod_m90_p90(outobj2.win_thetas + outobj2.dtheta2000); - if (FLAG(obj2.win_theta1950)) -- obj2->win_theta1950 = fmod_m90_p90(obj2->win_thetas + obj2->dtheta1950); -+ outobj2.win_theta1950 = fmod_m90_p90(outobj2.win_thetas + outobj2.dtheta1950); - } - } - -@@ -421,9 +420,9 @@ - { - temp = sqrt(0.25*temp*temp+xym*xym); - pm2 = 0.5*(xm2+ym2); -- obj2->win_aw = (float)sqrt(pm2+temp); -- obj2->win_bw = (float)sqrt(pm2-temp); -- obj2->win_polarw = temp / pm2; -+ outobj2.win_aw = (float)sqrt(pm2+temp); -+ outobj2.win_bw = (float)sqrt(pm2-temp); -+ outobj2.win_polarw = temp / pm2; - } - - if (FLAG(obj2.win_cxxw)) -@@ -434,9 +433,9 @@ - temp = 1e-6; - xym *= 0.99999; - } -- obj2->win_cxxw = (float)(ym2/temp); -- obj2->win_cyyw = (float)(xm2/temp); -- obj2->win_cxyw = (float)(-2*xym/temp); -+ outobj2.win_cxxw = (float)(ym2/temp); -+ outobj2.win_cyyw = (float)(xm2/temp); -+ outobj2.win_cxyw = (float)(-2*xym/temp); - } - - return; -@@ -462,37 +461,37 @@ - lng = 0; - lat = 1; - } -- lm0 = obj2->jacob[lng+naxis*lng]; -- lm1 = obj2->jacob[lat+naxis*lng]; -- lm2 = obj2->jacob[lng+naxis*lat]; -- lm3 = obj2->jacob[lat+naxis*lat]; -+ lm0 = outobj2.jacob[lng+naxis*lng]; -+ lm1 = outobj2.jacob[lat+naxis*lng]; -+ lm2 = outobj2.jacob[lng+naxis*lat]; -+ lm3 = outobj2.jacob[lat+naxis*lat]; - - /* All WORLD params based on 2nd order moments have to pass through here */ - dx2 = obj->poserr_mx2; - dy2 = obj->poserr_my2; - dxy = obj->poserr_mxy; -- obj2->poserr_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; -- obj2->poserr_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; -- obj2->poserr_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; -+ outobj2.poserr_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; -+ outobj2.poserr_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; -+ outobj2.poserr_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; - temp=xm2-ym2; - if (FLAG(obj2.poserr_thetaw)) - { -- obj2->poserr_thetaw = fmod_m90_p90((temp==0.0)? -+ outobj2.poserr_thetaw = fmod_m90_p90((temp==0.0)? - (45.0):(0.5*atan2(2.0*xym,temp)/DEG)); - - /*-- Compute position angles in J2000 or B1950 reference frame */ - if (wcs->lng != wcs->lat) - { - if (FLAG(obj2.poserr_thetas)) -- obj2->poserr_thetas = fmod_m90_p90(lngposerr_thetaw>0.0?90:-90.0) - obj2->poserr_thetaw) -- : obj2->poserr_thetaw); -+ outobj2.poserr_thetas = fmod_m90_p90(lng0.0?90:-90.0) - outobj2.poserr_thetaw) -+ : outobj2.poserr_thetaw); - if (FLAG(obj2.poserr_theta2000)) -- obj2->poserr_theta2000 = fmod_m90_p90(obj2->poserr_thetas -- + obj2->dtheta2000); -+ outobj2.poserr_theta2000 = fmod_m90_p90(outobj2.poserr_thetas -+ + outobj2.dtheta2000); - if (FLAG(obj2.poserr_theta1950)) -- obj2->poserr_theta1950 = fmod_m90_p90(obj2->poserr_thetas -- + obj2->dtheta1950); -+ outobj2.poserr_theta1950 = fmod_m90_p90(outobj2.poserr_thetas -+ + outobj2.dtheta1950); - } - } - -@@ -500,8 +499,8 @@ - { - temp = sqrt(0.25*temp*temp+xym*xym); - pm2 = 0.5*(xm2+ym2); -- obj2->poserr_aw = (float)sqrt(pm2+temp); -- obj2->poserr_bw = (float)sqrt(pm2-temp); -+ outobj2.poserr_aw = (float)sqrt(pm2+temp); -+ outobj2.poserr_bw = (float)sqrt(pm2-temp); - } - - if (FLAG(obj2.poserr_cxxw)) -@@ -512,9 +511,9 @@ - temp = 1e-6; - xym *= 0.99999; - } -- obj2->poserr_cxxw = (float)(ym2/temp); -- obj2->poserr_cyyw = (float)(xm2/temp); -- obj2->poserr_cxyw = (float)(-2*xym/temp); -+ outobj2.poserr_cxxw = (float)(ym2/temp); -+ outobj2.poserr_cyyw = (float)(xm2/temp); -+ outobj2.poserr_cxyw = (float)(-2*xym/temp); - } - - return; -@@ -540,37 +539,37 @@ - lng = 0; - lat = 1; - } -- lm0 = obj2->jacob[lng+naxis*lng]; -- lm1 = obj2->jacob[lat+naxis*lng]; -- lm2 = obj2->jacob[lng+naxis*lat]; -- lm3 = obj2->jacob[lat+naxis*lat]; -+ lm0 = outobj2.jacob[lng+naxis*lng]; -+ lm1 = outobj2.jacob[lat+naxis*lng]; -+ lm2 = outobj2.jacob[lng+naxis*lat]; -+ lm3 = outobj2.jacob[lat+naxis*lat]; - - /* All WORLD params based on 2nd order moments have to pass through here */ -- dx2 = obj2->winposerr_mx2; -- dy2 = obj2->winposerr_my2; -- dxy = obj2->winposerr_mxy; -- obj2->winposerr_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; -- obj2->winposerr_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; -- obj2->winposerr_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; -+ dx2 = outobj2.winposerr_mx2; -+ dy2 = outobj2.winposerr_my2; -+ dxy = outobj2.winposerr_mxy; -+ outobj2.winposerr_mx2w = xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; -+ outobj2.winposerr_my2w = ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; -+ outobj2.winposerr_mxyw = xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; - temp=xm2-ym2; - if (FLAG(obj2.winposerr_thetaw)) - { -- obj2->winposerr_thetaw = (fmod_m90_p90(temp==0.0)? -+ outobj2.winposerr_thetaw = (fmod_m90_p90(temp==0.0)? - (45.0):(0.5*atan2(2.0*xym,temp)/DEG)); - - /*-- Compute position angles in J2000 or B1950 reference frame */ - if (wcs->lng != wcs->lat) - { - if (FLAG(obj2.winposerr_thetas)) -- obj2->winposerr_thetas = fmod_m90_p90(lngwinposerr_thetaw>0.0?90:-90.0) - obj2->winposerr_thetaw) -- : obj2->winposerr_thetaw); -+ outobj2.winposerr_thetas = fmod_m90_p90(lng0.0?90:-90.0) - outobj2.winposerr_thetaw) -+ : outobj2.winposerr_thetaw); - if (FLAG(obj2.winposerr_theta2000)) -- obj2->winposerr_theta2000 = fmod_m90_p90(obj2->winposerr_thetas -- + obj2->dtheta2000); -+ outobj2.winposerr_theta2000 = fmod_m90_p90(outobj2.winposerr_thetas -+ + outobj2.dtheta2000); - if (FLAG(obj2.winposerr_theta1950)) -- obj2->winposerr_theta1950 = fmod_m90_p90(obj2->winposerr_thetas -- + obj2->dtheta1950); -+ outobj2.winposerr_theta1950 = fmod_m90_p90(outobj2.winposerr_thetas -+ + outobj2.dtheta1950); - } - } - -@@ -578,8 +577,8 @@ - { - temp = sqrt(0.25*temp*temp+xym*xym); - pm2 = 0.5*(xm2+ym2); -- obj2->winposerr_aw = (float)sqrt(pm2+temp); -- obj2->winposerr_bw = (float)sqrt(pm2-temp); -+ outobj2.winposerr_aw = (float)sqrt(pm2+temp); -+ outobj2.winposerr_bw = (float)sqrt(pm2-temp); - } - - if (FLAG(obj2.winposerr_cxxw)) -@@ -590,9 +589,9 @@ - temp = 1e-6; - xym *= 0.99999; - } -- obj2->winposerr_cxxw = (float)(ym2/temp); -- obj2->winposerr_cyyw = (float)(xm2/temp); -- obj2->winposerr_cxyw = (float)(-2*xym/temp); -+ outobj2.winposerr_cxxw = (float)(ym2/temp); -+ outobj2.winposerr_cyyw = (float)(xm2/temp); -+ outobj2.winposerr_cxyw = (float)(-2*xym/temp); - } - - return; -@@ -618,37 +617,37 @@ - lng = 0; - lat = 1; - } -- lm0 = obj2->jacob[lng+naxis*lng]; -- lm1 = obj2->jacob[lat+naxis*lng]; -- lm2 = obj2->jacob[lng+naxis*lat]; -- lm3 = obj2->jacob[lat+naxis*lat]; -+ lm0 = outobj2.jacob[lng+naxis*lng]; -+ lm1 = outobj2.jacob[lat+naxis*lng]; -+ lm2 = outobj2.jacob[lng+naxis*lat]; -+ lm3 = outobj2.jacob[lat+naxis*lat]; - - /* All WORLD params based on 2nd order moments have to pass through here */ -- dx2 = obj2->poserrmx2_prof; -- dy2 = obj2->poserrmy2_prof; -- dxy = obj2->poserrmxy_prof; -- obj2->poserrmx2w_prof = xm2 = lm0*lm0*dx2+lm1*lm1*dy2+lm0*lm1*dxy; -- obj2->poserrmy2w_prof = ym2 = lm2*lm2*dx2+lm3*lm3*dy2+lm2*lm3*dxy; -- obj2->poserrmxyw_prof = xym = lm0*lm2*dx2+lm1*lm3*dy2+(lm0*lm3+lm1*lm2)*dxy; -+ dx2 = outobj2.poserrmx2_prof; -+ dy2 = outobj2.poserrmy2_prof; -+ dxy = outobj2.poserrmxy_prof; -+ outobj2.poserrmx2w_prof = xm2 = lm0*lm0*dx2+lm1*lm1*dy2+lm0*lm1*dxy; -+ outobj2.poserrmy2w_prof = ym2 = lm2*lm2*dx2+lm3*lm3*dy2+lm2*lm3*dxy; -+ outobj2.poserrmxyw_prof = xym = lm0*lm2*dx2+lm1*lm3*dy2+(lm0*lm3+lm1*lm2)*dxy; - temp=xm2-ym2; - if (FLAG(obj2.poserrthetaw_prof)) - { -- obj2->poserrthetaw_prof = (fmod_m90_p90(temp==0.0)? -+ outobj2.poserrthetaw_prof = (fmod_m90_p90(temp==0.0)? - (45.0):(0.5*atan2(2.0*xym,temp)/DEG)); - - /*-- Compute position angles in J2000 or B1950 reference frame */ - if (wcs->lng != wcs->lat) - { - if (FLAG(obj2.poserrthetas_prof)) -- obj2->poserrthetas_prof = fmod_m90_p90(lngposerrthetaw_prof>0.0?90:-90.0)-obj2->poserrthetaw_prof) -- : obj2->poserrthetaw_prof); -+ outobj2.poserrthetas_prof = fmod_m90_p90(lng0.0?90:-90.0)-outobj2.poserrthetaw_prof) -+ : outobj2.poserrthetaw_prof); - if (FLAG(obj2.poserrtheta2000_prof)) -- obj2->poserrtheta2000_prof = fmod_m90_p90(obj2->poserrthetas_prof -- + obj2->dtheta2000); -+ outobj2.poserrtheta2000_prof = fmod_m90_p90(outobj2.poserrthetas_prof -+ + outobj2.dtheta2000); - if (FLAG(obj2.poserrtheta1950_prof)) -- obj2->poserrtheta1950_prof = fmod_m90_p90(obj2->poserrthetas_prof -- + obj2->dtheta1950); -+ outobj2.poserrtheta1950_prof = fmod_m90_p90(outobj2.poserrthetas_prof -+ + outobj2.dtheta1950); - } - } - -@@ -656,8 +655,8 @@ - { - temp = sqrt(0.25*temp*temp+xym*xym); - pm2 = 0.5*(xm2+ym2); -- obj2->poserraw_prof = (float)sqrt(pm2+temp); -- obj2->poserrbw_prof = (float)sqrt(pm2-temp); -+ outobj2.poserraw_prof = (float)sqrt(pm2+temp); -+ outobj2.poserrbw_prof = (float)sqrt(pm2-temp); - } - - if (FLAG(obj2.poserrcxxw_prof)) -@@ -668,9 +667,9 @@ - temp = 1e-6; - xym *= 0.99999; - } -- obj2->poserrcxxw_prof = (float)(ym2/temp); -- obj2->poserrcyyw_prof = (float)(xm2/temp); -- obj2->poserrcxyw_prof = (float)(-2*xym/temp); -+ outobj2.poserrcxxw_prof = (float)(ym2/temp); -+ outobj2.poserrcyyw_prof = (float)(xm2/temp); -+ outobj2.poserrcxyw_prof = (float)(-2*xym/temp); - } - - return; -@@ -696,178 +695,178 @@ - lng = 0; - lat = 1; - } -- lm0 = obj2->jacob[lng+naxis*lng]; -- lm1 = obj2->jacob[lat+naxis*lng]; -- lm2 = obj2->jacob[lng+naxis*lat]; -- lm3 = obj2->jacob[lat+naxis*lat]; -+ lm0 = outobj2.jacob[lng+naxis*lng]; -+ lm1 = outobj2.jacob[lat+naxis*lng]; -+ lm2 = outobj2.jacob[lng+naxis*lat]; -+ lm3 = outobj2.jacob[lat+naxis*lat]; - - /* Spheroid World coordinates */ -- obj2->prof_spheroid_thetaerrw=obj2->prof_spheroid_thetaerr; /* quick & dirty*/ -+ outobj2.prof_spheroid_thetaerrw=outobj2.prof_spheroid_thetaerr; /* quick & dirty*/ - if (FLAG(obj2.prof_spheroid_reffw)) - { -- ct = cos(obj2->prof_spheroid_theta*DEG); -- st = sin(obj2->prof_spheroid_theta*DEG); -- dx2 = obj2->prof_spheroid_reff*obj2->prof_spheroid_reff * (ct*ct -- + st*st * obj2->prof_spheroid_aspect*obj2->prof_spheroid_aspect); -- dy2 = obj2->prof_spheroid_reff*obj2->prof_spheroid_reff * (st*st -- + ct*ct * obj2->prof_spheroid_aspect*obj2->prof_spheroid_aspect); -- dxy = ct*st * obj2->prof_spheroid_reff*obj2->prof_spheroid_reff -- *(1.0 - obj2->prof_spheroid_aspect*obj2->prof_spheroid_aspect); -+ ct = cos(outobj2.prof_spheroid_theta*DEG); -+ st = sin(outobj2.prof_spheroid_theta*DEG); -+ dx2 = outobj2.prof_spheroid_reff*outobj2.prof_spheroid_reff * (ct*ct -+ + st*st * outobj2.prof_spheroid_aspect*outobj2.prof_spheroid_aspect); -+ dy2 = outobj2.prof_spheroid_reff*outobj2.prof_spheroid_reff * (st*st -+ + ct*ct * outobj2.prof_spheroid_aspect*outobj2.prof_spheroid_aspect); -+ dxy = ct*st * outobj2.prof_spheroid_reff*outobj2.prof_spheroid_reff -+ *(1.0 - outobj2.prof_spheroid_aspect*outobj2.prof_spheroid_aspect); - xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; - ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; - xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; - temp=xm2-ym2; - if (FLAG(obj2.prof_spheroid_thetaw)) - { -- obj2->prof_spheroid_thetaw = fmod_m90_p90((temp == 0.0)? -+ outobj2.prof_spheroid_thetaw = fmod_m90_p90((temp == 0.0)? - (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG)); - - if (wcs->lng != wcs->lat) - { - if (FLAG(obj2.prof_spheroid_thetas)) -- obj2->prof_spheroid_thetas = fmod_m90_p90(lngprof_spheroid_thetaw>0.0?90:-90.0) -- - obj2->prof_spheroid_thetaw) -- : obj2->prof_spheroid_thetaw); -+ outobj2.prof_spheroid_thetas = fmod_m90_p90(lng0.0?90:-90.0) -+ - outobj2.prof_spheroid_thetaw) -+ : outobj2.prof_spheroid_thetaw); - if (FLAG(obj2.prof_spheroid_theta2000)) -- obj2->prof_spheroid_theta2000=fmod_m90_p90(obj2->prof_spheroid_thetas -- + obj2->dtheta2000); -+ outobj2.prof_spheroid_theta2000=fmod_m90_p90(outobj2.prof_spheroid_thetas -+ + outobj2.dtheta2000); - if (FLAG(obj2.prof_spheroid_theta1950)) -- obj2->prof_spheroid_theta1950=fmod_m90_p90(obj2->prof_spheroid_thetas -- + obj2->dtheta1950); -+ outobj2.prof_spheroid_theta1950=fmod_m90_p90(outobj2.prof_spheroid_thetas -+ + outobj2.dtheta1950); - } - } - temp = sqrt(0.25*temp*temp+xym*xym); - pm2 = 0.5*(xm2+ym2); -- obj2->prof_spheroid_reffw = sqrt(pm2+temp); -- obj2->prof_spheroid_refferrw = obj2->prof_spheroid_reff > 0.0? -- obj2->prof_spheroid_refferr/obj2->prof_spheroid_reff -- *obj2->prof_spheroid_reffw -+ outobj2.prof_spheroid_reffw = sqrt(pm2+temp); -+ outobj2.prof_spheroid_refferrw = outobj2.prof_spheroid_reff > 0.0? -+ outobj2.prof_spheroid_refferr/outobj2.prof_spheroid_reff -+ *outobj2.prof_spheroid_reffw - : 0.0; -- obj2->prof_spheroid_aspectw = obj2->prof_spheroid_reffw>0.0? -- sqrt(pm2-temp) / obj2->prof_spheroid_reffw -- : obj2->prof_spheroid_aspect; -- obj2->prof_spheroid_aspecterrw = obj2->prof_spheroid_aspect > 0.0? -- obj2->prof_spheroid_aspecterr/obj2->prof_spheroid_aspect -- *obj2->prof_spheroid_aspectw -+ outobj2.prof_spheroid_aspectw = outobj2.prof_spheroid_reffw>0.0? -+ sqrt(pm2-temp) / outobj2.prof_spheroid_reffw -+ : outobj2.prof_spheroid_aspect; -+ outobj2.prof_spheroid_aspecterrw = outobj2.prof_spheroid_aspect > 0.0? -+ outobj2.prof_spheroid_aspecterr/outobj2.prof_spheroid_aspect -+ *outobj2.prof_spheroid_aspectw - : 0.0; - } - - /* Disk World coordinates */ -- obj2->prof_disk_thetaerrw = obj2->prof_disk_thetaerr; /* quick & dirty*/ -+ outobj2.prof_disk_thetaerrw = outobj2.prof_disk_thetaerr; /* quick & dirty*/ - if (FLAG(obj2.prof_disk_scalew)) - { -- ct = cos(obj2->prof_disk_theta*DEG); -- st = sin(obj2->prof_disk_theta*DEG); -- dx2 = obj2->prof_disk_scale*obj2->prof_disk_scale * (ct*ct -- + st*st * obj2->prof_disk_aspect*obj2->prof_disk_aspect); -- dy2 = obj2->prof_disk_scale*obj2->prof_disk_scale * (st*st -- + ct*ct * obj2->prof_disk_aspect*obj2->prof_disk_aspect); -- dxy = ct*st * obj2->prof_disk_scale*obj2->prof_disk_scale -- *(1.0 - obj2->prof_disk_aspect*obj2->prof_disk_aspect); -+ ct = cos(outobj2.prof_disk_theta*DEG); -+ st = sin(outobj2.prof_disk_theta*DEG); -+ dx2 = outobj2.prof_disk_scale*outobj2.prof_disk_scale * (ct*ct -+ + st*st * outobj2.prof_disk_aspect*outobj2.prof_disk_aspect); -+ dy2 = outobj2.prof_disk_scale*outobj2.prof_disk_scale * (st*st -+ + ct*ct * outobj2.prof_disk_aspect*outobj2.prof_disk_aspect); -+ dxy = ct*st * outobj2.prof_disk_scale*outobj2.prof_disk_scale -+ *(1.0 - outobj2.prof_disk_aspect*outobj2.prof_disk_aspect); - xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; - ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; - xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; - temp=xm2-ym2; - if (FLAG(obj2.prof_disk_thetaw)) - { -- obj2->prof_disk_thetaw = fmod_m90_p90((temp == 0.0)? -+ outobj2.prof_disk_thetaw = fmod_m90_p90((temp == 0.0)? - (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG)); - - /*---- Compute position angles in J2000 or B1950 reference frame */ - if (wcs->lng != wcs->lat) - { - if (FLAG(obj2.prof_disk_thetas)) -- obj2->prof_disk_thetas = fmod_m90_p90(lngprof_disk_thetaw>0.0?90:-90.0) -- - obj2->prof_disk_thetaw) -- : obj2->prof_disk_thetaw); -+ outobj2.prof_disk_thetas = fmod_m90_p90(lng0.0?90:-90.0) -+ - outobj2.prof_disk_thetaw) -+ : outobj2.prof_disk_thetaw); - if (FLAG(obj2.prof_disk_theta2000)) -- obj2->prof_disk_theta2000 = fmod_m90_p90(obj2->prof_disk_thetas -- + obj2->dtheta2000); -+ outobj2.prof_disk_theta2000 = fmod_m90_p90(outobj2.prof_disk_thetas -+ + outobj2.dtheta2000); - if (FLAG(obj2.prof_disk_theta1950)) -- obj2->prof_disk_theta1950 = fmod_m90_p90(obj2->prof_disk_thetas -- + obj2->dtheta1950); -+ outobj2.prof_disk_theta1950 = fmod_m90_p90(outobj2.prof_disk_thetas -+ + outobj2.dtheta1950); - } - } - temp = sqrt(0.25*temp*temp+xym*xym); - pm2 = 0.5*(xm2+ym2); -- obj2->prof_disk_scalew = sqrt(pm2+temp); -- obj2->prof_disk_scaleerrw = obj2->prof_disk_scale > 0.0? -- obj2->prof_disk_scaleerr/obj2->prof_disk_scale*obj2->prof_disk_scalew -+ outobj2.prof_disk_scalew = sqrt(pm2+temp); -+ outobj2.prof_disk_scaleerrw = outobj2.prof_disk_scale > 0.0? -+ outobj2.prof_disk_scaleerr/outobj2.prof_disk_scale*outobj2.prof_disk_scalew - : 0.0; -- obj2->prof_disk_aspectw = obj2->prof_disk_scalew>0.0? -- sqrt(pm2-temp) / obj2->prof_disk_scalew -- : obj2->prof_disk_aspect; -- obj2->prof_disk_aspecterrw = obj2->prof_disk_aspect > 0.0? -- obj2->prof_disk_aspecterr/obj2->prof_disk_aspect*obj2->prof_disk_aspectw -+ outobj2.prof_disk_aspectw = outobj2.prof_disk_scalew>0.0? -+ sqrt(pm2-temp) / outobj2.prof_disk_scalew -+ : outobj2.prof_disk_aspect; -+ outobj2.prof_disk_aspecterrw = outobj2.prof_disk_aspect > 0.0? -+ outobj2.prof_disk_aspecterr/outobj2.prof_disk_aspect*outobj2.prof_disk_aspectw - : 0.0; - /*-- Arms World coordinates */ - if (FLAG(obj2.prof_arms_scalew)) - { -- obj2->prof_arms_scalew = (obj2->prof_disk_scale > 0.0) ? -- obj2->prof_arms_scale*obj2->prof_disk_scalew/obj2->prof_disk_scale -+ outobj2.prof_arms_scalew = (outobj2.prof_disk_scale > 0.0) ? -+ outobj2.prof_arms_scale*outobj2.prof_disk_scalew/outobj2.prof_disk_scale - : 0.0; -- obj2->prof_arms_scaleerrw = (obj2->prof_arms_scale > 0.0) ? -- obj2->prof_arms_scaleerr/obj2->prof_arms_scale*obj2->prof_arms_scalew -+ outobj2.prof_arms_scaleerrw = (outobj2.prof_arms_scale > 0.0) ? -+ outobj2.prof_arms_scaleerr/outobj2.prof_arms_scale*outobj2.prof_arms_scalew - : 0.0; -- obj2->prof_arms_startw = (obj2->prof_disk_scale > 0.0) ? -- obj2->prof_arms_start*obj2->prof_disk_scalew/obj2->prof_disk_scale -+ outobj2.prof_arms_startw = (outobj2.prof_disk_scale > 0.0) ? -+ outobj2.prof_arms_start*outobj2.prof_disk_scalew/outobj2.prof_disk_scale - : 0.0; -- obj2->prof_arms_starterrw = (obj2->prof_arms_start > 0.0) ? -- obj2->prof_arms_starterr/obj2->prof_arms_start*obj2->prof_arms_startw -+ outobj2.prof_arms_starterrw = (outobj2.prof_arms_start > 0.0) ? -+ outobj2.prof_arms_starterr/outobj2.prof_arms_start*outobj2.prof_arms_startw - : 0.0; - } - } - - /* Bar World coordinates */ -- obj2->prof_bar_thetaerrw = obj2->prof_bar_thetaerr; -+ outobj2.prof_bar_thetaerrw = outobj2.prof_bar_thetaerr; - if (FLAG(obj2.prof_bar_lengthw)) - { -- ct = cos(obj2->prof_bar_theta*DEG); -- st = sin(obj2->prof_bar_theta*DEG); -- dx2 = obj2->prof_bar_length*obj2->prof_bar_length * (ct*ct -- + st*st * obj2->prof_bar_aspect*obj2->prof_bar_aspect); -- dy2 = obj2->prof_bar_length*obj2->prof_bar_length * (st*st -- + ct*ct * obj2->prof_bar_aspect*obj2->prof_bar_aspect); -- dxy = ct*st * obj2->prof_bar_length*obj2->prof_bar_length -- *(1.0 - obj2->prof_bar_aspect*obj2->prof_bar_aspect); -+ ct = cos(outobj2.prof_bar_theta*DEG); -+ st = sin(outobj2.prof_bar_theta*DEG); -+ dx2 = outobj2.prof_bar_length*outobj2.prof_bar_length * (ct*ct -+ + st*st * outobj2.prof_bar_aspect*outobj2.prof_bar_aspect); -+ dy2 = outobj2.prof_bar_length*outobj2.prof_bar_length * (st*st -+ + ct*ct * outobj2.prof_bar_aspect*outobj2.prof_bar_aspect); -+ dxy = ct*st * outobj2.prof_bar_length*outobj2.prof_bar_length -+ *(1.0 - outobj2.prof_bar_aspect*outobj2.prof_bar_aspect); - xm2 = lm0*lm0*dx2 + lm1*lm1*dy2 + lm0*lm1*dxy; - ym2 = lm2*lm2*dx2 + lm3*lm3*dy2 + lm2*lm3*dxy; - xym = lm0*lm2*dx2 + lm1*lm3*dy2 + (lm0*lm3+lm1*lm2)*dxy; - temp=xm2-ym2; - if (FLAG(obj2.prof_bar_thetaw)) - { -- obj2->prof_bar_thetaw = fmod_m90_p90((temp == 0.0)? -+ outobj2.prof_bar_thetaw = fmod_m90_p90((temp == 0.0)? - (45.0) : (0.5*atan2(2.0 * xym,temp)/DEG)); - - /*---- Compute position angles in J2000 or B1950 reference frame */ - if (wcs->lng != wcs->lat) - { - if (FLAG(obj2.prof_bar_thetas)) -- obj2->prof_bar_thetas = fmod_m90_p90(lngprof_bar_thetaw>0.0?90:-90.0) -- - obj2->prof_bar_thetaw) -- : obj2->prof_bar_thetaw); -+ outobj2.prof_bar_thetas = fmod_m90_p90(lng0.0?90:-90.0) -+ - outobj2.prof_bar_thetaw) -+ : outobj2.prof_bar_thetaw); - if (FLAG(obj2.prof_bar_theta2000)) -- obj2->prof_bar_theta2000 = fmod_m90_p90(obj2->prof_bar_thetas -- + obj2->dtheta2000); -+ outobj2.prof_bar_theta2000 = fmod_m90_p90(outobj2.prof_bar_thetas -+ + outobj2.dtheta2000); - if (FLAG(obj2.prof_bar_theta1950)) -- obj2->prof_bar_theta1950 = fmod_m90_p90(obj2->prof_bar_thetas -- + obj2->dtheta1950); -+ outobj2.prof_bar_theta1950 = fmod_m90_p90(outobj2.prof_bar_thetas -+ + outobj2.dtheta1950); - } - } - temp = sqrt(0.25*temp*temp+xym*xym); - pm2 = 0.5*(xm2+ym2); -- obj2->prof_bar_lengthw = sqrt(pm2+temp); -- obj2->prof_bar_lengtherrw = obj2->prof_bar_length > 0.0? -- obj2->prof_bar_lengtherr/obj2->prof_bar_length*obj2->prof_bar_lengthw -+ outobj2.prof_bar_lengthw = sqrt(pm2+temp); -+ outobj2.prof_bar_lengtherrw = outobj2.prof_bar_length > 0.0? -+ outobj2.prof_bar_lengtherr/outobj2.prof_bar_length*outobj2.prof_bar_lengthw - : 0.0; -- obj2->prof_bar_aspectw = obj2->prof_bar_lengthw>0.0? -- sqrt(pm2-temp) / obj2->prof_bar_lengthw -- : obj2->prof_bar_aspect; -- obj2->prof_bar_aspecterrw = obj2->prof_bar_aspect > 0.0? -- obj2->prof_bar_aspecterr/obj2->prof_bar_aspect*obj2->prof_bar_aspectw -+ outobj2.prof_bar_aspectw = outobj2.prof_bar_lengthw>0.0? -+ sqrt(pm2-temp) / outobj2.prof_bar_lengthw -+ : outobj2.prof_bar_aspect; -+ outobj2.prof_bar_aspecterrw = outobj2.prof_bar_aspect > 0.0? -+ outobj2.prof_bar_aspecterr/outobj2.prof_bar_aspect*outobj2.prof_bar_aspectw - : 0.0; - } - -Only in sextractor-2.8.6.new/src: astrom.o -diff -ur sextractor-2.8.6/src/growth.c sextractor-2.8.6.new/src/growth.c ---- sextractor-2.8.6/src/growth.c 2009-01-29 14:52:00.000000000 +0100 -+++ sextractor-2.8.6.new/src/growth.c 2009-05-24 00:07:56.000000000 +0200 -@@ -32,7 +32,7 @@ - - static double *growth; - static int ngrowth; --static obj2struct *obj2 = &outobj2; -+ - - /******************************** initgrowth *********************************/ - /* -@@ -45,7 +45,7 @@ - /* Quick (and dirty) fix to allow FLUX_RADIUS support */ - if (FLAG(obj2.flux_radius) && !prefs.flux_radiussize) - { -- QCALLOC(obj2->flux_radius, float, 1); -+ QCALLOC(outobj2.flux_radius, float, 1); - } - - return; -@@ -60,7 +60,7 @@ - { - free(growth); - if (FLAG(obj2.flux_radius) && !prefs.flux_radiussize) -- free(obj2->flux_radius); -+ free(outobj2.flux_radius); - - return; - } -@@ -284,8 +284,8 @@ - { - n = prefs.flux_growthsize; - if (FLAG(obj2.flux_growthstep)) -- obj2->flux_growthstep = rlim/n; -- fgrowth = obj2->flux_growth; -+ outobj2.flux_growthstep = rlim/n; -+ fgrowth = outobj2.flux_growth; - step2 = (double)GROWTH_NSTEP/n; - j = 1; - for (i=n; i--; j++) -@@ -305,8 +305,8 @@ - { - n = prefs.mag_growthsize; - if (FLAG(obj2.mag_growthstep)) -- obj2->mag_growthstep = rlim/n; -- fgrowth = obj2->mag_growth; -+ outobj2.mag_growthstep = rlim/n; -+ fgrowth = outobj2.mag_growth; - step2 = (double)GROWTH_NSTEP/n; - j = 1; - for (i=n; i--; j++) -@@ -328,10 +328,10 @@ - n = ngrowth-1; - for (j=0; jflux_auto; -+ tv = prefs.flux_frac[j]*outobj2.flux_auto; - growtht = growth-1; - for (i=0; iflux_radius[j] = step -+ outobj2.flux_radius[j] = step - *(i? ((dg=*growtht - *(growtht-1)) != 0.0 ? - i + (tv - *(growtht-1))/dg - : i) -@@ -343,10 +343,10 @@ - if (FLAG(obj2.hl_radius)) - { - n = ngrowth-1; -- tv = 0.5*obj2->flux_auto; -+ tv = 0.5*outobj2.flux_auto; - growtht = growth-1; - for (i=0; ihl_radius = step*(i? ((dg=*growtht - *(growtht-1)) != 0.0 ? -+ outobj2.hl_radius = step*(i? ((dg=*growtht - *(growtht-1)) != 0.0 ? - i + (tv - *(growtht-1))/dg - : i) - : (*growth !=0.0 ?tv/(*growth) : 0.0)); -Only in sextractor-2.8.6.new/src: growth.o -diff -ur sextractor-2.8.6/src/pc.c sextractor-2.8.6.new/src/pc.c ---- sextractor-2.8.6/src/pc.c 2009-01-29 14:52:00.000000000 +0100 -+++ sextractor-2.8.6.new/src/pc.c 2009-05-24 00:08:06.000000000 +0200 -@@ -32,7 +32,6 @@ - #include "wcs/poly.h" - #include "psf.h" - --static obj2struct *obj2 = &outobj2; - - /****** pc_end *************************************************************** - PROTO void pc_end(pcstruct *pc) -@@ -361,22 +360,22 @@ - - /*-- Copy the derived physical quantities to output parameters */ - /*-- (subject to changes) */ -- obj2->flux_galfit = fscale; -- obj2->gdposang = fparam[1]; -- if (obj2->gdposang>90.0) -- obj2->gdposang -= 180.0; -- else if (obj2->gdposang<-90.0) -- obj2->gdposang += 180.0; -- obj2->gdscale = fparam[2]; -- obj2->gdaspect = fparam[3]; -- ellip = (1.0 - obj2->gdaspect)/(1.0 + obj2->gdaspect); -- obj2->gde1 = (float)(ellip*cos(2*obj2->gdposang*PI/180.0)); -- obj2->gde2 = (float)(ellip*sin(2*obj2->gdposang*PI/180.0)); -+ outobj2.flux_galfit = fscale; -+ outobj2.gdposang = fparam[1]; -+ if (outobj2.gdposang>90.0) -+ outobj2.gdposang -= 180.0; -+ else if (outobj2.gdposang<-90.0) -+ outobj2.gdposang += 180.0; -+ outobj2.gdscale = fparam[2]; -+ outobj2.gdaspect = fparam[3]; -+ ellip = (1.0 - outobj2.gdaspect)/(1.0 + outobj2.gdaspect); -+ outobj2.gde1 = (float)(ellip*cos(2*outobj2.gdposang*PI/180.0)); -+ outobj2.gde2 = (float)(ellip*sin(2*outobj2.gdposang*PI/180.0)); - /*---- Copy the best-fitting PCs to the VECTOR_PC output vector */ - if (FLAG(obj2.vector_pc)) - { - solt = sol; -- ppix = obj2->vector_pc; -+ ppix = outobj2.vector_pc; - for (c=prefs.pc_vectorsize>npc?npc:prefs.pc_vectorsize; c--;) - *(ppix++) = *(solt++); - } -@@ -397,9 +396,9 @@ - xym += val**(mxyt++); - } - -- obj2->mx2_pc = xm2; -- obj2->my2_pc = ym2; -- obj2->mxy_pc = xym; -+ outobj2.mx2_pc = xm2; -+ outobj2.my2_pc = ym2; -+ outobj2.mxy_pc = xym; - - if (FLAG(obj2.a_pc)) - { -@@ -421,9 +420,9 @@ - pmx2 += temp; - pmy2 -= temp; - -- obj2->a_pc = (float)sqrt(pmx2); -- obj2->b_pc = (float)sqrt(pmy2); -- obj2->theta_pc = (float)(theta*180.0/PI); -+ outobj2.a_pc = (float)sqrt(pmx2); -+ outobj2.b_pc = (float)sqrt(pmy2); -+ outobj2.theta_pc = (float)(theta*180.0/PI); - } - - /* CHECK-Images */ -Only in sextractor-2.8.6.new/src: pc.o -diff -ur sextractor-2.8.6/src/photom.c sextractor-2.8.6.new/src/photom.c ---- sextractor-2.8.6/src/photom.c 2009-01-29 14:51:59.000000000 +0100 -+++ sextractor-2.8.6.new/src/photom.c 2009-05-24 00:08:35.000000000 +0200 -@@ -27,7 +27,7 @@ - #include "photom.h" - #include "plist.h" - --static obj2struct *obj2 = &outobj2; -+ - - /***************************** computeaperflux********************************/ - /* -@@ -184,13 +184,13 @@ - } - - if (iflux_aper[i] = tv; -+ outobj2.flux_aper[i] = tv; - if (ifluxerr_aper[i] = sqrt(sigtv); -+ outobj2.fluxerr_aper[i] = sqrt(sigtv); - if (imag_aper[i] = tv>0.0? -2.5*log10(tv) + prefs.mag_zeropoint : 99.0; -+ outobj2.mag_aper[i] = tv>0.0? -2.5*log10(tv) + prefs.mag_zeropoint : 99.0; - if (imagerr_aper[i] = tv>0.0? 1.086*sqrt(sigtv)/tv:99.0; -+ outobj2.magerr_aper[i] = tv>0.0? 1.086*sqrt(sigtv)/tv:99.0; - - return; - } -@@ -346,12 +346,12 @@ - /*-- Go further only if some pixels are available !! */ - if (areanum && areaden && munum && muden) - { -- obj2->petrofactor = prefs.petroparam[0]*kmea; -- if (obj2->petrofactor < prefs.petroparam[1]) -- obj2->petrofactor = prefs.petroparam[1]; -+ outobj2.petrofactor = prefs.petroparam[0]*kmea; -+ if (outobj2.petrofactor < prefs.petroparam[1]) -+ outobj2.petrofactor = prefs.petroparam[1]; - } - else -- obj2->petrofactor = prefs.petroparam[1]; -+ outobj2.petrofactor = prefs.petroparam[1]; - - /*-- Flag if the Petrosian photometry can be strongly affected by neighhours */ - if ((float)areab/area > CROWD_THRESHOLD) -@@ -360,16 +360,16 @@ - /*-- Second step: integrate within the ellipse */ - /*-- Clip boundaries in x and y (bis) */ - /*-- We first check that the derived ellipse is large enough... */ -- if (obj2->petrofactor*sqrt(obj->a*obj->b)>prefs.autoaper[1]/2.0) -+ if (outobj2.petrofactor*sqrt(obj->a*obj->b)>prefs.autoaper[1]/2.0) - { - cx2 = obj->cxx; - cy2 = obj->cyy; - cxy = obj->cxy; - dxlim = cx2 - cxy*cxy/(4.0*cy2); -- dxlim = dxlim>0.0 ? obj2->petrofactor/sqrt(dxlim) : 0.0; -+ dxlim = dxlim>0.0 ? outobj2.petrofactor/sqrt(dxlim) : 0.0; - dylim = cy2 - cxy*cxy/(4.0*cx2); -- dylim = dylim > 0.0 ? obj2->petrofactor/sqrt(dylim) : 0.0; -- klim2 = obj2->petrofactor*obj2->petrofactor; -+ dylim = dylim > 0.0 ? outobj2.petrofactor/sqrt(dylim) : 0.0; -+ klim2 = outobj2.petrofactor*outobj2.petrofactor; - } - else - /*---- ...if not, use the circular aperture provided by the user */ -@@ -378,7 +378,7 @@ - cxy = 0.0; - dxlim = dylim = prefs.autoaper[1]/2.0; - klim2 = dxlim*dxlim; -- obj2->petrofactor = 0.0; -+ outobj2.petrofactor = 0.0; - } - - if ((xmin = RINT(mx-dxlim)) < 0) -@@ -479,19 +479,19 @@ - tv = sigtv = 0.0; - - -- obj2->flux_petro = tv; -- obj2->fluxerr_petro = sqrt(sigtv); -+ outobj2.flux_petro = tv; -+ outobj2.fluxerr_petro = sqrt(sigtv); - - if (FLAG(obj2.mag_petro)) -- obj2->mag_petro = obj2->flux_petro>0.0? -- -2.5*log10(obj2->flux_petro) + prefs.mag_zeropoint -+ outobj2.mag_petro = outobj2.flux_petro>0.0? -+ -2.5*log10(outobj2.flux_petro) + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.magerr_petro)) -- obj2->magerr_petro = obj2->flux_petro>0.0? -- 1.086*obj2->fluxerr_petro/obj2->flux_petro -+ outobj2.magerr_petro = outobj2.flux_petro>0.0? -+ 1.086*outobj2.fluxerr_petro/outobj2.flux_petro - :99.0; - if (tv<=0.0) -- obj2->petrofactor = 0.0; -+ outobj2.petrofactor = 0.0; - - return; - } -@@ -617,12 +617,12 @@ - /*-- Go further only if some pixels are available !! */ - if (r1>0.0 && v1>0.0) - { -- obj2->kronfactor = prefs.autoparam[0]*r1/v1; -- if (obj2->kronfactor < prefs.autoparam[1]) -- obj2->kronfactor = prefs.autoparam[1]; -+ outobj2.kronfactor = prefs.autoparam[0]*r1/v1; -+ if (outobj2.kronfactor < prefs.autoparam[1]) -+ outobj2.kronfactor = prefs.autoparam[1]; - } - else -- obj2->kronfactor = prefs.autoparam[1]; -+ outobj2.kronfactor = prefs.autoparam[1]; - - /*-- Flag if the Kron photometry can be strongly affected by neighhours */ - if ((float)areab/area > CROWD_THRESHOLD) -@@ -631,16 +631,16 @@ - /*-- Second step: integrate within the ellipse */ - /*-- Clip boundaries in x and y (bis) */ - /*-- We first check that the derived ellipse is large enough... */ -- if (obj2->kronfactor*sqrt(obj->a*obj->b)>prefs.autoaper[1]/2.0) -+ if (outobj2.kronfactor*sqrt(obj->a*obj->b)>prefs.autoaper[1]/2.0) - { - cx2 = obj->cxx; - cy2 = obj->cyy; - cxy = obj->cxy; - dxlim = cx2 - cxy*cxy/(4.0*cy2); -- dxlim = dxlim>0.0 ? obj2->kronfactor/sqrt(dxlim) : 0.0; -+ dxlim = dxlim>0.0 ? outobj2.kronfactor/sqrt(dxlim) : 0.0; - dylim = cy2 - cxy*cxy/(4.0*cx2); -- dylim = dylim > 0.0 ? obj2->kronfactor/sqrt(dylim) : 0.0; -- klim2 = obj2->kronfactor*obj2->kronfactor; -+ dylim = dylim > 0.0 ? outobj2.kronfactor/sqrt(dylim) : 0.0; -+ klim2 = outobj2.kronfactor*outobj2.kronfactor; - } - else - /*---- ...if not, use the circular aperture provided by the user */ -@@ -649,7 +649,7 @@ - cxy = 0.0; - dxlim = dylim = prefs.autoaper[1]/2.0; - klim2 = dxlim*dxlim; -- obj2->kronfactor = 0.0; -+ outobj2.kronfactor = 0.0; - } - - if ((xmin = RINT(mx-dxlim)) < 0) -@@ -750,19 +750,19 @@ - tv = sigtv = 0.0; - - -- obj2->flux_auto = tv; -- obj2->fluxerr_auto = sqrt(sigtv); -+ outobj2.flux_auto = tv; -+ outobj2.fluxerr_auto = sqrt(sigtv); - - if (FLAG(obj2.mag_auto)) -- obj2->mag_auto = obj2->flux_auto>0.0? -- -2.5*log10(obj2->flux_auto) + prefs.mag_zeropoint -+ outobj2.mag_auto = outobj2.flux_auto>0.0? -+ -2.5*log10(outobj2.flux_auto) + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.magerr_auto)) -- obj2->magerr_auto = obj2->flux_auto>0.0? -- 1.086*obj2->fluxerr_auto/obj2->flux_auto -+ outobj2.magerr_auto = outobj2.flux_auto>0.0? -+ 1.086*outobj2.fluxerr_auto/outobj2.flux_auto - :99.0; - if (tv<=0.0) -- obj2->kronfactor = 0.0; -+ outobj2.kronfactor = 0.0; - - return; - } -@@ -782,7 +782,7 @@ - ati = 1.0; - else if (ati<0.0) - ati = 0.0; -- obj2->flux_isocor = obj->flux/(1.0-0.196099*ati-0.751208*ati*ati); -+ outobj2.flux_isocor = obj->flux/(1.0-0.196099*ati-0.751208*ati*ati); - if (FLAG(obj2.fluxerr_isocor)) - { - if (obj->flux>0.0) -@@ -792,10 +792,10 @@ - sigtv = obj->fluxerr/(obj->flux*obj->flux); - dati = obj->fdnpix?ati*sqrt(sigtv+1.0/obj->fdnpix): 0.0; - dati = 0.196099*dati + 0.751208*2*ati*dati; -- obj2->fluxerr_isocor = sqrt(sigtv+dati*dati)*obj->flux; -+ outobj2.fluxerr_isocor = sqrt(sigtv+dati*dati)*obj->flux; - } - else -- obj2->fluxerr_isocor = sqrt(obj->fluxerr); -+ outobj2.fluxerr_isocor = sqrt(obj->fluxerr); - } - - return; -@@ -811,22 +811,22 @@ - { - /* Mag. isophotal */ - if (FLAG(obj2.mag_iso)) -- obj2->mag_iso = obj2->flux_iso>0.0? -- -2.5*log10(obj2->flux_iso) + prefs.mag_zeropoint -+ outobj2.mag_iso = outobj2.flux_iso>0.0? -+ -2.5*log10(outobj2.flux_iso) + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.magerr_iso)) -- obj2->magerr_iso = obj2->flux_iso>0.0? -- 1.086*obj2->fluxerr_iso/obj2->flux_iso -+ outobj2.magerr_iso = outobj2.flux_iso>0.0? -+ 1.086*outobj2.fluxerr_iso/outobj2.flux_iso - :99.0; - - /* Mag. isophotal corrected */ - if (FLAG(obj2.mag_isocor)) -- obj2->mag_isocor = obj2->flux_isocor>0.0? -- -2.5*log10(obj2->flux_isocor) + prefs.mag_zeropoint -+ outobj2.mag_isocor = outobj2.flux_isocor>0.0? -+ -2.5*log10(outobj2.flux_isocor) + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.magerr_isocor)) -- obj2->magerr_isocor = obj2->flux_isocor>0.0? -- 1.086*obj2->fluxerr_isocor/obj2->flux_isocor -+ outobj2.magerr_isocor = outobj2.flux_isocor>0.0? -+ 1.086*outobj2.fluxerr_isocor/outobj2.flux_isocor - :99.0; - - /* Choose the ``best'' flux according to the local crowding */ -@@ -835,107 +835,107 @@ - { - if (obj->flag&OBJ_CROWDED) - { -- obj2->flux_best = obj2->flux_isocor; -- obj2->fluxerr_best = obj2->fluxerr_isocor; -+ outobj2.flux_best = outobj2.flux_isocor; -+ outobj2.fluxerr_best = outobj2.fluxerr_isocor; - } - else - { -- obj2->flux_best = obj2->flux_auto; -- obj2->fluxerr_best = obj2->fluxerr_auto; -+ outobj2.flux_best = outobj2.flux_auto; -+ outobj2.fluxerr_best = outobj2.fluxerr_auto; - } - } - - /* Mag. Best */ - if (FLAG(obj2.mag_best)) -- obj2->mag_best = obj2->flux_best>0.0? -- -2.5*log10(obj2->flux_best) + prefs.mag_zeropoint -+ outobj2.mag_best = outobj2.flux_best>0.0? -+ -2.5*log10(outobj2.flux_best) + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.magerr_best)) -- obj2->magerr_best = obj2->flux_best>0.0? -- 1.086*obj2->fluxerr_best/obj2->flux_best -+ outobj2.magerr_best = outobj2.flux_best>0.0? -+ 1.086*outobj2.fluxerr_best/outobj2.flux_best - :99.0; - - /* Mag. SOM-fit */ - if (FLAG(obj2.mag_somfit)) -- obj2->mag_somfit = obj2->flux_somfit>0.0? -- -2.5*log10(obj2->flux_somfit) + prefs.mag_zeropoint -+ outobj2.mag_somfit = outobj2.flux_somfit>0.0? -+ -2.5*log10(outobj2.flux_somfit) + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.magerr_somfit)) -- obj2->magerr_somfit = obj2->flux_somfit>0.0? -- 1.086*obj2->fluxerr_somfit/obj2->flux_somfit -+ outobj2.magerr_somfit = outobj2.flux_somfit>0.0? -+ 1.086*outobj2.fluxerr_somfit/outobj2.flux_somfit - :99.0; - - /* Mag. models */ - if (FLAG(obj2.mag_prof)) -- obj2->mag_prof = obj2->flux_prof>0.0? -- -2.5*log10(obj2->flux_prof) + prefs.mag_zeropoint -+ outobj2.mag_prof = outobj2.flux_prof>0.0? -+ -2.5*log10(outobj2.flux_prof) + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.magerr_prof)) -- obj2->magerr_prof = obj2->flux_prof>0.0? -- 1.086*obj2->fluxerr_prof/obj2->flux_prof -+ outobj2.magerr_prof = outobj2.flux_prof>0.0? -+ 1.086*outobj2.fluxerr_prof/outobj2.flux_prof - :99.0; - - if (FLAG(obj2.prof_spheroid_mag)) -- obj2->prof_spheroid_mag = obj2->prof_spheroid_flux>0.0? -- -2.5*log10(obj2->prof_spheroid_flux) -+ outobj2.prof_spheroid_mag = outobj2.prof_spheroid_flux>0.0? -+ -2.5*log10(outobj2.prof_spheroid_flux) - + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.prof_spheroid_magerr)) -- obj2->prof_spheroid_magerr = obj2->prof_spheroid_flux>0.0? -- 1.086*obj2->prof_spheroid_fluxerr -- / obj2->prof_spheroid_flux -+ outobj2.prof_spheroid_magerr = outobj2.prof_spheroid_flux>0.0? -+ 1.086*outobj2.prof_spheroid_fluxerr -+ / outobj2.prof_spheroid_flux - :99.0; - - if (FLAG(obj2.prof_disk_mag)) -- obj2->prof_disk_mag = obj2->prof_disk_flux>0.0? -- -2.5*log10(obj2->prof_disk_flux) -+ outobj2.prof_disk_mag = outobj2.prof_disk_flux>0.0? -+ -2.5*log10(outobj2.prof_disk_flux) - + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.prof_disk_magerr)) -- obj2->prof_disk_magerr = obj2->prof_disk_flux>0.0? -- 1.086*obj2->prof_disk_fluxerr -- / obj2->prof_disk_flux -+ outobj2.prof_disk_magerr = outobj2.prof_disk_flux>0.0? -+ 1.086*outobj2.prof_disk_fluxerr -+ / outobj2.prof_disk_flux - :99.0; - - if (FLAG(obj2.prof_bar_mag)) -- obj2->prof_bar_mag = obj2->prof_bar_flux>0.0? -- -2.5*log10(obj2->prof_bar_flux) -+ outobj2.prof_bar_mag = outobj2.prof_bar_flux>0.0? -+ -2.5*log10(outobj2.prof_bar_flux) - + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.prof_bar_magerr)) -- obj2->prof_bar_magerr = obj2->prof_bar_flux>0.0? -- 1.086*obj2->prof_bar_fluxerr -- /obj2->prof_bar_flux -+ outobj2.prof_bar_magerr = outobj2.prof_bar_flux>0.0? -+ 1.086*outobj2.prof_bar_fluxerr -+ /outobj2.prof_bar_flux - :99.0; - - if (FLAG(obj2.prof_arms_mag)) -- obj2->prof_arms_mag = obj2->prof_arms_flux>0.0? -- -2.5*log10(obj2->prof_arms_flux) -+ outobj2.prof_arms_mag = outobj2.prof_arms_flux>0.0? -+ -2.5*log10(outobj2.prof_arms_flux) - + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.prof_arms_magerr)) -- obj2->prof_arms_magerr = obj2->prof_arms_flux>0.0? -- 1.086*obj2->prof_arms_fluxerr -- /obj2->prof_arms_flux -+ outobj2.prof_arms_magerr = outobj2.prof_arms_flux>0.0? -+ 1.086*outobj2.prof_arms_fluxerr -+ /outobj2.prof_arms_flux - :99.0; - - /* Mag. WINdowed */ - if (FLAG(obj2.mag_win)) -- obj2->mag_win = obj2->flux_win>0.0? -- -2.5*log10(obj2->flux_win) + prefs.mag_zeropoint -+ outobj2.mag_win = outobj2.flux_win>0.0? -+ -2.5*log10(outobj2.flux_win) + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.magerr_win)) -- obj2->magerr_win = obj2->flux_win>0.0? -- 1.086*obj2->fluxerr_win/obj2->flux_win -+ outobj2.magerr_win = outobj2.flux_win>0.0? -+ 1.086*outobj2.fluxerr_win/outobj2.flux_win - :99.0; - /* Mag. GALFIT */ - if (FLAG(obj2.mag_galfit)) -- obj2->mag_galfit = obj2->flux_galfit>0.0? -- -2.5*log10(obj2->flux_galfit) + prefs.mag_zeropoint -+ outobj2.mag_galfit = outobj2.flux_galfit>0.0? -+ -2.5*log10(outobj2.flux_galfit) + prefs.mag_zeropoint - :99.0; - if (FLAG(obj2.magerr_galfit)) -- obj2->magerr_galfit = obj2->flux_galfit>0.0? -- 1.086*obj2->fluxerr_galfit/obj2->flux_galfit -+ outobj2.magerr_galfit = outobj2.flux_galfit>0.0? -+ 1.086*outobj2.fluxerr_galfit/outobj2.flux_galfit - :99.0; - - /* SB units */ -@@ -946,7 +946,7 @@ - : 99.0; - - if (FLAG(obj2.threshmu)) -- obj2->threshmu = obj->thresh > 0.0 ? -+ outobj2.threshmu = obj->thresh > 0.0 ? - -2.5*log10((obj->thresh) - / (field->pixscale * field->pixscale)) + prefs.mag_zeropoint - : 99.0; -Only in sextractor-2.8.6.new/src: photom.o -diff -ur sextractor-2.8.6/src/psf.c sextractor-2.8.6.new/src/psf.c ---- sextractor-2.8.6/src/psf.c 2009-01-29 14:52:00.000000000 +0100 -+++ sextractor-2.8.6.new/src/psf.c 2009-05-24 00:10:31.000000000 +0200 -@@ -312,7 +312,7 @@ - objstruct *obj) - { - checkstruct *check; -- static obj2struct *obj2 = &outobj2; -+ - static double x2[PSF_NPSFMAX],y2[PSF_NPSFMAX],xy[PSF_NPSFMAX], - deltax[PSF_NPSFMAX], - deltay[PSF_NPSFMAX],flux[PSF_NPSFMAX], -@@ -352,8 +352,8 @@ - thepsfit->npsf = 0; - for (j=0; jx[j] = obj2->posx; -- thepsfit->y[j] = obj2->posy; -+ thepsfit->x[j] = outobj2.posx; -+ thepsfit->y[j] = outobj2.posy; - thepsfit->flux[j] = 0.0; - } - -@@ -380,7 +380,7 @@ - if (prefs.psf_flag==1) - if (prefs.dpsf_flag!=1) - if(!FLAG(obj2.fluxerr_psf)) -- QMALLOC(obj2->fluxerr_psf, float, prefs.psf_npsfmax); -+ QMALLOC(outobj2.fluxerr_psf, float, prefs.psf_npsfmax); - - QMALLOC(weighth, PIXTYPE, npix); - QMALLOC(weight, double, npix); -@@ -559,7 +559,7 @@ - deltaxb[j] = deltax[j]; - deltayb[j] = deltay[j]; - fluxb[j] = flux[j]; -- obj2->fluxerr_psf[j]=fluxerr; -+ outobj2.fluxerr_psf[j]=fluxerr; - } - } - } -@@ -582,7 +582,7 @@ - - if (FLAG(obj2.poserrmx2_psf)) - { -- compute_poserr(j,var,sol,obj2,x2,y2,xy); -+ compute_poserr(j,var,sol,&outobj2,x2,y2,xy); - } - else - var += 3*PSF_NA+3; -@@ -607,7 +607,7 @@ - chi2 += pix*pix; - if (chi2>1E29) chi2=1E28; - } -- obj2->chi2_psf = obj->sigbkg>0.? -+ outobj2.chi2_psf = obj->sigbkg>0.? - chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; - - } -@@ -626,7 +626,7 @@ - chi2 += pix*pix; - if (chi2>1E29) chi2=1E28; - } -- obj2->chi2_psf = flux[j]>0? -+ outobj2.chi2_psf = flux[j]>0? - chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; - - } -@@ -758,7 +758,7 @@ - ival,npsfmax; - double *pvar; - -- static obj2struct *obj2 = &outobj2; -+ - checkdata = NULL; /* To avoid gcc -Wall warnings */ - pdx = pdy =dx = dy = 0.0; - ppixstep = 1.0/ppsf->pixstep; -@@ -776,13 +776,13 @@ - ppsfit->niter = 0; - ppsfit->npsf = 0; - if(!FLAG(obj2.fluxerr_psf)) -- QMALLOC(obj2->fluxerr_psf, float, npsfmax); -+ QMALLOC(outobj2.fluxerr_psf, float, npsfmax); - for (j=0; jx[j] = 999999.0; - ppsfit->y[j] = 999999.0; - ppsfit->flux[j] = 0.0; -- obj2->fluxerr_psf[j] = 0.0; -+ outobj2.fluxerr_psf[j] = 0.0; - pdeltax[j]= pdeltay[j]=psol[j]= pwmat[j]=pflux[j]=0.0; - - } -@@ -926,7 +926,7 @@ - { - svdvar(pvmat, pwmat, j, pcovmat); - pvar = pcovmat; -- obj2->fluxerr_psf[k]= sqrt(*pvar)>0.0 && sqrt(*pvar)<99? -+ outobj2.fluxerr_psf[k]= sqrt(*pvar)>0.0 && sqrt(*pvar)<99? - sqrt(*pvar):99; - } - } -@@ -943,7 +943,7 @@ - chi2 += ppix*ppix; - if (chi2>1E29) chi2=1E28; - } -- obj2->chi2_psf = obj->sigbkg>0.? -+ outobj2.chi2_psf = obj->sigbkg>0.? - chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; - - } -@@ -963,7 +963,7 @@ - chi2 += ppix*ppix; - if (chi2>1E29) chi2=1E28; - } -- obj2->chi2_psf = pflux[j]>0? -+ outobj2.chi2_psf = pflux[j]>0? - chi2/((npix - 3*npsf)*obj->sigbkg*obj->sigbkg):999999; - - } -@@ -1195,11 +1195,11 @@ - covab = *(++var); - varb = *(var += PSF_NA); - var += PSF_NA+1; -- obj2->poserrmx2_psf = (vara*x2[j]*x2[j]+varb*xy[j]*xy[j] -+ outobj2.poserrmx2_psf = (vara*x2[j]*x2[j]+varb*xy[j]*xy[j] - +2*covab*x2[j]*xy[j])/(sol[0]*sol[0]); -- obj2->poserrmy2_psf = (varb*y2[j]*y2[j]+vara*xy[j]*xy[j] -+ outobj2.poserrmy2_psf = (varb*y2[j]*y2[j]+vara*xy[j]*xy[j] - +2*covab*y2[j]*xy[j])/(sol[0]*sol[0]); -- obj2->poserrmxy_psf = (vara*x2[j]*xy[j]+varb*y2[j]*xy[j] -+ outobj2.poserrmxy_psf = (vara*x2[j]*xy[j]+varb*y2[j]*xy[j] - +covab*(x2[j]*y2[j]+xy[j]*xy[j])) - /(sol[0]*sol[0]); - -@@ -1208,19 +1208,19 @@ - { - double pmx2,pmy2,temp,theta; - -- if (fabs(temp=obj2->poserrmx2_psf-obj2->poserrmy2_psf) > 0.0) -- theta = atan2(2.0 * obj2->poserrmxy_psf,temp) / 2.0; -+ if (fabs(temp=outobj2.poserrmx2_psf-outobj2.poserrmy2_psf) > 0.0) -+ theta = atan2(2.0 * outobj2.poserrmxy_psf,temp) / 2.0; - else - theta = PI/4.0; - -- temp = sqrt(0.25*temp*temp+obj2->poserrmxy_psf*obj2->poserrmxy_psf); -- pmy2 = pmx2 = 0.5*(obj2->poserrmx2_psf+obj2->poserrmy2_psf); -+ temp = sqrt(0.25*temp*temp+outobj2.poserrmxy_psf*outobj2.poserrmxy_psf); -+ pmy2 = pmx2 = 0.5*(outobj2.poserrmx2_psf+outobj2.poserrmy2_psf); - pmx2+=temp; - pmy2-=temp; - -- obj2->poserra_psf = (float)sqrt(pmx2); -- obj2->poserrb_psf = (float)sqrt(pmy2); -- obj2->poserrtheta_psf = theta*180.0/PI; -+ outobj2.poserra_psf = (float)sqrt(pmx2); -+ outobj2.poserrb_psf = (float)sqrt(pmy2); -+ outobj2.poserrtheta_psf = theta*180.0/PI; - } - - /*------ ...Or ellipse parameters */ -@@ -1228,12 +1228,12 @@ - { - double xm2,ym2, xym, temp; - -- xm2 = obj2->poserrmx2_psf; -- ym2 = obj2->poserrmy2_psf; -- xym = obj2->poserrmxy_psf; -- obj2->poserrcxx_psf = (float)(ym2/(temp=xm2*ym2-xym*xym)); -- obj2->poserrcyy_psf = (float)(xm2/temp); -- obj2->poserrcxy_psf = (float)(-2*xym/temp); -+ xm2 = outobj2.poserrmx2_psf; -+ ym2 = outobj2.poserrmy2_psf; -+ xym = outobj2.poserrmxy_psf; -+ outobj2.poserrcxx_psf = (float)(ym2/(temp=xm2*ym2-xym*xym)); -+ outobj2.poserrcyy_psf = (float)(xm2/temp); -+ outobj2.poserrcxy_psf = (float)(-2*xym/temp); - } - return; - } -Only in sextractor-2.8.6.new/src: psf.o -diff -ur sextractor-2.8.6/src/winpos.c sextractor-2.8.6.new/src/winpos.c ---- sextractor-2.8.6/src/winpos.c 2009-01-29 14:52:00.000000000 +0100 -+++ sextractor-2.8.6.new/src/winpos.c 2009-05-24 00:10:49.000000000 +0200 -@@ -26,7 +26,7 @@ - #include "prefs.h" - #include "winpos.h" - --static obj2struct *obj2 = &outobj2; -+ - - /****** compute_winpos ******************************************************** - PROTO void compute_winpos(picstruct *field, picstruct *wfield, -@@ -71,7 +71,7 @@ - momentflag = FLAG(obj2.win_mx2) | FLAG(obj2.winposerr_mx2); - var = backnoise2 = field->backsig*field->backsig; - gain = field->gain; -- sig = obj2->hl_radius*2.0/2.35; /* From half-FWHM to sigma */ -+ sig = outobj2.hl_radius*2.0/2.35; /* From half-FWHM to sigma */ - twosig2 = 2.0*sig*sig; - - /* Integration radius */ -@@ -99,8 +99,8 @@ - offsetx = 0.5*(scalex-1.0); - offsety = 0.5*(scaley-1.0); - /* Use isophotal centroid as a first guess */ -- mx = obj2->posx - 1.0; -- my = obj2->posy - 1.0; -+ mx = outobj2.posx - 1.0; -+ my = outobj2.posy - 1.0; - - for (i=0; iwinpos_x = mx + 1.0; /* The dreaded 1.0 FITS offset */ -- obj2->winpos_y = my + 1.0; /* The dreaded 1.0 FITS offset */ -- obj2->winpos_niter = i+1; -+ outobj2.winpos_x = mx + 1.0; /* The dreaded 1.0 FITS offset */ -+ outobj2.winpos_y = my + 1.0; /* The dreaded 1.0 FITS offset */ -+ outobj2.winpos_niter = i+1; - - /* WINdowed flux */ - if (FLAG(obj2.flux_win)) - { -- obj2->flux_win = tv; -- obj2->fluxerr_win = sqrt(esum); -+ outobj2.flux_win = tv; -+ outobj2.fluxerr_win = sqrt(esum); - } - temp2=mx2*my2-mxy*mxy; -- obj2->win_flag = (tv <= 0.0)*4 + (mx2 < 0.0 || my2 < 0.0)*2 -+ outobj2.win_flag = (tv <= 0.0)*4 + (mx2 < 0.0 || my2 < 0.0)*2 - + (temp2<0.0); -- if (obj2->win_flag) -+ if (outobj2.win_flag) - { - /*--- Negative values: revert to isophotal estimates */ - if (errflag) - { -- obj2->winposerr_mx2 = obj->poserr_mx2; -- obj2->winposerr_my2 = obj->poserr_my2; -- obj2->winposerr_mxy = obj->poserr_mxy; -+ outobj2.winposerr_mx2 = obj->poserr_mx2; -+ outobj2.winposerr_my2 = obj->poserr_my2; -+ outobj2.winposerr_mxy = obj->poserr_mxy; - if (FLAG(obj2.winposerr_a)) - { -- obj2->winposerr_a = obj2->poserr_a; -- obj2->winposerr_b = obj2->poserr_b; -- obj2->winposerr_theta = obj2->poserr_theta; -+ outobj2.winposerr_a = outobj2.poserr_a; -+ outobj2.winposerr_b = outobj2.poserr_b; -+ outobj2.winposerr_theta = outobj2.poserr_theta; - } - if (FLAG(obj2.winposerr_cxx)) - { -- obj2->winposerr_cxx = obj2->poserr_cxx; -- obj2->winposerr_cyy = obj2->poserr_cyy; -- obj2->winposerr_cxy = obj2->poserr_cxy; -+ outobj2.winposerr_cxx = outobj2.poserr_cxx; -+ outobj2.winposerr_cyy = outobj2.poserr_cyy; -+ outobj2.winposerr_cxy = outobj2.poserr_cxy; - } - } - if (momentflag) - { -- obj2->win_mx2 = obj->mx2; -- obj2->win_my2 = obj->my2; -- obj2->win_mxy = obj->mxy; -+ outobj2.win_mx2 = obj->mx2; -+ outobj2.win_my2 = obj->my2; -+ outobj2.win_mxy = obj->mxy; - if (FLAG(obj2.win_cxx)) - { -- obj2->win_cxx = obj->cxx; -- obj2->win_cyy = obj->cyy; -- obj2->win_cxy = obj->cxy; -+ outobj2.win_cxx = obj->cxx; -+ outobj2.win_cyy = obj->cyy; -+ outobj2.win_cxy = obj->cxy; - } - if (FLAG(obj2.win_a)) - { -- obj2->win_a = obj->a; -- obj2->win_b = obj->b; -- obj2->win_polar = obj2->polar; -- obj2->win_theta = obj->theta; -+ outobj2.win_a = obj->a; -+ outobj2.win_b = obj->b; -+ outobj2.win_polar = outobj2.polar; -+ outobj2.win_theta = obj->theta; - } - } - } -@@ -311,9 +311,9 @@ - emy2 += esum; - } - -- obj2->winposerr_mx2 = emx2; -- obj2->winposerr_my2 = emy2; -- obj2->winposerr_mxy = emxy; -+ outobj2.winposerr_mx2 = emx2; -+ outobj2.winposerr_my2 = emy2; -+ outobj2.winposerr_mxy = emxy; - /*---- Error ellipse parameters */ - if (FLAG(obj2.winposerr_a)) - { -@@ -329,18 +329,18 @@ - pmx2+=temp; - pmy2-=temp; - -- obj2->winposerr_a = (float)sqrt(pmx2); -- obj2->winposerr_b = (float)sqrt(pmy2); -- obj2->winposerr_theta = theta*180.0/PI; -+ outobj2.winposerr_a = (float)sqrt(pmx2); -+ outobj2.winposerr_b = (float)sqrt(pmy2); -+ outobj2.winposerr_theta = theta*180.0/PI; - } - - if (FLAG(obj2.winposerr_cxx)) - { - double temp; - -- obj2->winposerr_cxx = (float)(emy2/(temp=emx2*emy2-emxy*emxy)); -- obj2->winposerr_cyy = (float)(emx2/temp); -- obj2->winposerr_cxy = (float)(-2*emxy/temp); -+ outobj2.winposerr_cxx = (float)(emy2/(temp=emx2*emy2-emxy*emxy)); -+ outobj2.winposerr_cyy = (float)(emx2/temp); -+ outobj2.winposerr_cxy = (float)(-2*emxy/temp); - } - } - -@@ -353,15 +353,15 @@ - my2 += 0.0833333; - temp2 = mx2*my2-mxy*mxy; - } -- obj2->win_mx2 = mx2; -- obj2->win_my2 = my2; -- obj2->win_mxy = mxy; -+ outobj2.win_mx2 = mx2; -+ outobj2.win_my2 = my2; -+ outobj2.win_mxy = mxy; - - if (FLAG(obj2.win_cxx)) - { -- obj2->win_cxx = (float)(my2/temp2); -- obj2->win_cyy = (float)(mx2/temp2); -- obj2->win_cxy = (float)(-2*mxy/temp2); -+ outobj2.win_cxx = (float)(my2/temp2); -+ outobj2.win_cyy = (float)(mx2/temp2); -+ outobj2.win_cxy = (float)(-2*mxy/temp2); - } - - if (FLAG(obj2.win_a)) -@@ -373,11 +373,11 @@ - - temp = sqrt(0.25*temp*temp+mxy*mxy); - pmx2 = 0.5*(mx2+my2); -- obj2->win_a = (float)sqrt(pmx2 + temp); -- obj2->win_b = (float)sqrt(pmx2 - temp); -+ outobj2.win_a = (float)sqrt(pmx2 + temp); -+ outobj2.win_b = (float)sqrt(pmx2 - temp); - if (FLAG(obj2.win_polar)) -- obj2->win_polar = temp / pmx2; -- obj2->win_theta = theta*180.0/PI; -+ outobj2.win_polar = temp / pmx2; -+ outobj2.win_theta = theta*180.0/PI; - } - } - } -Only in sextractor-2.8.6.new/src: winpos.o diff --git a/sextractor.spec b/sextractor.spec index 6cb3ed8..ac8f01d 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,15 +1,21 @@ Name: sextractor -Version: 2.19.5 -Release: 14%{?dist} +Version: 2.25.0 +Release: 1%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ URL: http://astromatic.iap.fr/software/%{name} -Source0: http://www.astromatic.net/download/sextractor/%{name}-%{version}.tar.gz +Source0: https://github.com/astromatic/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Patch0: sextractor-format-sec.patch -BuildRequires: gcc + +# https://gcc.gnu.org/gcc-10/porting_to.html#common +# https://github.com/astromatic/sextractor/issues/12 +%define _legacy_common_support 1 + +BuildRequires: gcc +BuildRequires: automake autoconf libtool BuildRequires: fftw-devel >= 3.1 -BuildRequires: atlas-devel >= 3.6.0 +BuildRequires: openblas-devel %description SExtractor is a program that builds a catalogue of objects from an @@ -20,13 +26,10 @@ well on moderately crowded star fields. %prep %setup -q %patch0 -p1 -%if 0%{?fedora} >= 21 -# New atlas libs -sed -i -e '/LIBS*=.*atlas/s,=.*,="-L%{_libdir}/atlas -lsatlas",' configure -%endif +sh ./autogen.sh %build -%configure +%configure --enable-openblas make %{?_smp_mflags} %install @@ -36,13 +39,19 @@ install -m 644 -p config/*.conv %{buildroot}%{_datadir}/%{name} install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %files -%doc AUTHORS BUGS COPYRIGHT HISTORY README THANKS doc/README.DOC doc/sextractor.pdf config/default.sex config/default.param +%doc AUTHORS BUGS COPYRIGHT HISTORY README.md THANKS config/default.sex config/default.param config/README +%license LICENSE %{_bindir}/* %{_mandir}/man1/* %{_mandir}/manx/* %{_datadir}/%{name}/ %changelog +* Fri Feb 28 2020 Sergio Pascual - 2.25.0-1 +- New upstream release (2.25.0) +- Built with openblas (bz#1619130) +- Enable legacy_common_support (-fcommon) temporarely + * Thu Jan 30 2020 Fedora Release Engineering - 2.19.5-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index c021c4f..63e6fbf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2115556b5d30571306608b7c023a318f sextractor-2.19.5.tar.gz +SHA512 (sextractor-2.25.0.tar.gz) = 1b1d476065de1a087682f473312056429505a063cd016a028a0fcf822928fdb133d5cddded00fa8c31b60043012aebfcbc623b7715be0104613ce92ddc8379de From fd5815d45340e59777331bd2d7ef476322b3a5e5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jul 2020 10:36:10 +0000 Subject: [PATCH 43/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index ac8f01d..87d66aa 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -47,6 +47,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Wed Jul 29 2020 Fedora Release Engineering - 2.25.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Fri Feb 28 2020 Sergio Pascual - 2.25.0-1 - New upstream release (2.25.0) - Built with openblas (bz#1619130) From fb73e1169bf9da944e0919396e00bd3aa383ba66 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Fri, 8 Jan 2021 21:24:42 +0000 Subject: [PATCH 44/62] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- sextractor.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/sextractor.spec b/sextractor.spec index 87d66aa..733f53c 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -12,6 +12,7 @@ Patch0: sextractor-format-sec.patch # https://github.com/astromatic/sextractor/issues/12 %define _legacy_common_support 1 +BuildRequires: make BuildRequires: gcc BuildRequires: automake autoconf libtool BuildRequires: fftw-devel >= 3.1 From d5eb97e9a1485f0ea22700badea526d468c0c0af Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 27 Jan 2021 20:16:18 +0000 Subject: [PATCH 45/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 733f53c..e9db7f1 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -48,6 +48,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Wed Jan 27 2021 Fedora Release Engineering - 2.25.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Wed Jul 29 2020 Fedora Release Engineering - 2.25.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 8e1e697cad0b5e239be7b3f524e9c158cb22f37b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 17:26:10 +0000 Subject: [PATCH 46/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index e9db7f1..c6037c4 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -48,6 +48,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 2.25.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Wed Jan 27 2021 Fedora Release Engineering - 2.25.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From ba76b57fd7005033455e0b1037f5e4217901f356 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 00:45:08 +0000 Subject: [PATCH 47/62] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index c6037c4..405544c 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -48,6 +48,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sat Jan 22 2022 Fedora Release Engineering - 2.25.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Fri Jul 23 2021 Fedora Release Engineering - 2.25.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 15b7f31a9814a36485ef75e9bb83944692f4c6da Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 08:27:11 +0000 Subject: [PATCH 48/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 405544c..e818647 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -48,6 +48,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 2.25.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Sat Jan 22 2022 Fedora Release Engineering - 2.25.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 5160eac2a413201049586396c37c751dbb2b3a90 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 03:04:53 +0000 Subject: [PATCH 49/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index e818647..5d8b176 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -48,6 +48,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sat Jan 21 2023 Fedora Release Engineering - 2.25.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Jul 23 2022 Fedora Release Engineering - 2.25.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From f105b3b3a4f9cc3b5024e27841f05c3cc6940819 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 01:29:47 +0000 Subject: [PATCH 50/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 5d8b176..ab2adbb 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -48,6 +48,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 2.25.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Sat Jan 21 2023 Fedora Release Engineering - 2.25.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From f24e08ee4cfd6a071fd0bbaa9502a1eb6e97ac4f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 02:45:20 +0000 Subject: [PATCH 51/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index ab2adbb..8ae22ac 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -48,6 +48,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 2.25.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sat Jul 22 2023 Fedora Release Engineering - 2.25.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From cd5a34a628aefe7315ca1fb3c2ba9f93823c0167 Mon Sep 17 00:00:00 2001 From: Software Management Team Date: Thu, 30 May 2024 12:46:49 +0200 Subject: [PATCH 52/62] Eliminate use of obsolete %patchN syntax (#2283636) --- sextractor.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 8ae22ac..18c1237 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -26,7 +26,7 @@ well on moderately crowded star fields. %prep %setup -q -%patch0 -p1 +%patch -P0 -p1 sh ./autogen.sh %build From c9bf4b062f804fc0998d744a0614af69d666e18d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 05:20:39 +0000 Subject: [PATCH 53/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index 18c1237..290a78a 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Extract catalogs of sources from astronomical images License: GPLv3+ @@ -48,6 +48,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sat Jul 20 2024 Fedora Release Engineering - 2.25.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Sat Jan 27 2024 Fedora Release Engineering - 2.25.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 0c665a6b822910a307903aa9f0863aa5f366b0cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Thu, 25 Jul 2024 13:14:35 +0200 Subject: [PATCH 54/62] convert GPLv3+ license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- sextractor.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sextractor.spec b/sextractor.spec index 290a78a..c4520a6 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,9 +1,10 @@ Name: sextractor Version: 2.25.0 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Extract catalogs of sources from astronomical images -License: GPLv3+ +# Automatically converted from old format: GPLv3+ - review is highly recommended. +License: GPL-3.0-or-later URL: http://astromatic.iap.fr/software/%{name} Source0: https://github.com/astromatic/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Patch0: sextractor-format-sec.patch @@ -48,6 +49,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Thu Jul 25 2024 Miroslav Suchý - 2.25.0-11 +- convert license to SPDX + * Sat Jul 20 2024 Fedora Release Engineering - 2.25.0-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 587e22c3bfde2a6c097eeea026bfd6b5ba465dfa Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 10:29:56 +0000 Subject: [PATCH 55/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- sextractor.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sextractor.spec b/sextractor.spec index c4520a6..db8322e 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Extract catalogs of sources from astronomical images # Automatically converted from old format: GPLv3+ - review is highly recommended. @@ -49,6 +49,9 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog +* Sun Jan 19 2025 Fedora Release Engineering - 2.25.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Thu Jul 25 2024 Miroslav Suchý - 2.25.0-11 - convert license to SPDX From 56532d62165fd8b712615293c2c92fe402eaa6e6 Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Thu, 13 Feb 2025 19:58:40 +0100 Subject: [PATCH 56/62] Convert to %autorelease and %autochangelog [skip changelog] --- changelog | 144 +++++++++++++++++++++++++++++++++++++++++++++++ sextractor.spec | 147 +----------------------------------------------- 2 files changed, 146 insertions(+), 145 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..6db61c8 --- /dev/null +++ b/changelog @@ -0,0 +1,144 @@ +* Sun Jan 19 2025 Fedora Release Engineering - 2.25.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 25 2024 Miroslav Suchý - 2.25.0-11 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 2.25.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 2.25.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 2.25.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 2.25.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.25.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 2.25.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 2.25.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 2.25.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 2.25.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Feb 28 2020 Sergio Pascual - 2.25.0-1 +- New upstream release (2.25.0) +- Built with openblas (bz#1619130) +- Enable legacy_common_support (-fcommon) temporarely + +* Thu Jan 30 2020 Fedora Release Engineering - 2.19.5-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 2.19.5-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 2.19.5-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2.19.5-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 2.19.5-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 2.19.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.19.5-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 2.19.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 2.19.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 2.19.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 2.19.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 2.19.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Apr 04 2014 Sergio Pascual - 2.19.5-2 +- License is GPLv3+ + +* Wed Mar 26 2014 Sergio Pascual - 2.19.5-1 +- New upstream release (2.19.5) + +* Thu Dec 05 2013 Sergio Pascual - 2.8.6-8 +- Fix format-security error (bz #1037322) + +* Wed Oct 02 2013 Sergio Pascual - 2.8.6-7 +- Hack to build with monolithic ATLAS +- Cleanup of the specfile + +* Sun Aug 04 2013 Fedora Release Engineering - 2.8.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 2.8.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Jul 21 2012 Fedora Release Engineering - 2.8.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 2.8.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Feb 09 2011 Fedora Release Engineering - 2.8.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Aug 26 2009 Sergio Pascual - 2.8.6-1 +- New upstream source + +* Sun Jul 26 2009 Fedora Release Engineering - 2.5.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 2.5.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Dec 1 2008 Michael Schwendt - 2.5.0-7 +- Include unowned directory. + +* Tue Feb 19 2008 Fedora Release Engineering - 2.5.0-6.1 +- Autorebuild for GCC 4.3 + +* Mon Aug 27 2007 Sergio Pascual 2.5.0-5.1 +- Rebuild for Fedora 8 to get the build-id + +* Tue Sep 12 2006 Sergio Pascual 2.5.0-5 +- Rebuilt for FC6. + +* Wed Jul 26 2006 Sergio Pascual 2.5.0-4 +- Patch to resolve pointer aliasing problems (bug #199700) +- Removed -DXSL_URL flag, as the file sextractor.xsl does not exist yet + +* Mon Jul 24 2006 Sergio Pascual 2.5.0-3 +- Reverting optimization to -O2, it breaks debug infos + +* Fri Jul 21 2006 Sergio Pascual 2.5.0-2 +- fitsconv.c has correct permissions +- changed optimization from -O2 to -O1 (bug #199700) +- additional define allows VOTable output + +* Wed Jul 19 2006 Sergio Pascual 2.5.0-1 +- New upstream version 2.5.0 + +* Tue Jun 20 2006 Sergio Pascual 2.4.4-2 +- Fixed executable permission in src/fits/fitsconv.c +- default.sex and default.param moved to docs + +* Mon Jun 19 2006 Sergio Pascual 2.4.4-1 +- Initial spec file. diff --git a/sextractor.spec b/sextractor.spec index db8322e..20e7345 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,6 +1,6 @@ Name: sextractor Version: 2.25.0 -Release: 12%{?dist} +Release: %autorelease Summary: Extract catalogs of sources from astronomical images # Automatically converted from old format: GPLv3+ - review is highly recommended. @@ -49,147 +49,4 @@ install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} %{_datadir}/%{name}/ %changelog -* Sun Jan 19 2025 Fedora Release Engineering - 2.25.0-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jul 25 2024 Miroslav Suchý - 2.25.0-11 -- convert license to SPDX - -* Sat Jul 20 2024 Fedora Release Engineering - 2.25.0-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Sat Jan 27 2024 Fedora Release Engineering - 2.25.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 2.25.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jan 21 2023 Fedora Release Engineering - 2.25.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 2.25.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 2.25.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 2.25.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jan 27 2021 Fedora Release Engineering - 2.25.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 2.25.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Feb 28 2020 Sergio Pascual - 2.25.0-1 -- New upstream release (2.25.0) -- Built with openblas (bz#1619130) -- Enable legacy_common_support (-fcommon) temporarely - -* Thu Jan 30 2020 Fedora Release Engineering - 2.19.5-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jul 26 2019 Fedora Release Engineering - 2.19.5-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sat Feb 02 2019 Fedora Release Engineering - 2.19.5-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jul 14 2018 Fedora Release Engineering - 2.19.5-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri Feb 09 2018 Fedora Release Engineering - 2.19.5-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Aug 03 2017 Fedora Release Engineering - 2.19.5-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 2.19.5-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 2.19.5-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Thu Feb 04 2016 Fedora Release Engineering - 2.19.5-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jun 19 2015 Fedora Release Engineering - 2.19.5-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon Aug 18 2014 Fedora Release Engineering - 2.19.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 08 2014 Fedora Release Engineering - 2.19.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Fri Apr 04 2014 Sergio Pascual - 2.19.5-2 -- License is GPLv3+ - -* Wed Mar 26 2014 Sergio Pascual - 2.19.5-1 -- New upstream release (2.19.5) - -* Thu Dec 05 2013 Sergio Pascual - 2.8.6-8 -- Fix format-security error (bz #1037322) - -* Wed Oct 02 2013 Sergio Pascual - 2.8.6-7 -- Hack to build with monolithic ATLAS -- Cleanup of the specfile - -* Sun Aug 04 2013 Fedora Release Engineering - 2.8.6-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Thu Feb 14 2013 Fedora Release Engineering - 2.8.6-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Sat Jul 21 2012 Fedora Release Engineering - 2.8.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jan 14 2012 Fedora Release Engineering - 2.8.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Wed Feb 09 2011 Fedora Release Engineering - 2.8.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Aug 26 2009 Sergio Pascual - 2.8.6-1 -- New upstream source - -* Sun Jul 26 2009 Fedora Release Engineering - 2.5.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Wed Feb 25 2009 Fedora Release Engineering - 2.5.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Mon Dec 1 2008 Michael Schwendt - 2.5.0-7 -- Include unowned directory. - -* Tue Feb 19 2008 Fedora Release Engineering - 2.5.0-6.1 -- Autorebuild for GCC 4.3 - -* Mon Aug 27 2007 Sergio Pascual 2.5.0-5.1 -- Rebuild for Fedora 8 to get the build-id - -* Tue Sep 12 2006 Sergio Pascual 2.5.0-5 -- Rebuilt for FC6. - -* Wed Jul 26 2006 Sergio Pascual 2.5.0-4 -- Patch to resolve pointer aliasing problems (bug #199700) -- Removed -DXSL_URL flag, as the file sextractor.xsl does not exist yet - -* Mon Jul 24 2006 Sergio Pascual 2.5.0-3 -- Reverting optimization to -O2, it breaks debug infos - -* Fri Jul 21 2006 Sergio Pascual 2.5.0-2 -- fitsconv.c has correct permissions -- changed optimization from -O2 to -O1 (bug #199700) -- additional define allows VOTable output - -* Wed Jul 19 2006 Sergio Pascual 2.5.0-1 -- New upstream version 2.5.0 - -* Tue Jun 20 2006 Sergio Pascual 2.4.4-2 -- Fixed executable permission in src/fits/fitsconv.c -- default.sex and default.param moved to docs - -* Mon Jun 19 2006 Sergio Pascual 2.4.4-1 -- Initial spec file. +%autochangelog From b810f83cbd5ce0fa8acfe3bc9a3aa573e2dc2f7c Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Thu, 13 Feb 2025 20:02:21 +0100 Subject: [PATCH 57/62] Add new upstream version v2.28.2 --- .gitignore | 1 + sextractor.spec | 7 ++----- sources | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 4615c77..e18d876 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ sextractor-2.8.6.tar.gz /sextractor-2.19.5.tar.gz /sextractor-2.25.0.tar.gz +/sextractor-2.28.2.tar.gz diff --git a/sextractor.spec b/sextractor.spec index 20e7345..77b33e6 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -1,5 +1,5 @@ Name: sextractor -Version: 2.25.0 +Version: 2.28.2 Release: %autorelease Summary: Extract catalogs of sources from astronomical images @@ -9,15 +9,12 @@ URL: http://astromatic.iap.fr/software/%{name} Source0: https://github.com/astromatic/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Patch0: sextractor-format-sec.patch -# https://gcc.gnu.org/gcc-10/porting_to.html#common -# https://github.com/astromatic/sextractor/issues/12 -%define _legacy_common_support 1 - BuildRequires: make BuildRequires: gcc BuildRequires: automake autoconf libtool BuildRequires: fftw-devel >= 3.1 BuildRequires: openblas-devel +BuildRequires: cfitsio-devel %description SExtractor is a program that builds a catalogue of objects from an diff --git a/sources b/sources index 63e6fbf..32e1aac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sextractor-2.25.0.tar.gz) = 1b1d476065de1a087682f473312056429505a063cd016a028a0fcf822928fdb133d5cddded00fa8c31b60043012aebfcbc623b7715be0104613ce92ddc8379de +SHA512 (sextractor-2.28.2.tar.gz) = f54b9e69944e582c68769c0d01534fc437f03fa5fc9dcb59bc680baed429983ebaa4c2422570b0f424b25c6c44cdf54a6587819ab2bc524aa33ed5c9f2595e62 From f950704d12aff6b618159e72fe765997e99e4f08 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 18:11:38 +0000 Subject: [PATCH 58/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From bb98a65b20f7b66e7f5758d1f9da0b5e7ca319f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki=20=C3=9Acar?= Date: Mon, 27 Oct 2025 13:23:35 +0100 Subject: [PATCH 59/62] https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager --- sextractor.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sextractor.spec b/sextractor.spec index 77b33e6..b7d327c 100644 --- a/sextractor.spec +++ b/sextractor.spec @@ -13,7 +13,7 @@ BuildRequires: make BuildRequires: gcc BuildRequires: automake autoconf libtool BuildRequires: fftw-devel >= 3.1 -BuildRequires: openblas-devel +BuildRequires: flexiblas-devel BuildRequires: cfitsio-devel %description @@ -26,13 +26,14 @@ well on moderately crowded star fields. %setup -q %patch -P0 -p1 sh ./autogen.sh +sed -i 's/openblas/flexiblas/g' configure %build -%configure --enable-openblas -make %{?_smp_mflags} +%configure --enable-flexiblas --with-flexiblas-incdir=%{_includedir}/flexiblas +%make_build %install -make DESTDIR=%{buildroot} install +%make_install mkdir -p %{buildroot}%{_datadir}/%{name} install -m 644 -p config/*.conv %{buildroot}%{_datadir}/%{name} install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} From c921a6d8b25ba840909627268e350cf5bf0d023e Mon Sep 17 00:00:00 2001 From: Sergio Pascual Date: Sun, 9 Nov 2025 12:26:29 +0100 Subject: [PATCH 60/62] Initial import --- .cvsignore | 0 .gitignore | 1 + Makefile | 21 ------------ sextractor-format-sec.patch | 65 +++++++++++++++++++++++++++++++++++++ sextractor.spec | 49 ++++++++++++++++++++++++++++ sources | 1 + 6 files changed, 116 insertions(+), 21 deletions(-) delete mode 100644 .cvsignore create mode 100644 .gitignore delete mode 100644 Makefile create mode 100644 sextractor-format-sec.patch create mode 100644 sextractor.spec diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..757104b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/sextractor-2.28.2.tar.gz diff --git a/Makefile b/Makefile deleted file mode 100644 index f627a18..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: sextractor -# $Id$ -NAME := sextractor -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/sextractor-format-sec.patch b/sextractor-format-sec.patch new file mode 100644 index 0000000..99dcead --- /dev/null +++ b/sextractor-format-sec.patch @@ -0,0 +1,65 @@ +diff -ur sextractor-2.19.5/src/catout.c sextractor-2.19.5.prep/src/catout.c +--- sextractor-2.19.5/src/catout.c 2013-09-12 14:35:37.000000000 +0200 ++++ sextractor-2.19.5.prep/src/catout.c 2014-03-26 18:25:06.390874672 +0100 +@@ -999,7 +999,7 @@ + break; + + case ASCII_SKYCAT: +- fprintf(ascfile, skycattail); ++ fprintf(ascfile, "%s", skycattail); + if (!prefs.pipe_flag) + fclose(ascfile); + break; +diff -ur sextractor-2.19.5/src/xml.c sextractor-2.19.5.prep/src/xml.c +--- sextractor-2.19.5/src/xml.c 2013-04-27 15:22:23.000000000 +0200 ++++ sextractor-2.19.5.prep/src/xml.c 2014-03-26 18:29:36.122059320 +0100 +@@ -696,7 +696,7 @@ + name, ucd); + break; + case P_STRING: +- sprintf(value, (char *)key[i].ptr); ++ sprintf(value, "%s", (char *)key[i].ptr); + fprintf(file, " \n", + name, ucd, *value? value: " "); +@@ -705,13 +705,13 @@ + n = *(key[i].nlistptr); + if (n) + { +- sprintf(value, ((char **)key[i].ptr)[0]); ++ sprintf(value, "%s", ((char **)key[i].ptr)[0]); + fprintf(file, " \n"); +@@ -722,7 +722,7 @@ + name, ucd); + break; + case P_KEY: +- sprintf(value, key[i].keylist[*((int *)key[i].ptr)]); ++ sprintf(value, "%s", key[i].keylist[*((int *)key[i].ptr)]); + fprintf(file, " \n", + name, ucd, value); +@@ -731,13 +731,13 @@ + n = *(key[i].nlistptr); + if (n) + { +- sprintf(value, key[i].keylist[((int *)key[i].ptr)[0]]); ++ sprintf(value, "%s", key[i].keylist[((int *)key[i].ptr)[0]]); + fprintf(file, " \n"); diff --git a/sextractor.spec b/sextractor.spec new file mode 100644 index 0000000..77b33e6 --- /dev/null +++ b/sextractor.spec @@ -0,0 +1,49 @@ +Name: sextractor +Version: 2.28.2 +Release: %autorelease +Summary: Extract catalogs of sources from astronomical images + +# Automatically converted from old format: GPLv3+ - review is highly recommended. +License: GPL-3.0-or-later +URL: http://astromatic.iap.fr/software/%{name} +Source0: https://github.com/astromatic/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Patch0: sextractor-format-sec.patch + +BuildRequires: make +BuildRequires: gcc +BuildRequires: automake autoconf libtool +BuildRequires: fftw-devel >= 3.1 +BuildRequires: openblas-devel +BuildRequires: cfitsio-devel + +%description +SExtractor is a program that builds a catalogue of objects from an +astronomical image. Although it is particularly oriented towards +reduction of large scale galaxy-survey data, it performs rather +well on moderately crowded star fields. + +%prep +%setup -q +%patch -P0 -p1 +sh ./autogen.sh + +%build +%configure --enable-openblas +make %{?_smp_mflags} + +%install +make DESTDIR=%{buildroot} install +mkdir -p %{buildroot}%{_datadir}/%{name} +install -m 644 -p config/*.conv %{buildroot}%{_datadir}/%{name} +install -m 644 -p config/default.nnw %{buildroot}%{_datadir}/%{name} + +%files +%doc AUTHORS BUGS COPYRIGHT HISTORY README.md THANKS config/default.sex config/default.param config/README +%license LICENSE +%{_bindir}/* +%{_mandir}/man1/* +%{_mandir}/manx/* +%{_datadir}/%{name}/ + +%changelog +%autochangelog diff --git a/sources b/sources index e69de29..32e1aac 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (sextractor-2.28.2.tar.gz) = f54b9e69944e582c68769c0d01534fc437f03fa5fc9dcb59bc680baed429983ebaa4c2422570b0f424b25c6c44cdf54a6587819ab2bc524aa33ed5c9f2595e62 From dfdc4e1ca12b971d7bca84e4ce15e5e8e012e304 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 17:56:27 +0000 Subject: [PATCH 61/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 7925176df78a817f509f793face4e942a82fcf21 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 06:26:35 +0000 Subject: [PATCH 62/62] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild