Both Tamas and Victor have pointed to the best current literature for general linear groups or others of Lie type, but maybe it's useful to add a series of small comments to supplement their answers.

1) The finite general linear groups, like their classical counterparts, are by far the best-behaved groups of Lie type for representation theory (both ordinary and modular) and related combinatorics.   Even so, all aspects of the theory involve deep ideas and indirect approaches as Lusztig's work over many decades demonstrates.  Moreover, even related groups like $GL, PGL, SL, PSL$ have character theories with varying degrees of difficulty.  While Green's 1955 paper provides an algorithmic way to work out characters of finite general linear groups, the special linear groups have required much more sophisticated methods developed first by Deligne-Lusztig.    It's usually not easy for groups of Lie type so say clearly what it means to "know" the characters of the group. 

2) For any finite group, tensor products of irreducible representations (or products of characters) can be arbitrarily difficult to work out in detail even after character tables are in hand.    It's much harder for groups of Lie type, where knowledge of characters is usually algorithmic.   The best hope of getting uniform answers is to ask about tensor products of "generic" irreducibles, which predominate when both the underlying prime $p$ and its power $q$ grow large.
Deligne-Lusztig theory constructs virtual characters, but "most" of these tend to be genuine characters and already show nice patterns in their distribution into series correlated with the sizes of classes in the Weyl group.   Thus for $PGL_2(\mathbb{F}_q)$ roughly half of the characters have degree $q+1$ (principal series) and half have degree $q-1$ (discrete series).   At the other extreme are the Steinberg character of degree $q$ and the trivial character (these are the "unipotent" characters).   

3) As Victor points out, Lusztig's summary in rank 1 shows indirectly how to answer a natural qualitative question: in a "typical" tensor product of two irreducible characters, how often do principal series and discrete series characters appear?   (Answer: equally often.)   Similar questions for other groups get much more complicated to settle. 

4) Lusztig's character results for Lie types B, C, D show how dramatically the complexity increases, even though the results can be organized combinatorially.   To study tensor products requires asking the right questions.

5) In the original question, Vinoth comments: *but I'm not really interested in exceptional groups of Lie type (for those, this problem should be a standard mindless computation)*.    Actually, to say anything interesting about tensor products here would require a creative approach.   For example, what is shown by Lusztig about the characters of $E_8(q)$ is subtle and computationally not so easy to work with.   There are 166 unipotent characters, whose degrees are polynomials in $q$, but roughly a third of them fail to occur as constituents of the character induced from the trivial character of a Borel subgroup.   Knowing these characters is essential to producing the full character table, etc.      
  

6) Since the Steinberg character occurs at the other extreme from "generic" characters, it's interesting to ask how its product with other irreducible characters will decompose.    This has echoes in modular representation theory, as seen in recent work by Hiss and Zalesski, and is difficult to sort out even for type A.   Lots of questions out there about tensoring.