From: Nicolas Thill Date: Sun, 30 Apr 2006 23:31:37 +0000 (+0000) Subject: fix squid build, standardize, add ipkg/conffiles. X-Git-Tag: reboot~30795 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=6eff467ddc9e599a34f1f105f1c9ace652670e45 fix squid build, standardize, add ipkg/conffiles. SVN-Revision: 3718 --- diff --git a/openwrt/package/squid/Makefile b/openwrt/package/squid/Makefile index 4d199a8fd5..1bd2e5abcc 100644 --- a/openwrt/package/squid/Makefile +++ b/openwrt/package/squid/Makefile @@ -1,3 +1,5 @@ +# $Id$ + include $(TOPDIR)/rules.mk PKG_NAME:=squid @@ -54,8 +56,10 @@ include $(TOPDIR)/package/rules.mk define PKG_mod_template $$(IPKG_$(1)): - mkdir -p $$(IDIR_$(1))/usr/lib/ - [ -e $(PKG_BUILD_DIR)/helpers/$(2)/$(3)/$(4) ] && $(CP) $(PKG_BUILD_DIR)/helpers/$(2)/$(3)/$(4) $$(IDIR_$(1))/usr/lib + install -d -m0755 $$(IDIR_$(1))/usr/lib/squid + if [ -e $(PKG_INSTALL_DIR)/usr/lib/squid/$(2) ]; then \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/squid/$(2) $$(IDIR_$(1))/usr/lib/squid/ ; \ + fi $(RSTRIP) $$(IDIR_$(1)) $(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR) @@ -75,24 +79,26 @@ $(eval $(call PKG_template,SQUID_MOD_NTLM_AUTH_FAKEAUTH,$(PKG_NAME)-mod-ntlm-aut $(eval $(call PKG_template,SQUID_MOD_NTLM_AUTH_SMB_AUTH,$(PKG_NAME)-mod-ntlm-auth-smb-auth,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) $(eval $(call PKG_template,SQUID_MOD_NTLM_AUTH_WINBIND_AUTH,$(PKG_NAME)-mod-ntlm-auth-winbind-auth,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) -$(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_GETPWNAM,basic_auth,getpwnam,getpwname_auth)) -$(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_LDAP,basic_auth,LDAP,ldap)) -$(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_NCSA,basic_auth,NCSA,ncsa_auth)) -$(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_SMB,basic_auth,SMB,smb_auth)) -$(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_WINBIND,basic_auth,winbind,wb_auth)) -$(eval $(call PKG_mod_template,SQUID_MOD_DIGEST_AUTH_PASSWORD,digest_auth,password,digest_pw_auth)) -$(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_IP_USER,external_acl,ip_user,ip_user_check)) -$(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_LDAP_GROUP,external_acl,ldap_group,ldap_auth)) -$(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP,external_acl,unix_group,squid_unix_group)) -$(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_WINBIND_GROUP,external_acl,winbind_group,wb_group)) -$(eval $(call PKG_mod_template,SQUID_MOD_NTLM_AUTH_FAKEAUTH,ntlm_auth,fakeauth,fakeauth_auth)) -$(eval $(call PKG_mod_template,SQUID_MOD_NTLM_AUTH_SMB_AUTH,ntlm_auth,SMB,ntlm_auth)) -$(eval $(call PKG_mod_template,SQUID_MOD_NTLM_AUTH_WINBIND_AUTH,ntlm_auth,winbind,wb_ntlmauth)) +$(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_GETPWNAM,getpwname_auth)) +$(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_LDAP,ldap)) +$(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_NCSA,ncsa_auth)) +$(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_SMB,smb_auth)) +$(eval $(call PKG_mod_template,SQUID_MOD_BASIC_AUTH_WINBIND,wb_auth)) +$(eval $(call PKG_mod_template,SQUID_MOD_DIGEST_AUTH_PASSWORD,digest_pw_auth)) +$(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_IP_USER,ip_user_check)) +$(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_LDAP_GROUP,ldap_auth)) +$(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_UNIX_GROUP,squid_unix_group)) +$(eval $(call PKG_mod_template,SQUID_MOD_EXTERNAL_ACL_WINBIND_GROUP,wb_group)) +$(eval $(call PKG_mod_template,SQUID_MOD_NTLM_AUTH_FAKEAUTH,fakeauth_auth)) +$(eval $(call PKG_mod_template,SQUID_MOD_NTLM_AUTH_SMB_AUTH,ntlm_auth)) +$(eval $(call PKG_mod_template,SQUID_MOD_NTLM_AUTH_WINBIND_AUTH,wb_ntlmauth)) $(PKG_BUILD_DIR)/.configured: (cd $(PKG_BUILD_DIR); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS)" \ + CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \ + LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \ ac_cv_sizeof_void_p=4 \ ac_cv_sizeof_short=2 \ ac_cv_sizeof_int=4 \ @@ -112,63 +118,69 @@ $(PKG_BUILD_DIR)/.configured: ac_cv_func_va_copy=no \ ac_cv_func___va_copy=no \ ./configure \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --bindir=/usr/bin \ - --sbindir=/usr/sbin \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --localstatedir=/var \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --with-gnu-ld \ - --enable-x-accelerator-vary \ - --with-pthreads \ - --with-dl \ - --enable-icmp \ - --enable-kill-parent-hack \ - --enable-arp-acl \ - --enable-ssl \ - --enable-htcp \ - --enable-err-languages=English \ - --enable-default-err-language=English \ - --enable-linux-netfilter \ - --enable-icmp \ - --enable-external-acl-helpers="" \ - --enable-underscores \ - --enable-cache-digests \ - --enable-referer-log \ - --enable-delay-pools \ - --enable-useragent-log \ - --with-openssl=$(STAGING_DIR)/usr \ - --enable-auth="$(AUTH_MODULES)" \ - --enable-basic-auth-helpers="$(BASIC_AUTH_HELPERS)" \ - --enable-ntlm-auth-helpers="$(NTLM_AUTH_HELPERS)" \ - --enable-digest-auth-helpers="$(DIGEST_AUTH_HELPERS)" \ - --enable-external-acl-helpers="$(EXTERNAL_ACL_HELPERS)" \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=/usr \ + --exec-prefix=/usr \ + --bindir=/usr/bin \ + --datadir=/usr/share/squid \ + --includedir=/usr/include \ + --infodir=/usr/share/info \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib/squid \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --sbindir=/usr/sbin \ + --sysconfdir=/etc/squid \ + $(DISABLE_LARGEFILE) \ + --enable-shared \ + --enable-static \ + --with-gnu-ld \ + --enable-x-accelerator-vary \ + --with-pthreads \ + --with-dl \ + --enable-icmp \ + --enable-kill-parent-hack \ + --enable-arp-acl \ + --enable-ssl \ + --enable-htcp \ + --enable-err-languages=English \ + --enable-default-err-language=English \ + --enable-linux-netfilter \ + --enable-icmp \ + --enable-external-acl-helpers="" \ + --enable-underscores \ + --enable-cache-digests \ + --enable-referer-log \ + --enable-delay-pools \ + --enable-useragent-log \ + --with-openssl=$(STAGING_DIR)/usr \ + --enable-auth="$(AUTH_MODULES)" \ + --enable-basic-auth-helpers="$(BASIC_AUTH_HELPERS)" \ + --enable-ntlm-auth-helpers="$(NTLM_AUTH_HELPERS)" \ + --enable-digest-auth-helpers="$(DIGEST_AUTH_HELPERS)" \ + --enable-external-acl-helpers="$(EXTERNAL_ACL_HELPERS)" \ ); touch $@ $(PKG_BUILD_DIR)/.built: - mkdir -p $(PKG_INSTALL_DIR)/usr/ - $(MAKE) DESTDIR=$(PKG_INSTALL_DIR) \ - STAGING_DIR=$(STAGING_DIR) \ - -C $(PKG_BUILD_DIR) install - mkdir -p $(PKG_INSTALL_DIR){/etc/init.d/,/www/cgi-bin/} - $(RSTRIP) $(PKG_INSTALL_DIR)/usr/sbin/* - $(RSTRIP) $(PKG_INSTALL_DIR)/usr/lib/* - (cd $(PKG_INSTALL_DIR)/usr/share/errors && ls . | grep -v English | xargs rm -rf); - rm -r $(PKG_INSTALL_DIR){/usr/man,/etc/*.default,/usr/bin/squidclient} - echo "" > $(PKG_INSTALL_DIR)/etc/squid.conf - (cd $(PKG_INSTALL_DIR)/www/cgi-bin/ && rm -f cachemgr.cgi && ln -s ../../usr/lib/cachemgr.cgi cachemgr.cgi); + rm -rf $(PKG_INSTALL_DIR) + mkdir -p $(PKG_INSTALL_DIR) + $(MAKE) -C $(PKG_BUILD_DIR) \ + DESTDIR=$(PKG_INSTALL_DIR) \ + all install touch $@ $(IPKG_SQUID): - mkdir -p $(IDIR_SQUID) - $(CP) $(PKG_INSTALL_DIR)/* $(IDIR_SQUID)/ - $(RSTRIP) $(IDIR_SQUID)/ + install -d -m0755 $(IDIR_SQUID)/etc/squid + $(CP) $(PKG_INSTALL_DIR)/etc/squid/mime.conf $(IDIR_SQUID)/etc/squid/ + $(CP) $(PKG_INSTALL_DIR)/etc/squid/squid.conf $(IDIR_SQUID)/etc/squid/ + install -d -m0755 $(IDIR_SQUID)/usr/share/squid + $(CP) $(PKG_INSTALL_DIR)/usr/share/squid/* $(IDIR_SQUID)/usr/share/squid/ + install -d -m0755 $(IDIR_SQUID)/usr/sbin + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/squid $(IDIR_SQUID)/usr/sbin/ + $(RSTRIP) $(IDIR_SQUID) $(IPKG_BUILD) $(IDIR_SQUID) $(PACKAGE_DIR) diff --git a/openwrt/package/squid/ipkg/squid.control b/openwrt/package/squid/ipkg/squid.control index ef02996829..0657eb1efb 100644 --- a/openwrt/package/squid/ipkg/squid.control +++ b/openwrt/package/squid/ipkg/squid.control @@ -1,5 +1,5 @@ Package: squid Section: net -Depends: libopenssl +Depends: libopenssl, libpthread Priority: optional Description: squid web and cache proxy diff --git a/openwrt/package/squid/patches/01-cross_compile.patch b/openwrt/package/squid/patches/01-cross_compile.patch index ac4fc34a81..fd8f9b0e73 100644 --- a/openwrt/package/squid/patches/01-cross_compile.patch +++ b/openwrt/package/squid/patches/01-cross_compile.patch @@ -12,64 +12,6 @@ diff -urN squid-2.5.STABLE13/configure squid-2.5.STABLE13.new/configure CPPFLAGS="${SSLFLAGS} $CPPFLAGS" fi -diff -urN squid-2.5.STABLE13/helpers/basic_auth/LDAP/Makefile.in squid-2.5.STABLE13.new/helpers/basic_auth/LDAP/Makefile.in ---- squid-2.5.STABLE13/helpers/basic_auth/LDAP/Makefile.in 2005-09-28 22:57:18.000000000 +0200 -+++ squid-2.5.STABLE13.new/helpers/basic_auth/LDAP/Makefile.in 2006-04-15 10:29:39.000000000 +0200 -@@ -130,8 +130,10 @@ - EXTRA_DIST = squid_ldap_auth.8 - squid_ldap_auth_SOURCES = squid_ldap_auth.c - --LDADD = -L$(top_builddir)/lib -lmiscutil -lldap $(LIB_LBER) $(XTRA_LIBS) --INCLUDES = -I$(top_srcdir)/include -+LDADD = -L$(top_builddir)/lib -lmiscutil -lldap $(LIB_LBER) $(XTRA_LIBS) \ -+ -L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib -+INCLUDES = -I$(top_srcdir)/include -I$(STAGING_DIR)/usr/include \ -+ -I$(STAGING_DIR)/include - subdir = helpers/basic_auth/LDAP - mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs - CONFIG_HEADER = $(top_builddir)/include/autoconf.h -diff -urN squid-2.5.STABLE13/helpers/digest_auth/password/Makefile.in squid-2.5.STABLE13.new/helpers/digest_auth/password/Makefile.in ---- squid-2.5.STABLE13/helpers/digest_auth/password/Makefile.in 2005-09-28 22:57:20.000000000 +0200 -+++ squid-2.5.STABLE13.new/helpers/digest_auth/password/Makefile.in 2006-04-15 10:29:39.000000000 +0200 -@@ -127,10 +127,12 @@ - - libexec_PROGRAMS = digest_pw_auth - INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \ -- -I$(top_srcdir)/src/ -+ -I$(top_srcdir)/src/ -I$(STAGING_DIR)/usr/include \ -+ -I$(STAGING_DIR)/include - - --LDADD = -L$(top_builddir)/lib -lmiscutil $(CRYPTLIB) $(XTRA_LIBS) $(SSLLIB) -+LDADD = -L$(top_builddir)/lib -lmiscutil $(CRYPTLIB) $(XTRA_LIBS) $(SSLLIB) \ -+ -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib - subdir = helpers/digest_auth/password - mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs - CONFIG_HEADER = $(top_builddir)/include/autoconf.h -diff -urN squid-2.5.STABLE13/helpers/external_acl/ldap_group/Makefile.in squid-2.5.STABLE13.new/helpers/external_acl/ldap_group/Makefile.in ---- squid-2.5.STABLE13/helpers/external_acl/ldap_group/Makefile.in 2005-09-28 22:57:20.000000000 +0200 -+++ squid-2.5.STABLE13.new/helpers/external_acl/ldap_group/Makefile.in 2006-04-15 10:29:39.000000000 +0200 -@@ -130,7 +130,8 @@ - EXTRA_DIST = squid_ldap_group.8 - squid_ldap_group_SOURCES = squid_ldap_group.c - --LDADD = -lldap $(LIB_LBER) $(XTRA_LIBS) -+LDADD = -lldap $(LIB_LBER) $(XTRA_LIBS) \ -+ -L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib - subdir = helpers/external_acl/ldap_group - mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs - CONFIG_HEADER = $(top_builddir)/include/autoconf.h -@@ -145,7 +146,9 @@ - squid_ldap_group_LDFLAGS = - - DEFS = @DEFS@ --DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include \ -+ -I$(STAGING_DIR)/usr/include \ -+ -I$(STAGING_DIR)/include - CPPFLAGS = @CPPFLAGS@ - LDFLAGS = @LDFLAGS@ - LIBS = @LIBS@ diff -urN squid-2.5.STABLE13/include/autoconf.h.in squid-2.5.STABLE13.new/include/autoconf.h.in --- squid-2.5.STABLE13/include/autoconf.h.in 2005-09-13 02:12:34.000000000 +0200 +++ squid-2.5.STABLE13.new/include/autoconf.h.in 2006-04-15 10:29:39.000000000 +0200 @@ -157,15 +99,6 @@ diff -urN squid-2.5.STABLE13/lib/Makefile.in squid-2.5.STABLE13.new/lib/Makefile # $(top_srcdir)/include/version.h should be a dependency libregex_a_SOURCES = \ GNUregex.c -@@ -179,7 +209,7 @@ - @LIBOBJS@ - - --INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include - subdir = lib - mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs - CONFIG_HEADER = $(top_builddir)/include/autoconf.h @@ -193,9 +223,11 @@ libmiscutil_a_AR = $(AR) cru libmiscutil_a_DEPENDENCIES = @LIBOBJS@ @@ -277,19 +210,6 @@ diff -urN squid-2.5.STABLE13/lib/Makefile.in squid-2.5.STABLE13.new/lib/Makefile .c.obj: @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -diff -urN squid-2.5.STABLE13/src/auth/Makefile.in squid-2.5.STABLE13.new/src/auth/Makefile.in ---- squid-2.5.STABLE13/src/auth/Makefile.in 2005-09-28 22:57:24.000000000 +0200 -+++ squid-2.5.STABLE13.new/src/auth/Makefile.in 2006-04-15 10:29:39.000000000 +0200 -@@ -135,7 +135,8 @@ - libntlm_a_SOURCES = ntlm/auth_ntlm.c ntlm/auth_ntlm.h - - INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \ -- -I$(top_srcdir)/src/ -+ -I$(top_srcdir)/src/ -I$(STAGING_DIR)/include \ -+ -I$(STAGING_DIR)/usr/include - - subdir = src/auth - mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs diff -urN squid-2.5.STABLE13/src/ctype.c squid-2.5.STABLE13.new/src/ctype.c --- squid-2.5.STABLE13/src/ctype.c 1970-01-01 01:00:00.000000000 +0100 +++ squid-2.5.STABLE13.new/src/ctype.c 2006-04-15 10:29:39.000000000 +0200 @@ -840,60 +760,16 @@ diff -urN squid-2.5.STABLE13/src/ctype.c squid-2.5.STABLE13.new/src/ctype.c +const uint32_t *__ctype32_tolower = b (uint32_t, tolower, 128); +const uint32_t *__ctype32_toupper = b (uint32_t, toupper, 128); + -diff -urN squid-2.5.STABLE13/src/fs/Makefile.in squid-2.5.STABLE13.new/src/fs/Makefile.in ---- squid-2.5.STABLE13/src/fs/Makefile.in 2005-09-28 22:57:26.000000000 +0200 -+++ squid-2.5.STABLE13.new/src/fs/Makefile.in 2006-04-15 10:29:39.000000000 +0200 -@@ -147,7 +147,8 @@ - - - INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \ -- -I$(top_srcdir)/src/ -+ -I$(top_srcdir)/src/ -I$(STAGING_DIR)/include \ -+ -I$(STAGING_DIR)/usr/include - - subdir = src/fs - mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs diff -urN squid-2.5.STABLE13/src/Makefile.in squid-2.5.STABLE13.new/src/Makefile.in --- squid-2.5.STABLE13/src/Makefile.in 2005-09-28 22:57:21.000000000 +0200 +++ squid-2.5.STABLE13.new/src/Makefile.in 2006-04-15 10:29:39.000000000 +0200 -@@ -157,7 +157,8 @@ - - SUBDIRS = fs repl auth - --INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include -+INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include \ -+ -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include - - EXTRA_PROGRAMS = \ - unlinkd \ -@@ -318,6 +319,7 @@ - - squid_LDADD = \ - -L../lib \ -+ -L$(STAGING_DIR)/usr/lib \ - @XTRA_OBJS@ \ - @REPL_OBJS@ \ - @STORE_OBJS@ \ @@ -1141,6 +1143,9 @@ $(SHELL) -c "test -f squid.conf.default || ./cf_gen cf.data" cf_parser.h: cf.data cf_gen$(EXEEXT) + rm -f cf_gen + gcc -c ctype.c -+ gcc -o cf_gen cf_gen.c -I./ -I../ -I../include/ -L../lib -lmiscutil$(shell uname -m) -lm -lbsd -lnsl -Wl,ctype.o ++ gcc -o cf_gen cf_gen.c -I./ -I../ -I../include/ -L../lib -lmiscutil$(shell uname -m) -lm -lnsl -Wl,ctype.o ./cf_gen cf.data cf_gen_defines.h: $(srcdir)/cf_gen_defines $(srcdir)/cf.data.pre -diff -urN squid-2.5.STABLE13/src/repl/Makefile.in squid-2.5.STABLE13.new/src/repl/Makefile.in ---- squid-2.5.STABLE13/src/repl/Makefile.in 2005-09-28 22:57:28.000000000 +0200 -+++ squid-2.5.STABLE13.new/src/repl/Makefile.in 2006-04-15 10:29:39.000000000 +0200 -@@ -136,7 +136,8 @@ - libheap_a_SOURCES = heap/store_heap_replacement.h heap/store_heap_replacement.c heap/store_repl_heap.c - - INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \ -- -I$(top_srcdir)/src/ -+ -I$(top_srcdir)/src/ -I$(STAGING_DIR)/include \ -+ -I$(STAGING_DIR)/usr/include - - subdir = src/repl - mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs